------------------------------------------------------------ -- Copyright: 2011 Integrated Sytems Laboratory, ETH Zurich -- http://www.iis.ee.ethz.ch/~sha3 ------------------------------------------------------------ library ieee; use ieee.std_logic_textio.all; use ieee.std_logic_1164.all; package keccakpkg is constant HWIDTH : integer := 256; type state is array (0 to 4, 0 to 4) of std_logic_vector(63 downto 0); type sheet is array (0 to 4) of std_logic_vector(63 downto 0); type constants is array (0 to 23) of std_logic_vector(63 downto 0); type offsets is array (0 to 24) of integer; constant ROUNDCONSTANCES : constants := (x"0000000000000001", x"0000000000008082", x"800000000000808A", x"8000000080008000", x"000000000000808B", x"0000000080000001", x"8000000080008081", x"8000000000008009", x"000000000000008A", x"0000000000000088", x"0000000080008009", x"000000008000000A", x"000000008000808B", x"800000000000008B", x"8000000000008089", x"8000000000008003", x"8000000000008002", x"8000000000000080", x"000000000000800A", x"800000008000000A", x"8000000080008081", x"8000000000008080", x"0000000080000001", x"8000000080008008"); constant RHOOFFSETS : offsets := (0,1,62, 28,27,36,44,6,55,20,3,10,43,25,39,41,45,15,21,8,18,2,61,56,14); end keccakpkg;