問題タブ [twofish]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
4419 参照

c - TwoFish の作業参照実装?

TwoFishのウィキペディア ページは、C (およびコード)でのこの参照実装を示していますが、これには問題がmainありませんが、実装の最初の数パスでは、試みた「既知のベクトル」テスト ケースのいずれも正しく処理されませんでした。API を正しく使用していないという問題があると思われますが、どこからエラーを探し始めればよいかわかりません。そのことに頭を悩ませるのではなく、次のようなコードベースから始めたいと思います。

  1. すぐに使える
  2. テストあり
  3. 自己完結型
  4. わかりやすくするために書かれています

私はまた、C または C++ コードのような C を強く好みます。


注: 現時点では、何よりもコードの読みやすさに関心があります。1 つのブロックを暗号化および復号化できる小さくて単純なコードと、1 つまたは 3 つの呼び出しをハードコーディングするメイン関数が理想的です。それを超えるほとんどのもの (ユーザー インターフェイスなど) は、私のユース ケースでは単なるノイズになります。

また、Boost よりも制限の厳しいライセンスを持っているものは、比較するための既知の適切な値と状態の情報源としてのみ役立ちます。

0 投票する
1 に答える
1022 参照

twofish - Android Twofish ファイル暗号化チュートリアル?

ファイルを暗号化するAndroid用のアプリを作成しています。アルゴリズムとして TwoFish を使用したいのですが、暗号化の方法がわかりません。TwoFish の使い方を説明している基本的なチュートリアル サイトまたはそれ以上のサイトに誘導してもらえますか?

0 投票する
3 に答える
483 参照

c++ - フグとツーフィッシュはバイトごとに暗号化されますか?

ネットワーク経由でパケットを受信して​​います。ただし、これらのパケットの一部は動的な長さを持っているため、2 番目のバイトには、長さを含む 2 バイト長の WORD があります。そのため、最初にパケット番号を受け取り、次に長さに応じてすべて受け取ります。暗号化がない場合、ここではすべて問題ありません。twofish やフグの暗号化を使用しても同じでしょうか? つまり、「A」は「B」として暗号化されますが、「AA」は「BB」として暗号化されますか? TF/BF で暗号化されたパケット全体から 1 バイトを抽出して復号化できますか?

0 投票する
1 に答える
568 参照

python - Twofish キー拡張

Bruce Schneiderの 1998 年の論文で説明されているように、Twofish サイファーを段階的に実装しようとしています。それにもかかわらず、私はすでにキー拡張で失敗しています。

紙の詳細を 1 対 1 で Python にコピーしようとしましたが、次の結果が得られました。

ただし、私の出力は、テスト ベクトルで指定されたものと同じではありません。私はすでにバイトを逆に読み込もうとしましたが(コメント行)、役に立ちませんでした。

テスト ベクトルの結果は次のとおりです。

そして、これらは私のものです:

誰でも私のエラーを見ることができますか?

0 投票する
1 に答える
616 参照

algorithm - Twofish: サブキー生成のホワイトニング

教育用ソフトウェアで使用するために Twofish アルゴリズムを実装しています。私は UI に QT を使用し、Wikipedia と Bruce Schneier の Twofish 論文からの調査を使用していますが、ホワイトニング サブキーの生成に固執しました。ラウンド サブキーを生成する方法は理解できましたが、ホワイトニング サブキーを生成する方法は見つかりませんでした。

k = 2 (128 ビット キー、128/64 = 2) を使用しているので、2k = 4; M_e と M_0 のサイズは 2 です。元のキーからそれらを埋め、16 ラウンドのラウンド キーをそれぞれ 2 つのキーで計算しています。

したがって、40 個のサブキーではなく、32 個しか得られません。

美白のために8を逃したのはどこですか?私は論文を読み直しましたが、それらのアルゴリズムが見つかりませんでした。または、ラウンドのものの前または後の最初または最後の N キーのようにそれらがどのように生成されるかについての提案も見つかりませんでした。

ホワイトニングキーを生成するにはどうすればよいですか?

0 投票する
1 に答える
1054 参照

php - PHP での Delphi DEC Twofish 暗号化とサーバー側の復号化

Delphi で Twofish/CBC アルゴリズムを使用して文字列を暗号化し、サーバーに送信してそこで復号化する必要があります。以下のコードをテストしましたが、B64 エンコード/デコード プロセスは機能しますが、暗号の暗号化/復号化に行き詰まっています。

Delphi に DEC 5.2 を使用しています。

暗号化を行う Delphi コードは次のとおりです。

そして、送信されたデータを復号化することになっている PHP 関数:

ソルトと初期化ベクトルをもう少しいじる必要があると思いますが、方法がわかりません。私が理解していることから、KDFx() 関数は、ユーザーのパスワードとソルトから SHA1 ハッシュ化されたパスワードを作成しますが、その時点でほとんど立ち往生しています。

0 投票する
1 に答える
219 参照

implementation - Twofish Zero Keying 実装コード例を検索します

ラウンドキーを事前計算せずに、大きなテーブルを使用せずにTwofishの実装を探しています。

数学的/ビット単位の方法ですべてを示すクリーンなコード例が必要です。つまり、操作を理解したいということです。ほとんどの例は、コンパイラの数とバージョン、マシンのアーキテクチャなどのテストなど、多くの機能と作業が行われているため、私には複雑すぎます。できるだけきれいにする必要があります。私は C プログラマーではないので、サンプルで行われた余分な作業をすべて処理することはできません。単純なものであれば読めますが、私は C コーダーではありません。公式リファレンスの AES コード例のように。

疑似コードの例が必要かもしれません。

0 投票する
1 に答える
209 参照

ssl - Localhost(XAMPP)のTLSプロトコルでCryptographyのメソッドを変更するには?

こんにちは =) 暗号について質問したい..


Localhost(XAMPP) の TLS プロトコルで暗号化の方法を変更するには? Simmetric Cryptography として Twofish を使用し、PKC には RSA を使用したいと考えています。

ありがとうございます=)