維吉尼亞

人們在單一愷撒密碼的基礎上擴展出多表密碼,稱爲“維吉尼亞”密碼。它是由16世紀法國亨利三世王朝的布萊瑟·維吉尼亞發明的。維吉尼亞密碼引入了“密鑰”的概念,即根據密鑰來決定用哪一行的密表來進行替換,以此來對抗字頻統計。維吉尼亞密碼的密鑰空間大小爲26m,所以即使m的值很小,使用窮盡密鑰搜索方法也需要很長的時間。例如,當m=5時,密鑰空間大小超過1.1*107,這樣的密鑰量已經超出了使用手算進行窮盡搜索的能力範圍。
維吉尼亞密碼引入了“密鑰”的概念,即根據密鑰來決定用哪一行的密表來進行替換,以此來對抗字頻統計。假如以上面第一行代表明文字母,左面第一列代表密鑰字母,對如下明文加密:

TO BE OR NOT TO BE THAT IS THE QUESTION

當選定RELATIONS作爲密鑰時,加密過程是:明文一個字母爲T,第一個密鑰字母爲R,因此可以找到在R行中代替T的爲K,依此類推,得出對應關係如下:

密鑰:RELAT IONSR ELATI ONSRE LATIO NSREL

明文:TOBEO RNOTT OBETH ATIST HEQUE STION

密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY

歷史上以維吉尼亞密表爲基礎又演變出很多種加密方法,其基本元素無非是密表與密鑰,並一直沿用到二戰以後的初級電子密碼機上。

加密流程:

第一步:編號。將A-Z以編號0-25編號;

第二步:選取密鑰。舉例:wangyuhang;

第三步:明文處理。去掉所有空格;舉例:明文爲we are discovered save yourself;處理後:wearediscoveredsaveyourself;

第四步:密鑰處理 將密鑰重複排列;處理後:wangyuhangwangyuhangwangyuh;

第五步:加密 舉例:明文第一個字母W編碼爲22,密鑰第一個字母爲W編碼爲22;22+22=44,因爲44>26,所以44-26=18;18對應字母爲Q,故將W加密爲Q;明文第二個字母E編碼爲4,密鑰第二個字母爲A編碼爲0;4+0=4,4對應字母爲E,故將E加密爲E;以此類推;

第六步:輸出密文 舉例:senxadvyyoikneqywvrekueyals

解密流程:

第一步:編號。將A-Z以編號0-25編號;

第二步:獲取密鑰。舉例:wangyuhang;

第三步:密文處理。去掉所有空格;處理後:senxadvyyoikneqywvrekueyals;

第四步:密鑰處理。將密鑰重複排列;處理後:wangyuhangwangyuhangwangyuh;

第五步:解密。舉例:密文第一個字母Q編碼爲18,密鑰第一個字母爲W編碼爲22;18-22=-4,因爲-4<0,所以-4+26=22;22對應字母爲W,故將Q解密爲W;密文第二個字母E編碼爲4,密鑰第二個字母爲A編碼爲0;4-0=4,4對應字母爲E,故將E解密爲E;以此類推;

第六步:明文處理 根據相關語言釋讀,按照正確的語言格式整理明文; 舉例:we are discovered save yourself。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章