暗号
「電子化された暗号機械」に分類されるようなものなどもあるが、歴史的にごく一時期のものであるためここでは略す。コンピュータ・プログラムは、何らかの情報処理機械のソフトウェア実装である、と見ることができる(チャーチ=チューリングのテーゼ)。すなわち、暗号のプログラムは暗号機械のソフトウェア実装であるとも言える。のどかな時代には、実際にエニグマ暗号機の方式をそのままコンピュータ・プログラムにしたようなものも使われていたりしたこともあったが(詳細は en:Crypt (Unix) を参照)、1970年代以降は、現代的な暗号として前述したような公開鍵暗号であるRSAや、共通鍵暗号ではDESなどがある。攻撃側(暗号解読側)が最新鋭のコンピュータの計算力を利用できると仮定しても、計算量的に安全でなければならない、という考えかたが基本となった。
共通鍵暗号において、公開鍵暗号方式などを用いて暗号化側と復号側が共通鍵を共有すること。大量のデータをすべて公開鍵暗号で送受信しようとすると計算量が膨大になることから、全文の送受信は比較的簡便な共通鍵暗号で行うこととし、そのための鍵をまず公開鍵暗号方式で共有する、という方法が広く採用されている。
この際、鍵配布センター (KDC) などの信用できる第三者機関を利用する集中型と、各人が秘密の値と通信データを用いて共有の鍵を生成する分散型がある。鍵配送 (key distribution) 、鍵共有 (key agreement) ともいうが、集中型のことを鍵配送、分散型のことを鍵共有として両者を含めて鍵交換とする場合など、区別する書籍もある。
暗号の安全性を表す尺度。鍵のサイズなどを指定する。
暗号で用いられる用語。暗号理論も参照。
入力に対して出力が得られる関数のようなもの。オラクルを必要とするモデルで使用される。