我的对称加密算法安全吗? [关闭]

Posted

技术标签:

【中文标题】我的对称加密算法安全吗? [关闭]【英文标题】:Is my symmetric encryption algorithm safe? [closed] 【发布时间】:2018-07-27 16:43:27 【问题描述】:

我最近决定编写自己的对称加密程序(例如,可用于自定义密码管理器)。 我想听听你对他的看法,我犯了大错吗?不然会不会很容易坏?

它基本上是一个 Vigenere 分叉,试图更接近 Vernam 加密的原理,但仍然易于使用(您可以使用任何密钥来加密您的文本)。

它是如何工作的?

您输入一条消息(例如 hello world)和一个种子(例如种子)。 种子通过哈希函数转换为数字 我们将消息的字母数加到这个数字上,然后我们再次对其进行哈希处理 使用结果初始化伪随机数生成器,并生成文本大小的随机数列表(这是关键)。 我们将每个字母与列表中的相应数字移位(消息的第一个字母与我们生成的列表的第一个数字移位) Example : Alphabet: [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z] List : [1,18,3,17,0] Word: "hello" h+1 = j e+18 = w l+3 = o l+17=c (as the alphabet is finished, we continue at the beginning) o+0=o Output: "jwoco"

Vernam 加密原理规定:

用于偏移字母的键必须至少与文本大小一样大 -> 没关系 密钥只能使用一次 -> 可以更改种子或消息大小(因为我们在用于初始化密钥的哈希中包含了文本大小) 密钥必须是完全随机的 -> 这将取决于随机数生成算法和哈希算法,但如果它们很好,我们应该有一个输出,没有密钥就不可能找到更有可能的文本而不是另一个作为原始消息。

我的解释清楚吗?你是否同意我的观点?你有什么要补充的吗?改进建议或随机数生成和哈希算法给我建议?

祝你有美好的一天, 托马斯!

【问题讨论】:

我投票结束这个问题,因为这个问题与编程无关。最明显的地方是crypto.stackexchange.com,但their on-topic guide 表示他们也不会接受这个问题。 嘿!这是一个真正的编程问题,因为我问你我应该使用哪种哈希算法和随机数生成算法,但是为了理解我的需求,我必须解释系统是如何工作的。如果你愿意,我可以试着把这个问题带出话题? 这不是一个对发布有用的编程问题。它甚至没有指定编程生态系统。关于算法,它是相当理论化的,您希望这里的人们深入研究它。它对任何人都没有帮助,它什么也证明不了。我也投票关闭它。 您基本上用 vigenere 密码而不是 XOR 重新发明了流密码。至少,你需要一个 CPRNG 并且每次都改变你的 RNG 的种子,否则它很容易受到选择的纯文本攻击。见en.wikipedia.org/wiki/Stream_cipher 我投票决定将此问题作为离题结束,因为它属于 crypto.stackexchange.com。一个好问题,但不属于这里。 【参考方案1】:

Bruce Schneier 的相关轶事:

见https://www.schneier.com/crypto-gram/archives/1998/1015.html#cipherdesign

一位密码学家朋友讲述了一个业余爱好者的故事 用他发明的密码打扰他。密码学家会 破解密码,业余爱好者会做出改变来“修复”它,然后 密码学家会再次破解它。这种交流进行了几次 直到密码学家厌倦了。当业余爱好者拜访他时 听听密码学家的想法,密码学家放了三个 信封面朝下放在桌子上。 “每个信封里都有一个 攻击你的密码。拿一个读一读。不要回来 直到你发现其他两次攻击。”业余爱好者从来没有 又听到了。

使用 AES。

【讨论】:

不知道这个故事,很有趣。但我的目标不是使用对称加密,而是创建一个。对人类有用吗?我不这么认为:如您所知,AES 已经在响应这种需求,但是开发我自己的算法,即使我没有成功,对我也很有用。没错:我会失去什么?我今年 15 岁,因此有很多时间可以浪费,可以很开心地希望创造一些东西。另一方面,如果您认为尝试创建自己的算法只是为了满足 aes 已经回答的需求是浪费时间,我强烈同意您的看法。 好吧@Thorgal,在你的业余时间做这件事是一件相当不错的事情——反正比 Fortnite 好得多:) 如果你想问一个关于你的算法的问题,“是安全吗?”是错误的,因为你知道答案是“不”。正如布鲁斯暗示的那样,如果你想挑战自己,最好专注于破解简单的密码而不是制作它们。我也强烈推荐他的书:schneier.com/books/applied_cryptography你会学到各种你可以实际使用的神奇东西。 一位朋友刚刚告诉我关于破解密码的完全相同的事情。 xD 下次我在亚马逊上买东西的时候我会买这本书,它会帮助我复习我的英语(我是法语),非常感谢你花一点时间给我。 =)

以上是关于我的对称加密算法安全吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

对称加密算法AES

1、对称加密算法

对称加密算法和非对称加密算法

常用安全算法之对称加密算法与非对称加密算法

非对称加密算法-RSA算法

非对称加密算法都有哪些,安全性能对比