首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >密码的安全缺陷分析

密码的安全缺陷分析
EN

Cryptography用户
提问于 2015-01-04 22:40:00
回答 1查看 301关注 0票数 0

我知道使用自制加密是非常危险的,因为它很可能在设计上有很多缺陷。以下的概念只是为了学习的目的,以防有人读到这方面的危险信息。希望这是个合适的地方。

我已经做了一个分组密码,我想知道我如何可能找到缺陷,甚至可能打破它。由于它是自制的,而且我在密码学方面没有事先深入的知识,所以我认为它很可能会找到攻击这种加密的方法。由于密码没有通用的破解工具(至少据我所知),如果你们中的一些人能分享一些想法,我会非常感兴趣的。

  • 该密码用于CBC模式,其块大小为512位,密钥大小为1480位。
  • 512位输入被填充到由2x2x2位组成的64个立方体(或矩阵)中。每个立方体都包含来自输入的8位连续数据。每立方体三次,我们从键中读取三位,以确定要完成的操作。这些操作是立方体的单层在X,Y,Z方向上有选择地旋转,并且是位的圆移位(圆形移位的概率更高2/8)。
  • 使用三个操作的想法是,它不能到达初始位置。
  • 然后,对于每个立方体,键中的4位用于从上到下对多维数据集进行xor。这避免了对只填充0(或1)的多维数据集的相同输出,通常情况下,这会增加安全性,因为这会给输入增加混乱。
  • 64立方体被洗牌,使用64乘以6位来确定一个新的位置。
  • 然后,使用8个多维数据集来创建一个4x4x4多维数据集。我们在每个立方体上应用了四个操作。其中三个是层旋转,圆形移动和新旋转的整个立方体识别出的4位的关键(所有操作相同的概率)。另一个2位用于轴上的镜像或倒置。
  • 再次,立方体被x化,这一次,它需要16位的每个立方体。
  • 在最后一步,立方体被洗牌并放入一个8x8x8立方体中。我们把立方体的输出作为密码的输出。

有可能打破它的第一种方法是什么?

到目前为止,我的想法是,不应该发生密钥冲突,因为密钥的每一点都会导致算法的不同行为。密码很大程度上依赖于密钥,所以密钥泄漏的小部分会极大地损害安全性。使用相同的键进行稍微不同的输入会产生非常相似的输出。这是一个安全缺陷,它不能产生与输入相同的输出,这可能是不可能的差分加密的情况?

如果有人感兴趣,我将非常感谢,有一个实现,我可以上传,以供进一步检查。

EN

回答 1

Cryptography用户

发布于 2015-01-05 07:08:02

你说这是一个学习练习,学习如何发明密码。学习的方法不是试图发明一些分组密码,然后让其他人去破解它。学习的方法是通过破解其他密码来学习密码分析。请参阅Schneier关于密码分析的自学课程,以获得一个好的资源。

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

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

复制
相关文章

相似问题

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