问题标签 [twofish]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4419 浏览

c - TwoFish 的工作参考实现?

TwoFish 上的维基百科页面指出了这个用 C 语言(和代码)实现的参考实现,这很好,但是它缺少一个main,而且我在实现一个时的前几次通过并没有正确处理我尝试的任何“已知向量”测试用例。我怀疑我正在查看未正确使用 API 的问题,但我不知道从哪里开始查找错误。我宁愿从一个代码库开始,而不是在那个上面打我的头:

  1. 开箱即用
  2. 有测试
  3. 自包含的
  4. 清楚起见而写

我也非常喜欢 C 或 C 之类的 C++ 代码。


注意:在这一点上,我对代码的可读性比其他任何事情都更感兴趣。可以加密和解密单个块的小而简单的代码和硬编码一个或三个调用的主要功能将是理想的。除此之外的大多数东西(如任何用户界面)对于我的用例来说都只是噪音。

此外,任何拥有比 Boost 更严格的许可证的东西对我来说只有作为了解良好价值和比较状态的来源才有用。

0 投票
1 回答
1022 浏览

twofish - Android Twofish 文件加密教程?

我正在为 android 制作一个应用程序来加密文件。我想使用 TwoFish 作为我的算法,但我不知道如何进行加密。有人可以指导我访问基本教程网站或更好地介绍如何使用 TwoFish 吗?

0 投票
3 回答
483 浏览

c++ - 河豚和双鱼是逐字节加密的吗?

我正在通过网络接收数据包。但是其中一些数据包具有动态长度,因此第二个字节有一个包含长度的 2 个字节长的 WORD。所以我先收到包号,然后按照长度全部接收。当没有加密时,这里一切都很好。如果我使用twofish或blowfish加密会一样吗?我的意思是,“A”被加密为“B”,但“AA”会被加密为“BB”吗?我可以从整个用 TF/BF 加密的数据包中提取一个字节并解密它吗?

0 投票
1 回答
568 浏览

python - 双鱼键扩展

我正在尝试按照Bruce Schneider 1998 年的论文中所述逐步实施 Twofish 密码。尽管如此,我已经在关键扩展上失败了。

我尝试将论文的细节1对1复制到python中,结果如下:

但是,我的输出与测试向量中指定的不同。我已经尝试以相反的方式读取字节(注释行),但无济于事。

这些是测试向量的结果:

这些是我的:

谁能看到我的错误?

0 投票
1 回答
616 浏览

algorithm - Twofish:白化子密钥生成

我正在实现用于教育软件的 Twofish 算法。我将 QT 用于 UI 并使用来自 Wikipedia 的研究和 Bruce Schneier 的 Twofish 论文,但我坚持生成美白子键。我已经成功地理解了如何生成圆形子键,但还没有找到生成美白子键的方法。

我取 k = 2(128 位密钥,128/64 = 2),所以,2k = 4;M_e 和 M_0 的大小为 2,我从原始密钥填充它们并计算 16 轮的轮密钥,每轮 2 个密钥。

所以,我得到的不是 40 个子键,而是 32 个。

我错过了美白8的地方?我已经重新阅读了这篇论文,但没有找到适合它们的算法,或者关于如何生成它们的建议,比如在轮次之前或之后如何生成第一个或最后一个 N 个键。

如何生成美白键?

0 投票
1 回答
1054 浏览

php - Delphi DEC Twofish 加密和 PHP 中的服务器端解密

我必须使用 Twofish/CBC 算法在 Delphi 中加密字符串,将其发送到服务器并在那里解密。我已经测试了下面的代码,并且 B64 编码/解码过程有效,但是我被困在密码加密/解密上。

我正在为 Delphi 使用 DEC 5.2。

这是进行加密的 Delphi 代码:

以及应该解密发送数据的 PHP 函数:

我相信我必须更多地使用盐和初始化向量,但是我不知道如何。据我了解,KDFx() 函数将 SHA1 哈希密码从用户密码和盐中提取出来,但我几乎被困在了这一点上。

0 投票
1 回答
219 浏览

implementation - 我搜索 Twofish Zero Keying 实现代码示例

我正在寻找 Twofish 的实现而不使用大表,而不预先计算圆键。

我需要一个干净的代码示例,以数学/按位方式显示所有内容。我的意思是我想了解操作。大多数例子对我来说太复杂了,因为有很多功能和工作要做,比如测试编译器的数量和版本、机器架构等。我需要它尽可能干净。我只是无法处理示例中完成的所有额外工作,因为我不是 C 程序员。如果它简单,我可以阅读它,但我不是 C 编码器。就像官方参考中的 AES 代码示例一样。

也许我需要一些伪代码示例。

0 投票
1 回答
1396 浏览

c - 河豚加密示例代码

我需要char*在 Windows 中使用 blowfish 或 twofish 加密 C 中的字符串。我找不到直接的解决方案。

我不想安装 OpenSSL 之类的东西;我需要它尽可能独立。不幸的是,谷歌搜索 C 代码会导致 C# 和 C++ 代码。

谁能给我一个简单的加密/解密功能?

0 投票
1 回答
335 浏览

encryption - 双鱼密码密钥生成

我试图弄清楚如何生成 Twofish 密码扩展密钥。

目前,我已经弄清楚首先生成密钥的一部分,用于白化,然后在每一轮中生成 2x32bit 的密钥部分。

密钥的第一部分由 3 个向量组成,Mo、Me 和 S。

Mo 和 Me 是通过将主键扩展为第一个定义的长度,并将其拆分为偶数和奇数 32b 个单词来生成的,然后将它们放入 Mo 和 Me 向量中。

另一方面,向量 S 由 k 个单词组成,其中 k = N/64,在 N=128 的情况下,S 包含 2x32b 个单词。

所以,我们得到了 Mo(2x32) + Me(2x32) + S(2x32) + 16x2x32 = 38 个 32 位字。少了2个字。为什么??

如果 N=192 或 N=256 会怎样?扩展密钥如何是 40 个 32 位字而不是 41 和 44?

任何帮助都会很棒。

谢谢

0 投票
1 回答
209 浏览

ssl - 如何在本地主机(XAMPP)上的 TLS 协议中更改密码学方法?

嗨 =) 我想问一个关于密码学的问题..


如何在本地主机(XAMPP)上的 TLS 协议中更改密码学方法?我想将 Twofish 用作 Simmetric Cryptography,并将 RSA 用于 PKC....

谢谢你=)