SM2算法加解密中的C1,C2,C3
SM2加密
SM2非對(duì)稱(chēng)加密的結(jié)果由C1,C2,C3三部分組成。其中C1是生成隨機(jī)數(shù)的計(jì)算出的橢圓曲線點(diǎn),C2是密文數(shù)據(jù),C3是SM3的摘要值。最開(kāi)始的國(guó)密標(biāo)準(zhǔn)的結(jié)果是按C1C2C3順序的,新標(biāo)準(zhǔn)的是按C1C3C2順序存放的,因此我這邊在做SM2加密時(shí)新增加了加密結(jié)果的順序參數(shù),以配置兼容之前的SM2算法加密。
SM3算法
SM2國(guó)密算法有點(diǎn)不一樣的是,同時(shí)使用了SM3摘要算法驗(yàn)證,即SM2加密結(jié)果中的C3為SM3摘要。這次也使用上次JS簽名進(jìn)行SM3摘要計(jì)算方法,修正了JS移位運(yùn)算轉(zhuǎn)換為Byte字節(jié)問(wèn)題,對(duì)于溢出部分截取后8位處理。
————————————————
舉個(gè)例子:原為是128字節(jié),加密后224. C1 + C3 = 96字節(jié);C2=總長(zhǎng)=96.
原文鏈接:https://blog.csdn.net/lhf_On_the_way/article/details/98497176
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。