Why does PBEWithMD5AndDES mess up encryption in parallelStream in Java?

105 views Asked by At

I am working in a Spring Boot project where we use the PBEWithMD5AndDES encryption algorithm. We use the javax.crypto.Cipher class library like the code below. When we process single requests it works fine, but in a new feature we need our server to handle many encryptions at once, which is making it sometimes encrypt it wrongly. Through debugging I have discovered that the messed up encryption happens at com.sun.crypto.provider.CipherBlockChaining#implEncrypt(). It usually begins correctly but at some point starts to give unexpected outputs for the same input. Example:

expected output:[13,-84,-35,-82,103,78,42,73,37,116,114,-111,-67,-39,-29,61,-56,-38,3,37,-72,83,-100,12,-10,6,-35,115,-83,-91,101,48,59,111,-43,0,-8,-70,-12,91,50,-30,4,79,-33,-4,74,95,-96,-117,-24,17,-19,-42,54,121,44,118,9,-87,-9,126,52,-61,94,127,-94,52,86,90,-59,114,-32,-69,-48,-127,89,94,-107,-4,60,84,102,112,-84,52,59,51,109,56,78,54,1,-58,79,-107,-42,-53,109,-123,-117,-29,54,-112,-77,-122,121,-124,98,-3,2,110,108,-111,-128,110,-95,84,-102,127,-30,24,-41,-18,16,-48,118,-118,-55,-84,-79,65,80,-34,56,67,68,-18,70,55,-37,-3,-103,-20]
obtained output:[13,-84,-35,-82,103,78,42,73,37,116,114,-111,-67,-39,-29,61,-56,-38,3,37,-72,83,-100,12,-10,6,-35,115,-83,-91,101,48,59,111,-43,0,-8,-70,-12,91,50,-30,4,79,-33,-4,74,95,-46,-27,65,-50,-4,115,-14,-66,122,-91,19,22,87,-50,45,69,-51,-74,-80,-65,-8,-71,67,47,-106,52,-38,-40,-98,-43,60,-109,111,110,-20,18,-74,-36,-95,-46,-79,13,-97,-94,62,-22,-115,-31,50,-52,-36,-19,-124,47,72,40,-60,30,-68,-25,14,70,-104,-13,-6,-127,-19,-4,33,-40,-17,-12,-118,-24,119,40,24,9,-17,-29,101,-45,122,39,117,125,-123,-102,75,-8,-128,-86,21,42,101]

In order to make this question here and clarify how I am using this algorithm I have created the class below. For 100 trials it gives the different output about 5 times.

Unlike my real case scenario, however, this class never produces unexpected outputs similar to the expected outputs. Also, while in this class only about 5% of the output comes different from the expected, in my real life application the rates vary greatly, up to 100% when I make 2 requests and both come messed up.

package ciphertest;

import java.security.GeneralSecurityException;
import java.util.ArrayList;
import java.util.List;

import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;

public class CipherTest
{
    public static final String ALGORITHM = "PBEWithMD5AndDES";
    static final char[] password = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};
    static final byte[] salt = {0, 1, 2, 3, 4, 5, 6, 7};
    static final byte[] source = {17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 37, 28, 29, 30, 31, 32};
    static final int trials = 100;

    public static void main(
        final String[] args )
    {
        
        Cipher cipher = createCipher(password);
        System.out.println("Cipher created");
        
        System.out.println("First, encrypt serially:");
        for(int i = 0; i < trials; i++) {
            List<Byte> encrypted = arrayToList(crypt(cipher,source));
            String output = String.format("Thread: %2d; iteration: %2d; encripted: %s;", Thread.currentThread().getId(), i, encrypted.toString());  
            System.out.println(output);
        }
        
        System.out.println("Now, encrypting in parallel:");
        List<Integer> triesList = identityList(trials);
        triesList.parallelStream().forEach( trial -> {
            List<Byte> encrypted = arrayToList(crypt(cipher,source));
            String output = String.format("Thread: %2d; trial: %2d; encripted: %s;", Thread.currentThread().getId(), trial, encrypted.toString());  
            System.out.println(output);
        });
    }

    public static byte[] crypt(
        Cipher cipher,
        byte[] sourceBytes)
    {
        byte[] finalBytes = null;
            try {
                finalBytes = cipher.doFinal( sourceBytes );
            } catch( IllegalBlockSizeException e ) {
                e.printStackTrace();
            } catch( BadPaddingException e ) {
                e.printStackTrace();
            }
        return finalBytes;
    }

    public static Cipher createCipher(
        final char[] password )
        throws RuntimeException
    {
        Cipher cipher;
        try {
            final PBEKeySpec keySpec = new PBEKeySpec( password );
            final SecretKeyFactory keyFactory = SecretKeyFactory.getInstance( ALGORITHM );

            final SecretKey key = keyFactory.generateSecret( keySpec );
            
            final PBEParameterSpec paramSpec = new PBEParameterSpec( salt, 20 );
            cipher = Cipher.getInstance( ALGORITHM );
            cipher.init( Cipher.ENCRYPT_MODE, key, paramSpec );

        } catch( final GeneralSecurityException ex ) {
            throw new RuntimeException( ex );
        }
        return cipher;
    }
    
    private static List<Byte> arrayToList(byte[] bytes){
        List<Byte> bytesList = new ArrayList<>();
        for(int i = 0; i < bytes.length; i++) {
            bytesList.add(bytes[i]); 
        }
        return bytesList;
    }


    private static List<Integer> identityList(int length){
        List<Integer> integerList = new ArrayList<>();
        for(int i = 0; i < length; i++) {
            integerList.add(i); 
        }
        return integerList;
    }
}

Sample of the output:

Cipher created
First, encrypt serially:
Thread:  1; iteration:  0; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
[skipping lines that are almost identical]
Thread:  1; iteration: 99; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Now, encrypting in parallel:
Thread:  1; trial: 65; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread:  1; trial: 66; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread:  1; trial: 67; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 13; trial: 57; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 11; trial: 32; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial: 53; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 13; trial: 58; encripted: [45, -5, 118, -39, 41, -101, 18, 15, -73, -35, -38, -46, -15, -128, 34, 24, 24, 57, -92, 47, -84, -98, 74, 126];
Thread: 11; trial: 33; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 19; trial: 78; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial: 54; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread:  1; trial: 63; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 12; trial: 90; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial: 55; encripted: [28, 126, 98, -67, 71, 46, -49, -121, 18, 1, -1, 38, -125, 77, 42, 58, -59, -86, 101, -44, -98, 62, 122, -30];
Thread:  1; trial: 64; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 19; trial: 79; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial: 93; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread:  1; trial: 62; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 11; trial: 31; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 18; trial: 51; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 13; trial: 56; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial: 85; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 21; trial: 15; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 19; trial: 80; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 14; trial: 82; encripted: [45, -5, 118, -39, 41, -101, 18, 15, -73, -35, -38, -46, -15, -128, 34, 24, 24, 57, -92, 47, -84, -98, 74, 126];
Thread: 20; trial: 94; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 19; trial: 76; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 12; trial: 91; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 17; trial: 50; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 15; trial: 96; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 12; trial: 92; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 19; trial: 77; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 15; trial: 97; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 20; trial: 95; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 14; trial: 83; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 15; trial: 98; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 21; trial: 16; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial: 86; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 13; trial: 60; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 18; trial: 52; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 11; trial: 35; encripted: [25, 1, 119, 55, 114, 56, -102, -81, 95, 35, 98, 115, 11, 38, 82, -11, -39, -24, 100, -90, 49, 111, 79, 34];
Thread: 13; trial: 61; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread:  1; trial: 71; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, 27, -108, -91, -46, -43, 102, 46, 124];
Thread: 11; trial: 36; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 18; trial: 69; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial:  7; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 21; trial: 17; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 15; trial: 99; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial:  8; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 14; trial: 81; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 20; trial: 87; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 19; trial: 75; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 12; trial: 88; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 17; trial: 84; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 20; trial: 19; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 14; trial: 12; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 15; trial: 21; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 14; trial: 44; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial:  6; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 21; trial: 13; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 18; trial: 70; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 11; trial: 34; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread:  1; trial: 72; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 13; trial: 59; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 21; trial: 14; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial: 10; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 14; trial: 45; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 15; trial: 22; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 20; trial: 20; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 17; trial:  3; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 12; trial: 89; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 20; trial: 18; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 17; trial:  4; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 12; trial: 26; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 19; trial: 73; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 12; trial: 27; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 17; trial:  5; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 19; trial: 74; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 20; trial: 25; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 15; trial: 23; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 19; trial: 38; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 20; trial: 37; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 14; trial: 43; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial: 11; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 21; trial:  9; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 13; trial:  0; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread:  1; trial:  1; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 11; trial: 28; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 18; trial: 68; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread:  1; trial:  2; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial: 41; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 14; trial: 46; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 20; trial: 48; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 16; trial: 42; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 14; trial: 47; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 20; trial: 49; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 19; trial: 39; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 15; trial: 24; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 17; trial: 29; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 12; trial: 40; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];
Thread: 17; trial: 30; encripted: [50, 46, 65, -22, -115, 16, -121, 121, 59, -73, 87, -46, 103, 73, 124, -32, -23, 12, 94, -95, -17, -107, -45, -68];

My questions are:

  1. Why does this happen?
  2. What can I do to prevent this/ work around this?
0

There are 0 answers