anchor.diff:      block_size(Cipher).
   
   block_size(Cipher) when Cipher == des_cbc;
  +			Cipher == des_ede3_cbc;
   			Cipher == '3des_ede_cbc' -> 
       8;
   block_size(Cipher) when Cipher == aes_128_cbc;
  
positive.code:     true;
  is_acceptable_cipher(rc4_128, Algos) ->
      proplists:get_bool(rc4, Algos);
  is_acceptable_cipher(des_cbc, Algos) ->
      proplists:get_bool(des_cbc, Algos);
  is_acceptable_cipher('3des_ede_cbc', Algos) ->
      proplists:get_bool(des_ede3, Algos);
  is_acceptable_cipher(aes_128_cbc, Algos) ->
      proplists:get_bool(aes_cbc128, Algos);
  is_acceptable_cipher(aes_256_cbc, Algos) ->
      proplists:get_bool(aes_cbc256, Algos);
  is_acceptable_cipher(Cipher, Algos)
    when Cipher == aes_128_gcm;
         Cipher == aes_256_gcm ->
      proplists:get_bool(aes_gcm, Algos);
  is_acceptable_cipher(Cipher, Algos)
    when Cipher == aes_128_ccm;
         Cipher == aes_256_ccm;
         Cipher == aes_128_ccm_8;
         Cipher == aes_256_ccm_8 ->
      proplists:get_bool(aes_ccm, Algos);
  is_acceptable_cipher(Cipher, Algos) ->
      proplists:get_bool(Cipher, Algos).
  
  
negative.code: 
  decipher(?DES, HashSz, CipherState, Fragment, Version, PaddingCheck) ->
      block_decipher(fun(Key, IV, T) ->
                             crypto:crypto_one_time(des_cbc, Key, IV, T, false)
  		   end, CipherState, HashSz, Fragment, Version, PaddingCheck);
  decipher(?'3DES', HashSz, CipherState, Fragment, Version, PaddingCheck) ->
      block_decipher(fun(Key, IV, T) ->
                             crypto:crypto_one_time(des_ede3_cbc, Key, IV, T, false)
  		   end, CipherState, HashSz, Fragment, Version, PaddingCheck);
  decipher(?AES_CBC, HashSz, CipherState, Fragment, Version, PaddingCheck) ->
      block_decipher(fun(Key, IV, T) when byte_size(Key) =:= 16 ->
                             crypto:crypto_one_time(aes_128_cbc, Key, IV, T, false);
  		      (Key, IV, T) when byte_size(Key) =:= 32 ->
                             crypto:crypto_one_time(aes_256_cbc, Key, IV, T, false)
  		   end, CipherState, HashSz, Fragment, Version, PaddingCheck).
  
  block_decipher(Fun, #cipher_state{key=Key, iv=IV} = CipherState0, 
  