Encryption AES加密的32位实现

Encryption AES加密的32位实现,encryption,cryptography,aes,Encryption,Cryptography,Aes,我正在尝试实现AES。我目前已经实现了8位AES的subByte、shiftRow、mixColumn、addRoundkey和generationroundkey,并且正在工作。但它的性能并不好。所以我想在软件中实现32位AES,但是生成扩展s盒让我感到困惑。以8位输入的数据如何以32位输出?我在软件中找不到AES的32位实现。我建议以分片方式实现它。位切片实现不仅可以很好地扩展,而且在定时攻击方面也有很好的特性。我知道这需要重新设计你的功能。只有并行计算多个AES操作,才能存档性能增益 没有

我正在尝试实现AES。我目前已经实现了8位AES的subByte、shiftRow、mixColumn、addRoundkey和generationroundkey,并且正在工作。但它的性能并不好。所以我想在软件中实现32位AES,但是生成扩展s盒让我感到困惑。以8位输入的数据如何以32位输出?我在软件中找不到AES的32位实现。

我建议以分片方式实现它。位切片实现不仅可以很好地扩展,而且在定时攻击方面也有很好的特性。我知道这需要重新设计你的功能。只有并行计算多个AES操作,才能存档性能增益

没有英特尔AES指令的最快AES实现是位切片:


使用谷歌,您还可以找到源代码。

我强烈建议您阅读-这是一篇极好的文章,广泛介绍了8位和32位处理器的优化。此外,我们还为不同的处理器优化了Salsa20算法的版本,您可能会发现这对学习很有用。可能不是。标准的openssl实现是32位的,并且是开源的。您将16个字节块打包成4个32位字,然后将子字节4x、shiftRow和mixColumn的组合应用于4组。我也推荐这本关于上述设计的书。你签署了《射门协议》了吗@马库斯——还有另一种方法。。好的建议SAMORD -谢谢,我会考虑:“海诺-你给出了这个问题的线索。”疯狂斯科特-我不明白什么是食物射击。但是这个网站很好!!在该网站的深处有一张名为《防止脚部枪击协议》的幻灯片。关键是,除非您了解实现可能受到攻击的方式,否则您不应该实现加密算法,因为实现通过了测试向量,这似乎是完全正确的。