0

私はデータ暗号化の初心者です。データ暗号化について調べてみたところ、主に md5 アルゴリズムと SHA アルゴリズムが見つかりました。データ ストレージ/セキュリティに最適なテクノロジはどれですか?その理由は?

4

2 に答える 2

5

MD5 と SHA はハッシュ関数であり、大量のデータからフィンガープリント (固定長表現) を作成します。たとえば、これらは多くのオープンソース製品の iso イメージ ダウンロードの一貫性をチェックする方法として広く使用されていますが、これはそれらを使用して任意のバイトからフィンガープリントを作成できることを意味します。したがって、それらは暗号化されません。

暗号化する場合は、暗号化アルゴリズムを確認する必要があります。対称暗号化アルゴリズム(たとえば、暗号化と復号化のキーが同じであるか、別のキーから簡単に計算できる場合)を探す場合はAES(高度な暗号化標準)が最も実現可能であり、非対称を探す場合はRSA(あなたが持っている場所) 2 つの鍵 - 公開鍵と秘密鍵、および公開鍵から秘密鍵を計算するのは難しい作業です)。

デジタル署名を作成しようとしている場合は、DSA (デジタル署名アルゴリズム) や ECDSA (楕円曲線上の DSA) などを確認することをお勧めします。非対称アルゴリズムは、512、1024、2048 ビットなどのように、精度が拡張された数値で機能することに注意してください。そのような数値を処理できる特別なライブラリが必要です。C++ を使用している場合は、Crypto++ を試すことをお勧めします。他の言語に似たものを見つけてください。

これがお役に立てば幸いです。

于 2012-08-28T05:47:43.400 に答える
0

データがパスワードであり、それをどこかに保存したい場合は、UseMD5またはSHAHash を使用します。この2つのメリットがあります。

  1. ハッシュを復号化して古い値を回復することはできないため、パスワードの MD5/SHA ハッシュを誰かに提供したとしても、パスワードが解読されることはありません :)
  2. 特定の文字列のハッシュは常に同じであるため、ハッシュに基づいてパスワードを比較できます。

AES :

  1. 対称アルゴリズムが非常に高速
  2. PKCS5Padding と CBC モードで使用
  3. 常に IV を保存する
  4. 対称なので、暗号化されたテキストを復号化するときに同じキーが必要になるため、キーをまったく共有できません。

RSA

  1. キーを交換するための PKI インフラストラクチャ
  2. 遅い

DES(Not So Secure)、3DES(Triple DES と呼ばれることが多い - DES に比べて十分に安全ではない) のような他のアルゴリズムもあります。

于 2012-08-28T06:01:42.127 に答える