- 9356ACB04F2091A9A611331387E055BCB8E58E7B28AE7FE4E0562486C802598AD3F24BBC20F05E539A3DB6274E75CD02F5A31DAC5BB2499F3CF2BF094994DDC0
+ 63A6A9F8168017265C7CCF9B3D7DFFD7C3CD21F529AE88993C3B05E0DCAFF9530C68B3420B58F643FF2425F575C66E9E0DF19ED25C8A38F56A0D1E713E27B15C
eucrypt/smg_keccak/smg_keccak.ads
(40 . 8)(40 . 11)
83 subtype Bitword is Bitstream( 0..Z_Length - 1 ); -- bits of one state "word"
84
85 -- type conversions
86 function BitsToWord( Bits: in Bitword ) return ZWord;
87 function WordToBits( Word: in ZWord ) return Bitword;
88 function BitsToWord( BWord : in Bitword ) return ZWord;
89 function WordToBits( Word : in ZWord ) return Bitword;
90
91 -- flip input octets (i.e. groups of 8 bits)
92 function FlipOctets( BWord : in Bitword ) return Bitword;
93
94 -- public function, the sponge itself
95 -- Keccak sponge structure using Keccak_Function, Pad and a given bitrate;
(109 . 6)(112 . 11)
97 return ZWord;
98 pragma Import(Intrinsic, Shift_Right);
99
100 function Shift_Left( Value : ZWord;
101 Amount : Natural)
102 return ZWord;
103 pragma Import(Intrinsic, Shift_Left);
104
105 --Keccak transformations of the internal state
106 function Theta ( Input : in State) return State;
107 function Rho ( Input : in State) return State;