点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~
国密SM2概述
对国密算法有了解的朋友看到SM2可能会先想到非对称加密,之前的SM4是对称加密。SM4加解密使用的是同一个秘钥,而SM2使用的是非对称加密——公钥和私钥。公钥加密私钥解密。将密钥对中的私钥自己留存,在发送的消息中携带公钥;私钥32位、公钥64位,公钥前32字节称为X、后32字节称为Y,公钥存储方式分为压缩和非压缩。
签名和验签
主要为了防止消息被篡改,使用到了SM3。关于签名和验签,可以搜索更多的说明,加深理解。
使用Qt写的例子
从上到下依次是私钥、公钥、明文、密文。
由于使用的国密算法是用C语言写的,所以需要和Qt所使用的类型做一些转换。
下面列一些使用到的接口:
私钥和公钥是自己填入的。
代码语言:javascript复制①create hash dgst
SM3_Hash()
②create random
sdt_random_gen()
③ecc sign
sdt_ecc_sign()
④ecc verify
sdt_ecc_verify()
⑤ecc encrypt
sdt_ecc_encrypt()
⑥ecc decrypt
sdt_ecc_decrypt()
使用的是别人写好的程序,主要是熟悉一些流程。
多思考、多总结。
今天就说到这里吧。
具体的程序可在公众号后台留言获取。