anchor.diff:  
   decipher(?DES, HashSz, CipherState, Fragment, Version, PaddingCheck) ->
       block_decipher(fun(Key, IV, T) ->
  -			   crypto:block_decrypt(des_cbc, 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(<<K1:8/binary, K2:8/binary, K3:8/binary>>, IV, T) ->
  -			   crypto:block_decrypt(des3_cbc, [K1, K2, K3], IV, T)
  +    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:block_decrypt(aes_cbc128, Key, IV, T);
  +                           crypto:crypto_one_time(aes_128_cbc, Key, IV, T, false);
   		      (Key, IV, T) when byte_size(Key) =:= 32 ->
  -			   crypto:block_decrypt(aes_cbc256, Key, IV, T)
  +                           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, 
  
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:     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;
  