椭圆曲线密码(SM2)

这篇具有很好参考价值的文章主要介绍了椭圆曲线密码(SM2)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. ELGamal离散对数密码体制

1. 公钥生成

① Alice首先构造一条椭圆曲线E,在曲线上选择一点G作为生成元,并求G的阶为n,要求n必须为质数。此时构成了一个循环群<G>.

② Alice选择一个私钥k (k < n),生成公钥 Q = kG

③ Alice将公钥组E、Q、G发送给Bob

2. 加密过程

① Bob收到信息后,将明文编码为M,M为曲线上一点,并选择一个随机数r(r < n, n为G的阶)

② Bob计算点C1与C2即两段密文,计算方法如下:

  • C1 = M + rQ
  • C2 = rG

③Bob把C1和C2发给Alice

3. 解密过程

① Alice收到密文后,为了获得M,只需要Cipher1 - k · Cipher2,因为

C1 - k*2 = M + rQ - krG = M + rkG - krG = M

② 将M解码即可

2.SM2加密流程

备注:

1.密钥派生函数(KDF):通过作用于共享秘密和双方都知道的其他参数,产生一个或者多个共享秘密的密钥的函数.密钥派生函数需要调用杂凑算法,设密码杂凑算法为H_v( ),其输出的是长度恰为v比特的杂凑值;

密钥派生函数KDF(Z,klen)

sm2 椭圆曲线密码算法,安全

2. h为余因子  ,h=#E(Fq)/n,n为基点G的阶,#E(Fq)为E(Fq)上点的数目,称为椭圆曲线E(Fq)的阶.

1. 加密算法流程

① 用随机数发生器产生随机数k (1<k<n-1)

② 计算椭圆曲线点C1=[k]G=(x1,y1),并将其转换为比特串(A的私钥生成公钥)

③ 计算椭圆曲线点S=[h]Pb,若S是无穷远点,则报错并退出 h为n的余因子

④ 计算椭圆曲线点[k]Pb=(x2,y2),并将其转换为比特串(A的私钥乘B的公钥)

⑤ 计算t=KDF(x2||y2,klen),若t为全0比特串,则返回①; KDF为密钥派生函数

⑥ 计算C2=M⊕t

⑦ 计算C3=Hash(x2||M||y2)

⑧ 输出密文C=C1||C3||C2

2. 解密算法的流程

① 从C中取出比特串C1,将其转换为椭圆曲线上的点,验证C1是否满足椭圆曲线方程

② 计算椭圆曲线点S=[h]Pb,若S是无穷远点,则报错并退出

③ 计算[db]C1=(x2,y2),并将其转换为比特串 db B的公钥

④ 计算t=KDF(x2||y2,klen),若t为全0比特串,则返回(一) KDF为密钥派生函数

⑤ 从C中取出比特串C2,计算M=C2⊕t

⑥ 计算u=Hash(x2||M||y2),从C中取出比特串C3,若u不等于C3,则报错并退出

⑦ 输出明文M文章来源地址https://www.toymoban.com/news/detail-581977.html

到了这里,关于椭圆曲线密码(SM2)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 椭圆曲线在SM2加解密中的应用(三)

    1.1加密原始数据 SM2加密运算首先是用户A对数据加密,用户A拥有原始数据 椭圆曲线系统参数 长度为klen比特的消息M 公钥Pb 椭圆曲线系统参数,已经在 椭圆曲线参数(二)中详细介绍;M就是需要加密消息,长度为klen; 1.1.1 公钥Pb的计算方式 公钥Pb=dBG,其中dB是私钥,是256b

    2024年02月08日
    浏览(28)
  • 密码算法(SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算)

    SM1、SM2、SM3和SM4 为了保障商用密码的安全性,国家密码局制定了一系列密码标准,包括:SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC) 等。 SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法。 SM2、SM9是非对称算法。 SM3是哈希算法。 SM1、SM7算法不公开,调用该算法时,

    2024年02月03日
    浏览(26)
  • 商用密码应用与安全性评估要点笔记(SM2密钥交换算法)

    1、SM2算法简介         SM2密码算法是我国2010年发布的商用密码算法,属于公钥密码算法,也成为非对称密钥机制密码算法。SM2基于椭圆曲线离散对数问题,相对于RSA基于大整数因数分解更具优越性。         SM2算法于2012年成为我国密码行业标准,并于2017年被ISO采纳,成为

    2024年02月11日
    浏览(26)
  • 商用密码应用与安全性评估要点笔记(SM2公钥加密算法)

    1、SM2算法简介         SM2密码算法是我国2010年发布的商用密码算法,属于公钥密码算法,也成为非对称密钥机制密码算法。SM2基于椭圆曲线离散对数问题,相对于RSA基于大整数因数分解更具优越性。         SM2算法于2012年成为我国密码行业标准,并于2017年被ISO采纳,成为

    2024年02月01日
    浏览(29)
  • 商用密码应用与安全性评估要点笔记(SM2数字签名算法)

    1、SM2算法简介         SM2密码算法是我国2010年发布的商用密码算法,属于公钥密码算法,也成为非对称密钥机制密码算法。SM2基于椭圆曲线离散对数问题,相对于RSA基于大整数因数分解更具优越性。         SM2算法于2012年成为我国密码行业标准,并于2017年被ISO采纳,成为

    2024年02月09日
    浏览(39)
  • Python实现国家商用密码算法sm2/sm3/sm4/sm9(国密)

    2010 年开始,我国国家密码管理局就已经开始陆续发布了一系列国产加密算法,这其中就包括 SM1、SM2、SM3 、SM4、SM7、SM9、ZUC(祖冲之加密算法)等,SM 代表商密,即商业密码,是指用于商业的、不涉及国家秘密的密码技术。SM1 和 SM7 的算法不公开,其余算法都已成为 ISO/IEC

    2024年02月15日
    浏览(23)
  • 新手入门 | 掌握国密算法:新手指南: SM2 / SM3 / SM4密码算法详解

    在密码学领域,有多种加密与签名算法,它们在信息安全领域发挥着举足轻重的作用。如今,随着互联网的快速发展,网络安全已经成为各类信息系统完整性、可用性、保密性的重要保障,越来越多的国产密码算法得到了广泛的应用与关注。在本文中,我们将重点介绍三个经

    2024年02月12日
    浏览(108)
  • 探索密码学的未来:SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算

    密码算法在现代通信与信息安全中发挥着至关重要的作用,SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算等密码算法被广泛应用于各种信息安全领域。本篇博客将会为大家介绍这些密码算法,以及它们在信息安全中的作用和应用。 SM1、SM2、SM3、SM4是中国国

    2024年02月08日
    浏览(30)
  • SM2签名算法中随机数K的随机性对算法安全的影响

            一、构造如下SM2签名算法过程1         Sig1 r1 =         F2BFC778C66127C74E3613FAA1AB6E207059740B317597A78BBFCDF58AED0A51         Sig1 s1 = 4FC719D00334CCC23098036DEEAA71DB464A076EFA79283389D3414D70659E88         私钥d = B3124DC843BB8BA61F035A7D0938251F5DD4CBFC96F5453B130D890A1CDBAE32         公钥

    2024年02月03日
    浏览(40)
  • 国密SM2/SM3算法

    分类 1、SM1是一种分组加密算法 对称加密算法中的分组加密算法,其分组长度、秘钥长度都是128bit,算法安全保密强度跟 AES 相当,但是算法不公开,仅以IP核的形式存在于芯片中,需要通过加密芯片的接口进行调用。 采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包