国密算法SM2加解密_签名验签图形化例子

时间:2022-07-24
本文章向大家介绍国密算法SM2加解密_签名验签图形化例子,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~

国密SM2概述

对国密算法有了解的朋友看到SM2可能会先想到非对称加密,之前的SM4是对称加密。SM4加解密使用的是同一个秘钥,而SM2使用的是非对称加密——公钥和私钥。公钥加密私钥解密。将密钥对中的私钥自己留存,在发送的消息中携带公钥;私钥32位、公钥64位,公钥前32字节称为X、后32字节称为Y,公钥存储方式分为压缩和非压缩。

签名和验签

主要为了防止消息被篡改,使用到了SM3。关于签名和验签,可以搜索更多的说明,加深理解。

使用Qt写的例子

从上到下依次是私钥、公钥、明文、密文。

由于使用的国密算法是用C语言写的,所以需要和Qt所使用的类型做一些转换。

下面列一些使用到的接口:

私钥和公钥是自己填入的。

①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()

使用的是别人写好的程序,主要是熟悉一些流程。

多思考、多总结。

今天就说到这里吧。

具体的程序可在公众号后台留言获取。