共通鍵暗号

共通鍵暗号系（きょうつうかぎあんごうけい、）は、暗号化と復号に同一の（共通の）鍵を用いる暗号方式である。秘密鍵暗号系 () 、対称鍵暗号方式 ()、慣用暗号系 ()、共有鍵暗号系 () ともいう。
また、広い意味で、鍵を共有した者の間での通信の安全性を保障する暗号技術を共通鍵暗号と呼ぶこともある。この場合、メッセージの秘匿を目的とした暗号方式だけでなく、メッセージの改ざん検出を可能とするメッセージ認証符号（秘匿機能は無い）、暗号とメッセージ認証の機能を併せ持つ認証付き暗号も、広い意味での共通鍵暗号である。広い意味での共通鍵暗号技術は、提供する機能は異なっても、共通の技術を用いているものも多い。例えば、秘匿用のブロック暗号を用いたメッセージ認証用の利用モードなどがある。以下では、秘匿を目的とした狭い意味での共通鍵暗号について扱う。
特徴.
共通鍵暗号系の長所は公開鍵暗号系と比べて処理が高速であること、短所は鍵の受け渡しに注意を要することである。どんなに複雑な暗号化を施しても、暗号化の方式が既知なら、鍵さえ分かってしまえば誰でも復号できるからである。
暗号化する側と復号する側とが同じ鍵をもつ必要があり、鍵が漏洩する可能性は、保持者が増えるほど増すことになる。受け渡し相手によってそれぞれ個別の鍵をもてばよいが、その場合は管理すべき鍵の個数が相手の分だけ増加することになる。具体的には2人でだけ受け渡しをする場合は、1種類の鍵があればよいが、3人では3種類、4人では6種類、5人では10種類と増えていく。"n" 人の間で必要な鍵の個数は、formula_1 である。
分類.
共通鍵暗号は、方式によってブロック暗号とストリーム暗号に大別され、ストリーム暗号のほうがロジック量が少なく、処理が速いとされる。代表的な共通鍵暗号としては、ブロック暗号に分類されるIDEA、AES、Camellia、ストリーム暗号に分類されるRC4、MUGIが挙げられる。
歴史.
ガイウス・ユリウス・カエサルの考案とされるシーザー暗号もこの方式であり、紀元前から存在するタイプの暗号である。シーザー暗号のアルゴリズムは、原文のそれぞれの文字についてアルファベット上である文字数だけシフトして得られる文字の列を暗号文とするものであり、シフトする文字数が鍵となる。たとえば「ABC」という原文に対してアルファベット上で（鍵）3文字だけ右にシフトすると「DEF」という暗号文が得られる。復号する場合は逆に左に3文字シフトすれば原文が得られる。こういった、アルゴリズムさえ分かってしまえば解読が容易になる暗号は古典暗号として分類され、逆にアルゴリズムは公開しても、鍵さえ漏洩しないように管理していれば安全なタイプは現代暗号として分類される。
1976年のDESが現代暗号の始まりであり、それとともに暗号学も始まったといえる。アルゴリズムを公開してよい、すなわち議論の題材とできるので、研究が活発化した。暗号の解読も、新しい方法が考案されてきた。解読方法の例としては例えば総当たり攻撃という原始的なものがある。また、2大攻撃法として知られるアディ・シャミアによる差分攻撃、松井充による線形攻撃があり、これらによってDESもFEALも解読された。松井が1995年に開発したMISTY1という暗号も、2015年にDivision Propertyという技術を使ったIntegral攻撃によって解読された。