次に、現代暗号の概念と基本的な用語についてお話しします。 暗号化を行うには、まず暗号化したい文を用意します。 つまり周囲には秘密にして、相手にだけ伝えたい文です。 この暗号化される前の文平文 (「ひらぶん」と読みます) と呼びます。 そして、どのような暗号方式でこの 平文 を 暗号文 へと暗号化するかを決めます。
ここでは例として、 先ほど紹介したシーザー暗号で暗号化することに決めましょう。 「シーザー暗号を利用する」 ことに決めるということは、 「各文字を何文字か五十音順で後へずらして暗号化する」 と決めることと同じ意味です。 続いて、シーザー暗号で暗号化するのであれば、 一体、五十音順で何文字分ずらすのかも決めなくてはなりません。 これで初めて実際に 平文 を暗号化し、暗号文を 得られるようになります。
そして、この暗号文を相手に伝えます。 その際、この暗号文が周囲に盗聴されたとしても、 暗号化されているため本当の意味(平文)は知られずに済みます。 正当な受信者はこの暗号文を得たら、そこから平文を得る作業を行ないますが、 この作業のことを復号と呼びます (一方、正当な受信者以外が暗号文から平文を得ようとする 不正な作業は解読と呼んで区別されます)。 正当な受信者は、周囲の人たちとは違い、 暗号化の時に平文を何文字ずらしたかを知っていますので、 暗号文をその文字数分だけ五十音順の逆の方向にずらして、 元の文字を得ることができ復号することができます。
ここで重要なのは、復号を行うには暗号化の時に何文字ずらしたかという 情報が必要になることです。この、ずらした「数」が分からなければ、 シーザー暗号を利用したということだけが分かっていても 復号することができないのです。 言い方を変えると、このずらす「数」を変えれば、 同じシーザー暗号(=「五十音順で何文字かずらす」という暗号) を使ったとしても様々な暗号文のパターンになるため、 大勢が同じ暗号方式を利用できることになるのです。 このように、暗号方式が決まっていても、 ある数値を決定しなければ暗号化できなかったり、 ある数値が分からなければ復号できない時、 このような数値のことを鍵と呼びます。
利用した暗号方式自体は周囲に知られてしまっても、 基本的に鍵さえ知られなければ解読されない限り、 平文を知られてしまうことはありません。 しかし、シーザー暗号には、鍵が 一文字( "あ" を "い" にする)の場合、 二文字( "あ" を "う" にする)の場合…、 五十文字( "あ" を "ん" にする)の場合というように、 せいぜい五十パターン程度しかないため、 暗号文を全ての鍵パターンで逆にずらした文を求めてみて、 何らかの文が得られるかどうかを試すことが現実的に行なえるため、 このような方法で解読されてしまう可能性が高いといえます。
しかし、もしもこの鍵が何億何兆パターンも存在したとすれば、 「シーザー暗号で暗号化しました」 と周囲に言ってしまったとしても 全ての鍵パターンで元の文を得てみる作業を試すことが不可能になり、 鍵を知らずに解読することが困難になります (※1) 。 一方、みんながより安全な暗号化を行いたいとなれば、 おのずと全員が「最も安全」と言われている同じ暗号方式を使うことになるでしょう。 実質的には、これは使った暗号方式を公開することと同じ意味になってしまいます。 このように大勢で同じ暗号方式を使うとなると、 意図せずに同じ鍵を使ってしまう人同士が発生してしまうなど、 鍵が足りなくなってしまう可能性も出てきます。
従って、現代の暗号には鍵が地球上の全ての人が固有にもてるほど存在し、 またどのような暗号方式を利用したかを周囲に知られてしまっても、 鍵さえ知られなければ解読されない安全性があることが要求されるのです。 「暗号化の手順自体は公開」 しても安全が保て、 当事者同士で秘密にしなければならない情報を 「鍵」 である「ある数」 だけに絞り込むのが現代の暗号のトレンドです。