API Reference

type Round_Offset , type RoundKeys , type KeySchedule , type SaferPlusKey , type SaferPlusAccess , procedure New_Key , procedure Encrypt , procedure Decrypt

  
   Rounds : constant := 8;  
  
   type Round_Offset is range 1 .. Rounds;  
  
   type RoundKeys is array (Round_Offset) of Cipher_Block;  
  
   type KeySchedule is array (0 .. 1) of RoundKeys;  
  
   type SaferPlusKey is new Symmetric_Key_128 with  
    record  
      schedule : KeySchedule;  
      final : Cipher_Block;  
    end record;  
  
   type SaferPlusAccess is access SaferPlusKey;  
  
   procedure New_Key (Key_Schedule : out SaferPlusKey;  
                      Key_Bits : in Key_Block);  
  
   procedure Encrypt (Key    : SaferPlusKey;  
                      Input  : in Cipher_Block;  
                      Output : out Cipher_Block);  
  
   procedure Decrypt (Key    : SaferPlusKey;  
                      Input  : in Cipher_Block;  
                      Output : out Cipher_Block);  
  
end ASCL.Cryptography.Ciphers.Symmetric.Safer_Plus;