0

この単純化した例では、当局が公開 RSA キー (e=11、n=85) を使用してドキュメントに署名するとします。あなたは彼らにあなたのメッセージ (番号 42) に署名してもらいたいと思っていますが、彼らが何に署名しているのかを彼らに知られたくないので、11 のブラインド係数「r」を使用します。計算では、次の結果を使用したいと思うかもしれません。 :

11 ∗ 35 = 1 mod 64
11 ∗ 31 = 1 mod 85

簡単な作業を表示します。

1) 署名する権限を与えるべき番号は何ですか?

2) 当局はあなたに何番を返しますか?

3) この数字から 42 の署名を抽出します。

4) 秘密鍵を使用してこの回答を検証します。

私は見てきましたが、誰かが私と一緒にこの例を導くことができれば、私は非常に感謝しています.

4

1 に答える 1

6

メッセージmは 42 で、ブラインド ファクターrは 11 であるため、当局に提供される値は次のようにm'計算されます。

m' = m * r e mod N
m' = 42 * 11 11 mod 85
m' = 62

s'当局は、以下を使用して計算することにより、これに署名します。

s' = m' d mod N

dプライベート指数はどこにありますか。

したがって、次の関係を満たす値であることがわかっているプラ​​イベート指数を計算する必要があります。

e * d = 1 mod ɸ(N)

ɸオイラーの totient 関数はどこにありますか。Nは 2 つの素数の積でpありq、RSA アルゴリズムの定義に従います。N は小さいため、簡単に因数分解して と を決定できp = 5ますq = 17

したがって、の定義によりɸ

ɸ(N) = (p-1)(q-1)
ɸ(N) = (5-1)(17-1) = 64

したがって、提供された結果を使用して、次のことを判断できます。

e * d = 1 mod ɸ(N)
11 * d = 1 mod 64
d = 35

したがって、当局は次のようにs'計算されたブラインド署名を返す必要があります。

s' = m' d mod N
s' = 62 35 mod 85
s' = 73

署名を計算するには、s次を使用して計算する必要があります。

s = s' * r -1 mod N

ここでは、次のようなものの逆です。r-1r

r * r -1 = 1 mod N

再び与えられた結果を使用して、次のように決定できます。r-1

r * r -1 = 1 mod N
11 * r -1 = 1 mod 85
r -1 = 31

したがって、の計算は次のようにsなります。

s = s' * r -1 mod N
s = 73 * 31 mod 85
s = 53

あなたの質問は、秘密鍵を使用してこれを検証するように言っていますが、署名は公開鍵を使用して検証されるため、ここで行うことは次のとおりです。

これが正しい署名であることを確認するために、次のことを確認します。

m = e mod N
m = 53 11 mod 85
メートル= 42

m = 42このようにして、元のメッセージ以来、署名が有効であることを示しました。

于 2013-06-24T18:29:13.503 に答える