0

私はこの分野に詳しくないので、質問が些細なことやつまらないように思われる場合はご容赦ください。

最大 M 個の文字列が変更、削除、または追加されても署名が有効なままになるように署名する必要がある N 個の文字列があります。N > M、N は異なる場合があります。署名は、署名自体から N を推定できるようにすべきではありません。

これまでのところ、各文字列のハッシュを個別に構築し、それらすべてを署名として保存するという簡単なアプローチしか想像できませんが、最新の要件には準拠していません。

言語固有の例がいくつかある場合は、それらについても言及してください。Java、C++、PHP などは問題ありません。

4

1 に答える 1

0

問題を調査した結果、次の情報が役立つ可能性があることがわかりました。

いわゆる「ローリングハッシュ」があります。また、密接に関連する別のテクノロジには、「Context Triggered Piecewise Hashes (CTPH)」という名前が付いています。CTPH に関するわかりやすい記事があり ます

単一の入力ファイルに連結された N 個の要素に署名するために使用できると思います。

このアルゴリズムは、ブロック サイズ (断片の従来のハッシュから構築された署名の定期的なスプライシングに使用される) が最終的な署名に埋め込まれているため、公に知られていると想定しています。これにより、署名されたコンテンツのおおよそのサイズを推測できる可能性がありますが、明らかに N を秘密にしています。

特定の未知のコンテンツについて、アルゴリズムは、既知の署名付きコンテンツと署名を使用した未知のコンテンツとの間の 0 (相違) から 100 (同一性) までの値として、CTPH に関して類似性または相同性の尺度を提供します。

于 2012-10-01T09:56:38.467 に答える