1

私はPythonでペットプロジェクトをプログラミングしています。ユーザーAとBがネットワークを介して対話し、それぞれがユーザーCから同じファイルのローカルコピーを持っていることを確認しようとしています.

アイデアは、C がそれぞれにデジタル署名されたファイルを与えるというものです。A & B は、彼らが持っているデジタル署名を交換し、自分のコピーでそれをチェックアウトします。署名が失敗した場合、そのうちの 1 つにファイルのバージョンが正しくないか、破損しているか、変更されています。

したがって、問題は、何らかの方法で独自の署名を含む単一のファイルを C で配布できるかということです。または、C はファイルと署名を別々に提供する必要がありますか?

4

2 に答える 2

5

C からのデジタル署名だけで、A と B の両方がお互いに通信することなくファイルが破損していないことを確認するのに十分なはずです。A と B が C から署名を受け取っていない場合、それぞれがファイルの暗号化ハッシュを作成してハッシュを比較できますが、C 側でデジタル署名を行う必要はありません。

C にファイルに署名してもらいたい場合は、署名とファイルを別々に送信するか、zip ファイルや自家製のソリューションなど、ある種のコンテナーに両方をラップします (たとえば、ファイルの最初の行は署名を表し、残りはペイロードです)。

質問に文字通り答えるには、署名はファイル自体の外側にある必要はありませんが、署名されている部分に署名自体を含めることはできません。

于 2009-07-15T17:31:27.900 に答える
4

ファイル形式を制御できる場合は、はい。適切なコンテンツの前にヘッダーに署名を含め、署名がファイル全体ではなく、ファイルのコンテンツ セクションのみをカバーするようにします。何かのようなもの:

SIGNATURE=72ba51288199b829a4b9ca2ac911e60c
BEGIN_CONTENTS
... real file contents here ...
于 2009-07-15T17:29:07.297 に答える