第三周学习任务(古典密码)

一.Playfair体制

密文特征:

它有一些不太明显的特征:密文的字母数一定是偶数;任意两个同组的字母都不会相同,如果出现这种字符必是乱码和虚码。

工具 

CTF在线工具-在线普莱菲尔密码加密|在线普莱菲尔密码解密|普莱菲尔密码算法|Playfair Cipher在线普莱菲尔密码加密、在线普莱菲尔密码解密、普莱菲尔密码原理、普莱菲尔密码算法、Playfair Cipher。icon-default.png?t=N7T8http://www.hiencode.com/playfair.html

二.Beaufort体制——多表加法密码

与Vigenere体制极其相似,不过就是算法上有一点点小变化

密文特征:

与维吉尼亚密码一样,都是全英文,它们二者基本上可视作加解密过程不同,其他无明显区别

工具:

CTF在线工具-在线博福特密码加密|在线博福特密码解密|博福特密码算法|Beaufort Cipher在线博福特密码加密、在线博福特密码解密、博福特密码原理、博福特密码算法、Beaufort Cipher。icon-default.png?t=N7T8http://www.hiencode.com/beaufort.html 

三.棋盘密码

棋盘密码
棋盘密码是指密码破解规则中的字母或数字如棋盘一样排列的一种暗号密码。最早的,也是最经典的棋盘密码为波利比奥斯棋盘。
波利比奥斯棋盘(Polybius Checkerboard)是利用波利比奥斯方阵(Polybius Square)进行加密的密码方式,产生于公元前两世纪的希腊,相传是世界上最早的一种密码。简单的来说就是把字母排列好,用坐标的形式表现出来。字母是密文,明文便是字母的坐标。

密文特征:

1.密文为数字(例如:23 42 53 23 34)
按行列读取坐标,对照表图所示。
比如字母“F”,用数字表示它就是“21”。比如要表达单词“YES”,则写成密码就是54 15 43。
例如:
明文:HELP
密文:23 15 31 35
2.密文中只有 A D F G X
第一次世界大战: 德军采用由A、D、F 、G 、 X五个字母拼成全新密码加密的电报。
ADFGVX密码是德军在第一次世界大战中使用的栏块密码。事实上,它是早先一种密码 ADFGX的增补版。
下文举例ADFGX
例如:
明文 HELPME
密钥 WHERE
首先,将26个字母随机不重复填入方格中。
Generate Random Key:
Keysquare=gtcfrnsxvkyabmpuldwzohiqe
(i/l同格)
Keyword=come
Plaintext=helpme
再利用一个移位钥匙加密。密钥是“come”,将其写在新格子的第一列。再将上一阶段的密码文按行写进新方格里。
come cemo
-------->>>>>>>>--------(移位钥匙加密)
1234 1432
5678 5876
最后按照字母顺序 cemo 的顺序按列写出
Ciphertext=XXGGDFXXFXDX
• 解 密
举例第一种棋盘密码,只需要对应表格。
ADFGVX密码则首先知道对应表格字母排列方式,以及密钥。
1.将密钥按字母表顺序排列,将密文按列填入。
2.将密钥按正常顺序排列,列跟密钥变动,按行读出。
3.对应表格,读出对应字母,得明文。 

工具:

棋盘密码在线加密解密 - 千千秀字本页面可实现Polybius/ADFGX/ADFGVX三种棋盘密码的加密和解密,棋盘序列可自定义,ADFGX/ADFGVX可添加密钥。棋盘密码是一种加密强度较高的古典密码,采用矩阵加密方式。icon-default.png?t=N7T8https://www.qqxiuzi.cn/bianma/qipanmima.php

四.【希尔密码(Hill Cipher)】 


  希尔密码就是矩阵乘法密码,运用基本矩阵论原理的替换密码。每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,
  跟一个n×n的密钥矩阵相乘,再将得出的结果模26。希尔密码的优点是完全隐藏了字符的频率信息,弱点是容易被已知明文攻击击破。 

加密 
  例如:密钥矩阵 
  1 3 
  0 2 

  明文:HI THERE 

  去空格,2个字母一组,根据字母表顺序换成矩阵数值如下,末尾的E为填充字元: 

  HI TH ER EE 
  8 20 5 5 
  9 8 18 5 

  HI 经过矩阵运算转换为 IS,具体算法参考下面的说明: 

  |1 3| 8 e1*8+3*9=35 MOD26=9 =I 
  |0 2| 9 e0*8+2*9=18 MOD26=18=S 

  用同样的方法把“HI THERE”转换为密文“IS RPGJTJ”,注意明文中的两个E分别变为密文中的G和T。 

解密 
  解密时,必须先算出密钥的逆矩阵,然后再根据加密的过程做逆运算。 

  逆矩阵算法公式: 
  |A B| = 1/(AD-BC) * | D -B| 
  |C D| |-C A| 

  例如密钥矩阵= 
  |1 7| 
  |0 3| 
  AD-BC=1*3-0*7=3 3*X=1 mod26 所以 X=9 
  因此 
  |1 7| 的逆矩阵为: 9 * |3 -7| 
  |0 3| |0 1| 

  假设密文为“FOAOESWO” 

  FO AO ES WO 
   6 1 5 23 
  15 15 19 15 

  9* |3 -7| | 6| = 9*(3*6-7*15)=-783 mod26 = 23=W 
   |0 1| |15| = 9*(0*6+1*15)= 135 mod26 = 5 =E 

  所以密文“FOAOESWO”的明文为“WEREDONE”

工具 

希尔(Hill Cipher)加密/解密 - Bugku CTFicon-default.png?t=N7T8https://ctf.bugku.com/tool/hill

 

五.【费娜姆密码】


密文特征:

二战时德军使用过的一种密码,其实是利用了二进制的表示法来替代字母,有如下的表格作为基础:

A 1000001 B 1000010 C 1000011 D 1000100 E 1000101 F 1000110 G 1000111 H 1001000 I 1001001 J 1001010

K 1001011 L 1001100 M 1001101 N 1001110 O 1001111 P 1010000 Q 1010001 R 1010010 S 1010011 T 1010100

U 1010101 V 1010110 W 1010111 X 1011000 Y 1011001 Z 1011010

那么,比如我们要加密“Hello”,密钥用“study”,则以如下方式进行加密:

H E L L O = 1001000 1000101 1001100 1001100 1001111
S T U D Y = 1010011 1010100 1010101 1000100 1011001

加密原则:1+1=0,0+0=0,1+0=1

于是得密文:00110110010001001100100010000010110

那么解题目中的密文,需要遵循以下几个原则和步骤,

1,划分,即每七个数字为一组;

2,对应,找出密文每个字母对应的数字,再与上述数字对应;

3,转换,遵循上述加密原则,逆用即可;

4,解密,得出新的一组数字,对应字母,得出明文。

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值