## EuCrypt Chapter 10: OAEP with Keccak a la TMSR

~ This is part of the EuCrypt series. Start with Introducing EuCrypt. ~ As I finally have both Keccak at bit-level (reference version) and Keccak at word-level (working horse version because reality bytes), the next step is to implement the TMSR OAEP (optimal asymmetric encryption padding) of a message. The OAEP in there stands indeed […]

## EuCrypt Chapter 9: Byte Order and Bit Disorder in Keccak

~ This is part of the EuCrypt series. Start with Introducing EuCrypt. ~ The potential bit disorder trouble with Keccak highlighted at the end of the previous chapter calls for some decision to be made since a hash function won’t be of much help if bits come out in different orders from different implementations. So […]

## EuCrypt Chapter 8: Bit-Level Keccak Sponge

~ This is part of the EuCrypt series. Start with Introducing EuCrypt. ~ Implementing the Keccak Sponge at bit-level turns out to be a more enjoyable experience than the previous contortions for a “word”-level (64 bits to be precise) version of the sponge. The implementation itself is more straightforward and the resulting code really is […]

## EuCrypt Chapter 7: Keccak Sponge

~ This is part of the EuCrypt series. Start with Introducing EuCrypt. ~ Using the Keccak transformations from Chapter 6, I can now finally implement the actual Keccak sponge1 that is useful for EuCrypt mainly as a hashing function. To start with, I should say that “sponge” really doesn’t strike me as a very useful […]

## EuCrypt Chapter 6: Keccak Transformations

~ This is part of the EuCrypt series. Start with Introducing EuCrypt. ~ EuCrypt will use Keccak for all its hashing and RSA padding needs, as per TMSR-RSA specification. In this age of ever-mutating labels on top of labels though, I have to clearly state that EuCrypt will actually use Keccak itself and not SHA-3 […]

## EuCrypt Chapter 5: C = M ^ e mod n

~ This is part of the EuCrypt series. Start with Introducing EuCrypt. ~ Having a true random number generator (trng) and on top of it a true random prime number generator (trpng) from previous chapters, I can now finally touch on RSA1 itself: this chapter adds a way to generate RSA keys and to actually […]

## EuCrypt Chapter 4: Random Prime Number Generator

~ This is part of the EuCrypt series. Start with Introducing EuCrypt. ~ 2018 starts well for EuCrypt as I finally get to put to some use all the building blocks of years past and then simply expand the library further. The aim of this chapter is to provide a random prime number generator (rpng) […]

## EuCrypt Chapter 3: Miller-Rabin Implementation

~ This is part 4 of the EuCrypt series. Start with Introducing Eucrypt. ~ Primality testing1 is a key part of any implementation of RSA2 and therefore a key part of EuCrypt as well. At first glance, there is a wide choice of primality tests that one can use, from naive direct divisions in search […]

## EuCrypt: Correcting MPI Implementation

~ An unexpected part of the EuCrypt library series. Start with Introducing EuCrypt. ~ This is a sad but necessary interruption in the EuCrypt series itself: although coming immediately after chapter 2, this is not chapter 3 at all, I’m sorry to say. Instead of adding another useful part of smg-rsa as the actual chapter […]