A.3 在第十章中描述的帶有短賦值的基于身份的簽名的數值例子
在這個例子中,所使用的散列函數是固定的,并且為域內的所有實體已知,因此不需要散列標識符。通過使用SHA-1生成散列權標H,H和H。另外一個散列權標H3是通過下列函數h計算出來的,具有兩個160比特的輸入數據,它產生一個80比特的輸出:
域參數、私有簽名密鑰和驗證密鑰與A.1中相同。
A.3.1 簽名過程
A.3.1.1 生成預簽名
簽名實體生成一個隨機數,它是一個隨機性的或偽隨機性的整數K,其中0<K<N。本例使用一個1024比特的隨機數K,而相應的預簽名∏在A.2.1.1中給定。
H1是預先計算出來的并且存儲在一個存儲器中用于更有效地計算證據。
H1= 預簽名∏的散列權標 =
7B2B1483 46B8D0B0 F42C762B FE93D691 C9BC3841
A.3.1.2 準備消息
在本例中,消息與A.2.1.2中的消息相同。
H = 消息M的散列權標 =
A9D66D4B 652597FB 32DD1092 E7C9CDE1 8F0C7FBC
A.3.1.3 計算證據和簽名的第一部分
在本例中,證據形成簽名的第一部分R。
R = H= 散列權標H|| H =
D6149DF3 DA7E60EA 817CAADE D2F9F785 8800903F
A.3.1.4 計算賦值
T = h ( H||R ) = 360E D98CD6C0 01E15EA4
A.3.1.5 計算簽名的第二部分
簽名的第二部分S計算如下:
S = K? Xmod N =
FA17252E 94A3D992 C5CE7953 D0939F9E 45A4AE8A
A9F2B89F 1345528F 658959C9 B5B16E92 9131A3A0
BFA8490C E4652452 90ECCFDF 73E67220 7D34AFA0
F0B1C381 EDE82B2C 2B2D520E 4E91EB67 98922DF5
04B1883E D7CD9AC3 1E3E4E99 FF2E57F9 ACE6F5E6
475A029E 1821081F 02DB73ED 6640A148 EF281E9B
63E3B7E1 DA0E9AA9
簽名∑被設置為(R,S)。
A.3.2 驗證過程
驗證者擁有下列數據項值可用:
N,V,Y,M,∑ =(R,S)
A.3.2.1 準備消息
H = M的散列權標
A.3.2.2 檢索賦值
賦值T是通過計算數據R || H的散列權標H得到的。
T = h ( H || R )
A.3.2.3 重新計算預簽名
驗證者生成預簽名的重新計算值= Y? S mod N。
如果(Ymod N)和(Smod N)是分別計算的,它們則給定如下:
Ymod N =
390AB7EB 69A80EE0 D382FFA6 6D6557B3 D17D68A4
CE5D67F1 FCF76F27 D660941A 90941033 D3269612
DC989EA4 78257463 8C98ADEA F05DAC71 87A000BE
C7E20991 9B0598D1 47B22923 6C45DF67 358E4DEF
900DC37C 8812CD7A D827A550 3703BC3C DE843E4E
B12C7C16 DBB7AD5B 98F4F0D9 D4918CA5 32060A48
E58A9445 437328E9
Smod N =
3A65050A 97021E9A 8A6E825A 26EE068D EF06D046
0617D9FE 3C577159 06C15DD0 2EBF8707 CC681798
373B4E16 9A12A839 04B7CBAF D578BC4E 7D0FD50D
0C7E549C CECC18BA A198682F CB46844A E5C904E4
A9003E35 A0035D96 B170F5A7 E1C5B285 4F66C7BD
8132EB24 A9F3EDF1 10EC1C02 377B0963 ACEFBB7B
8A48243B F771D47F
A.3.2.4 重新計算證據并驗證證據
重新計算出來的證據與檢索出來的證據R相同。