CN115412239A - 一种基于sm2的具有可重随机性的公钥加解密方法 - Google Patents

一种基于sm2的具有可重随机性的公钥加解密方法 Download PDF

Info

Publication number
CN115412239A
CN115412239A CN202211039643.8A CN202211039643A CN115412239A CN 115412239 A CN115412239 A CN 115412239A CN 202211039643 A CN202211039643 A CN 202211039643A CN 115412239 A CN115412239 A CN 115412239A
Authority
CN
China
Prior art keywords
public key
ciphertext
public
party
decryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211039643.8A
Other languages
English (en)
Other versions
CN115412239B (zh
Inventor
王毅
陈荣茂
林宇量
王宝生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202211039643.8A priority Critical patent/CN115412239B/zh
Publication of CN115412239A publication Critical patent/CN115412239A/zh
Application granted granted Critical
Publication of CN115412239B publication Critical patent/CN115412239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于信息安全技术领域,涉及一种基于SM2的具有可重随机性的公钥加解密方法,分为以下步骤:S1:构建公钥加解密系统;S2:接收方运行密钥生成模块生成公钥pk和私钥sk,将公钥pk以及公开信息params通过公开安全信道发送给发送方和可信第三方;S3:发送方使用公钥pk和公开信息params,运行加密模块将需加密的消息生成原始密文,并将原始密文发送给可信第三方;S4:可信第三方使用公开信息params运行重随机模块,对S3生成的原始密文ζ进行重随机,将得到的新密文发送给接收方;S5:接收方使用解密模块,通过私钥sk和公开信息params对收到的新密文ζ′进行解密获取明文,并逆转换得到最终的消息,本发明可以解决SM2公钥加密算法的密文无法实现可重随机的问题。

Description

一种基于SM2的具有可重随机性的公钥加解密方法
技术领域
本发明属于信息安全技术领域,涉及一种公钥加解密方法,具体涉及一种基于SM2的具有可重随机性的公钥加解密方法。
背景技术
长期以来,公钥加解密方法作为密码技术的一个重要组成部分,在网络安全等领域发挥着至关重要的作用。实际情况表明大部分的密码技术应用仍然以国外公钥加解密方法为核心。为实现公钥加解密方法的自主可控,国家密码管理局于2010年12月颁布了《SM2椭圆曲线公钥密码算法》规范,正式提出了一系列国产商用SM2椭圆曲线公钥密码方法。其中,第四部分于2012年3月被公布,并作为一项行业标准(行标号:GM/T 0003.4-2012;标准名称:SM2椭圆曲线公钥密码算法第4部分:公钥加密算法;完成单位:北京华大信安科技有限公司、北京华大信安科技有限公司、中国人民解放军信息工程大学、中国科学院数据与通信保护研究教育中心;发布日期:2012年3月21日),提出了一个SM2椭圆曲线公钥加解密方法;该方法被认为具有优于其他椭圆曲线加解密方法以及国外公钥加解密方法的安全性,并在效率上具备显著的优势。
在SM2公钥加解密方法当中,密文为
Figure BDA0003819473770000011
Figure BDA0003819473770000012
其中t=KDF(x2||y2,klen)、(x2,y2)=[k]PB。根据倍乘计算的性质,假设P=[k]G和新的随机数k′,可以得到P′=[k′]P=[k′][k]G=[k′k]G,由此可见密文的第一元素C1是可以具有重随机性的;对密文进行重随机的操作通常部署在第三方,而第三方只能知道公钥、公开信息和密文,并不知道被加密的明文信息M,因此在第二元素C2中,第三方无法计算原始用于密文计算的临时第三变量t,从而无法利用
Figure BDA0003819473770000013
的方式进行重随机,其中t′=KDF(x′2||y′2,klen)和重随机的[k′]PB=(x′2,y′2);对于第三元素C3,第三方由于缺少被加密的明文信息M,即使能够计算得到[k′]PB=(x′2,y′2),也无法计算与密文的第一元素C1相适应的、合适的H(x′2||M||y′2)。综上所述,SM2公钥加解密方法的密文无法支持可重随机。
2014年后,受斯诺登事件的影响,学术界对算法替代攻击及其相关领域展开了一系列的研究;为了抵抗这类攻击带来的破坏力,多种防护手段被提出,其中对密文进行重随机保护是目前已有研究中可行且有效的一种防护手段。不仅如此,在匿名通信领域中,生成的密文不应该告诉对手任何有关底层公钥的信息,这种特性在面向隐私的应用中是至关重要的,这类应用要求密文具有可重随机性。总的来说,能够支持密文可重随机的加解密方法在许多领域都有着不可或缺的重要性。尽管,诸多具有可重随机性的公钥加解密方法已被提出,但均以国外加解密方法为基础,我国自主可控的SM2公钥加解密方法也在上述讨论中被证明了不支持可重随机性。为满足我国密码技术自主可控的需求,在国产商用加解密方法的基础上设计具有可重随机性的公钥加解密方法是亟待解决的重要问题。
针对上述问题,本发明以国产商用的SM2椭圆曲线公钥加解密方法为基础,设计一种具有可重随机性的公钥加解密方法,旨在实现支持可重随机的国产公钥加解密方法以及该类方法的自主可控。
发明内容
有鉴于此,本发明的目的在于提供一种基于SM2的具有可重随机性的公钥加解密方法,解决SM2公钥加解密方法的密文无法实现可重随机的问题,实现可重随机公钥加解密方法的国内自主可控。
本发明采用的技术方案是:
S1:构建公钥加解密系统。该系统中有三个角色,分别为发送方、接收方和可信第三方。加解密系统包括密钥生成模块、加密模块、解密模块和重随机模块;其中密钥生成模块和解密模块部署在接收方,加密模块部署在发送方加密模块,而重随机模块部署在可信第三方。
S2:接收方运行密钥生成模块生成公钥pk和私钥sk,将公钥pk以及公开信息params通过公开安全信道发送给发送方和可信第三方。具体流程如下:
S2.1输入安全参数1λ,1λ表示长度为λ的比特串,意味着λ比特的安全强度;在特征为q的有限域Fq中基于非奇异椭圆曲线E(Fq):y2≡x3+ax+b mod q确定一个n阶的椭圆曲线循环群
Figure BDA0003819473770000021
Figure BDA0003819473770000022
中的元素为椭圆曲线上点的坐标(x,y),其中n,q为大素数;根据美国国家标准与技术研究院标准(NIST Recommendat ions(2020);网址:https://www.keylength.com/en/4/):当n的数量级达到2160时,对应加解密方法能达到的安全性等级为80比特,此时解密方至少需要进行280次的运算才能够破解,即输入安全参数1λ中的λ=80时使用的n阶椭圆曲线群
Figure BDA0003819473770000026
中的n需要达到2160数量级;
S2.2从集合[1,n-1]中选取两个随机数dB和dC
S2.3计算公钥第一元素PB=[dB]P,公钥第二元素PC=[dC]P,[d]P表示椭圆曲线循环群
Figure BDA0003819473770000023
中生成元P的d倍点,即为d-1次P与P的点加法,公式化表示为
Figure BDA0003819473770000024
其中d为正整数,点加法的具体过程如下:
S2.3.1令椭圆曲线上的坐标元素g1=(x1,y1)和g2=(x2,y2);
S2.3.2计算g1和g2之间的斜率k12。若g1=g2,则
Figure BDA0003819473770000025
其中a为S2.1中椭圆曲线的参数,该斜率为经过g1与椭圆曲线相切的切线的斜率;若g1≠g2,则k12=(y1-y2)/(x1-x2);
S2.3.3计算g1和g2相加之后的横坐标
Figure BDA0003819473770000031
g1和g2相加之后的纵坐标y3=k12(x1-x3)-y1
S2.3.4返回点加法结果(x3,y3)。
S2.4构造三个映射函数
Figure BDA0003819473770000032
三个映射函数
Figure BDA0003819473770000033
的输入与输出均为群
Figure BDA0003819473770000034
中的元素,且映射关系均为满射,构造过程如下:
S2.4.1选择一个输出大于等于256比特的杂凑函数H(*),杂凑函数的输入为任意比特串,其中
Figure BDA0003819473770000035
的三个映射函数选择的杂凑函数分别是SHA-512函数、SHA-256函数、SHA-384函数(均为美国标准与技术研究所NIST公布);
S2.4.2输入群
Figure BDA0003819473770000036
中的元素g=(x,y),计算临时哈希值h=H(x||y)mod q;
S2.4.3计算临时变量yy≡h3+ah+b mod q;
S2.4.4利用拉格朗日定理判断二次剩余,其中拉格朗日定理为:若q是一个素数,计算
Figure BDA0003819473770000037
如果计算结果为1,为二次剩余,反之则为二次非剩余;
S2.4.5若yy为q的二次剩余,则计算
Figure BDA0003819473770000038
转S2.4.6;若yy为q的二次非剩余,计算新的临时哈希值h′≡H(h)mod q,令h=h′,转S2.4.3;
S2.4.6输出映射结果为点G=(h,y)。
S2.5将(dB,dC)组成私钥sk,将(PB,PC)组成公钥pk,将
Figure BDA0003819473770000039
组成公开信息params;
S2.6将公钥pk以及公开信息params通过公开安全信道发送给发送方和可信第三方。
S3:发送方使用公钥pk和公开信息params,运行加密模块将需加密的消息生成原始密文,并将原始密文发送给可信第三方。具体流程如下:
S3.1输入需加密的信息
Figure BDA00038194737700000310
S3.2从群
Figure BDA00038194737700000311
中随机选取一个元素R;
S3.3利用第一个映射函数
Figure BDA00038194737700000312
计算临时第一变量
Figure BDA00038194737700000313
S3.4利用第二个映射函数
Figure BDA00038194737700000314
计算临时第二变量
Figure BDA00038194737700000315
S3.5利用第三个映射函数
Figure BDA00038194737700000316
计算临时第三变量
Figure BDA00038194737700000317
S3.6从集合[1,n-1]中选取一个随机数w;
S3.7计算原始密文第一元素
Figure BDA00038194737700000318
原始密文第二元素
Figure BDA00038194737700000319
原始密文第三元素
Figure BDA00038194737700000320
S3.8将
Figure BDA00038194737700000324
组成原始密文
Figure BDA00038194737700000325
并将原始密文
Figure BDA00038194737700000326
发送给可信第三方。
S4:可信第三方使用公开信息params运行重随机模块,对S3生成的原始密文
Figure BDA00038194737700000321
进行重随机,将得到的新密文发送给接收方。具体流程如下:
S4.1将原始密文
Figure BDA00038194737700000322
解析成
Figure BDA00038194737700000323
S4.2从集合[1,n-1]中选取一个随机数w′;
S4.3计算新密文第一元素
Figure BDA0003819473770000041
新密文第二元素
Figure BDA0003819473770000042
Figure BDA0003819473770000043
新密文第三元素
Figure BDA0003819473770000044
S4.4将
Figure BDA0003819473770000045
组成新密文
Figure BDA0003819473770000046
将新密文
Figure BDA0003819473770000047
发送给接收方。
S5:接收方使用解密模块,通过私钥sk和公开信息params对收到的新密文
Figure BDA0003819473770000048
进行解密获取明文,并逆转换得到最终的消息。具体流程如下:
S5.1将新密文
Figure BDA0003819473770000049
解析成
Figure BDA00038194737700000410
S5.2计算临时第四变量
Figure BDA00038194737700000411
S5.3计算临时第五变量
Figure BDA00038194737700000412
S5.4利用第三个映射函数
Figure BDA00038194737700000413
计算临时第六变量
Figure BDA00038194737700000414
S5.5利用第二个映射函数
Figure BDA00038194737700000415
计算临时第七变量
Figure BDA00038194737700000416
S5.6利用第一个映射函数
Figure BDA00038194737700000417
计算明文结果
Figure BDA00038194737700000418
S5.7判断计算明文结果M′是否等于初始明文M,若不相等,则密文不合法,输出“密文不合法”消息,转S6;若相等,则解密结果为M,转S6。
S6:公钥加解密系统结束运行。
采用本发明可以得到如下效果:
1.本发明由于S4.2和S4.3的存在,保证了公钥加解密方法的可重随机性,可信第三方仅需要原始密文信息以及加解密系统的公开信息即可使用重随机模块对原始密文进行重随机。可重随机性具体表现为:在S4.2中,可信第三方将为新的密文从集合[1,n-1]中随机选取一个随机数w′;在S4.3中,可信第三方利用该随机数w′,重新计算新密文中的三个元素,第一元素
Figure BDA00038194737700000419
第二元素
Figure BDA00038194737700000420
第三元素
Figure BDA00038194737700000421
相比于原SM2公钥加密方法,本发明通过密钥生成方法和加密方法的修改,使得密文具备了可重随机性。
2.本发明由于S4.3和S5.2、S5.3的存在,保证了公钥加解密方法对于重随机后的新密文的正确解密,体现新密文的有效性。有效性具体表现为:在S4.3中,根据S3.7和S4.3的计算公式,第一元素可表示为
Figure BDA00038194737700000422
第二元素可表示为
Figure BDA00038194737700000423
第三元素可表示为
Figure BDA00038194737700000424
Figure BDA00038194737700000425
在S5.2中,计算
Figure BDA00038194737700000426
Figure BDA00038194737700000427
在S5.3中,计算
Figure BDA00038194737700000428
Figure BDA00038194737700000429
由此看出,新旧密文虽然发生了形式上的变化,但仍然能计算出正确的U和T用于后续S5.4-S5.7的计算当中,不影响解密的正确性,使得本发明的可重随机性在运算过程中是正确的。
本发明的密文可以通过本身的元素以及加解密系统的公开信息进行重随机运算,而不改变密文的有效性以及其底层中的明文。在实际应用中,该特性使得运行重随机模块的可信第三方不需要提前进行配置即可对收到的密文进行重随机处理;但为了能实现可重随机性,在本发明中增加了椭圆曲线上的点的操作数,导致部分性能上的缺失。
附图说明
图1是本发明构建的加解密系统的逻辑结构图;
图2是本发明的流程图。
具体实施方式:
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在本实施例中,采用的符号及定义,具体如下:
q,n:大素数。
Fq:特征为q的有限域。
E(Fq):在有限域Fq中由
Figure BDA0003819473770000051
定义的一条椭圆曲线。
Figure BDA0003819473770000052
集合{1,2,…,n}中与元素q互素的元素构成子集合。
a,b:集合
Figure BDA0003819473770000053
中的元素,用于确定椭圆曲线。
Figure BDA0003819473770000054
阶为n的椭圆曲线循环群。
P:群
Figure BDA0003819473770000055
中随机选取的某个生成元。
[d]P:椭圆曲线循环群
Figure BDA0003819473770000056
中元素P的d倍点;公式化表示为
Figure BDA0003819473770000057
Figure BDA0003819473770000058
其中d为正整数。
x||y:数值x和数值y的转化成二进制比特串的拼接。
Figure BDA0003819473770000059
三个输入输出均为群
Figure BDA00038194737700000510
中元素的映射函数。
Params:全局公开信息。
pk:接收方的公钥。
sk:接收方的私钥。
M:群
Figure BDA00038194737700000511
中的某个元素,由消息转化得到。
Figure BDA00038194737700000512
发送方使用公钥以及加密模块生成的密文。
Figure BDA00038194737700000513
经过可信第三方重随机后,接收方想要解密的密文。
如图2所示为一种基于SM2的具有可重随机性的公钥加解密方法的流程图。
在Windows 10家庭中文版(64位)、英特尔酷睿i7-8750H处理器,12G内存、Python3.6.15的环境下,基于tinyec.ec的代码库使用本发明与SM2公钥加解密方法分别处理大小为1Kb(1Kb=1024b)的明文,其中明文采用的是随机生成的比特串。其中,椭圆曲线使用的参数为SM2推荐参数(行标号:GM/T 0003.5-2012;标准名称:SM2椭圆曲线公钥密码算法第5部分:参数定义;完成单位:北京华大信安科技有限公司、北京华大信安科技有限公司、中国人民解放军信息工程大学、中国科学院数据与通信保护研究教育中心;发布日期:2012年3月21日):a=0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC,b=0x28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93,素数q=0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF,n=0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123,生成元P=(xP,yP)=(0x32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7,0xBC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0)。产生的对比效果如表1所示:
表1.SM2公钥加解密方法与本发明方法的对比效果
Figure BDA0003819473770000061
其中加密、解密和重随机时间均为分别重复运行1000次后取平均值得到的。
从上表中可以看出,相比于SM2公钥加解密方法,虽然本发明公钥大小为原方法的两倍,但在密文大小方面具有一定程度的优势(本发明的密文大小减小了12.8%);在加密模块操作数方面,SM2公钥加解密方法有2次倍乘和2次函数处理,本发明有3次倍乘、5次点加法以及3次函数处理,而对于解密模块,SM2公钥加解密方法仅仅需要1次倍乘和2次函数处理,本发明需要2次倍乘、5次点加法以及3次函数处理,导致整体的加密时间和解密时间约为原方法的两倍,但是本发明拥有SM2公钥加解密方法不具备的可重随机性,可以看出本发明为了可重随机性牺牲了一部分原本SM2公钥加解密方法具备的性能优势。

Claims (3)

1.一种基于SM2的具有可重随机性的公钥加解密方法,其特征在于,该方法分为以下步骤:
S1:构建公钥加解密系统,该系统中有三个角色,分别为发送方、接收方和可信第三方;加解密系统包括密钥生成模块、加密模块、解密模块和重随机模块;其中密钥生成模块和解密模块部署在接收方,加密模块部署在发送方加密模块,而重随机模块部署在可信第三方;
S2:接收方运行密钥生成模块生成公钥pk和私钥sk,将公钥pk以及公开信息params通过公开安全信道发送给发送方和可信第三方;具体流程如下:
S2.1输入安全参数1λ,1λ表示长度为λ的比特串,意味着λ比特的安全强度;在特征为q的有限域Fq中基于非奇异椭圆曲线E(Fq):y2≡x3+ax+b mod q确定一个n阶的椭圆曲线循环群
Figure FDA0003819473760000011
Figure FDA0003819473760000012
中的元素为椭圆曲线上点的坐标(x,y),其中n,q为大素数;
S2.2从集合[1,n-1]中选取两个随机数dB和dC
S2.3计算公钥第一元素PB=[dB]P,公钥第二元素PC=[dC]P,[d]P表示椭圆曲线循环群
Figure FDA0003819473760000013
中生成元P的d倍点,即为d-1次P与P的点加法,公式化表示为
Figure FDA0003819473760000014
其中d为正整数,点加法的具体过程如下:
S2.3.1令椭圆曲线上的坐标元素g1=(x1,y1)和g2=(x2,y2);
S2.3.2计算g1和g2之间的斜率k12,若g1=g2,则
Figure FDA0003819473760000015
其中a为S2.1中椭圆曲线的参数,该斜率为经过g1与椭圆曲线相切的切线的斜率;若g1≠g2,则k12=(y1-y2)/(x1-x2);
S2.3.3计算g1和g2相加之后的横坐标
Figure FDA0003819473760000016
g1和g2相相之后的纵坐标y3=k12(x1-x3)-y1
S2.3.4返回点加法结果(x3,y3);
S2.4构造三个映射函数
Figure FDA0003819473760000017
三个映射函数
Figure FDA0003819473760000018
的输入与输出均为群
Figure FDA0003819473760000019
中的元素,且映射关系均为满射,构造过程如下:
S2.4.1选择一个输出大于等于256比特的杂凑函数H(*),杂凑函数的输入为任意比特串,其中
Figure FDA00038194737600000110
的三个映射函数选择的杂凑函数分别是SHA-512算法、SHA-256算法、SHA-384算法;
S2.4.2输入群
Figure FDA00038194737600000111
中的元素g=(x,y),计算临时哈希值h=H(x||y)mod q;
S2.4.3计算临时变量yy≡h3+ah+b mod q;
S2.4.4利用拉格朗日定理判断二次剩余,其中拉格朗日定理为:若q是一个素数,计算
Figure FDA0003819473760000021
如果计算结果为1,为二次剩余,反之则为二次非剩余;
S2.4.5若yy为q的二次剩余,则计算
Figure FDA0003819473760000022
转S2.4.6;若yy为q的二次非剩余,计算新的临时哈希值h′≡H(h)mod q,令h=h′,转S2.4.3;
S2.4.6输出映射结果为点G=(h,y);
S2.5将(dB,dC)组成私钥sk,将(PB,PC)组成公钥pk,将
Figure FDA0003819473760000023
Figure FDA0003819473760000024
组成公开信息params;
S2.6将公钥pk以及公开信息params通过公开安全信道发送给发送方和可信第三方;
S3:发送方使用公钥pk和公开信息params,运行加密模块将需加密的消息生成原始密文,并将原始密文发送给可信第三方;具体流程如下:
S3.1输入需加密的信息
Figure FDA0003819473760000025
S3.2从群
Figure FDA0003819473760000026
中随机选取一个元素R;
S3.3利用第一个映射函数
Figure FDA0003819473760000027
计算临时第一变量
Figure FDA0003819473760000028
S3.4利用第二个映射函数
Figure FDA0003819473760000029
计算临时第二变量
Figure FDA00038194737600000210
S3.5利用第三个映射函数
Figure FDA00038194737600000211
计算临时第三变量
Figure FDA00038194737600000212
S3.6从集合[1,n-1]中选取一个随机数w;
S3.7计算原始密文第一元素ζ1=[w]P,原始密文第二元素ζ2=[w]PB+U,原始密文第三元素ζ3=[w]PC+T,
Figure FDA00038194737600000213
S3.8将ζ1,ζ2,ζ3组成原始密文ζ,并将原始密文ζ发送给可信第三方;
S4:可信第三方使用公开信息params运行重随机模块,对S3生成的原始密文ζ进行重随机,将得到的新密文发送给接收方;具体流程如下:
S4.1将原始密文ζ解析成(ζ1,ζ2,ζ3);
S4.2从集合[1,n-1]中选取一个随机数w′;
S4.3计算新密文第一元素ζ1′=ζ1+[w′]P,新密文第二元素ζ2′=ζ2+[w′]PB,新密文第三元素ζ3′=ζ3+[w′]PC
Figure FDA00038194737600000214
S4.4将ζ1′,ζ2′,ζ3′组成新密文ζ′,将新密文ζ′发送给接收方;
S5:接收方使用解密模块,通过私钥sk和公开信息params对收到的新密文ζ′进行解密获取明文,并逆转换得到最终的消息;具体流程如下:
S5.1将新密文ζ′解析成(ζ1′,ζ2′,ζ3′);
S5.2计算临时第四变量U′=ζ2′-[dB1′;
S5.3计算临时第五变量T′=ζ3′-[dC1′;
S5.4利用第三个映射函数
Figure FDA0003819473760000031
计算临时第六变量
Figure FDA0003819473760000032
S5.5利用第二个映射函数
Figure FDA0003819473760000033
计算临时第七变量
Figure FDA0003819473760000034
S5.6利用第一个映射函数
Figure FDA0003819473760000035
计算明文结果
Figure FDA0003819473760000036
S5.7判断计算明文结果M′是否等于初始明文M,若不相等,则密文不合法,输出“密文不合法”消息,转S6;若相等,则解密结果为M,转S6;
S6:公钥加解密系统结束运行。
2.一种根据权利要求1所述基于SM2的具有可重随机性的公钥加解密方法,其特征在于:S2.1中,输入安全参数1λ中的λ=80时使用的n阶椭圆曲线群
Figure FDA0003819473760000037
中的n需要达到2160数量级。
3.一种根据权利要求1所述基于SM2的具有可重随机性的公钥加解密方法,其特征在于:椭圆曲线使用的参数如下:a=0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC,b=0x28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93,素数q=0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF,n=0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123,生成元P=(xP,yP)=(0x32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7,0xBC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0)。
CN202211039643.8A 2022-08-29 2022-08-29 一种基于sm2的具有可重随机性的公钥加解密方法 Active CN115412239B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211039643.8A CN115412239B (zh) 2022-08-29 2022-08-29 一种基于sm2的具有可重随机性的公钥加解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211039643.8A CN115412239B (zh) 2022-08-29 2022-08-29 一种基于sm2的具有可重随机性的公钥加解密方法

Publications (2)

Publication Number Publication Date
CN115412239A true CN115412239A (zh) 2022-11-29
CN115412239B CN115412239B (zh) 2024-04-19

Family

ID=84161311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211039643.8A Active CN115412239B (zh) 2022-08-29 2022-08-29 一种基于sm2的具有可重随机性的公钥加解密方法

Country Status (1)

Country Link
CN (1) CN115412239B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115842683A (zh) * 2023-02-20 2023-03-24 中电装备山东电子有限公司 一种用于用电信息采集系统通信的签名生成方法
CN116032490A (zh) * 2023-01-09 2023-04-28 郑州轻工业大学 一种基于改进SM2算法的Fabric区块链构建方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011716A (zh) * 2016-10-31 2018-05-08 航天信息股份有限公司 一种密码装置及实现方法
CN111835766A (zh) * 2020-07-14 2020-10-27 中国人民解放军国防科技大学 一种可重随机的公钥加解密方法
CN112737783A (zh) * 2019-10-28 2021-04-30 航天信息股份有限公司 一种基于sm2椭圆曲线的解密方法及设备
WO2022155811A1 (zh) * 2021-01-20 2022-07-28 深圳技术大学 多接收者代理重加密方法、系统、电子装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011716A (zh) * 2016-10-31 2018-05-08 航天信息股份有限公司 一种密码装置及实现方法
CN112737783A (zh) * 2019-10-28 2021-04-30 航天信息股份有限公司 一种基于sm2椭圆曲线的解密方法及设备
CN111835766A (zh) * 2020-07-14 2020-10-27 中国人民解放军国防科技大学 一种可重随机的公钥加解密方法
WO2022155811A1 (zh) * 2021-01-20 2022-07-28 深圳技术大学 多接收者代理重加密方法、系统、电子装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈荣茂等: "SM2 密码算法密钥渗漏分析", 《密码学报》, vol. 8, no. 4, 31 December 2021 (2021-12-31), pages 685 - 691 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116032490A (zh) * 2023-01-09 2023-04-28 郑州轻工业大学 一种基于改进SM2算法的Fabric区块链构建方法
CN116032490B (zh) * 2023-01-09 2023-10-03 郑州轻工业大学 一种基于改进SM2算法的Fabric区块链构建方法
CN115842683A (zh) * 2023-02-20 2023-03-24 中电装备山东电子有限公司 一种用于用电信息采集系统通信的签名生成方法
CN115842683B (zh) * 2023-02-20 2023-07-07 中电装备山东电子有限公司 一种用于用电信息采集系统通信的签名生成方法

Also Published As

Publication number Publication date
CN115412239B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
Sobti et al. Cryptographic hash functions: a review
Wang et al. HCTR: A variable-input-length enciphering mode
JP4712017B2 (ja) ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法
KR100930577B1 (ko) 스트림 암호를 이용한 메시지 인증 코드 생성 방법과스트림 암호를 이용한 인증 암호화 방법 및 스트림 암호를이용한 인증 복호화 방법
Zeng et al. A new kind of conditional proxy re-encryption for secure cloud storage
Mendel et al. Rebound attacks on the reduced Grøstl hash function
CN115412239A (zh) 一种基于sm2的具有可重随机性的公钥加解密方法
AlAhmad et al. Broad view of cryptographic hash functions
Chen et al. Witness-based searchable encryption with optimal overhead for cloud-edge computing
Sahu et al. Cryptanalytic Attacks on International Data Encryption Algorithm Block Cipher.
Noura et al. Overview of efficient symmetric cryptography: dynamic vs static approaches
Settia Cryptanalysis of modern cryptographic algorithms
Mi et al. A post-quantum light weight 1-out-n oblivious transfer protocol
Ping et al. RSA encryption and digital signature
JP3517663B2 (ja) 暗号通信方法及び暗号通信システム
CN113901506B (zh) 一种支持密态下多方私有数据操作的后量子加密方法
Abutaha et al. New one way hash algorithm using non-invertible matrix
Backes et al. Fully secure inner-product proxy re-encryption with constant size ciphertext
Chahar et al. Design of a new Security Protocol
Jia et al. A new integer FPE scheme based on Feistel network
Fan et al. Key-aggregate proxy re-encryption with dynamic condition generation using multilinear map
Jasmin et al. Enhancing the security in signature verification for wsn with cryptographic algorithm
CN111756539B (zh) 一种可重随机的标识加解密方法
Hraiz et al. Symmetric encryption algorithm using graph representation
Wei et al. Guess and Determine Attacks on Filter Generators—Revisited

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant