Articles

DES – Data Encryption Standard

Posted on

対称鍵ブロック暗号の一つ。1977年に米国国立標準局(NBS)(現在の米国国立標準技術研究所(NIST))によって標準化された対称鍵ブロック暗号です

DES(Data Encryption Standard)は対称鍵ブロック暗号方式で、暗号化されたデータを送信します。DESは、64ビットのブロック単位でデータを暗号化する対称鍵ブロック暗号です。 つまり、64ビットの平文を入力として暗号化関数に入力すると、64ビットの暗号文が出力されるということです。 DESの鍵長は56ビットです。 この暗号化規格では、暗号化と復号化に同じ鍵を使用します(対称鍵)。

DESには主に3つの段階があります。

01. 初期パーミュテーション

02. 暗号化ラウンド01~16

03. 最終的なパーミュテーション

  • 入力ブロックサイズ。
  • 出力ブロックサイズ:64ビット

初期順列の段階では、ビット位置の並べ替えを行うだけです。 この段階では、暗号化は行われません。

暗号化ラウンド 01 – 1616

  • 入力ブロックサイズ。 64ビット
  • 入力キーサイズ:56ビット
  • 出力ブロックサイズ。 64ビット

同一の暗号化ラウンドのたびに。

同一の暗号化ラウンドごとに、初期順列を通過した64ビットの平文ブロックは、それぞれが32ビットの2つのサブブロックに分割されます。

左の32ビットのブロックは、32ビットのブロックである関数fの出力とXORされます。このXOR関数の出力は、2回目の暗号化ラウンドの次の右の32ビットのブロックになります。

関数f

  • 入力 Ri ブロック サイズ: 32 ビット
  • 入力 キー サイズ: 48 ビット
  • 出力 ブロック サイズ: 32ビット

Function fには大きく分けて4つのステップがあります。

01. 展開

  • 入力ブロックサイズ:32ビット
  • 出力ブロックサイズ。 48ビット

02. XOR

  • 入力ブロックサイズ:48ビット
  • 入力キーサイズ:48ビット
  • 出力ブロックサイズ:48ビット

03. Sボックス(置換ボックス)

  • 入力ブロック・サイズ:48ビット
  • 出力ブロック・サイズ:32ビット
  • Sボックスの数。 08

以下のようになります。 S box 01

04. Permutation

  • 入力ブロックサイズ:32ビット
  • 出力ブロックサイズ。 32ビット

鍵変換機能

  • 初期の鍵サイズ。 64ビット

です。

  • 暗号化キーとしてのC0=C16とD0=D16は、復号化キーと等しくなければなりません。
  • i = 1,2,9,16のラウンドでは、2つのハーフを1ビットだけ左に回転させます。

Final permutation

  • Input block Size: 64 bits
  • Output block Size: 64 bits

Final permutationの段階では、再びビット位置の並べ替えを行います。 これは初期順列の逆になります。 この段階では、暗号化は行われません。

最後の暗号化と最初の復号化に関する プロセス

しかし、です。 DESは網羅的な鍵検索攻撃で比較的簡単に破られます。 DESの問題点は、アルゴリズムの鍵長が56ビットしかないことにあります。

これでData Encryption Standard (DES)について理解していただけたでしょうか。 またお会いしましょう。 👋

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です