sharplispers / ironclad

A cryptographic toolkit written in Common Lisp
BSD 3-Clause "New" or "Revised" License
166 stars 28 forks source link

Suggest AESX as Extended Rounds AES #4

Closed dbmcclain closed 4 years ago

dbmcclain commented 6 years ago

As per recommendations of Bruce Schneier, AESX (attached) implements AES encryption with extended rounds: For 128-bit keys use 16 rounds For 192-bit keys use 20 rounds For 256-bit keys use 28 rounds To accomplish this the ROUND-CONSTANTS need to be extended in a group theoretic manner as shown by ROUNDX-CONSTANTS in the attached file. aesx.txt

PACKAGES.lisp also needs to be extended with #:AESX alongside #:AES, and .ASD file needs to include "aesx" alongside "aes"

glv2 commented 6 years ago

Do you know if there are some publications and test vectors for this cipher?

The only thing I found so far is Bruce Schneier's suggestion on his blog in 2009 (https://www.schneier.com/blog/archives/2009/07/another_new_aes.html).

dbmcclain commented 6 years ago

Hi glv2,

That’s all I ever had too. I did this work on AESX back in 2012. I have been using it every day since in my lab here. It seems to work, as it is built atop of existing AES. So sorry, I cannot help you with certified test vectors, unless you just want me to generate some from my machines here.

Cheers,

On Jan 5, 2018, at 03:04, glv2 notifications@github.com wrote:

Do you know if there are some publications and test vectors for this cipher?

The only thing I found so far is Bruce Schneier's suggestion on his blog in 2009 (https://www.schneier.com/blog/archives/2009/07/another_new_aes.html https://www.schneier.com/blog/archives/2009/07/another_new_aes.html).

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/sharplispers/ironclad/issues/4#issuecomment-355517508, or mute the thread https://github.com/notifications/unsubscribe-auth/ADA6AfJgixa8ZGorhwG7tsDtxsTHXTqlks5tHfO6gaJpZM4RUJdW.

glv2 commented 4 years ago

As this AESX cipher is apparently not used by any software, and there are neither articles published about it nor test vectors, I prefer not to put it in Ironclad.