SHA3(Keccak)设计、大小端与实现SHA3设计、大小端与实现
SHA3设计、大小端与实现看NIST提供的SHA3中间值文档会发现非常奇怪,并不符合常见的设计文档中的大端表示法方,与FIPS202中多速率填充也并不一致,附录中是这样填充的M || 0x06 || 0x00 … || 0x80或者M || 0x86。这是为了在实现中方便为了在小端平台上直接将8bit字节转换为64bit长整数类型而设计的。我们在实现r=576,c= 1024,b=1600下的SHA3时,一个lane大小为64bits,即一个uint64_t数据类型,我们将其简化变短一点,按照文