7

この問題はよくあることのように思えますが、どうにかしてそれを助ける何かを見つけることができません...
基本的なハッシュと暗号化の知識が不足しているように感じます。

問題
ID として (できれば一意で) 使用される電話番号があるとします。
しかし、パブリック インターフェイスで個人番号を ID として使用したくありません。
私が必要としているのは、文字列を一方向で難読化するソリューションですが、一意性を維持するため、他の誰かがアルゴリズムを使用すると同じ ID を取得します。

解決策 (?)
入力がハッシュされた出力の長さを超えていない場合に一意性を保証するハッシュ アルゴリズムはありますが、元に戻すことは (ほとんど) 不可能です。
固定の公開鍵 RSA 暗号化を使用するのはどうですか? 出力は一意である必要がありますが、攻撃者は単一のキーを解読してすべての番号を解読する必要があります。悪い考えのように聞こえます...

更新(回答に基づく)
明らかに、衝突確率の低い暗号化ハッシュアルゴリズムを探しています。
今(私は少し眠りについたので)、私が考えることができるいくつかの事実があると思いました:

  • とにかく衝突に対処しなければなりません。電話番号をさらに確認せずにIDとして使用すると、誰でも「これは私のものです」と言うことができます.
  • レインボー テーブルは常に問題になります。管理可能な量の電話番号があり、誰もが電話番号からハッシュを生成できるはずなので (秘密のソルトを使用することさえできません)。私の唯一の可能性は、レインボーテーブルをユニークにする集中的なアルゴリズムとソルトを使用することです。

そうは言っても、ハッシュの使用を決定できます。この方法では、どの電話番号が使用されているかをすぐに (攻撃せずに) 知ることはできません。それが要点のようです。

4

1 に答える 1