API Reference

type Round_Offset , type Row_Offset , type Column_Offset , type Initial_Whitening , type Key_Schedule , type Rijndael_Key , procedure New_Key , procedure Encrypt , procedure Decrypt

  
   Rounds : constant := 10;  
  
   type Round_Offset is range 1 .. Rounds;  
  
   type Row_Offset is mod 4;  
  
   type Column_Offset is mod 4;  
  
   type Initial_Whitening is  array (Column_Offset) of  
      Interfaces.Unsigned_32;  
  
   type Key_Schedule is array (Round_Offset, Column_Offset) of  
      Interfaces.Unsigned_32;  
  
   type Rijndael_Key is new Symmetric_Key_128 with  
      record  
         Initial : Initial_Whitening;  
         Schedule : Key_Schedule;  
         I_Schedule : Key_Schedule; -- NB one element not used!  
      end record;  
  
   procedure New_Key (Key_Schedule : out Rijndael_Key;  
                      Key_Bits : in Key_Block);  
  
   procedure Encrypt (Key    : Rijndael_Key;  
                      Input  : in Cipher_Block;  
                      Output : out Cipher_Block);  
  
   procedure Decrypt (Key    : Rijndael_Key;  
                      Input  : in Cipher_Block;  
                      Output : out Cipher_Block);  
  
end ASCL.Cryptography.Ciphers.Symmetric.Rijndael32;