忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【情報セキュリティ】AES暗号にも採用されている暗号化アルゴリズム構造!「SPネットワーク(SPN構造)」|情報処理問題1000本ノック

応用情報技術者試験や情報処理安全確保支援士試験などで出題される共通鍵暗号(ブロック暗号)の基本構造。「SPネットワーク(SPN構造)」と対比される「Feistel構造」の違いを攻略しましょう。

1. 【 問題 】:情報セキュリティ系(暗号技術・ブロック暗号)

【 問題 】 共通鍵暗号方式における暗号アルゴリズムの構造に関する記述です。データの置き換えを行う「換字(Substitution)」とデータの並べ替えを行う「転字(Permutation)」、およびラウンド鍵演算を組み合わせた処理を「1ラウンド」とし、これを複数回繰り返すことで安全性を高める暗号設計構造は、次のうちどれか。

(ア)Feistel(ファイステル)構造
(イ)SPネットワーク(SPN構造)
(ウ)ハイブリッド暗号構造
(エ)ディフィー・ヘルマン構造

2. 正解:

正解:(イ)SPネットワーク(SPN構造)

3. 解説:「換字(S)と転字(P)をセットで繰り返す(ラウンド処理)!」

SPネットワーク(Substitution-Permutation Network:SPN構造)は、換字(S-Box)による撹乱(Confusion)と、転字(P-Box)による拡散(Diffusion)を並行して行い、そこにラウンド鍵を合成する処理を「1ラウンド」として複数回反復する暗号構造です。
現代の標準共通鍵暗号であるAES(Advanced Encryption Standard)の構造として採用されています。

【ブロック暗号の2大構造(SPN構造 vs Feistel構造)の比較】 ← 超頻出ポイント!

方式・構造名処理の特徴・1ラウンドの構成代表的な暗号アルゴリズム
(イ)SPネットワーク
(SPN構造)
データを分割せず、「換字(S)+転字(P)+ラウンド鍵演算」をそのまま1ラウンドとして繰り返す。 AES
(ア)Feistel構造
(ファイステル構造)
データを左右半分に分割し、片方にF関数を適用して左右を入れ替える処理を繰り返す。 DES、3DES、Camellia

1. 理解のコツ: 用語の頭文字で覚えましょう。
Substitution(換字):データを別の値に「置き換える」操作
Permutation(転字):データの位置を「並べ替える」操作
この SP を組合わせたネットワークだから SPN構造(SPネットワーク) です!

2. 試験対策の視点: 高度情報処理試験まで頻出の暗号構造の識別問題です。
問題文に「換字と転字」「1ラウンド」「AESで採用」と出たらSPネットワーク(SPN構造)「データを左右半分に分割」「F関数」「DESで採用」と出たらFeistel構造を選択しましょう!


4. まとめ

換字(Substitution)と転字(Permutation)、ラウンド鍵による操作をまとめた「1ラウンド」を反復実行することでデータを暗号化する構造。これがSPネットワーク(SPN構造)です。Feistel構造との違いやAESへの採用事例も含めて完璧にマスターしておきましょう!

PR