1

ECC を使用して秘密鍵を使用してハッシュを実装することに関するこの投稿を読んだ後、ECDH の実装を見つけようと試みたところ、 BoucyCastle に出会いました。

残念ながら、ドキュメントは最小限であり (zerow のように!)、私が達成しようとしていることが完全に正しい/有効かどうかはわかりません。

ユーザーの登録情報となる 4 つの文字列 (名前、会社、会社 ID、およびアカウント ID で、いずれも 12 文字) を単純にハッシュして、ソフトウェアのアクティベーションに使用できるシリアルを計算します。

PUTTYGEN.exe を使用してキー ペアを生成しましたが、BouncyCastle でこれを適用する方法がわかりません。どのクラスを使用して開始できますか? そこに例はありますか?

これまでのところ、情報を連結し、(.NET クラスを使用して) その情報の MD5 ハッシュを計算しましたが、まだ XP をターゲットにしているため、新しい VISTA 拡張 API 関数 (.NET 3.5) を使用できません。

誰にもアイデアはありますか?

4

2 に答える 2

0

これまでのところ、情報を連結し、その MD5 ハッシュを (.NET クラスを使用して)
計算しました。そのステートメント自体が心配です。MD5 は、理論上だけでなく実際上も非常にクラック可能です。安全なハッシュに MD5 を使用しないでください。SHA-256 または SHA-512 を使用する理由は次のとおりです。

また、リンクした投稿はまったく真実ではありません-はい、対称アルゴリズムは同じキーを使用して暗号化/復号化しますが、公開/秘密キーは特効薬ではありません。

1) 公開/秘密鍵は遅い
2) ほとんどの公開/秘密アルゴリズムは、対称鍵を暗号化してからデータに対称暗号化を使用します。

ポイントは、優れたハッシュ アルゴリズムは非可逆的であるため、クラックするのが非常に難しいため、目的にはまったく問題がないということです。ただし、ユーザー データに追加する暗号学的乱数である SALT を使用することをお勧めします。そのデータをハッシュすると、辞書攻撃 (ハッカーがよく知っている用語やバリアントを使用してパスワードをクラックする場合) に対してデータがより安全になります。

于 2009-12-20T23:47:27.893 に答える