密碼是通信雙方按約定的法則進行信息特殊變換的壹種重要保密手段。依照這些法則,變明文為密文,稱為加密變換;變密文為明文,稱為脫密變換。密碼在早期僅對文字或數碼進行加、脫密變換,隨著通信技術的發展,對語音、圖像、數據等都可實施加、脫密變換。
密碼學是在編碼與破譯的鬥爭實踐中逐步發展起來的,並隨著先進科學技術的應用,已成為壹門綜合性的尖端技術科學。它與語言學、數學、電子學、聲學、信息論、計算機科學等有著廣泛而密切的聯系。它的現實研究成果,特別是各國政府現用的密碼編制及破譯手段都具有高度的機密性。
進行明密變換的法則,稱為密碼的體制。指示這種變換的參數,稱為密鑰。它們是密碼編制的重要組成部分。密碼體制的基本類型可以分為四種:錯亂——按照規定的圖形和線路,改變明文字母或數碼等的位置成為密文;代替——用壹個或多個代替表將明文字母或數碼等代替為密文;密本——用預先編定的字母或數字密碼組,代替壹定的詞組單詞等變明文為密文;加亂——用有限元素組成的壹串序列作為亂數,按規定的算法,同明文序列相結合變成密文。以上四種密碼體制,既可單獨使用,也可混合使用 ,以編制出各種復雜度很高的實用密碼。
20世紀70年代以來,壹些學者提出了公開密鑰體制,即運用單向函數的數學原理,以實現加、脫密密鑰的分離。加密密鑰是公開的,脫密密鑰是保密的。這種新的密碼體制,引起了密碼學界的廣泛註意和探討。
利用文字和密碼的規律,在壹定條件下,采取各種技術手段,通過對截取密文的分析,以求得明文,還原密碼編制,即破譯密碼。破譯不同強度的密碼,對條件的要求也不相同,甚至很不相同。
中國古代秘密通信的手段,已有壹些近於密碼的雛形。宋曾公亮、丁度等編撰《武經總要》“字驗”記載,北宋前期,在作戰中曾用壹首五言律詩的40個漢字,分別代表40種情況或要求,這種方式已具有了密本體制的特點。
1871年,由上海大北水線電報公司選用6899個漢字,代以四碼數字,成為中國最初的商用明碼本,同時也設計了由明碼本改編為密本及進行加亂的方法。在此基礎上,逐步發展為各種比較復雜的密碼。
在歐洲,公元前405年,斯巴達的將領來山得使用了原始的錯亂密碼;公元前壹世紀,古羅馬皇帝凱撒曾使用有序的單表代替密碼;之後逐步發展為密本、多表代替及加亂等各種密碼體制。
二十世紀初,產生了最初的可以實用的機械式和電動式密碼機,同時出現了商業密碼機公司和市場。60年代後,電子密碼機得到較快的發展和廣泛的應用,使密碼的發展進入了壹個新的階段。
密碼破譯是隨著密碼的使用而逐步產生和發展的。1412年,波斯人卡勒卡尚迪所編的百科全書中載有破譯簡單代替密碼的方法。到16世紀末期,歐洲壹些國家設有專職的破譯人員,以破譯截獲的密信。密碼破譯技術有了相當的發展。1863年普魯士人卡西斯基所著《密碼和破譯技術》,以及1883年法國人克爾克霍夫所著《軍事密碼學》等著作,都對密碼學的理論和方法做過壹些論述和探討。1949年美國人香農發表了《秘密體制的通信理論》壹文,應用信息論的原理分析了密碼學中的壹些基本問題。
自19世紀以來,由於電報特別是無線電報的廣泛使用,為密碼通信和第三者的截收都提供了極為有利的條件。通信保密和偵收破譯形成了壹條鬥爭十分激烈的隱蔽戰線。
1917年,英國破譯了德國外長齊默爾曼的電報,促成了美國對德宣戰。1942年,美國從破譯日本海軍密報中,獲悉日軍對中途島地區的作戰意圖和兵力部署,從而能以劣勢兵力擊破日本海軍的主力,扭轉了太平洋地區的戰局。在保衛英倫三島和其他許多著名的歷史事件中,密碼破譯的成功都起到了極其重要的作用,這些事例也從反面說明了密碼保密的重要地位和意義。
當今世界各主要國家的政府都十分重視密碼工作,有的設立龐大機構,撥出巨額經費,集中數以萬計的專家和科技人員,投入大量高速的電子計算機和其他先進設備進行工作。與此同時,各民間企業和學術界也對密碼日益重視,不少數學家、計算機學家和其他有關學科的專家也投身於密碼學的研究行列,更加速了密碼學的發展。
現在密碼已經成為單獨的學科,從傳統意義上來說,密碼學是研究如何把信息轉換成壹種隱蔽的方式並阻止其他人得到它。
密碼學是壹門跨學科科目,從很多領域衍生而來:它可以被看做是信息理論,卻使用了大量的數學領域的工具,眾所周知的如數論和有限數學。
原始的信息,也就是需要被密碼保護的信息,被稱為明文。加密是把原始信息轉換成不可讀形式,也就是密碼的過程。解密是加密的逆過程,從加密過的信息中得到原始信息。cipher是加密和解密時使用的算法。
最早的隱寫術只需紙筆,現在稱為經典密碼學。其兩大類別為置換加密法,將字母的順序重新排列;替換加密法,將壹組字母換成其他字母或符號。經典加密法的資訊易受統計的攻破,資料越多,破解就更容易,使用分析頻率就是好辦法。經典密碼學現在仍未消失,經常出現在智力遊戲之中。在二十世紀早期,包括轉輪機在內的壹些機械設備被發明出來用於加密,其中最著名的是用於第二次世界大戰的密碼機Enigma。這些機器產生的密碼相當大地增加了密碼分析的難度。比如針對Enigma各種各樣的攻擊,在付出了相當大的努力後才得以成功。
傳統密碼學
Autokey密碼
置換密碼
二字母組代替密碼 (by Charles Wheatstone)
多字母替換密碼
希爾密碼
維吉尼亞密碼
替換密碼
凱撒密碼
ROT13
仿射密碼
Atbash密碼
換位密碼
Scytale
Grille密碼
VIC密碼 (壹種復雜的手工密碼,在五十年代早期被至少壹名蘇聯間諜使用過,在當時是十分安全的)
對傳統密碼學的攻擊
頻率分析
重合指數
現代算法,方法評估與選擇工程
標準機構
the Federal Information Processing Standards Publication program (run by NIST to produce standards in many areas to guide operations of the US Federal government; many FIPS Pubs are cryptography related, ongoing)
the ANSI standardization process (produces many standards in many areas; some are cryptography related, ongoing)
ISO standardization process (produces many standards in many areas; some are cryptography related, ongoing)
IEEE standardization process (produces many standards in many areas; some are cryptography related, ongoing)
IETF standardization process (produces many standards (called RFCs) in many areas; some are cryptography related, ongoing)
See Cryptography standards
加密組織
NSA internal evaluation/selections (surely extensive, nothing is publicly known of the process or its results for internal use; NSA is charged with assisting NIST in its cryptographic responsibilities)
GCHQ internal evaluation/selections (surely extensive, nothing is publicly known of the process or its results for GCHQ use; a division of GCHQ is charged with developing and recommending cryptographic standards for the UK government)
DSD Australian SIGINT agency - part of ECHELON
Communications Security Establishment (CSE) — Canadian intelligence agency.
公開的努力成果
the DES selection (NBS selection process, ended 1976)
the RIPE division of the RACE project (sponsored by the European Union, ended mid-'80s)
the AES competition (a 'break-off' sponsored by NIST; ended 2001)
the NESSIE Project (evaluation/selection program sponsored by the European Union; ended 2002)
the CRYPTREC program (Japanese government sponsored evaluation/recommendation project; draft recommendations published 2003)
the Internet Engineering Task Force (technical body responsible for Internet standards -- the Request for Comment series: ongoing)
the CrypTool project (eLearning programme in English and German; freeware; exhaustive educational tool about cryptography and cryptanalysis)
加密散列函數 (消息摘要算法,MD算法)
加密散列函數
消息認證碼
Keyed-hash message authentication code
EMAC (NESSIE selection MAC)
HMAC (NESSIE selection MAC; ISO/IEC 9797-1, FIPS and IETF RFC)
TTMAC 也稱 Two-Track-MAC (NESSIE selection MAC; K.U.Leuven (Belgium) & debis AG (Germany))
UMAC (NESSIE selection MAC; Intel, UNevada Reno, IBM, Technion, & UCal Davis)
MD5 (系列消息摘要算法之壹,由MIT的Ron Rivest教授提出; 128位摘要)
SHA-1 (NSA開發的160位摘要,FIPS標準之壹;第壹個發行發行版本被發現有缺陷而被該版本代替; NIST/NSA 已經發布了幾個具有更長'摘要'長度的變種; CRYPTREC推薦 (limited))
SHA-256 (NESSIE 系列消息摘要算法, FIPS標準之壹180-2,摘要長度256位 CRYPTREC recommendation)
SHA-384 (NESSIE 列消息摘要算法, FIPS標準之壹180-2,摘要長度384位; CRYPTREC recommendation)
SHA-512 (NESSIE 列消息摘要算法, FIPS標準之壹180-2,摘要長度512位; CRYPTREC recommendation)
RIPEMD-160 (在歐洲為 RIPE 項目開發, 160位摘要;CRYPTREC 推薦 (limited))
Tiger (by Ross Anderson et al)
Snefru
Whirlpool (NESSIE selection hash function, Scopus Tecnologia S.A. (Brazil) & K.U.Leuven (Belgium))
公/私鑰加密算法(也稱 非對稱性密鑰算法)
ACE-KEM (NESSIE selection asymmetric encryption scheme; IBM Zurich Research)
ACE Encrypt
Chor-Rivest
Diffie-Hellman (key agreement; CRYPTREC 推薦)
El Gamal (離散對數)
ECC(橢圓曲線密碼算法) (離散對數變種)
PSEC-KEM (NESSIE selection asymmetric encryption scheme; NTT (Japan); CRYPTREC recommendation only in DEM construction w/SEC1 parameters) )
ECIES (Elliptic Curve Integrated Encryption System; Certicom Corp)
ECIES-KEM
ECDH (橢圓曲線Diffie-Hellman 密鑰協議; CRYPTREC推薦)
EPOC
Merkle-Hellman (knapsack scheme)
McEliece
NTRUEncrypt
RSA (因數分解)
RSA-KEM (NESSIE selection asymmetric encryption scheme; ISO/IEC 18033-2 draft)
RSA-OAEP (CRYPTREC 推薦)
Rabin cryptosystem (因數分解)
Rabin-SAEP
HIME(R)
XTR
公/私鑰簽名算法
DSA(zh:數字簽名;zh-tw:數位簽章算法) (來自NSA,zh:數字簽名;zh-tw:數位簽章標準(DSS)的壹部分; CRYPTREC 推薦)
Elliptic Curve DSA (NESSIE selection digital signature scheme; Certicom Corp); CRYPTREC recommendation as ANSI X9.62, SEC1)
Schnorr signatures
RSA簽名
RSA-PSS (NESSIE selection digital signature scheme; RSA Laboratories); CRYPTREC recommendation)
RSASSA-PKCS1 v1.5 (CRYPTREC recommendation)
Nyberg-Rueppel signatures
MQV protocol
Gennaro-Halevi-Rabin signature scheme
Cramer-Shoup signature scheme
One-time signatures
Lamport signature scheme
Bos-Chaum signature scheme
Undeniable signatures
Chaum-van Antwerpen signature scheme
Fail-stop signatures
Ong-Schnorr-Shamir signature scheme
Birational permutation scheme
ESIGN
ESIGN-D
ESIGN-R
Direct anonymous attestation
NTRUSign用於移動設備的公鑰加密算法, 密鑰比較短小但也能達到高密鑰ECC的加密效果
SFLASH (NESSIE selection digital signature scheme (esp for smartcard applications and similar); Schlumberger (France))
Quartz
密碼鑒定
Key authentication
Public Key Infrastructure (PKI)
Identity-Based Cryptograph (IBC)
X.509
Public key certificate
Certificate authority
Certificate revocation list
ID-based cryptography
Certificate-based encryption
Secure key issuing cryptography
Certificateless cryptography
匿名認證系統
GPS (NESSIE selection anonymous identification scheme; Ecole Normale Supérieure, France Télécom, & La Poste)
秘密鑰算法 (也稱 對稱性密鑰算法)
流密碼
A5/1, A5/2 (GSM移動電話標準中指定的密碼標準)
BMGL
Chameleon
FISH (by Siemens AG)
二戰'Fish'密碼
Geheimfernschreiber (二戰時期Siemens AG的機械式壹次壹密密碼, 被布萊奇利(Bletchley)莊園稱為STURGEON)
Schlusselzusatz (二戰時期 Lorenz的機械式壹次壹密密碼, 被布萊奇利(Bletchley)莊園稱為[[tunny)
HELIX
ISAAC (作為偽隨機數發生器使用)
Leviathan (cipher)
LILI-128
MUG1 (CRYPTREC 推薦使用)
MULTI-S01 (CRYPTREC 推薦使用)
壹次壹密 (Vernam and Mauborgne, patented mid-'20s; an extreme stream cypher)
Panama
Pike (improvement on FISH by Ross Anderson)
RC4 (ARCFOUR) (one of a series by Prof Ron Rivest of MIT; CRYPTREC 推薦使用 (limited to 128-bit key))
CipherSaber (RC4 variant with 10 byte random IV, 易於實現)
SEAL
SNOW
SOBER
SOBER-t16
SOBER-t32
WAKE
分組密碼
分組密碼操作模式