首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >置换网络可视化器

置换网络可视化器
EN

Cryptography用户
提问于 2017-04-04 23:59:59
回答 2查看 1.4K关注 0票数 5

我正在对一个玩具分组密码进行差分分析,在这个过程中,我必须提取第一轮n-1轮的差分特性。

然而,我不能很好地做到这一点,因为我看不到网络本身。基本上,我想知道是否有一个软件可以自动生成一个SPN网络,给出圆形排列&S盒子,并将它可视化地呈现出来。这将使分析更加简单。

EN

回答 2

Cryptography用户

发布于 2017-04-05 13:27:10

我知道没有任何软件可以让您可视化任意的SPN网络;然而,我们中的很多人在半导体方面都有基于位状态的验证工具输出可视化。我们使用这些方法将SPICE输出与模拟软件进行比较。我的西蒙密码和AES验证工具打印出位网格。我的AES工具是异步的,但是硅工具程序提供了同步输出,如果您深入到代码中,将给出如何生成这些类型的位网格的示例。作为一个可处理的示例,使用SIMON32 32/64测试向量:

代码语言:javascript
复制
simontool -e -b 32 -k 64 -s 1918111009080100 -t 65656877 -l log.e.32.64.txt -x simon-e-32-64

它动态地创建一个包含基于输入向量的位网格的LaTeX文件。

票数 4
EN

Cryptography用户

发布于 2017-04-05 09:55:22

我并不是百分之百地熟悉所有的密码软件,但花了一个公平的时间看SPN。如果你谷歌图片,SPN,你得到的都是看上去像是手工绘制的图表。有些是在信息图形风格。我在文献中也没有找到任何关于分析工具的参考资料。所有的密码文件似乎都是手写的。

我不太确定这到底是怎么回事我用自己的代码编写了SPN。因此,您将有一个替换层和一个置换层的重复轮。您甚至可以添加一个(子)键合并层。所有这些层都必须输入到工具中,可能是以代码的形式输入,因为操作将是您的算法所特有的。你不能简单地把一个代换矩阵或多项式方程输入到一个形式中。您可能有位移位,滚动,甚至更有异国情调的操作,如π映射的怪诞在Keccak。顺便说一句,雪崩研究也是用定制的滚动代码完成的。

这方面的编程解决方案是对代码进行测试。因此,我编写了例程,每当调用时都很好地格式化状态。在整个算法和层之间的战略点上定位它们。您可以从一个简单的输入块开始,比如“1000000.”看看这些比特是如何传播的。

(当然,编程主题不在这里,所以请忽略这个答案。)

票数 0
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/45300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档