問題タブ [rainbowtable]
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.
rainbowtable - レインボー テーブルのリダクション関数
レインボー テーブルのチェーンは非常に長いため、マージを防ぐためにインデックスを使用している間、各ハッシュを削減するために使用されるさまざまな削減関数が多数ありますか? または、他の何か?
cryptography - 大規模な素因数分解のソリューションとしてのレインボー テーブル
公開鍵暗号について私が読んだ説明では、2 つの非常に大きな素数を掛け合わせることで大きな数が得られると言われています。大きな素数の積を因数分解することは、ほとんど不可能なほど時間がかかるため、安全です。
これは、レインボー テーブルで簡単に解決できる問題のようです。使用される素数のおおよそのサイズが分かっていて、それらが 2 つあることがわかっている場合は、すぐにレインボー テーブルを作成できます。それは非常に大きなテーブルになりますが、それは実行でき、タスクはハードウェア全体で並列化できます。
レインボー テーブルが、大きな素数の乗算に基づいて公開鍵暗号を打ち負かす効果的な方法ではないのはなぜですか?
免責事項: 明らかに、何万人ものクレイジーでスマートなセキュリティ意識の高い人々が、私が午後に考えたことを何十年も見逃していたわけではありません。単純化された素人の説明を読んでいたため(例:2つ以上の数字が使用されている場合)、これを誤解していると思いますが、知識のギャップがどこにあるかを知るにはまだ十分に知りません.
編集: 「レインボー テーブル」がルックアップ テーブルで事前に計算されたハッシュを使用することに関連していることは知っていますが、上記はレインボー テーブル攻撃のように聞こえるため、ここではこの用語を使用しています。
編集 2:回答で述べたように、すべての素数だけを保存する方法はなく、すべての積を保存する方法はありません。
- このサイトによると、512 ビットの素数は、((2^511) * 1) / (512 log(2)) = 4.35 × 10 151ほど多く存在します。
- 太陽の質量は 2 × 10 30 kg または 2 × 10 33 g
- これは、太陽 1 グラムあたり2.17 × 10 124個の素数です。
- 数量 キロバイトに収まる 512 ビットの数値: 1 kb = 1024 バイト = 8192 ビット / 512 = 16
- これは 1 テラバイトに収まります: 16*1024*1024*1024 = 1.72 × 10 10
- ペタバイト: 16*1024*1024*1024*1024 = 1.72 × 10 13
- エクサバイト: 16*1024*1024*1024*1024*1024 = 1.72 × 10 16
1 エクサバイトが 1 グラムの重さであったとしても、これらすべての数値を太陽の質量のハード ドライブに収めるのに必要な2.17 × 10 124にはほど遠いです。
encryption - RARパスワード、レインボーテーブルが機能しないのはなぜですか?
私は暗号化を探していましたが、Rainbow Tablesのいくつかの実装がパスワード(たとえばWindows)の魅力のように機能するのを見てきました。
RARファイルに対するRainbow攻撃の実装はまだ見ていません。なぜそうなのですか。RAR暗号化をより安全にし、この種の攻撃の影響を受けないようにする理由は何ですか?
database - DB に保存する前にシークレットをソルトすることの弱点は何ですか?
このアプローチを使用している人々について聞いたことがありますが、その影響を知りたいと思っています。私はそれが悪い考えであることを知っています!
私が理解していることから、ハッシュをDBに保存する前にパスワードをソルトすることには、すべてのハッシュアルゴリズムを一意にするという主な目的があるため、クラックしようとするとすべてのユーザーに新しいレインボーテーブルが必要になります。
プレーンテキストがそれ自体でソルトされただけの場合、このコンテキストでハッシュはどのように弱められますか?
例:
そして、次のアプローチには同じ弱点がありますか、それとも他の弱点がありますか?
hash - ウィキペディアレインボーテーブルエントリー
レインボーテーブルのウィキペディアのページには次のように書かれています。
「この複数の削減機能の使用により、ルックアップの速度が約2倍になります。」
チェーン内の「平均」位置を想定して、ハッシュを取得し、9回の反復チェーンを実行します...
元のテーブルは、4つの削減と4つのハッシュを実行し、チェーンの終わりを見つけてから、さらに5つのハッシュ5つの削減を検索します...合計9つのハッシュ9つの削減
レインボーテーブルは、Rk-1、Rk-2、Rk-3、およびRk-4の計算を実行してチェーンの終わりを見つけ、さらに5回のハッシュで5回の削減を行って、平文を取得します。合計15回のハッシュで15回の削減...
ここで何が欠けていますか?私の数学では、レインボールックアップが通常のテーブルと同じ速度でさえあるのは、ハッシュがたまたまチェーンの最後にあるときだけです...実際、RTは最初に向かってさらに遅くなるはずです。ハッシュ嘘..。
最初にハッシュがある5kチェーンは、通常のハッシュテーブルよりもレインボーテーブルの方が約2500倍遅くなるはずです...
私は何かが足りないのですか、それともウィキペディアは間違いを犯しましたか?(そのページ(13ページ)で参照されている論文も間違っているので、私は前者に傾いています)
passwords - レインボー テーブルの開発
私は現在、レインボーテーブルを使用してパスワードをクラックしようとしている並列コンピューティングプロジェクトに取り組んでいます。
私が考えた最初のステップは、長さ 5 または 6 のパスワード (最初は数字のパスワードのみ) をクラックする非常に小さなバージョンを実装することです。まず、構成設定についていくつか質問があります。
1 - 私が始めるべきサイズは何ですか。私の最初の推測では、1000 の初期、最終ペアを持つテーブルから始めます。始めるならこのサイズでいいのでは?
2- チェーンの数 - チェーンのサイズがどうあるべきかについて、オンラインで情報を得ることができませんでした
3 - リダクション機能 - どのように構築すればよいかについて誰かが私に情報を与えることができれば.
また、誰かが情報や例を持っていれば、それは本当に役に立ちます。
security - なぜレインボーテーブルと呼ばれるのですか?
レインボーテーブルと呼ばれる理由を知っている人はいますか? 「辞書攻撃」と呼ばれる攻撃があることを知ったのを思い出しました。なぜコール辞書ではないのですか?
cracking - freerainbowtables.com からレインボー テーブルを読み取る
freerainbowtables.com から Rainbow Tables をダウンロードしました。その拡張子は .rti です。このファイルをテキスト ファイルまたはその他のファイルとして読み取る方法があるかどうか疑問に思っていました。このファイルを読み取り、その内容をハッシュマップに保存する簡単なプログラムを作成したいと考えています。私は私のプロジェクトのためにこれを行う必要があります。
私はグーグルを試し、フォーラムも調べましたが、今のところ運がありません. ヘルプ/リンクをいただければ幸いです。
security - レインボーテーブルで使用されるリダクション関数はどのように機能しますか?
私はレインボーテーブルについて注意深く読みましたが、1つもわかりません。ハッシュチェーンを構築するために、削減関数が使用されます。どういうわけかハッシュをパスワードにマッピングする関数です。この記事では、リダクション関数はハッシュの逆関数ではなく、単なるマッピングであると述べています。
わかりません-ハッシュ関数の逆でもないマッピングの使用は何ですか?このようなマッピングは実際にどのように機能し、パスワードの推測に役立つのでしょうか。
security - レインボーテーブル攻撃は脅威でさえありますか?
単純な非ソルトハッシュ関数、単なる古いものを想定しましょう$hash = md5($pass)
。
敷地内:
- パスワードハッシュはすべてサーバー側で行われ、ハッシュはデータベースに保存されます。クライアントはこれらを見る方法がありません。
- レインボーテーブル攻撃は、パスワードを取得するためにハッシュの知識を持っている必要があります。
前提2を考えると、それはハッカーがすでにデータベースを制御していることを意味します。その時点で、あなたははるかに大きな問題を抱えています。
つまり、すでに侵害されたデータベース/システムからのパスワードの取得を保護するためだけに、レインボーテーブル攻撃を阻止しようとするポイントです。それはそれほど単純なことですか、それとも私が見逃している何か他のものがありますか。
私はすでにパスワードハッシュ手法に精通していますが、なぜレインボーテーブルについてこれほど多くの誇大宣伝があるのか疑問に思っています。ありがとう!