共通鍵暗号の安全性

共通鍵暗号の安全性

 暗号は評価されなければならない。評価されない暗号はその安全性を議論、検証できない。暗号を評価するためには、暗号化関数の詳細、すなわち暗号アルゴリズムを公開する必要がある(図2-1)。

 しかし第1回で述べたように、暗号アルゴリズムを秘匿することで暗号の強度を保つことは非常に困難である。つまり、暗号が国家機密でなく、民生用に用いられる現在、非常に特殊な用途で利用し、かつ多大なコストをかけない限り、暗号アルゴリズム、すなわち暗号化関数fの詳細を秘匿することは不可能なのである。

 事実、WEPに用いられているRC4と呼ばれる暗号方式も、当初、その暗号アルゴリズムは公開されておらず、極秘事項であった。しかしながら、その秘密事項は漏えいすることとなり、今では公知のアルゴリズムとなっている。

 また暗号化関数を公開する理由の1つに、「トラップドア」の存在がある。トラップドアとは、暗号開発者が独自に、暗号が簡単に解読できる仕掛けを講ずることである。ゲームソフトで言うところの「隠しコマンド」に相当する。よってソースコードや設計回路を含めて、暗号化関数を公開しなければ、利用者にとって、どのような仕掛けがされているかわからない。広い意味での安全性に対する大きな脅威になり得るのである。

 また、安価に大量に暗号器を作るためにも、暗号化関数の詳細を公開し、その安全性を鍵のみに依存させることが現在では前提となっている。

ストリーム暗号

 WEPはRC4と呼ばれるストリーム暗号を利用した無線LAN暗号化方式である。一般にストリーム暗号では、疑似乱数生成器を利用し、そこから得られる疑似乱数系列を用いて暗号化する。すなわち、暗号化鍵から疑似乱数生成器の初期値を設定し、その初期値から疑似乱数系列を発生する。

 ストリーム暗号では、暗号化鍵(復号鍵)や初期化ベクトル(IV:Initialization Vector)をシード(初期値)として「キーストリーム」と呼ばれる任意長の疑似乱数系列を生成する。鍵だけをシードに選ばない理由は、シードが同じならば、同一の疑似乱数系列を発生することとなり、鍵を毎回変更しなければ容易に平文が推定されるからである。

 このキーストリームZと平文Pの排他的論理和をとることで暗号文Cを導出する。また復号の際には暗号文CとキーストリームZの排他的論理和をとることで元の平文Pを得ることができる(図2-2)。

 ストリーム暗号の疑似乱数生成アルゴリズムは一般に2つの機能から構成される。1つは暗号化鍵や初期化ベクトルを用いて疑似乱数生成器の内部状態を初期化するアルゴリズム、もう1つは内部状態を更新しながらキーストリームを生成するアルゴリズムである。前者は「鍵スケジューリングアルゴリズム(KSA:Key Scheduling Algorithm)」、後者は「疑似乱数生成アルゴリズム(PRGA:Pseudo-Random Generation Algorithm)」と呼ばれる。

 次は、ストリーム暗号方式の暗号の1つであるRC4について解説する。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30