讀書筆記一【加密——替換法】
阿新 • • 發佈:2019-02-04
sci bubuko 第一個 bsp 讀書 讀書筆記 行為 作品 字母表
1.簡單的替換法
替換法即為將一個字(或字母)替換為另一個字(或字母),通過一張對應表進行加密或解密。
例如,將每個字母替換為原先字母後面的一個字母
【I‘m a programmer】將被替換ASCII後面的字符為【J(n!b!qsphsbnnfs】
簡單的替換法會被【頻率分析】方法攻擊,例如英文中最常出現的字母為E,最常見的組合為TH;同理,中文中“的”字也是最常用的字。攻擊者可以通過最常出現的字或字母反推對應表,從而破解密文。
2.變化替換模式
為了防止替換法被頻率分析方法破解,可以對替換表格進行擴展,這種方法叫做【多表替換】。
多表替換的一種形式叫做【tabularecta】,即為下圖
根據上表,不同明文與密鑰對應的密文字母就不同
例如明文是HELLO,密鑰是CATCH
那麽密文第一個字母就是H行C列的J
簡單來說 就是密文第i個字母為表中行為明文第i字母,列為密鑰第i個字母的那個值
代碼即為:密文[i]=表格[明文[i]][密鑰[i]]
3.替換法密鑰擴展
像上面的例子,每個字母只有5個被替換的可能性(密鑰長度),所以加密要足夠強,就必須要有一個與原文一樣長的密鑰。
這種方法通常是使用某本書的某個章節來做,例如以莎士比亞作品為密碼本,密鑰為2.2.4.9
則密碼表為
按字母表順序第二個戲劇《As You Like It》,第二個2位該劇第二幕,4指其中第四個場景,9指其中第9句
這種方法通常這電影裏出現
讀書筆記一【加密——替換法】