問題タブ [cryptographic-hash-function]
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.
hash - MD5 ハッシュ値が元に戻せないのはなぜですか?
私が常に疑問に思っている概念の 1 つは、暗号化ハッシュ関数と値の使用です。これらの関数が、一意で事実上元に戻すことが不可能なハッシュ値を生成できることは理解していますが、私がいつも疑問に思っていることは次のとおりです。
私のサーバーの場合、PHPで次を生成します。
MD5 関数を介して同じ文字列を実行すると、PHP インストールで同じ結果が得られます。プロセスは、開始値から何らかの値を生成するために使用されています。
これは、何が起こっているかを分解してハッシュ値を逆にする方法があるということではないでしょうか?
これらの関数について、結果の文字列をたどることができないのはなぜですか?
c# - C# SHA-1 対 PHP SHA-1...異なる結果?
文字列から SHA-1 ハッシュを計算しようとしていますが、php の sha1 関数を使用して文字列を計算すると、C# で試した場合とは異なる結果が得られます。PHP と同じ文字列を計算するには C# が必要です (php からの文字列は変更できないサードパーティによって計算されるため)。C# で PHP と同じハッシュを生成するにはどうすればよいですか? ありがとう!!!
文字列 = s934kladfklada@a.com
C# コード (d32954053ee93985f5c3ca2583145668bb7ade86 を生成)
PHP コード (a9410edeaf75222d7b576c1b23ca0a9af0dffa98 を生成)
hash - MD5 に対するプリイメージ攻撃が差し迫っていることを示す調査結果は公開されていますか?
私は、MD5が壊れていて、壊れていて、時代遅れで、決して使われないというSOを読み続けています。それは私を怒らせます。
実際のところ、MD5に対する衝突攻撃はかなり簡単になっています。一部の人々は芸術に至る衝突攻撃を持っており、私たちでさえそれらを使用して選挙を予測することができます.
MD5 の「壊れやすさ」の例のほとんどはあまり面白くありません。有名な CA 証明書のハッキングでさえ、当事者が GOOD 証明書と EVIL 証明書を同時に生成したことを証明できる衝突攻撃でした。これは、EVIL CA が外部に出回った場合、信頼されていた良い CA を持っていた人から漏洩したことが証明できることを意味します。
さらに懸念されるのは、プリイメージまたはセカンド プリイメージ アタックです。
MD5 に対するプリイメージ攻撃の可能性はどれくらいですか? それが差し迫っていることを示す現在の研究はありますか? MD5 が衝突攻撃に対して脆弱であるという事実は、プリイメージ攻撃を受ける可能性を高めていますか?
java - MySQLMD5とJavaMD5が等しくない
MySQLの次の関数
MD5( 'secret' )
5ebe2294ecd0e0f08eab7690d2a6ee69を生成します
同じ出力を生成するJava関数が欲しいのですが。だが
生成します
cryptography - ハッシュ関数に対するマルチコリジョンと1回目または2回目のプレイメージ攻撃の違いは何ですか?
ハッシュ関数でのマルチコリジョンと1番目または2番目のプリイメージの違いは何ですか。
最初の原像攻撃:ハッシュhが与えられた場合、次のようなメッセージmを見つけます。
hash(m)=h。
2番目の原像攻撃:固定メッセージm1が与えられた場合、次のような別のメッセージm2を見つけます。
hash(m2)= hash(m1)。
マルチコリジョン攻撃:一連のメッセージm1、m2、...mNを生成します。
hash(m1)= hash(m2)= ... = hash(mN)。
ウィキペディアによると、原像攻撃は、攻撃されている固定ハッシュまたはメッセージがあるという点で衝突攻撃とは異なります。
私は次のような発言をする論文に混乱しています:
この手法は、衝突を検索するのに効率的であるだけでなく、MD4の2番目のプリイメージを探索するためにも適用できます。2番目の原像攻撃について、彼らは、ランダムメッセージが確率2 ^ –122の弱いメッセージであり、弱いメッセージに対応する2番目の原像を見つけるために1回のMD4計算のみが必要であることを示しました。
著者が言っているように思われることを理解すると、ランダムなメッセージを与えるのに十分な数のメッセージのセットを含むマルチコリジョン攻撃を開発したということです。衝突。
私は多くの論文で同様の議論を見ました。私の質問は、攻撃がマルチコリジョン攻撃でなくなり、2番目の原像攻撃になるのはいつですか。
マルチコリジョンが2^300の他のメッセージと衝突した場合、それは2番目のプリイメージとしてカウントされます。マルチコリジョンは、衝突したメッセージの1つの「プレイメージ」を計算するために使用できるためです。2 ^ 60、2 ^ 100、2 ^ 1000の境界線はどこにありますか?
23で始まるすべてのハッシュダイジェストのプレイメージを生成できるとしたらどうでしょうか。確かに、それはプリイメージの厳密な定義を満たしていませんが、暗号化ハッシュ関数の重大な欠陥でもあります。
誰かが大きなマルチコリジョンを持っている場合、ハッシュがマルチコリジョンと衝突したメッセージのイメージをいつでも回復できます。例えば、
hash(m1)= hash(m2)= hash(m3)= h
誰かがhのプリイメージを要求し、m2で応答します。これが愚かでなくなり、本当の攻撃になるのはいつですか?
経験則?ハッシュ関数攻撃の評価に関する優れたリソースを知っていますか?
関連リンク:
objective-c - Objective-C の MD5 アルゴリズム
Objective-CでMD5を計算するには?
cryptography - 一方向ハッシュ関数はどのように機能しますか?(編集)
md5ハッシュに関するウィキペディアの記事を読みましたが、ハッシュを元のテキストに「再構成」できない方法を理解できません。
暗号化についてほとんど知らない人に、これがどのように機能するかを誰かが説明できますか?関数のどの部分が一方向になりますか?
.net - HMACSHA1 で暗号化された文字列を解読するには?
私は暗号化の初心者で、システム間で値をやり取りしようとしています。値を暗号化できますが、相手側で復号化する方法がわかりません。VB.NET を使用して単純な Windows フォーム アプリケーションを作成しました。値とキーを入力し、暗号化してから復号化して元の値を取得しようとしています。これまでの私のコードは次のとおりです。どんな助けでも大歓迎です。ありがとう。
c# - md5ハッシュバイト配列を文字列に変換する
バイト配列であるハッシュ結果を文字列に変換するにはどうすればよいですか?
文字列に変換する必要がありbyteHashedPassword
ます。