8

これが可能かどうかはわかりませんが、文字列から始めて、cryptこの文字列を取り出すために何を入力する必要があるかを把握したいと考えています。

それとも、それは不可能なのかもしれません。とにかく、それが全体の目的でしょうか?

はい、これを試しているコードにソルトがあります。

4

7 に答える 7

14

設計意図により、crypt()一方向ハッシュです。誰もが言っているように、それは、同じハッシュを生成するプレーンテキスト文字列を発見することが計算上実行不可能であることを意図していることを意味します.

いくつかの要因がその設計意図に影響を与えます。

  1. 計算は、設計されたときよりもはるかに安価crypt()です。さらに悪いことに、計算が安くなる速度は予想されていなかったため、今まで想像されていたよりもはるかに安くなりました。

  2. DES は、期待されていたほど持ちこたえていません。しかし、当時の一般的な知識の状態を考えると、おそらく最良の選択でした.

  3. コンピューティングはまだ自分で解読できるほど安価ではありませんが、インターネットであるクラウドがすでに多くの作業を行っています。人々は、特定のハッシュを逆にするために必要な多くの計算を短縮することを可能にするレインボー テーブルを計算して公開してきました。(ジェフもレインボー テーブルに関するブログ投稿を行っています。) ソルトはレインボー テーブルから保護するのに役立ちます (ソルトの可能な値ごとにテーブル セットが必要になるため) が、従来の実装で使用されるソルトのサイズcrypt()はわずか 12 です。ビットなので、期待されるほど巨大なブロックではありません。

さらに悪いことに、特定の価値の高いハッシュ関数 (古い Microsoft Lan Manager パスワード用に発明され、Vista より前のすべてのバージョンの Windows で短いパスワードに使用されたLM ハッシュなど) については、ほぼ完全なハッシュとその逆の辞書が存在します。

于 2009-07-21T22:39:34.020 に答える
4

DESを使用した古い実装の場合はcrypt(3)、ほとんど(完全ではありませんが)ブルートフォース攻撃を行うことができます。

このスキームでは、入力は8文字に切り捨てられ、各文字は7ビットに切り捨てられます。これは、検索する個別のパスワードの56ビットスペースがあることを意味します。

DESだけの場合、$ 10,000相当のFPGA( http://en.wikipedia.org/wiki/Data_Encryption_Standard#Brute_force_attack )で約18日でスペース全体を検索できるため、予想される時間は9日です。しかし、私はあなたが問題に費やすための$10,000を持っていないと仮定しています。もう数年待ってください。DESクラッカーがPCのGPUで妥当な時間内に実行されるかどうかは誰にもわかりません。

それでも、crypt(3)従来はDESを25ラウンド使用し、ソルトに基づいてアルゴリズムをわずかに変更しているため、ブルートフォースに対して少なくとも25倍遅くなると予想されます。

の新しい実装はcrypt(3)、以前使用されていたDESベースのアルゴリズムよりも優れたハッシュアルゴリズムに基づいているため、ブルートフォースをはるかに超えていますcrypt(3)

もちろん、文字列がランダムでない場合(たとえば、人間が選択したパスワードの場合)、ブルートフォースよりもはるかに優れた予想時間を得ることができる場合があります。

于 2009-07-21T19:55:48.577 に答える
2

いいえ、それは一方向ハッシュ関数の背後にある考え方ですが、場合によってはgoogleを使用して支援することができます。

この答えへのコメントに答えるために(グーグルは塩がある場合は助けにはなりません)私は言います:はい、いいえ。ソルトはソリューションのスペースを増やし、完全な辞書の作成を容易にしません(単語ごとに、2文字のソルトごとに1つの暗号化されたバージョンを計算して保存する必要があるため)。インターネットを巨大なデータベースと想定し、そのインデックスをグーグルで検索すると、グーグルが行うことは、ウェブ上で暗号化された文字列がどこかに出現するかどうかを検索することです。塩の存在はあなたがそれを見つける可能性を減らします、しかしあなたがその出来事が存在するのに十分幸運であり、そしてそれが平文と一緒であるならば、あなたはパスワードを持っています。

スラッシュドットに関するこの記事も参照してください。

結論:ソルトは、ウェブ上で特定の暗号化された文字列を見つける可能性を減らしますが、グーグルはソルトの量に無関心であり、運が良ければ(私がそうであったように)それでも何らかの形で役立ちます与えた)。

于 2009-07-21T19:32:28.140 に答える
1

いいえ。

crypt() は可逆アルゴリズムではありません (一方向関数を使用します)。これは、暗号化された値にソルトを追加することにより、ブルート フォースに対してより困難になります。

コメントごとに編集。

于 2009-07-21T19:19:09.710 に答える
0

いいえ、このサイトを見ることができません(GNU Cライブラリを使用していると仮定します)http://www.gnu.org/s/libc/manual/html_node/crypt.html

陰窩を塩漬けにする方法は、あなたがやろうとしていることがうまくいかないことをほぼ保証します。

于 2009-07-21T19:33:29.307 に答える
0

その機能が一方向であることは、世界中のすべてのパスワード スキームのバックボーンです。ここにいる誰かが「はい、これが方法です..」と答えた場合、政府は彼らのコメントをすぐに削除し、家を焼き払い、非公開の場所に追いやることを余儀なくされます.

要するに、いいえ。

于 2009-07-21T19:41:43.363 に答える
-1

いいえ、一方向関数です。

于 2009-07-21T19:16:42.103 に答える