[英]DSA Signature Verification and BigInteger class
給我一個(非常簡單的)DSA問題,並且已經找到了關鍵和其他變量。 為了驗證簽名,我需要以某種方式轉換方程式:
V = [( y ^ u1 * h ^ u2 )mod p] mod q
進入BigInteger操作。 在Java上甚至有可能嗎? 到目前為止,我一直在成功使用modPow,但是到目前為止,所有問題都以以下形式出現:
r.modPow(指數,模數);
我不知道如何通過BigInteger做上述方程式(尤其是粗體部分),我想知道是否有可能。 有人有什么想法嗎?
如果BigInteger無法做到,我該如何通過Pari來解決這個問題?
我認為您只需要使用以下身份即可
(a*b) mod p == ((a mod p)*(b mod p)) mod p
因此要計算y u1 ×h u2 mod p:
modPow
計算y u1 mod p, modPow
計算h u2 mod p, 步驟4是必需的,因為步驟1和2的結果可能會相乘以產生大於p的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.