我在C中发现了很多AES,Twofish和Serpent的实现.但我真的不明白这些例子.我只知道有些地方提供了反转矩阵的例子.
有人可以指向我的示例或.c文件来加密/解密由a char* 和密码表示的数据 吗?
小智 8
维基百科文章实际上链接到一个用C编写的优秀教程(由X-N20编写),它引导您完成数学并随时提供C实现,这对于理解该过程非常有用.我还建议阅读有限域算法.
错过了AES标题的Serpent和Twofish在互联网上并没有那么好记录.请记住,每个都提供参考实现.
实际上自己实施它们需要研究各自的论文,可能还需要参考参考源代码.
请注意,您的200亿条评论都与以下事实有关:为AES指定的接口NIST是每个密码提供128位(16字节)输入块以及128位,192位和256位密钥块之一.
为了安全地加密以适当地抵制密码分析,您需要一些谨慎的工作.例如,如果你的最后一个块丢失了几个字节怎么办?你怎么安全地垫?类似地,根据预期用途,还有其他方案,特别是对于大型重复数据,旨在抵制密码分析,其中您知道加密数据可能包含说的内容c:\windows.评论家试图得到的是,对于任何现实世界的使用,为了保持安全,需要考虑这些事情.
编辑由于此主题出现了另一个问题,这里有一些链接:
crypto.gpg.具体来说,如果你是在AES之后,你可能在这里找不到它,但你会发现山茶花和蛇.