[Cryptech Core] SHA-3

Paul Selkirk paul at psgd.org
Tue Jun 8 14:01:36 UTC 2021


I finally got around to writing the SHA-3 driver, the lowest of the
low-hanging fruit.

It took me a while to figure out that the core is little-endian, which I
eventually dealt with by byte swapping the I/O bus just for that core.

It's a little different from the other SHA hashes, in that it doesn't
have an initialization vector, and the block the user passes to the core
is the size of the internal state (1600 bit), with everything past the
nominal block length zeroed out.

On a separate branch, I added mode bits, so the user could just send
their notion of the block, and the core does the zero-extension in the
init phase.

I would like Pavel to review my changes to the core, especially on the
sha3_mode branch, because it feels like there should be a more elegant
way to do it.

				paul


More information about the Core mailing list