问题标签 [feistel-cipher]
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.
postgresql - 在 PostgreSQL 中解密 Feistel 密码
我使用这个Feistel Cipher更新了我的数据库中的一堆字段。根据文档,可以撤消密码以获取原始值。如果需要,我如何撤消这些值?
这是原始密码函数:
java - Java 中的 Mutliround Feistel 网络
对于一些学生的东西,我需要用 Java 实现一个 Feistel 网络。
我从 3 个手动回合开始,如下所示:
如果我想要 10 轮,我需要复制这些东西 10 次并调整变量,有没有更好的方法来做到这一点?也许为时已晚,但我想不出解决方案...
java - Java中Feistel密码的小实现
我正在尝试做一个Feistel Cipher的小实现。这是我一直在尝试的:
圆函数scramble
为:
我试图首先加密明文的左右两半,然后通过解密轮运行它 - 所以到最后,数组的值应该是 [1,2,3] 和 [4,5,6] (回到明文)。使用 8 的密钥输入,解密后我得到 [15, 13, 0] 和 [8, 12, 1] 的值。我哪里错了?
为简单起见,我现在只是使用常量作为键以及整数的输入,而不是从文件中读取/使用字节数组。
编辑:
循环计数不正确。将“加密循环”更改为:
循环现在计算第 1,2,3 轮(加密)和 3,2,1(解密)。但是,解密仍然没有得到正确的明文。
java - Feistel Cipher ararrayindexoutofbounds 与函数 F 异或后。
我正在尝试在 Java 中实现纯文本 Feistel Cipher,其中我使用硬编码的“字母”数组为原始纯文本消息的每个字符分配数值。我的问题是,一旦我将函数应用于右半部分并与左半边进行异或运算,有时我会留下一个超出“字母”数组范围的数字。
这是字母数组:
这是功能:
这是用于加密的代码块:
错误发生在这一行:
我已经尝试了 %26 the leftHalf[i] 数字,以便它适合字母数组,但这破坏了密码的要点,我无法破译它。
我也尝试了几种不同的功能,但我认为它主要与 XOR 有关。有没有办法确保 XOR 将返回字母数组范围内的某些内容,或者我是否以错误的方式处理整个事情?任何帮助表示赞赏。
另外,错误代码:
java - 如何将字符串转换为位,然后将其分成两半并在一部分上执行一些功能,然后将其与另一个进行异或,然后使用 java 进行交换?
是的,它只是 feistel 密码。我需要实现一个简单的程序来实现它,而不使用任何预先存在的代码。我认为我的主要问题是将字符串转换为位以对其执行某些功能?顺便说一句,我正在使用java,而且我不是那个专家。请帮我提供任何信息。你认为它可能会有所帮助..
这是我的代码:
python - 使用 Feistel 密码和 Python 对图像进行编码
我正在尝试使用 Feistel 密码对图像进行编码。这个想法是获取一个图像文件,逐字节读取图像,用我的 Feistel 密码对每个字节进行编码,然后用密码生成的编码字节重新创建一个新图像。
不幸的是,我发现大多数常见的图像格式都使用标头,一旦编码,就会使编码的图像损坏。
查看 PIL 包,我发现该PIL.Image.frombytes
函数能够在给定对象的情况下创建图像BytesIO
对象。使用图像对象,我可以使用save
函数重新创建图像
我现在的问题是,如何打开图像并读取我需要使用 Feistel 密码处理的实际图像有效负载(以字节为单位)。
如果我使用代码
我阅读了整个文件,包括我不需要的标题
c++ - 元胞自动机加密算法中的错误段
我一直在实施一篇论文,该论文旨在通过基本元胞自动机使用 64 位分组密码进行物联网加密。该论文位于存储库中/在自述文件中链接。
我正在尝试验证该算法的实现是否确实有效。
当前状态
第一段和第三段没有正确解密,我相信这是由于使用了规则 153。
我已经验证的事情
- CA 的工作方式类似于 Wolfram 和论文中的指定规则
- 拆分/连接段按预期工作
我在报纸上注意到的勘误表
- 有未指定的 CA 边界(实现应该是正确的,因为我得到了一半的明文)
- 选定的规则 204 本质上是一个 NOP
- 解密中的 16x4 位拆分应该是 4x6
- 在图表中正确(图 3),不在算法列表中
- 解密需要反转偶/奇段校验
问题
规则 153 是否真的适用于在解密期间反转自动机?规则 51 本质上是前一个时代的 NOT,所以我希望规则 153 的逆规则在解密期间使用,但似乎不可逆。
如果有人可以查看并提供有关我哪里出错的反馈,我将不胜感激。我已经给作者发了邮件,还没有收到回复。
代码