- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我发现了很多 AES、Twofish 和 Serpent 的 C 实现。但是我不是很理解这些例子。我只知道有些地方提供了反转矩阵的例子。
谁能给我一个示例或 .c 文件来加密/解密由 char*
和密码表示的数据?
最佳答案
维基百科文章实际上链接到一个优秀的 tutorial (由 X-N20 编写)用 C 语言编写,引导您完成数学运算并随时提供 C 实现,这对于理解过程非常有用。我还建议阅读 finite field arithmetic .
Serpent和 Twofish , 错过了 AES 的称号,在互联网上没有很好的记录。请记住,尽管每个都提供了引用实现。
实际自己实现它们需要研究它们各自的论文,可能还需要引用源代码。
请注意,您的 200 亿条评论都与这样一个事实有关,即 NIST 为 AES 指定的接口(interface)是每个密码提供一个 128 位(16 字节)输入 block 以及 128 位、192 位和 256 位之一关键 block 。
为了以正确抵抗密码分析的方式安全地加密,您需要做一些仔细的工作。例如,如果您的最后一个 block 缺少所需的几个字节怎么办?你如何安全地垫?同样,根据预期用途,还有其他方案,特别是针对大量重复数据,旨在抵抗密码分析,您知道加密数据可能包含 c:\windows
的内容。评论员试图说明的是,对于任何现实世界的使用,为了保持安全,这些事情都需要考虑。
编辑 由于另一个问题出现在这个主题上,这里有几个链接:
crypto
下查看他们的其余代码。gpg
提供了一整套加密函数。具体来说,如果您使用 AES,您可能不会在这里找到它,但您会找到 camellia 和 serpent。关于c - C 示例中的 AES、Serpent 或 Twofish?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4688512/
我正在浏览 TrueCrypt (7.1a) 中的 Serpent 实现,有些东西看起来不太对劲!该算法的界面如下: void serpent_set_key(const unsigned __int
我正在使用 Serpent ( https://github.com/nodes-ios/Serpent ) 通过 Swift 3 生成 JSON。我的对象模型基本上如下所示: import Foun
安装 pythereum 和 ethereum serpent 后,我运行了一个测试:$ pytest -m test_contracts.py 我得到了以下错误,我似乎无法弄清楚真正的问题是什么
我需要用 Serpent 和 Twofish 加密一组无符号字符(16 字节长)。我使用官方网站上的两个库 -write in c-。我尝试使用它们,但我将获得的密文不正确。为了检查我使用这个 sit
我在 C 中找到了很多 AES、Twofish 和 Serpent 的实现。但我不太了解这些示例。我只知道有些地方提供了反转矩阵的示例。 有人能指出一个示例或 .c 文件来加密/解密由 char* 表
我正在努力支持 AES、Serpent 和 TwoFish 的 PBE。目前,我能够像这样使用 BC 在 Java 中生成 AES PBEKey: SecretKeyFactory factory =
我发现了很多 AES、Twofish 和 Serpent 的 C 实现。但是我不是很理解这些例子。我只知道有些地方提供了反转矩阵的例子。 谁能给我一个示例或 .c 文件来加密/解密由 char* 和密
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
我是一名优秀的程序员,十分优秀!