图解密码第二章

凯撒密码

  1. 原理:恺撒密码是通过将明文中所使用的字母表按照一定的字数 “平移” 来进行加密的。

  2. 加密过程
    例如我们要加密apple这个单词,我们首先定义一个秘钥也就是平移的位数,例如我们的秘钥是’5’接下来我们就对每一个字母进行逐一平行加密
    a–平移5个单位–f
    p–平移5个单位–u
    p–平移5个单位–u
    l–平移5个单位–q
    e–平移5个单位–j
    这样我们就得到了密文fuuqj
    而加密过程就是如下图:
    在这里插入图片描述

  3. 解密过程
    如果我们得到了这个秘文,并且知道秘钥,我们只需要将密文反向平移几位就得到了明文

  4. 凯撒密码的暴力破解
    在恺撒密码中, 密钥就是字母表平移的字数。 由于字母表只有 26 个字母, 因此加密用的密钥只有 0 到 25 共 26 种( 平移 0 个字母实际上相当于没有加密, 但在这里我们也将这种情况考虑进去 )所以我们需要暴力破解时只需要将这26总秘钥都尝试一遍,这样总会有一个是他的原文

简单替换密码

  1. 原理:简单替换密码的加密过程是依次将明文中的每一个字母按照替换表替换成另一个字母,这样原理和凯撒密码一致,但是相当于每一个字母都有一个秘钥,每一个字母都可以平移不同的位数,这样的保存每一个字母的平移位数的表格就交(替换表),下图是一种常见的替换表。

  2. 加密过程
    就是将每一个字母按照替换表,所表示的位数进行平移得到的结果就是替换加密的过程

  3. 破译方法
    通过原理可知明文字母表中的 a 可以对应 A, B, C, …, Z 这 26 个字母中的任意一个( 26种 ), b 可以对应除了 a 所对应的字母以外的剩余 25 个字母中的任意一个( 25 种 )。 以此类推,我们可以计算出简单替换密码的密钥总数为:26 x 25 x 24 x 23 x ••• x 1 = 403291461126605635584000000 这样大的破解明文,可能永远也不会被发现明文,当然可能你们就认为他是一种完美的加密方法了,当然不是虽然我们用暴力破解的形式很难破解但是确可以用一种频率分析的密码破译方法。

频率分析原理

频率分析利用了明文中的字母的出现频率与密文中的字母的出现频率一致这一特性。
示例:假如你获得了一长串密文,可能如下所示:

MEYLGVIWAMEYOPINYZGWYEGMZRUUYPZAIXILGVSIZZMPGKKDWOMEPGROEIWGPCEIPAMDKKEYCIUYMGIF
RWCEGLOPINYZHRZMPDNYWDWOGWITDWYSEDCEEIAFYYWMPIDWYAGTYPIKGLMXFPIWCEHRZMMEYMEDWOMG
QRYWCEUXMEDPZMQRGMEEYAPISDWOFICJILYSNICYZEYMGGJIPRWIWAIHRUNIWAHRZMUDZZYAMEYFRWCE
MRPWDWOPGRWAIOIDWSDMEIGWYMSGMEPYYEYHRUNYARNFRMSDMEWGOPYIMYPZRCCYZZIOIDWIWAIOIDWE
YMPDYAILMYPMEYMYUNMDWOUGPZYKFRMIMKIZMEIAMGODTYDMRNIWASIKJYAISIXSDMEEDZWGZYDWMEYI
DPZIXDWODIUZRPYMEYXIPYZGRPDMDZYIZXMGAYZNDZYSEIMXGRCIWWGMOYM

然后我们先来分析每一个字母所出现的次数并排序你就得到了这样一个表格:
在这里插入图片描述
首先我们要知道句子中出现频率最高的字母,当然并不一定是密文中出现的字母但八九不离十,通过确认发现基本上出现频率最高的字母便是e,我们假设这段密文中出现次数最多的是e,即y=e或者i=,我们先假设i=e我们将所有y都替换为e便得到了一个这样的表:
在这里插入图片描述

而我们单词中含e并且出现次数最多的便是‘the’当然你也可以说是其他的,这里不接受抬杠,就是the,我们把刚替换的以e结尾的字母组合,发现mee中2个在这段文字中出现了多次,这里姑且将mee看做the,这样我们就得到了几个字母的替换表,即y=e,m=t,e=h于是我们得到这样的密文的表:在这里插入图片描述

再让我们通过已知替换表替换的字母判断发现一个字词特别可疑’thpee’,我们可以通过联想th*ee有什么词,是不是’three’有点可疑,这里姑且又将p看做r这样我们又得到了一个字母的替换值即p=r现在我们就有4个替换值了即y=e,m=t,e=h,p=r好我们将这个值代入得到又一个新表:
在这里插入图片描述
我们再通过我们找到的几个词进行逆推,发现一个这样的词oet,我们解密的时候可以把所有的已经找出来的字母标红或者换成小写或者大写,关于et结尾的单词有哪些无非就是 bet 、 get 、 let 、 set 、 …这些组合中的哪、一种 我们先假设它是最常见的单词 get( 0=g )。
下面我们逐一列出所找到的组合以及假设的对应关系。
thethDWg 这个组合, 有可能是 the thing( D —► i, W— n )。
grINe 这个组合, 翻一下字典可以找到很多可能的单词, 如 grace 、 gradegrate、 grave、 gripe、 grofe、 …, 这可有点为难。 我们先假设 I到 greater 这 样 的 组 合, 因 此 I— a 应 该 是 正 确 的。 但 如 果 假 设 N —► c, 则 会 出 现tricening 这样的组合, 这个单词怎么看也不像是英语, 看来 N— c 是错误的。 ‘
英语中出现频率较高的字母中, 只有 o 还没有出现在我们的假设中。 相对地, 密文中出现频率较高的字母中, 还没有找到对应关系的有 G 和 Z。 我们先假设 G=o
使用上面所有的假设重新替换一下密文:
即:
y— e,
m— t,
e— h,
p— r
g— o
I— a
D — i
W— n
在这里插入图片描述
使用相关思路得后面·的值我就不一一列举了
thethingtoQRench ----the thing quench ( Q— q, R— u )
hotZuUUer —hot summer ( Z— s, U— m)
successagainanAagain—success again and again( A —► d )
triedaLter — tried after( L —► f )
whatXoucannotget — what you cannot get( X —> y)
thefoVandthegraNesonehotsummersday — the fox and the grapes one hot summers day( V —► x, N —► p )
替换过后我们发现:小写字母变多了也就是说破译的字母变多了
在这里插入图片描述
foxwasstroKKing–fox was strolling(K— l)
hetooJarunandaHumpandHustmissed—he took a run and a jump and just missed(H— j)(J — k)
hejumpedupFutwithnogreatersuccess—he jumped up but with no greater success(F — b)

butatlasthadtogiTeitup—but at last had to give it up(T-— v)
这样就剩下最后一个字母了
当然(b-z)
这样我们就得到了破译表
在这里插入图片描述
即:上下大小写一一对照

a b o d e f g h i j k 1 m

I F C A Y L O E D H J K U

n o p q r s t u v w x y z

W G N Q P Z M R T S V X B

这样我们就得到了明文

thefoxandthegrapesonehotsummersdayafoxwasstrollingthroughanorchardtillhecametoab
unchofgrapesjustripeningonavinewhichhadbeentrainedoveraloftybranchjustthethingto
quenchmythirstquothhedrawingbackafewpaceshetookarunandajumpandjustmissedthebunch
turningroundagainwithaonetwothreehejumpedupbutwithnogreatersuccessagainandagainh
etriedafterthetemptingmorselbutatlasthadtogiveitupandwalkedawaywithhisnoseinthea
irsayingiamsuretheyaresouritiseasytodespisewhatyoucannotget


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200324121042295.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NjMxNzgy,size_16,color_FFFFFF,t_70#pic_center)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在人工智能研究中,状态空间法是一种基于解空间的问题表示和求解方法。该方法通过在可能的解空间内寻找一个解来求解问题。状态空间法以状态和算符为基础来表示和求解问题。在传统人工智能问题中,复杂的求解技术都离不开表示与搜索这两个方面的内容,其中状态空间表示是其中的一个重要概念。状态空间法采用试探搜索方法,在某个可能的解空间内寻找一个解来求解问题。图解人工智能第二章学习笔记中可能会涉及到状态空间法的概念和问题状态描述。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [人工智能及其应用——第二章学习笔记(上)](https://blog.csdn.net/JallinRicher/article/details/122752897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [《人工智能及其应用》课程笔记(二)第2章 知识表示方法](https://blog.csdn.net/qq_46485137/article/details/122101559)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值