対称鍵アルゴリズムは、暗号のためのアルゴリズムであり、対称鍵アルゴリズムは、暗号のためのアルゴリズムである。平文の暗号化と暗号文の復号化の両方に同じ暗号鍵を使用します。 キーは同一であってもよく、または二つのキーの間を移動するための単純な変換があってもよい。キーは、実際には、個人情報リンクを維持するために使用することができる複数の当事者間の共有秘密を表します。, 対称鍵暗号化は、ストリーム暗号またはブロック暗号のいずれかを使用できます。
- ストリーム暗号は、メッセージの数字(通常はバイト)または文字(置換暗号)を 例としては、Vigenère暗号があります。
- ブロック暗号は、ビット数を取り、それらを単一のユニットとして暗号化し、平文をブロックサイズの倍数になるようにパディングします。, 2001年にNISTによって承認されたAdvanced Encryption Standard(AES)アルゴリズムは、128ビットブロックを使用しています。
実装
対称暗号に基づく暗号化プリミティブ
対称暗号は、暗号化以外の他の暗号化プリミティブを実現するために一般的に使用され
メッセージを暗号化しても、このメッセージが暗号化されている間に変更されないことは保証されません。 したがって、多くの場合、メッセージ認証コードが暗号文に追加され、暗号文に対する変更が受信者によって記録されることを保証する。, メッセージ認証コードは、対称暗号(例えばCBC-MAC)から構築することができる。
ただし、対称暗号は、追加の当事者を含むことを除いて、否認防止の目的で使用することはできません。ISO/IEC13888-2規格を参照してください。
別のアプリケーションは、ブロック暗号からハッシュ関数を構築することです。, このようないくつかのメソッドの説明については、一方向の圧縮関数を参照してください

対称暗号の構築
現代の多くのブロック暗号は、horst feistelによって提案された構造に基づいています。 Feistelの構成は、それ自体が可逆ではない他の関数から可逆関数を構築することを可能にする。,
対称暗号のセキュリティ
対称暗号は、歴史的に既知の平文攻撃、選択平文攻撃、差分暗号解析および線形暗号解析の影響を受けやすい。 各ラウンドのための機能の慎重な構築が大幅に成功した攻撃の可能性を減らすことができます。
鍵管理
鍵管理とは、暗号システムにおける暗号鍵の管理を指します。 これには、生成、交換、ストレージ、使用、暗号破砕(破壊)および鍵の交換を扱うことが含まれます。, な暗号プロトコルデザイン、キーサーバー、ユーザー-手続、その他の関連するプロトコル
キー管理は、ユーザーまたはシステム間のユーザーレベルのキーに関するものです。 これは、通常、暗号の操作内での鍵の内部処理を指す鍵スケジューリングとは対照的です。
鍵管理の成功は、暗号システムのセキュリティにとって重要です。, 自動化できる純粋な数学的実practicesとは対照的に、システムポリシー、ユーザートレーニング、組織および部門の相互作用、これらすべての要素間の調整などのソーシャルエンジニアリングの側面を含むという意味での暗号のより困難な側面である。,
キーの確立
対称キーアルゴリズムには両方が必要です同じ秘密鍵を持つメッセージの送信者と受信者。 すべての初期の暗号化システムは、物理的に安全なチャネルを介してその秘密鍵のコピーを何らかの形で受信する必要がありました。,
ほぼすべての現代の暗号システムは依然としてメッセージの大部分を暗号化するために対称鍵アルゴリズムを内部的に使用していますが、Diffie-Hellman鍵交換
鍵生成
鍵転送のために非対称暗号と共に使用される場合、擬似乱数鍵生成器は、ほぼ常に対称暗号セッション鍵の生成に使用されます。, しかし、これらのジェネレータまたはそれらの初期化ベクトルにおけるランダム性の欠如は悲惨であり、過去に暗号解析的な中断につながっています。 したがって、実装が初期化のために高いエントロピーのソースを使用することが不可欠である
相互暗号
相互暗号は、暗号システムに平文を入れて暗号文を取得するのと同じように、平文を取得するためにシステム内の同じ場所に暗号文を入れることができる暗号である。 相互暗号は、自己相互暗号とも呼ばれることがあります。,
実際にはすべての機械式暗号機は相互暗号を実装しており、入力された文字ごとに数学的退縮を実装しています。 暗号化用と復号化のための二種類のマシンを設計する代わりに、すべてのマシンを同一にすることができ、同じ方法でセットアップ(キー付け)すること相互暗号の例としては、Atbash</li><li>Baufort暗号</li><Li>Engmaマシン</li><li>Mare AntoinetteおよびAxel von Fersenが自己相互暗号と通信した。
現代の暗号は、ほとんどが相互コールXOR暗号コンバイナを使用するストリーム暗号か、またはブロック暗号に分類でき、そのほとんどが各ラウンドで相互変換を行うFeistel暗号またはLai–Masseyスキームを使用するブロック暗号のいずれかに分類できる。p>