专栏首页Pou光明国密算法SM2加解密_签名验签图形化例子

国密算法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()

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

多思考、多总结。

今天就说到这里吧。

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

本文分享自微信公众号 - Pou光明(pou0230),作者:PouG

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【易错概念】国密算法SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、ZUC

    众所周知,为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(...

    辉哥
  • 详解国密SM2的数字签名

    在《解读国密非对称加密算法SM2》一文中,我讲到过非对称加密算法的用途之一就是数字签名。本文就来聊一聊国密SM2的数字签名算法。

    云水木石
  • .NET Core 使用RSA算法 加密/解密/签名/验证签名

    晓晨
  • 写给开发人员的实用密码学 - 数字签名

    办理过买房抵押贷款的朋友,应该还记得在贷款合同上不断按手印。这种现实世界的签字画押,一方面是保证合同的文本不会替换,另一方面双方事后都不能否认此次交易(个人方面...

    云水木石
  • Bytom国密网说明和指南

    Gitee地址:https://gitee.com/BytomBlockchain/bytom

    比原链Bytom
  • 解读国密非对称加密算法SM2

    本文先介绍非对称加密算法,然后聊一聊椭圆曲线密码算法(Elliptic Curve Cryptography,ECC),最后才是本文的主题国密非对称加密算法SM...

    云水木石
  • 数据安全RSA算法,加密解密,签名验签流程详解

    (1)、乙方生成一对密钥即公钥和私钥,私钥不公开,乙方自己持有,公钥为公开,甲方持有。

    知了一笑
  • sm2国密算法的纯c语言版本,使用于单片机平台(静态内存分配)

    之前的动态内存分配,在上面总是莫名其妙的崩。不知道堆和栈空间该改多大合适。且总共64K的内存,太受限了。

    独行猫A
  • 详解国密SSL ECC_SM4_SM3套件

    国密算法最好的应用场景应该是SSL/TLS通信,然而国密文档中并没有单独规范SSL/TLS协议,我们能参考的只有《GM/T 0024-2014 SSL VPN ...

    云水木石
  • 密码体制如何应对“量子霸权”?

    量子计算是目前全世界范围内的前沿研究热点,并可能正以量子体积每年翻倍的“量子摩尔定律”向前发展。然而,由于量子计算机的强大运算能力,一旦“量子霸权”成为现实,现...

    FB客服
  • 工具系列 | 常用加密算法推荐清单

    文中所列出的推荐算法皆已经过全世界密码学家验证和各国际标准化组织认证, 并在市场中广泛应用, 有望在未来足够长的时间内保证安全性和实现性能。

    Tinywan
  • SSL通信双方如何判断对方采用了国密

    SSL通信涉及两方的参与者,通常采用的模型是Client/Server。如果我们开发Client端产品(比如浏览器),可能会和多方的Server产品对接。那么问...

    云水木石
  • 写给开发人员的实用密码学 - 数字证书

    在数字签名部分,我们讲到数字签名可以起到“防抵赖”的作用。然而,在开放的互联网环境中,通信的双方通常是互不相识,数字签名并不能解决身份认证的问题。比如在数字签名...

    云水木石
  • 国密SSL协议之性能测试

    国密SSL性能指标主要有三个:新建速率(CPS,Connection per second)、加密吞吐(Throughput)、最大并发连接(Max Persi...

    gmssl
  • 写给开发人员的实用密码学 - 非对称加密算法

    在前面的文章《写给开发人员的实用密码学 - 对称加密算法》中,介绍了现代密码学中非常重要的加密解密算法。从工程学的角度,选取密钥足够长的加密算法(比如AES 2...

    云水木石
  • 国密算法sm2-.Net实现

    国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。

    西门呀在吹雪
  • 详解国密SM2的加密和解密

    在上一篇文章《解读国密非对称加密算法SM2》介绍了国密非对称算法SM2,在文章中说到,如果现有的网络库中已经实现ECC算法,只需加入SM2命名曲线的参数即可。这...

    云水木石
  • Java生成SM2证书基于BouncyCastle(cer)

    Java生成SM2证书基于BouncyCastle(cer) 可以先加QQ 783021975 咨询相关问题。代码后续会更新一部分 整理中。完全是Java代码调...

    小帅丶
  • DNSPod十问濮灿:中国网站的SSL证书即将断供?

    ? 问答时间:2020年8月20日 嘉宾简介: 濮灿:沃通电子认证有限公司总经理,360政企安全云安全事业部总经理、360未来安全研究院云安全研究院院长。从事...

    腾讯云DNSPod团队

扫码关注云+社区

领取腾讯云代金券