機密IDデータの小さなブロックをハッシュすることを検討していましたが、難読化された後は、データブロック全体の完全な一意性を維持する必要があります。
そこで、公に知られている入力データ(たとえば、128ビットのゼロ)を暗号化して、難読化するデータをキー/パスワードとして使用し、それを破棄して、元のデータを保護するというアイデアを思いつきました。これまでに発見されています。
ハッシュアルゴリズムについてはすでに知っていますが、私の問題は、実際の入力を取得できないようにしながら、完全な一意性(一般的には入力から出力への1:1マッピング)を維持する必要があることです。プロセス中に情報が失われるため、ハッシュはこの機能を提供できません。
「暗号化」されたデータを取得する必要はありません。それ以降はID番号としてのみ使用されます。
実際のGUID/UUIDは、識別子ごとに手動で識別子を制御する必要があるため、ここでは適切ではありません。IDは、不明または任意に生成されたデータにすることはできません。
編集:これらの識別子が何でできているかを正確に明確にするために:
- (暗号化されていない) 64ビットタイムスタンプ
- ID生成カウンター(ファイルタイプごとに1カウント)
- ランダムデータ(複数の暗号化されたキーを非類似にするため)
- MACアドレス(または、それが利用できない場合は、トップビット+ランダムな数字を設定します)
- その他のPC固有の情報(レジストリから)
全体で合計192ビットになるはずですが、暗号化されたセクションのコンテンツサイズは異なる可能性があります(これは決して最終的な仕様ではありません)。
与えられた:
- 静的IV値
- 任意の128ビットキー
- 静的な128ビットの入力
同じ入力とIV値が与えられた場合、AESキーは1:1 key<---->output
マッピングになるような方法で処理されますか?