古典密码总结
古典密碼
- 凱撒密碼
- 凱撒位移(中文版)
- 柵欄密碼
- 棋盤密碼
- 乘法密碼
- 仿射密碼
- 希爾密碼
- 摩斯電碼
- 豬圈密碼
- 鍵盤密碼
- 參考
凱撒密碼
加密公式:密文 = (明文 + 位移數(shù)) Mod 26
解密公式:明文 = (密文 - 位移數(shù)) Mod 26
凱撒位移(中文版)
就是按照中文字在Unicode編碼表中的順序進(jìn)行移位,可以用來(lái)加密中文的信息。
例:[中文凱撒移位]
轉(zhuǎn)換成Unicode編碼:中文凱撒移位
移1位后成為: 丮斈凰撓秼低
轉(zhuǎn)換成中文:[丮斈凰撓秼低]
https://blog.csdn.net/qq_36134761/article/details/80385862
柵欄密碼
也稱柵欄易位(Columnar Transposition),即把將要傳遞的信息中的字母交替排成上下兩行,再將下面一行字母排在上面一行的后邊,從而形成一段密碼。柵欄密碼是一種置換密碼。
例如密文:TEOGSDYUTAENNHLNETAMSHVAED
解密過(guò)程:先將密文分為兩行
T E O G S D Y U T A E N N
H L N E T A M S H V A E D
再按上下上下的順序組合成一句話
THE LONGEST DAY MUST HAVE AN END.
加密時(shí)不一定非用兩欄,還是舉《數(shù)字城堡》中的一個(gè)例子,密文為:
PFEE SESN RETM MFHA IRWE OOIG MEEN NRMA ENET SHAS DCNS IIAA IEER BRNK FBLE LODI
去掉空格:PFEESESNRETMMFHAIRWEOOIGMEENNRMAENETSHASDCNSIIAAIEERBRNKFBLELODI
共64個(gè)字符,以8個(gè)字符為一欄,排列成8*8的方陣(凱撒方陣):
P F E E S E S N
R E T M M F H A
I R W E O O I G
M E E N N R M A
E N E T S H A S
D C N S I I A A
I E E R B R N K
F B L E L O D I
從上向下豎著讀:PRIMEDIFFERENCEBETWEENELEMENTSRESMONSIBLEFORHIROSHIMAANDNAGASAKI
插入空格:PRIME DIFFERENCE BETWEEN ELEMENTS RESMONSIBLE FOR HIROSHIMA AND NAGASAKI (廣島和長(zhǎng)崎的原子彈轟炸的最主要區(qū)別)
棋盤密碼
假設(shè)我們需要發(fā)送明文訊息 “Attack at once”, 用一套秘密混雜的字母表填滿波利比奧斯方陣,像是這樣:
1 2 3 4 5 1 b t a l p 2 d h o z k 3 q f v s n 4 g j c u x 5 m r e w yi和j視為同一個(gè)字,使字母數(shù)量符合 5 × 5 格。之所以選擇這五個(gè)字母,是因?yàn)樗鼈冏g成摩斯密碼時(shí)不容易混淆,
可以降低傳輸錯(cuò)誤的機(jī)率。使用這個(gè)方格,找出明文字母在這個(gè)方格的位置,再以那個(gè)字母所在的欄名稱和列名稱代替這個(gè)字母。
可將該訊息轉(zhuǎn)換成處理過(guò)的分解形式。
明文:A T T A C K A T O N C E
密文:AF AD AD AF GF DX AF AD DF FX GF XF
13 12 12 13 43 25 13 12 23 35 43 53
棋盤密碼(ADFGX加密法),也就是所謂的坐標(biāo)加密法,早在公元2世紀(jì)就被希臘人發(fā)明出來(lái)了,是密碼史上第一個(gè)密碼,值得我們?nèi)チ私狻?br />
乘法密碼
乘法密碼也是一種簡(jiǎn)單的替代密碼,與凱撒密碼相似,凱撒密碼用的是加法,而乘法密碼用的自然是乘法。
這種方法形成的加密信息保密性比較低。
加密公式:密文 = (明文 * 乘數(shù)) Mod 26
對(duì)于乘數(shù)密碼,只有當(dāng)乘數(shù)與26互質(zhì)時(shí),加密之后才會(huì)有唯一的解,因此乘數(shù)只可能有如下11種的選擇:
乘數(shù) = 3,5,7,9,11,15,17,19,21,23,25
仿射密碼和希爾密碼因?yàn)槎加玫搅顺朔?#xff0c;所以乘數(shù)也受到相同的局限。
仿射密碼
仿射密碼就是凱撒密碼和乘法密碼的結(jié)合。
加密公式:密文 = (明文 * 乘數(shù) + 位移數(shù)) Mod 26
希爾密碼
希爾密碼(Hill Cipher)是運(yùn)用基本矩陣論原理的替換密碼,由Lester S. Hill在1929年發(fā)明。每個(gè)字母當(dāng)作26進(jìn)制數(shù)字:A=0, B=1, C=2… 一串字母當(dāng)成n維向量,跟一個(gè)n×n的矩陣相乘,再將得出的結(jié)MOD26。
考慮訊息ACT,因?yàn)锳=0,C=2,T=19,訊息是:
設(shè)密匙為
確認(rèn)它是可逆的:
加密過(guò)程:
對(duì)應(yīng)的密文便是“POH”。
假設(shè)對(duì)方知道密文和密匙,首先找出密匙的逆矩陣:
將逆矩陣和密文相乘:
便得到“ACT”。
摩斯電碼
摩斯電碼(摩爾斯電碼)是一種發(fā)報(bào)用的信號(hào)代碼,是一種替代密碼,用點(diǎn)(Dot)和劃(Dash)的組合來(lái)表示各個(gè)英文字母或標(biāo)點(diǎn)。
豬圈密碼
豬圈密碼(亦稱朱高密碼、共濟(jì)會(huì)暗號(hào)、共濟(jì)會(huì)密碼或共濟(jì)會(huì)員密碼),是一種以格子為基礎(chǔ)的簡(jiǎn)單替代式密碼。即使使用符號(hào),也不會(huì)影響密碼分析,亦可用在其它替代式的方法。
鍵盤密碼
加密的原理同棋盤密碼,只是利用了鍵盤作為方陣。
鍵盤的字母分布:
~ ! @ # $ % ^ & * ( ) _ + |
` 1 2 3 4 5 6 7 8 9 0 - = \
Q W E R T Y U I O P { }
q w e r t y u i o p [ ]
A S D F G H J K L : "
a s d f g h j k l ; ’
Z X C V B N M < > ?
z x c v b n m , . /
密文:72 81 12 63 01 12 63
明文:jianpan
低下頭看看鍵盤就知道了,密文就是鍵盤上的26個(gè)字母的坐標(biāo),72即第7列第2行,第7列正好是數(shù)字鍵[7]的位置,往下2個(gè)就是字母[J]。
參考
https://blog.csdn.net/qq_34206560/article/details/83242664
https://www.cnblogs.com/gwind/p/7997922.html
總結(jié)
- 上一篇: Flash Cs4 安装之后打不开
- 下一篇: VGG16结构图