anchor.diff:                                                 HashLen :: integer(),
                                                  Mac :: binary().
   hmac_final_n(Context, HashLen) ->
  -    ?COMPAT(mac_final(Context, HashLen)).
  +    ?COMPAT(mac_finalN(Context, HashLen)).
   
   %%%---- CMAC
   
  --define(CMAC_CIPHER_ALGORITHM, cbc_cipher() | cfb_cipher() | blowfish_cbc | des_ede3 | rc2_cbc  ).
  +-define(CMAC_CIPHER_ALGORITHM, cbc_cipher() | cfb_cipher() | blowfish_cbc | des_ede3 | rc2_cbc ).
   
   -spec cmac(Type, Key, Data) ->
                     Mac when Type :: ?CMAC_CIPHER_ALGORITHM,
  
positive.code:                      | chacha20_poly1305 .
  
  
  %% -type retired_cipher_no_iv_aliases() :: aes_ecb .
  
  %% -type retired_cipher_iv_aliases() :: aes_cbc
  %%                                    | aes_cbc128  % aes_128_cbc
  %%                                    | aes_cbc256  % aes_256_cbc
  %%                                    | aes_cfb128
  %%                                    | aes_cfb8
  %%                                    | aes_ctr
  %%                                    | des3_cbc     % des_ede3_cbc
  %%                                    | des_ede3     % des_ede3_cbc
  %%                                    | des_ede3_cbf % des_ede3_cfb
  %%                                    | des3_cbf     % des_ede3_cfb
  %%                                    | des3_cfb .   % des_ede3_cfb
  
  %% -type retired_cipher_aead_aliases() :: aes_ccm
  %%                                      | aes_gcm .
  
  %%%----------------------------------------------------------------
  %%% Old cipher scheme
  %%%
  
negative.code:                            Mac :: binary() .
  
  hmac(Type, Key, Data, MacLength) ->
      ?COMPAT(macN(hmac, Type, Key, Data, MacLength)).
  
  %%%---- hmac_init, hamc_update, hmac_final
  
  -opaque hmac_state() :: mac_state(). % Was: binary().
  
  -spec hmac_init(Type, Key) ->
                         State when Type :: hmac_hash_algorithm(),
  