

コードブックとは、暗号コードを収集・保管するために使用される文書の一種です。元々は文字通り「本」を指すことが多かったのですが、今日では「コードブック」は、物理的な形式に関わらず、一連のコードを完全に記録したものを指す言葉として使われています。
暗号学において、コードブックとは、暗号を実装するために使用される文書のことです。コードブックには、符号化と復号化のためのルックアップテーブルが含まれており、各単語またはフレーズには、それを置き換える1つ以上の文字列が割り当てられています。暗号で書かれたメッセージを解読するには、両端にコードブックの対応するコピーが必要です。コードブックの配布と物理的なセキュリティは、暗号で使用される秘密情報である鍵(通常ははるかに短い)と比較して、暗号の使用において特別な難しさをもたらします。
米国国家安全保障局の文書では、ブロック暗号を指すのに「コードブック」という用語が使われることがある。ストリーム暗号を指すのに「コンバイナー型アルゴリズム」という用語が使われているのと比較してみよう。
コードブックには、1部構成と2部構成の2種類があります。
暗号帳システムの最も初期の使用例は、対立教皇クレメンス7世のために働いていたガブリエーレ・デ・ラヴィンデによる1379年である。[ 1 ]
2部構成の暗号帳は、少なくとも1800年代のアントワーヌ・ロシニョールまで遡る。 [ 1 ]
15世紀から19世紀半ばまで、命名法は最もよく使われた暗号方式だった。[ 2 ]
超暗号化を備えたコードブックは、第一次世界大戦で最もよく使われた暗号化方式だった。[ 1 ]
第二次世界大戦で使用されたJN-25暗号は、3万個の暗号群からなる暗号帳に、3万個のランダムな付加情報を重ねて暗号化したものであった。
ブック暗号で使用される本、またはランニングキー暗号で使用される本は、送信者と受信者が共有する任意の本であり、暗号コードブックとは異なります。
社会科学において、コードブックとは、データセット内で変数とその値(例えば、場所、職業、臨床診断など)を参照するために使用されるコードのリストを含む文書のことである。
19世紀および20世紀の商業用暗号においても、データ圧縮という暗号化以外の目的でコードブックが使用されていた。
コードブックは、 5GやLTEなどのモバイルネットワークにおけるプリコーディングやビームフォーミングに関連して使用されます。その使用方法は、例えばTS 38.331「 NR; 無線リソース制御(RRC); プロトコル仕様」などの文書で3GPPによって標準化されています。