multithread encryption