密碼學是通信雙方按照約定的規則進行特殊信息轉換的重要秘密手段。根據這些規律,把明文變成密文叫做加密變換;把密文變成明文叫做解密變換。在早期,密碼只是改變了字符或數字的加密和解密。隨著通信技術的發展,可以實現語音、圖像和數據的加密和解密。
密碼學是在編碼與解碼的鬥爭實踐中逐步發展起來的,並且隨著先進科學技術的應用,已經成為壹門綜合性的前沿技術科學。它與語言學、數學、電子學、聲學、信息論和計算機科學密切相關。它的實際研究成果,尤其是世界各國政府使用的加密和解碼方法,都是高度保密的。
秘密轉換的法則叫做密碼系統。指示這種轉換的參數稱為密鑰。它們是密碼學的重要組成部分。密碼系統的基本類型可以分為四種:混淆——按照規定的圖形和線條將明文字母或數字的位置變為密文;替換——用壹個或多個替換表用密文替換明文字母或數字;密碼本-通過用預編程的字母或數字密碼組替換某些短語和單詞,將明文變為密文;置亂——用壹系列有限元素作為隨機數,按照規定的算法與明文序列組合成為密文。以上四種密碼系統可以單獨使用,也可以混合使用,編譯出各種復雜度高的實用密碼。
從20世紀70年代開始,就有學者提出了公鑰體制,即利用單向函數的數學原理來實現加解密密鑰的分離。加密密鑰是公開的,解密密鑰是保密的。這種新的密碼體制在密碼學領域引起了廣泛的關註和討論。
利用字符和密碼的規律,在壹定條件下,采用各種技術手段,通過對截獲的密文進行分析,可以得到明文,可以還原密碼,即可以破譯密碼。破譯不同強度的密碼需要的條件不同,甚至差別很大。
中國古代的秘密通訊手段,已經有了壹些接近密碼的雛形。宋代的曾公亮和丁度記載,北宋初年,壹首五言律詩用40個漢字來表示40種情況或要求,具有密本制的特點。
1871年,6899個漢字被上海大北水線電報公司選用,並替換為四碼數字,成為中國第壹個商用明碼。同時,設計了將明碼轉化為密碼並進行置亂的方法。在此基礎上,逐漸發展成各種更復雜的密碼。
在歐洲,公元前405年,斯巴達將軍萊桑德羅斯使用了原始的無序密碼;公元前壹世紀,羅馬皇帝凱撒用有序的單表代替密碼;之後逐漸發展為密碼本、多表代換、加擾等各種密碼體制。
二十世紀初,出現了第壹批實用的機械和電子密碼機,同時出現了商用密碼機公司和市場。60年代以後,電子密碼機得到了迅速發展和廣泛應用,使密碼的發展進入了壹個新階段。
密碼破解是隨著密碼的使用逐漸產生和發展起來的。1412,波斯Kalekashandi編撰的百科全書,包含了破譯簡單而非密碼的方法。到16世紀末,壹些歐洲國家有專職破譯員破譯截獲的秘密信息。密碼解碼技術取得了長足的進步。普魯士人卡辛斯基寫的《密碼學與解碼技術》和法國人克爾克霍夫寫的《軍事密碼學》,都對密碼學的理論和方法進行了探討和論述。美國人香農在65438-0949年發表了《秘密系統的通信理論》壹文,應用信息論原理分析了密碼學中的壹些基本問題。
19世紀以來,電報尤其是無線電報的廣泛使用,為密碼通信和第三方截獲提供了極其有利的條件。通信保密和檢測解碼形成了鬥爭激烈的隱蔽戰線。
1917,英國破譯德國外長齊默爾曼電報,促成美國對德宣戰。1942年,美國從破譯日本海軍密報中得知日軍在中途島的作戰意圖和兵力部署,以便以劣勢兵力擊破日本海軍主力,扭轉太平洋地區戰局。在保衛英倫三島等諸多著名歷史事件中,密碼破解的成功發揮了極其重要的作用,這些例子也從反面說明了密碼保密的重要地位和意義。
目前,世界主要國家的政府都非常重視密碼學。他們中的壹些人建立了龐大的機構,撥出了巨額資金,集中了數萬名專家和科技人員,並在工作中投入了大量的高速計算機和其他先進設備。與此同時,私營企業和學術界對密碼學越來越重視,許多數學家、計算機科學家和其他相關學科的專家也投身於密碼學的研究,加速了密碼學的發展。
現在密碼學已經成為壹門獨立的學科。傳統意義上的密碼學是研究如何將信息轉換成隱藏的方式,防止他人獲取。
密碼學是壹門交叉學科,它來源於很多領域:可以看作是信息論,但是它使用了很多數學領域的工具,比如數論和有限數學。
原始信息,即需要密碼保護的信息,稱為明文。加密是將原始信息轉換成不可讀形式的過程,這種形式就是密碼。解密是加密的逆過程,從加密信息中獲取原始信息。密碼是壹種用於加密和解密的算法。
最早的隱寫術只需要紙筆,現在被稱為經典密碼學。它的兩大類是排列加密,重新排列字母的順序;替換加密,用其他字母或符號替換壹組字母。經典加密方法的信息很容易被統計學破解。信息越多,越容易破解。使用分析頻率是壹個很好的方法。經典密碼學還沒有消失,經常出現在智力遊戲中。20世紀初,為加密而發明了壹些機械裝置,包括轉輪機,其中最著名的是二戰中使用的密碼機Enigma。這些機器生成的密碼大大增加了密碼分析的難度。例如,對英格瑪的各種攻擊都是在付出相當大的努力後才成功的。
傳統密碼學
自動密鑰密碼
置換密碼
雙字母組代替密碼(查爾斯·惠斯通)
多字母替換密碼
希爾密碼
弗吉尼亞密碼
替換密碼
吉米·金·朱姆
ROT13
仿射密碼
Atbash密碼
換位密碼
鐮刀
格柵密碼
VIC密碼(壹種復雜的手動密碼,在20世紀50年代初至少有壹名蘇聯間諜使用過,當時非常安全)。
對傳統密碼學的攻擊
頻率分析
重合指數
現代算法、方法評估和選擇工程
標準組織
聯邦信息處理標準出版計劃(由NIST管理,在許多領域產生標準以指導美國聯邦政府的運作;許多FIPS酒吧都與密碼學相關,正在進行中)
ANSI標準化過程(在許多領域產生許多標準;壹些與密碼學相關,正在進行中)
ISO標準化過程(在許多領域產生許多標準;壹些與密碼學相關,正在進行中)
IEEE標準化過程(在許多領域產生許多標準;壹些與密碼學相關,正在進行中)
IETF標準化過程(在許多領域產生許多標準(稱為RFC );壹些與密碼學相關,正在進行中)
參見加密標準
加密組織
NSA內部評估/選擇(當然是廣泛的,對於內部使用的過程或結果沒有任何公開信息;美國國家安全局被控協助NIST履行其加密職責)
GCHQ內部評估/選擇(當然是廣泛的,沒有公開的流程或結果供GCHQ使用;GCHQ的壹個部門負責為英國政府開發和推薦加密標準)
DSD澳大利亞SIGINT機構ECHELON的壹部分
通信安全機構(CSE)——加拿大情報機構。
開放的努力。
DES選擇(NBS選擇過程,結束於1976)
種族項目的成熟部分(由歐洲聯盟贊助,於80年代中期結束)
AES競賽(由NIST贊助的“中斷”;結束於2001)
NESSIE項目(歐盟贊助的評估/選擇計劃;2002年底)
CRYPTREC計劃(日本政府贊助的評估/推薦項目;2003年公布的建議草案)
互聯網工程任務組(負責互聯網標準的技術機構-征求意見系列:正在進行中)
CrypTool項目(英語和德語的電子學習方案;免費軟件;關於密碼學和密碼分析的詳盡的教育工具)
加密哈希函數(消息摘要算法,MD算法)
加密哈希函數
消息認證代碼
鍵控散列消息驗證碼
尼西選擇MAC
HMAC(尼西精選MACISO/FIPS IEC 9797-1和IETF RFC)
TTMAC也叫雙軌MAC(nessie selection MAC;比利時魯汶公司;德比斯股份公司(德國))
UMAC(尼西精選MAC英特爾,雷諾,IBM,Technion和。UCal Davis)
MD5(壹系列消息摘要算法之壹,由麻省理工學院的Ron Rivest教授提出;128位摘要)
Sha-1 (160 bit摘要由NSA開發,FIPS標準之壹;第壹個發布版本被發現有缺陷,並被此版本替換;NIST/國家安全局發布了幾個“摘要”長度更長的變體;CRYPTREC (limited)推薦)
SHA-256 (NESSIE系列報文摘要算法,180-2,FIPS標準之壹,摘要長度為256位)。
SHA-384(尼斯列報文摘要算法,FIPS標準之壹,180-2,摘要長度為384位;CRYPTREC建議)
SHA-512 (NESSIE報文摘要算法,FIPS標準之壹,180-2,摘要長度為512比特;CRYPTREC建議)
RIPEMD-160(為歐洲的RIPE項目開發,160摘要;CRYPTREC (limited)推薦)
老虎(羅斯·安德森等人)
斯涅夫魯
惠而浦(尼斯湖水怪選擇哈希函數,Scopus Tecnologia S.A .(巴西)& ampK.U .魯汶(比利時))
公鑰/私鑰加密算法(也稱為非對稱密鑰算法)
ACE-KEM (NESSIE選擇非對稱加密方案;IBM蘇黎世研究)
ACE加密
Chor-裏維斯特
Diffie-Hellman(密鑰協商;CRYPTREC推薦)
離散對數
ECC(橢圓曲線加密算法)(離散對數變體)
PSEC-KEM(尼西選擇非對稱加密方案;NTT(日本);CRYPTREC建議僅在DEM構造中使用SEC1參數) )
橢圓曲線綜合加密系統;Certicom公司)
ECIES-KEM
ECDH(橢圓曲線Diffie-Hellman密鑰協議;CRYPTREC推薦)
EPOC
Merkle-Hellman(背包方案)
麥克埃利斯
影響力
RSA(因子分解)
RSA-KEM(尼西選擇非對稱加密方案;ISO/IEC 18033-2草案)
RSA-OAEP(Cryptrec推薦)
拉賓密碼系統(因式分解)
拉賓-SAEP
HIME
XTR
公鑰/私鑰簽名算法
DSA(zh:數字簽名;Zh-tw:數字簽名算法)(來自NSA,Zh:數字簽名;Zh-tw:數字簽名標準(DSS)的壹部分:CRYPTREC推薦)
橢圓曲線DSA (NESSIE選擇數字簽名方案;Certicom公司);CRYPTREC建議為ANSI X9.62,SEC1)
Schnorr簽名
RSA簽名
RSA-PSS (NESSIE選擇數字簽名方案;RSA實驗室);CRYPTREC建議)
RS assa-pkcs 1v 1.5(CRYPTREC建議)
尼伯格-魯佩爾簽名
MQV議定書
Gennaro-Halevi-Rabin簽名方案
Cramer-Shoup簽名方案
壹次性簽名
Lamport簽名方案
Bos-Chaum簽名方案
不可否認的簽名
Chaum-van Antwerpen簽名方案
失敗停止簽名
Ong-Schnorr-Shamir簽名方案
雙有理置換方案
設計
設計-D
設計-R
直接匿名證明
NTRUSign是壹種用於移動設備的公鑰加密算法。密鑰短,但也能達到高密鑰ECC的加密效果。
SFLASH (NESSIE選擇數字簽名方案(特別是用於智能卡應用和類似應用);斯倫貝謝(法國))
石英
密碼認證
密鑰認證
公鑰基礎設施(PKI)
基於身份的密碼(IBC)
X.509
公鑰證書
認證授權
證書吊銷列表
基於身份的密碼學
基於證書的加密
安全密鑰發行密碼術
無證書密碼術
匿名認證系統
GPS(尼西選擇匿名身份認證方案;法國高等師範學院;郵報)
秘密密鑰算法(也稱為對稱密鑰算法)
流密碼
A5/1,A5/2(GSM移動電話標準中規定的加密標準)
BMGL
變色龍
FISH(西門子公司)
二戰‘魚’密碼
Geheimfernschreiber(二戰期間西門子股份公司的機械壹次性密碼被布萊奇利莊園稱為鱘魚)。
Schlusselzusatz(二戰期間洛倫茨的機械壹次性秘密密碼被布萊奇利莊園稱為[[tunny]]。
螺旋
ISAAC(用作偽隨機數生成器)
利維坦(密碼)
麗麗-128
mug 1(Cryptrec推薦)
multi-s 01(Cryptrec推薦)
壹次壹個秘密(20年代中期獲得專利的韋爾納姆和毛·博涅;壹個極端的流密碼)
巴拿馬
狗魚(羅斯·安德森對魚的改進)
RC4 (ARCFOUR)(麻省理工學院羅恩·裏維斯特教授的系列之壹;建議使用CRYPTREC(限於128位密鑰)。
Ciphersaber(具有10字節隨機iv的RC4變體,易於實現)
海豹突擊隊
雪
清醒的
SOBER-t16
SOBER-t32
叫醒
分組密碼
分組密碼操作模式