anchor.diff:  		     Cipher == rc4_128;
   		     Cipher == chacha20_poly1305->
       0;
  -
   iv_size(Cipher) when Cipher == aes_128_gcm;
   		     Cipher == aes_256_gcm ->
       4;
  -
   iv_size(Cipher) ->
       block_size(Cipher).
   
   block_size(Cipher) when Cipher == des_cbc;
   			Cipher == '3des_ede_cbc' -> 
       8;
  -
   block_size(Cipher) when Cipher == aes_128_cbc;
   			Cipher == aes_256_cbc;
   			Cipher == aes_128_gcm;
  
positive.code: %% Padding must be checked in TLS 1.1 and after  
  is_correct_padding(#generic_block_cipher{padding_length = Len,
  					 padding = Padding}, _, _) ->
      Len == byte_size(Padding) andalso
          binary:copy(?byte(Len), Len) == Padding.
  
  get_padding(Length, BlockSize) ->
      get_padding_aux(BlockSize, Length rem BlockSize).
  
  get_padding_aux(_, 0) ->
      {0, <<>>};
  get_padding_aux(BlockSize, PadLength) ->
      N = BlockSize - PadLength,
      {N, binary:copy(?byte(N), N)}.
  
  random_iv(IV) ->
      IVSz = byte_size(IV),
  
negative.code: 				   Cipher == chacha20_poly1305 ->
      unknown.  
  
  effective_key_bits(null) ->
      0;
  effective_key_bits(des_cbc) ->
  