anchor.diff:  poly1305(Key, Data) ->
       ?COMPAT(mac(poly1305, Key, Data)).
   
  -%%%================================================================
  -%%%
  -%%% Encrypt/decrypt, The "Old API"
  -%%%
  -%%%================================================================
  +%%%----------------------------------------------------------------
  +%%%----------------------------------------------------------------
  +%%% Ciphers
  +
   
   %%%---- Cipher info
  -%%%----------------------------------------------------------------
   -spec cipher_info(Type) -> Result | run_time_error()
                                  when Type :: cipher(),
                                       Result :: #{key_length := integer(),
  
positive.code: -export([hash/2, hash_init/1, hash_update/2, hash_final/1]).
  -export([sign/4, sign/5, verify/5, verify/6]).
  -export([generate_key/2, generate_key/3, compute_key/4]).
  -export([hmac/3, hmac/4, hmac_init/2, hmac_update/2, hmac_final/1, hmac_final_n/2]).
  -export([cmac/3, cmac/4]).
  -export([poly1305/2]).
  -export([exor/2, strong_rand_bytes/1, mod_pow/3]).
  -export([rand_seed/0, rand_seed_alg/1, rand_seed_alg/2]).
  -export([rand_seed_s/0, rand_seed_alg_s/1, rand_seed_alg_s/2]).
  
negative.code: mac_final(Ref, MacLength) ->
      erlang:binary_part(mac_final(Ref), 0, MacLength).
  
  
  %%%----------------------------------------------------------------
  %%% NIFs for the functions above
  
  mac_nif(_Type, _SubType, _Key, _Data) -> ?nif_stub.
  
  