機密性を確保する(情報漏えい対策)ために、
アクセス制御や暗号化(encryption)を行います。
アクセス制御は、情報アクセスできる人を限定する方法で、
それによって情報流出の可能性そのものを抑えようとする対策です。
対して情報の暗号化とは、たとえ情報が流出しても暗号化された情報であれば
内容が読まれたことにならないという考え方です。
暗号化する前の文の暗号対象となるデータを平文と呼び、
暗号から平文に戻すことを復号と呼びます。
そして、暗号や復号に使うデータを鍵と呼びます。
また、暗号手続きの方法を暗号アルゴリズムと呼びます。
暗号アルゴリズムを非公開して使う暗号を「古典暗号」、公開して使う暗号を「現代暗号」と呼びます。
現代暗号でも古典暗号でも、共通鍵暗号方式がよく使われます。
これは暗号化と復号で、
どちらも同じ鍵を使う方式です。
例えば、シーザー暗号の暗号アルゴリズムは、各文字、それぞれをすべてを3文字分進んだ文字に換えるというものでした。
helloの平文であれば、khoorが暗号文です。
(hからi,j,kと3文字進めた文字は、kです。)
このように文字を置き換える方式は 換字方式と呼ばれます。
そして、ここでは進める文字数の3が鍵となります。
復号で3文字分戻せば平文に戻ります。
暗号で使われる他の操作で、加算方式、転置方式があります。
なお、転置方式は、文字の位置を入れ替える方法です。
また加算方式は、コンピュータのXORのビット演算を利用するもので、「現代暗号」でよく使われる方法です。
古典暗号で使われる鍵のサイズは小さく、暗号アルゴリズムも簡単なので、
暗号アルゴリズムが分かると、容易に鍵が推測できて解読されていまいます。
対して現在の暗号は、鍵のサイズ(鍵長)を大きくし、
複雑に換字方式、加算方式、転置方式を組み合わせるなどして、鍵を推測でき難いようにしています。
ですが、コンピュータを使った暗号解読は、時間をかけると推測される危険があります。
そこで現在では、解読にかかる時間が、利用する期間より十分に長ければ安全とする考え方で使われています。
また現代暗号では、他に「非共通鍵暗号方式(公開鍵暗号方式)」と呼ばれるアルゴリズムと併用して使われるようになっています。