首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Base64字母表对替换密码进行频率分析

如何使用Base64字母表对替换密码进行频率分析
EN

Cryptography用户
提问于 2014-11-11 16:44:27
回答 1查看 6.6K关注 0票数 8

让我们想象一下,一个密码的工作原理如下:

  1. 明文被编码为Base64。
  2. 将编码明文中的字符替换为随机洗牌的字符集( are,0-9,-,_,=)。从本质上讲,混乱的字母表是关键。

不是特别复杂,甚至不是安全的。但是..。

如果我想做频率分析呢?

例如,用Base64编码的“R联RUNFORYOURLIFE”是:

UlVORk9SWU9VUkxJRkU=

当字符集被洗牌时,最终的密码文本可以如下所示:

xv24DYG9qxG2xYg6DYxf

关键是:

yhAc5bTOWeYvBXCpVuoMJLdg8P1jHN3ZIsi67SrK4E_D9-x2qRQmnlkwUaFt0G=zf

这是一个洗牌版本的:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_=

我们还假设后续消息中的字符集顺序相同(即重复使用键)。

既然字节基本上是分开的,导致不同的字符单位可能或不相对应,那么频率分析仍然可行吗?在加密前以这种方式编码明文是否增加了任何形式的安全性?

我的问题主要涉及更长的信息,因为我的例子可能太短,无法进行任何真正的分析。

EN

回答 1

Cryptography用户

发布于 2014-11-14 09:56:39

这是我可以做频率分析的一种方法。首先,假设原始文本对每个字符使用一个字节(8位)(这不会失去通用性,因为我认为其他编码可以使用类似的结构)。其次,注意base64字符代表6位。这意味着前4个base64字符编码了明文的前3个字节,即前3个字符(因为4*6 = 3*8)。接下来的4个base64字符将对接下来的3个明文字符进行编码,等等。

利用这一观测可以很容易地进行频率分析。只需计算所有3个明文字符串的频率,以及所有4个密文字符串的频率。然后像往常一样进行频率分析攻击,但要记住,明文中的3个字符对应于4个密文字符。

请注意,可能有更明智的方法,但至少这是一个。

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

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

复制
相关文章

相似问题

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