プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

Blowfishアルゴリズムでサブキーはどのように生成されますか?


Blowfishは、1993年12月にBruteSchneierによって発明された対称ブロック暗号アルゴリズムです。BlowfishはDESまたはIDEAの代替品です。最も人気のあるfeistelネットワーク暗号の1つはBlowfishです。 Blowfishアルゴリズムには、64ビットのブロックサイズと42ビットから448ビットまでの可変キー長があります。アルゴリズムには、キー拡張部分とデータ暗号化部分が含まれます。

Blowfishは、最大448ビットのキーをいくつかのサブキー配列に作成します。合計は104232ビット値または4168バイトです。これは16ラウンドのfeistelシステムであり、非常に高いキー依存のSボックスをサポートし、16回の反復を可能にします。

すべてのラウンドは、キーとデータに依存する置換とキーに依存する順列に適合しています。 32ビットワードとXOR演算は、加算によって実装されます。 Pアレイと4つの32ビットSボックスがあります。

P-arrayには18個の32ビットサブキーが含まれ、各S-boxには256個のエントリが含まれます。入力は64ビットのデータ要素です。サブキー生成のプロセスは次のとおりです-

  • Blowfishは、非常に多くのサブキーを使用します。これらのキーは、暗号化と復号化が表示される前に準備ができている必要があります。 32ビットから448ビットまでのキーサイズフィールド。言い換えると、キーサイズの範囲は1〜14ワードで、それぞれに32ビットのワードが含まれます。これらのキーは、次のように配列に保存されます-

    K1、K2、….Knここで、1≤n≤14

  • 18、32ビットサブキーを含むP配列の概念-

    P1、P2、…………。、P18。

    Pアレイの作成については後で説明します。

  • 4つの32ビットSボックスがあり、それぞれに256のエントリが含まれています-

    S1、0、S1、1…S1、255

    S2、0、S2、1…S2、255

    S3、0、S3、1…S3、255

    S4、0、S4、1…S4、255

    P-arrayの作成は、後で定義されます。

  • 最初にPアレイを初期化し、次に4つのSボックスを固定文字列で初期化できます。

  • P配列と4つのSボックスは、円周率の16進数として示されます。

  • P配列のビット単位のXOR演算を実装でき、K配列はキービット(つまり、P1 XOR(32ビットのキー)、P2 XOR(32ビットのキー))で必要なK配列のワードを再利用します。

  • 64ビットブロックを暗号化し、次の暗号化プロセスを使用して、共通のPおよびS配列ですべてゼロを暗号化できます。

  • 暗号化の出力でp1とp2の場所を作成でき、新しい出力はp1とp2と呼ばれます。

  • 現在のPボックスとSボックスおよびtransformp3とp4を使用して、step3の出力を暗号化して、暗号化されたテキストを生成できます。新しい出力は、p3とp4と呼ばれます。

  • P配列のすべての要素、つまりP1、P2を取得できるようになるまで、次の手順を繰り返すことができます。


  1. Windows10でWindowsキーを無効にする方法

    ほぼすべてのWindowsPCは、キーボードにWindowsキーを備えています。 Windowsキーを押すと、すぐにスタートメニューが表示されます。便利そうに聞こえますが、時には非常に煩わしい場合があります。ゲームをプレイしているときに誤って押すと、全画面表示から外れてしまいます。リソースが限られている古いシステムでは、PCが突然フリーズする可能性があります。幸い、PCのWindowsキーを無効にする方法があります。 1。 PowerToysツールを使用してWindowsキーを無効にする Windowsキーを無効にする最も簡単な方法は、キーを再マッピングすることです。これは、私たちが行ってい

  2. 情報セキュリティにおけるDESのキー生成のための次のステップは何ですか?

    データ暗号化標準(DES)は、64ビットのブロックでプレーンテキストを作成し、48ビットのキーを使用してそれらを暗号文に変換するブロック暗号アルゴリズムです。これは対称鍵アルゴリズムであり、情報の暗号化と復号化に同様の鍵が使用されることを定義しています。 DESは64ビットの平文を受け取り、64ビットの暗号文を生成します。復号化サイトで、DESは64ビットの暗号文を受け取り、64ビットの平文ブロックを生成します。同じ56ビットの暗号鍵を暗号化と復号化の両方に使用できます。 DESの重要な性質は、アルゴリズムが固定されており、公開データであるということです。ただし、実際に使用される鍵は、送信