首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在替换密码中添加噪声有什么影响?

在替换密码中添加噪声有什么影响?
EN

Cryptography用户
提问于 2018-05-05 03:53:41
回答 1查看 259关注 0票数 0

假设我把字母A分配给0-100范围内的随机数。明文字符到密文值的映射构成了我的密码字母表(和键)。

我使用普通的替换密码加密一条消息。然后,我使用不在我的密码字母表中使用的0-100范围内的数字,创建一个与我的初始密文长度相同的随机值序列。然后,我随机地编织我的初始密码文本和随机序列在一起。

具体来说,我会从第一个密文字符开始,随机决定是否添加噪音。如果我决定添加噪声,我将插入第一个未使用的元素从我的随机序列,无论是在当前的密文字符之前或之后(再次随机选择)。当我到达密码文本的末尾时,随机序列中可能仍有未使用的值。如果存在,则返回到密文的第一个字符(可能是加密的值或上次传递中添加的噪声),然后继续随机插入值,直到使用了来自随机序列的所有值。

最后的结果是要传输的消息。如果你知道关键的描述是微不足道的,因为你可以忽略“噪音”。但如果你不知道钥匙你会怎么解密这个?具体来说,从有意义的数据中分离噪声的技术是什么,还是有其他的攻击方案?

注:我问这个问题是因为业余爱好者的好奇心。我知道现代加密算法是安全的,不需要被干扰。我知道我描述的结果是更大的传输,等等,我只想知道你是如何打破它的。

EN

回答 1

Cryptography用户

发布于 2018-05-05 07:27:23

我做了一些模拟,发现在添加噪音后,普通英文字母(e,a,t,r,s等)仍然像拇指疼一样突出。知道代表这些字母的字符,并假设攻击者知道我们添加了噪音,这只会比直接的替换攻击更难。

但这让我思考,如果对于每个字母A,我选择了一些随机数来表示这个字母。当与任何其他值连接时,每个随机序列都必须是唯一可识别的(我不知道生成这类密钥的简单方法,但如果您小心的话,可以手动构造)。例如,我可以为A、B和C选择以下值:

代码语言:javascript
运行
复制
A: 36 52 47
B: 36
C: 95 47

给定字符串"36 52 47 95 47 95 47 36 36 46 36“,我们可以看出它代表了"ACCAB”字符,但如果不知道键,频率分析就无法工作(例如,B在我们的明文中显示一次,但相应的密码文本值36显示三次)。

我不知道这种类型的字母是否有名字,但我意识到它本身并没有那么强。我们可以查看密文中数字对的频率,并确定哪些数字更有可能是同一字符表示的一部分。如果你能正确地把数字分开,那么这和标准的替换密码是一样的。

但是如果我们在这个奇怪的随机字符长度的字母表中加上噪音,就像最初描述的那样,我无法确定哪一组数字代表单个字符,而基本频率分析不起作用。我遗漏了什么?

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

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

复制
相关文章

相似问题

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