-
Notifications
You must be signed in to change notification settings - Fork 158
Open
Description
BigInteger 在转化为byte数组时会会出现一个补位
BigInteger 在转化为byte数组时会会出现一个补位,导致最后的sm3-Hash的计算作物,ZA计算错误
需要在计算sm3杂凑值时,做如下处理
byte[] array = bigInteger.toByteArray();
if (array[0] == 0) {
byte[] tmp = new byte[array.length - 1];
System.arraycopy(array, 1, tmp, 0, tmp.length);
array = tmp;
}SM2.java中的byte[] ZA(String IDA,Ecpoint aPublicKey)中处理
//这一行的sm3hash中的参数都要做上面的处理
byte[] ZA=sm3hash(............................);IDA
USERID说明
请参阅SM2椭圆曲线公钥密码算法-P54 用户其他信息一栏。
USERID非IDa
设用户A的身份是:ALICE123@YAHOO.COM。用ASCII编码记ID A :
414C 49434531 32334059 41484F4F 2E434F4D。ENTL A =0090。
https://github.com/hyfree/SM2_SM3_SM4Encrypt/tree/add_pdf/pdf
Metadata
Metadata
Assignees
Labels
No labels