10.3 簽名驗證進程
10.3.1 輸入和輸出
簽名驗證進程包括三個步驟:消息摘要的計算,橢圓曲線的計算和簽名驗證。
簽名驗證進程的輸入包括:
a) 域參數;
b) A的公開驗證密鑰Y**A;
c) 已接收到的對數據d的簽名,表示為八位位組串r′和整數s′,和
d) 函數Mask;
e) 不可恢復消息M′clr(如果存在)。
簽名驗證進程的輸入或者是可恢復消息d′或者是“拒絕”。
10.3.2 簽名大小的驗證
驗證是否符合OS2IP(r′)≠0mod n,r′∈{0, 1}^8^^L^^(^^n^^)^ 和0 < s′ < n;如果不符合,則拒絕簽名。
10.3.3 恢復預簽名(橢圓曲線計算)
從接收到的簽名(r′, s′)里恢復預簽名,按照如下或者等同如下的步驟進行:
a) 轉換R′ = ((1 + OS2IP(r′) + s′) / OS2IP(r′))P *+ (s′ / OS2IP(r′))Q*;
b) 計算Π′ = Mask(EC2OSPE(R′, uncompressed))。
10.3.4 恢復數據輸入或者消息
計算d′* = r′⊕Π*′。
10.3.5 校驗簽名
校驗冗余。如果正確,輸出d′,否則拒絕。
GB/T 15851.3—2018 信息技術 安全技術 帶消息恢復的數字簽名方案 第3部分:基于離散對數的機制
推薦文章: