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

Blowfish暗号化アルゴリズムとは何ですか?


Blowfish暗号化アルゴリズムは、低速で不確実なDESアルゴリズムで実現するように設計された対称ブロック暗号です。 Blowfishは、1993年にブルースシュナイアーによって発明され、パブリックドメインにあるキー付きの対称暗号ブロック暗号です。

対称暗号化では、個々の暗号化キーを使用して、情報の暗号化と復号化の両方を行います。機密情報と対称暗号化キーは、機密情報を暗号文に変換するために暗号化アルゴリズム内で使用されます。 Blowfishは、SplashIDなどの膨大な数の暗号スイートと暗号化製品に含まれています。

ブロック暗号は通常、ある程度のプレーンテキストを受け取り、それをコード化されたテキストまたは暗号文に変換するコンピュータールーチンです。このルーチンは、ブロックと呼ばれるテキストのチャンクに実装されます。また、送信の反対側でテキストをデコードするには、関数が暗号文のロックを解除するためのキーも作成する必要があります。

Blowfishは、一般に使用されている最も高速なブロック暗号の1つでもあり、携帯電話やノートブックおよびデスクトップコンピューターで発見されたさまざまなプロセッサーで機能するSplashIDなどの製品に最適です。

Blowfishのブロックサイズは64ビットで、キーの長さは32ビットから448ビットです。これは16ラウンドのFeistel暗号であり、キーに依存する大きなSボックスが必要です。固定Sボックスが必要なCAST-128の構造と同じです。

Blowfishアルゴリズムは、最も人気のあるアルゴリズムの1つですが、非常に多くの攻撃者を捕食する要素を備えた、本質的な計算能力が必要でした。 「Sボックス」のサイズを縮小できるため、ニューラルネットワーク(NN)で設計および実装できます。

ニューラルネットワークへの入力は(平文または暗号文)のいずれかのテキストであり、ネットワークから取得された出力は同じテキストであり、暗号化と復号化の両方で使用されるキーは、バックプロパゲーションネットワークを利用してトレーニングされたニューラルネットワークの元の重みです。 。

Blowfishは、特定の形式のキー生成を使用します。 Blowfishルーチンの2番目の要素は、最大448ビットの単一のキーを4168バイトのサイズのサブキーのテーブルに変換するキー拡張です。サブキーを生成すると、ハッカーは元のキーだけでなくそれ以上のことをクラックする必要があるため、セキュリティがさらに向上します。

ブローフィッシュアルゴリズムの耐久性は、サブキーの生成とその基本的な混乱と拡散の設計に依存します。 Blowfishは、Feistelネットワークに依存する対称マスター暗号システムです。

BruceSchneiderがアルゴリズムを導入しました。これは64ビットのブロックサイズの暗号であり、完全なバージョンではブロック暗号を完了するために16ラウンドが必要であり、32ビットから448ビットまでの可変長キーである多数のサブキーを使用します。


  1. データ暗号化規格の弱点は何ですか?

    暗号設計の弱点 −暗号の設計で発見されたいくつかの弱点は次のとおりです- Sボックス −Sボックスには次の3つの弱点が発見されています- S-box 4では、入力ビットの一部を統合することにより、最初の出力ビットと同じ方法で最後の3つの出力ビットを変更できます。 Sボックスアレイへの2つの特別に選択された入力は、同じ出力を生成できます。 隣接する3つのSボックスのビットを変換するだけで、個々のラウンドで同じ出力を取得できます。 Dボックス −Dboxの設計で1つの謎と1つの弱点が発見されました- 最初と最後の順列の目標は明確ではありません。 (関数

  2. RSAアルゴリズムを使用したキー生成の手順は何ですか?

    RSAは公開鍵暗号化用の暗号システムであり、特にインターネットなどの安全でないネットワークを介して送信される場合に、応答情報を保護するために広く使用されています。 RSA暗号化では、公開鍵と秘密鍵の両方でメッセージを暗号化できます。メッセージの暗号化に使用されたものとは逆のキーが、メッセージの復号化に使用されます。この属性は、RSAが最も広く使用されている非対称アルゴリズムに発展した理由の1つです。これは、デジタル接続とデータストレージの機密性、整合性、信頼性、および信頼性を保証するアプローチをサポートします。 RSAには乗法群G=