古典密码总结
古典密碼
- 凱撒密碼
- 凱撒位移(中文版)
- 柵欄密碼
- 棋盤密碼
- 乘法密碼
- 仿射密碼
- 希爾密碼
- 摩斯電碼
- 豬圈密碼
- 鍵盤密碼
- 參考
凱撒密碼
加密公式:密文 = (明文 + 位移數) Mod 26
解密公式:明文 = (密文 - 位移數) Mod 26
凱撒位移(中文版)
就是按照中文字在Unicode編碼表中的順序進行移位,可以用來加密中文的信息。
例:[中文凱撒移位]
轉換成Unicode編碼:中文凱撒移位
移1位后成為: 丮斈凰撓秼低
轉換成中文:[丮斈凰撓秼低]
https://blog.csdn.net/qq_36134761/article/details/80385862
柵欄密碼
也稱柵欄易位(Columnar Transposition),即把將要傳遞的信息中的字母交替排成上下兩行,再將下面一行字母排在上面一行的后邊,從而形成一段密碼。柵欄密碼是一種置換密碼。
例如密文:TEOGSDYUTAENNHLNETAMSHVAED
解密過程:先將密文分為兩行
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.
加密時不一定非用兩欄,還是舉《數字城堡》中的一個例子,密文為:
PFEE SESN RETM MFHA IRWE OOIG MEEN NRMA ENET SHAS DCNS IIAA IEER BRNK FBLE LODI
去掉空格:PFEESESNRETMMFHAIRWEOOIGMEENNRMAENETSHASDCNSIIAAIEERBRNKFBLELODI
共64個字符,以8個字符為一欄,排列成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 (廣島和長崎的原子彈轟炸的最主要區別)
棋盤密碼
假設我們需要發送明文訊息 “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視為同一個字,使字母數量符合 5 × 5 格。之所以選擇這五個字母,是因為它們譯成摩斯密碼時不容易混淆,
可以降低傳輸錯誤的機率。使用這個方格,找出明文字母在這個方格的位置,再以那個字母所在的欄名稱和列名稱代替這個字母。
可將該訊息轉換成處理過的分解形式。
明文: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加密法),也就是所謂的坐標加密法,早在公元2世紀就被希臘人發明出來了,是密碼史上第一個密碼,值得我們去了解。
乘法密碼
乘法密碼也是一種簡單的替代密碼,與凱撒密碼相似,凱撒密碼用的是加法,而乘法密碼用的自然是乘法。
這種方法形成的加密信息保密性比較低。
加密公式:密文 = (明文 * 乘數) Mod 26
對于乘數密碼,只有當乘數與26互質時,加密之后才會有唯一的解,因此乘數只可能有如下11種的選擇:
乘數 = 3,5,7,9,11,15,17,19,21,23,25
仿射密碼和希爾密碼因為都用到了乘法,所以乘數也受到相同的局限。
仿射密碼
仿射密碼就是凱撒密碼和乘法密碼的結合。
加密公式:密文 = (明文 * 乘數 + 位移數) Mod 26
希爾密碼
希爾密碼(Hill Cipher)是運用基本矩陣論原理的替換密碼,由Lester S. Hill在1929年發明。每個字母當作26進制數字:A=0, B=1, C=2… 一串字母當成n維向量,跟一個n×n的矩陣相乘,再將得出的結MOD26。
考慮訊息ACT,因為A=0,C=2,T=19,訊息是:
設密匙為
確認它是可逆的:
加密過程:
對應的密文便是“POH”。
假設對方知道密文和密匙,首先找出密匙的逆矩陣:
將逆矩陣和密文相乘:
便得到“ACT”。
摩斯電碼
摩斯電碼(摩爾斯電碼)是一種發報用的信號代碼,是一種替代密碼,用點(Dot)和劃(Dash)的組合來表示各個英文字母或標點。
豬圈密碼
豬圈密碼(亦稱朱高密碼、共濟會暗號、共濟會密碼或共濟會員密碼),是一種以格子為基礎的簡單替代式密碼。即使使用符號,也不會影響密碼分析,亦可用在其它替代式的方法。
鍵盤密碼
加密的原理同棋盤密碼,只是利用了鍵盤作為方陣。
鍵盤的字母分布:
~ ! @ # $ % ^ & * ( ) _ + |
` 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個字母的坐標,72即第7列第2行,第7列正好是數字鍵[7]的位置,往下2個就是字母[J]。
參考
https://blog.csdn.net/qq_34206560/article/details/83242664
https://www.cnblogs.com/gwind/p/7997922.html
總結
- 上一篇: Flash Cs4 安装之后打不开
- 下一篇: VGG16结构图