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 […]

It’s only words… and assumptions; and priorities; and… ouch!

On the very first of December 2017, a man whose knowledge I admire started publishing the FFA (Finite Field Arithmetic) series on his blog. Having previously struggled to actually follow in the immense log the scattered bits and pieces and discussions and rants and what-not on the topic, I was absolutely delighted that he finally […]

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 […]

RSS Subscribe to Ossasepia

Archive:

Recent comments: