古典密码(5)

一、Porta密码--替换密码

1.介绍:Porta密码(Porta Cipher)是一个由意大利那不勒斯的医生Giovanni Battista della Porta发明的多表代换密码,Porta密码加密解密过程的是相同的。Vigenere 密码是具有 26 个字母的多字母密码,而 Porta 除了仅使用 13 个字母外基本相同。它使用的 13 个密码字母是互惠的,因此加密与破译相同。

2.密码表:

3.明文:ertyuiop

秘钥循环使用:wertyuio

密文:明文与秘钥对应的字母在密码表中的交点为密文

二、普莱菲尔密码(Playfair)

1.介绍:Playfair密码是第一个实用的二元图替换密码。该方案由查尔斯·惠斯通(Charles Wheatstone)于1854年发明,但以推广使用密码的普莱费尔勋爵(Lord Playfair)的名字命名。该技术对成对的字母(二元字符)进行加密,而不是像简单的替换密码那样对单个字母进行加密。Playfair更难破解,因为用于简单替换密码的频率分析不适用于它。仍然可以进行频率分析,但要对 25*25=625 个可能的二元图而不是 25 个可能的专论进行分析。因此,频率分析需要更多的密文才能工作。

2.算法

生成5*5的”钥匙方块”任何 25 个字母的序列都可以用作键,只要所有字母都在其中并且没有重复。请注意,没有“j”,它与“i”组合。现在,我们应用加密规则来加密明文。

m o n a r
c h y b d
e f g i k
l p q s t
u v w x z
  • 删除键方块中不存在的任何标点符号或字符(这可能意味着拼写出数字、标点符号等)。
  • 识别明文中的任何双字母,并将第二个出现字母替换为“x”,例如“hammer”->“hamxer”。
  • 如果明文的字符数为奇数,请在末尾附加一个“x”以使其为偶数。
  • 将明文分成成对的字母,例如“hamxer”->“ha mx er”
  • 该算法现在适用于每个字母对。
  • 在钥匙方块中找到字母,(给出的示例使用上面的钥匙方块)
  1. 如果字母位于不同的行和列中,则将该对分别替换为同一行上的字母,但位于原始对定义的矩形的另一对角处。顺序很重要——对中的第一个加密字母是与第一个明文字母位于同一行的字母。'ha' -> 'bo', 'es' -> 'il'
  2. 如果字母出现在表格的同一行上,请分别将它们替换为紧靠右侧的字母(如果原始对中的字母位于行的右侧,则绕行到行的左侧)。'马' -> 'or', 'lp' -> 'pq'
  3. 如果字母出现在表格的同一列上,请分别将它们替换为紧挨着下方的字母(如果原始对中的字母位于列的底部,则绕行到列的顶部)。'rk' -> 'dt', 'pv' -> 'vo'

三、ROT系列

加密方式加密方法对象
ROT5往后移5位,即+5数字1-->6
ROT13往后移13位字母a->n
ROT18ROT5+ROT13,以上两种方法结合数字、字母1-->6、a->n
ROT47ASCLL码往后移47位数字、字母、常用符号0->_

四、棋盘密码(Polybius)

2.加密方式:将一个字母替换成两个数字,密文就是字符密码表中对应的横纵坐标。

12345
1abcde
2fghi/jk
3lmnop
4qrstu
5vwxyz

注意:

  1. 数字范围1-5
  2. 加密对象为小写字母
  3. 数字每两个一组

五、埃特巴什码

1.介绍:这种密码是由熊斐特博士发现的。熊斐特博士为库姆兰《死海古卷》的最初研究者之一,他在《圣经》历史研究方面最有名气的著作是《逾越节的阴谋》。他运用这种密码来研究别人利用其他方法不能破解的那些经文。这种密码被运用在公元1世纪的艾赛尼/萨多吉/拿撒勒教派的经文中,用以隐藏姓名。其实早在公元前500年,它就被抄经人用来写作《耶利米书》。它也是希伯来文所用的数种密码系统之一。

2.埃特巴什码(Atbash Cipher)是一个系统:最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。

常文: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

密文:Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值