趣味密碼學之四後記 愷撒碼補遺

2021-03-31 08:56:29 字數 832 閱讀 9602

上次講到愷撒碼很容易被破解,因此在它的基礎上又作出了很多改進。

愷撒碼屬於字母表的平移變換,其一般加密公式為 f(a)=(a+k) mod n,n為字符集中字母的個數,k的取值範圍是1~25。當k=3時,這種變換就是愷撒碼。

另一種辦法就是改變字母表的順序,也稱為倍模變換,其一般加密公式為f(a)=ak mod n, n為字符集中字母的個數。在這裡,k的取值必須與n互素(即最大公約數為1);否則會出現週期性,不同的字元會產生相同的加密結果。

如:k=5、n=26,變換公式為f(a) = (5*a ) mod 26

明文:abcdefghijklmnopqrstuvwxyz

密文:ejotydinsxchmrwbglqvafkpuz

因為z的編碼為26,而k與26互素,所以 f(a)=(26*k) mod 26=26,明文z加密後還是它本身。同理,m(編碼為13)也一樣。

如果取k=2,k與26不互素,則會出現編碼相同的情況。如,f(1)=(1*2) mod 26 =2,f(14)=(14*2) mod 26 =2,? 字母a和n的密文均為b,而且無法通過解密公式確定明文。這樣的情況會同樣出現在b和o…m和z中,以13為週期重複產生相同的加密結果。

結合上述兩種變換,就得到了廣義愷撒碼的公式,也稱為線性變換。f(a)=(a*k1+k2) mod n , n為字符集中字母的個數, k的取值必須與n互素。如k1=3,k2=2,n=26

明文:abcdef

密文:ehknqt

這三種方法的解密都很簡單,但是都達到了混亂原文的效果。而只要知道金鑰得到密碼表,解密的方法也很簡單。

趣味密碼學 序

生活中或多或少都會與密碼有接觸,無論是qq登入密碼還是銀行帳戶密碼,每個人心中總有一串數字是秘而不宣的。而密碼學更是以複雜的數學公式 令人費解的專業術語和各種技術保密的原因而蒙上了一層神秘的面紗。密碼學是一門很有趣味的學科。也許有人不同意,密碼學和數學有千絲萬縷的關係,因此會有人覺得這很枯燥 密碼學...

密碼學之雜湊

雜湊 雜湊函式 md5 sha1 sha256 512 對稱加密演算法 des 3des aes 高階密碼標準,美國 局使用的加密演算法 ps 蘋果內部的鑰匙串訪問用的就算aes。非對稱加密演算法 rsa1 資料不可反算 不可逆運算 2 演算法公開。3 對相同的資料加密,得到的結果是一樣的。4 對不...

趣味密碼學之三 長話短說 密碼學發展史

密碼學作為保護資訊的手段,經歷了三個發展時期。它最早應用在軍事和外交領域,隨著科技的發展而逐漸進入人們的生活中。在手工階段,人們只需通過紙和筆對字元進行加密。密碼學的歷史源遠流長,人類對密碼的使用可以追溯到古巴比倫時代。下圖的phaistos圓盤是一種直徑約為160mm的粘土圓盤,它始於西元前17世...