この技術には,当事者間でだけ解読可能なように取り決めた,特殊な記号や文字,またはその手順や方式を含みます.
手順のことをアルゴリズムともいいます.
暗号の歴史は古く紀元前に遡るとも言われます.例えば,旧約聖書エレミア書第25章26節にはバビロンの地名がヘブライ語の換字式暗号アトバシュ(Atbash)で記述されているとされます.
アトバシュ(Atbash)は,『ダ・ヴィンチ・コード』の中で,sophiaという言葉をbaphomet(ヘブライ語の記述法でBPVMTh)という言葉に置き換える際に用いられています.BPVMThをヘブライ語のアルファベットの順番で引っ繰り返す(アバトッシュ換字)とShVPYAとなりsophiaとなるというもの.同様にして,旧約聖書に頻出するSh−Sh−KはB−B−Lでありバベルのことと解読されています.アトバシュ暗号換字ではAをZ,BをYに置き換えます.AZBYをヘブライ語でアトバシュと読むことがアトバシュ(Atbash)という名前の由来.
紀元前6世紀頃には,ギリシアのペロポンネソス半島にあったドーリス人の都市国家スパルタ(Sparta,LakedaimxJ恷)はスキュタレーと呼ばれる特定の太さ棒に革ひもを巻きつけて文字を記して,革ひもを送り,受信者が同じ太さの棒に受け取った革ひもを巻きつけて暗号を解読するというスタキュレー暗号を用いていたと伝えられています.これは文字の順番を並べ替えるという方式の暗号なので転置式暗号方式といいます.
紀元前1世紀には,ガイウス・ユリウス・カエサル(Gaius Iulius Caesar;B.C.100-B.C.44)によって,元の文章のアルファベットを特定の数だけずらして暗号化するシーザー暗号が用いられました.この暗号方式は単一換字式暗号方式と呼ばれますが,元の文章のアルファベットと暗号化された文章のアルファベットが1対1に対応するので統計的な頻度分析によって解読することができます.実際,スコットランド女王メアリ・スチュアート(Mary Stuart;1542年12月8日 - 1587年2月8日)はイングランド女王のテューダー朝第5代エリザベス1世(Elizabeth I;,1533年9月7日-1603年4月3日)暗殺計画でノーメンクラターという単一換字式暗号方式の改良版を用いましたが解読され処刑されています.
単一換字式暗号の欠点を克服する方法は15世紀にレオン・バッティスタ・アルベルティ(Leon Battista Alberti;1404年2月14日-1472年4月25日)が,2つ以上の暗号アルファベットを使う多表式というアイデアによってもたらされます.この暗号はバイエルンのヴュルツブルクの聖ヤコブ修道院長ヨハンネス・トリテミウス(Johannes Trithemius;1462年2月1日-1516年12月13日),ナポリのジャンバッティスタ・デッラ・ポルタ(Giambattista della Porta ;1538年-1615年2月4日)に受け継がれ,フランスの外交官ブレーズ・ド・ヴィジュネルによって完成されました.
暗号は大きく「古典暗号」と「現代暗号」に分類されます.
古典暗号というのは,暗号アルゴリズムが秘匿で,暗号化・復号に鍵の概念を用いない暗号です.一方の現代暗号は,暗号アルゴリズムを公開し,暗号化・復号に鍵を利用する暗号を指します.
更に,古典暗号は,換字式暗号(Substitution cipher),転置式暗号(Transposition cipher),分置式暗号(Acrostic cipher)に大きく分類されます.
現代暗号は,暗号化と復号に共通の鍵を用いる共通鍵暗号(Common key cryptosystem)と暗号化と復号に別個の鍵を用いて,暗号化の為の鍵を公開する公開鍵暗号(Public key cryptosystem)とに大きく分類されます.
Mathematics is the language with which God has written the universe.