CN115174057B - 一种基于sm2签名的在线离线签名生成方法及*** - Google Patents
一种基于sm2签名的在线离线签名生成方法及*** Download PDFInfo
- Publication number
- CN115174057B CN115174057B CN202210725592.8A CN202210725592A CN115174057B CN 115174057 B CN115174057 B CN 115174057B CN 202210725592 A CN202210725592 A CN 202210725592A CN 115174057 B CN115174057 B CN 115174057B
- Authority
- CN
- China
- Prior art keywords
- signature
- message
- offline
- key
- online
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 241000122205 Chamaeleonidae Species 0.000 claims abstract description 21
- 238000012795 verification Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于SM2签名的在线离线签名生成方法及***,此方案利用变色龙哈希,对消息进行哈希,然后再进行操作得到最终签名。离线阶段对于变色龙哈希值进行签名,在线阶段使得消息m的变色龙哈希同离线阶段的值相同,从而可以使得SM2签名能够支持在线离线功能。本发明具有安全性高、功能完善等优点,可以使得SM2签名具有在线离线签名的功能。能够被应用于轻量级签名场景下,例如应用于手机、便捷式电脑等环境中。
Description
技术领域
本发明属于信息安全技术领域,特别是一种基于SM2签名的在线离线签名生成方法及***。
背景技术
数字签名是一种重要的密码方案,它通过某种密码运算生成消息数字签名,来代替书写签名或***。在这些方案中,每个用户将生成一个(私有)签名密钥和一个(公共)验证密钥。用户使用私人签名密钥为消息签名,并且任何人都可以使用签名者的公共验证密钥对签名者进行身份验证并验证消息。如果任何知道用户的公钥而不知道用户的私钥的攻击者都不能伪造新消息上的签名,则签名方案将被认为是安全的。
SM2是国家密码管理局于2010年12月颁布的一种椭圆曲线公钥密码算法(参见《SM2椭圆曲线公钥密码算法》规范)。SM2主要包括三部分:签名算法、密钥交换算法、加密算法。基于此算法能实现数字签名、密钥交换以及数据加密。
本专利设计了一种基于SM2签名的在线离线签名生成方法及***,此方案利用变色龙哈希,对消息进行哈希,然后再进行操作得到最终签名。离线阶段对于变色龙哈希值进行签名,在线阶段使得消息m的变色龙哈希同离线阶段的值相同,从而可以使得SM2签名能够支持在线离线功能。
发明内容
本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种基于SM2签名的在线离线签名生成方法,其特征在于,基于***参数、用户私钥、陷门密钥、消息获取在线签名或离线签名,具体是利用陷门哈希函数对给定消息进行散列,然后使用给定的签名方案对哈希值进行签名;利用变色龙哈希,离线阶段对于变色龙哈希值进行签名,在线阶段使得消息m的变色龙哈希同离线阶段的值相同。
在上述的方法,离线阶段签名时,给定***参数PP、用户A的私钥d、陷门密钥t、消息m;
用户A随机选取计算(xe,ye)=e=w·G;选取/>计算(x1,y1)=k·G,计算r=(xe+x1)mod q;s=((1+d)-1·(k-r·d))mod q;
输出关于消息m的离线签名值
在上述的方法,在线阶段签名时,给定***参数PP、用户A的私钥d、陷门密钥t、消息m;
用户A计算
输出关于消息m的最终签名值σ=(r,s,c)。
在上述的方法,在线签名或离线签名之前,进行***初始化和密钥生成,其中,***初始化是基于安全参数,生成***参数,具体是
给定安全参数1n,选择一个有限域生成椭圆曲线方程y2=x3+ax+b mod p,满足方程的点构成一个阿贝尔群/>
随机选取一个生成元其阶为q;
输出***参数
在上述的方法,密钥生成时,
给定***参数PP,用户A随机选取计算公钥PA=d·G;
输出公私钥对(PA,d);随机选取计算T=t·G;
输出变色龙哈希的公开哈希密钥T,陷门密钥t。
在上述的方法,在线签名或离线签名后,进行签名验证,具体是
给定***参数PP、消息m、签名值σ=(r,s,c),验证者验证如果不成立,则验证不通过;
依次计算(xe,ye)=e=H(m)·G+c·T;(x1,y1)=s·G+(r+s)·PA;R=(xe+x1)modq;
验证等式R=r是否成立,若成立,则是合法签名;反之,则验证不通过。
一种***,其特征在于,该***被配置为能够基于***参数、用户私钥、陷门密钥、消息获取在线签名或离线签名,具体是利用陷门哈希函数对给定消息进行散列,然后使用给定的签名方案对哈希值进行签名;利用变色龙哈希,离线阶段对于变色龙哈希值进行签名,在线阶段使得消息m的变色龙哈希同离线阶段的值相同。
因此,本发明具有如下优点:目前已有的在线离线签名算法主要基于国际算法来设计,缺乏基于我国商用密码标准的在线离线签名算法,本发明具有安全性高、功能完善等优点,可以使得SM2签名具有在线离线签名的功能。能够被应用于轻量级签名场景下,例如应用于手机、便捷式电脑等环境中。
附图说明
附图1是本发明的方法流程图;
附图2是本发明的签名生成和验证流程图;
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:
本发明涉及的参数定义如下:
n:安全参数长度。
a,b:椭圆曲线参数。
PP:***参数。
阶为素数q的椭圆曲线群,元素为椭圆曲线上的点。
包含p个元素的素域。循环群/>的一个生成元。
p:有限域的元素个数。
q:循环群的阶。
由整数1,2,...,q-1组成的整数集合。
PA:用户A的公钥。
T:公开哈希密钥。
d:用户A的私钥。
t:陷门密钥。
mod q:模q运算。
H:密码杂凑函数,
m:消息值。
w,k:中间变量,为随机数。
(r,s):离线签名值。
(r,s,c):最终签名值。
图1为本发明实施的方法流程图。该方法包含以下步骤:
S1:基于安全参数,生成***参数。
S2:用户选取随机数,生成公私钥对、公开哈希密钥、陷门密钥。
S3:基于***参数、用户私钥、陷门密钥、消息获取在线签名或离线签名。
S4:基于***参数、消息、签名值对签名进行验证。
针对本发明的目的,本发明提出了一种基于SM2签名的在线离线签名生成方法及***,下面给出具体描述。
具体方案流程如下所示:
1)***初始化:给定安全参数1n,执行以下步骤:
a)选择一个有限域生成椭圆曲线方程y2=x3+ax+b mod p,满足方程的点构成一个阿贝尔群/>
b)随机选取一个生成元其阶为q。
c)输出***参数
2)密钥生成:给定***参数PP,一个用户A执行以下步骤:
a)随机选取计算公钥PA=d·G。
b)输出公私钥对(PA,d)。
c)随机选取计算T=t·G。
d)输出变色龙哈希的公开哈希密钥T,陷门密钥t。
签名:给定***参数PP、用户A的私钥d、陷门密钥t、消息m,如图2所示,用户A执行以下步骤:
离线阶段:
e)随机选取计算(xe,ye)=e=w·G。
f)随机选取计算(x1,y1)=k·G,
g)计算r=(xe+x1)mod q。
h)计算s=((1+d)-1·(k-r·d))mod q。
i)输出关于消息m的离线签名值
在线阶段:
a)计算
b)输出关于消息m的最终签名值σ=(r,s,c)。
3)验证:给定***参数PP、消息m、签名值σ=(r,s,c),如图2所示,验证者执行以下步骤:
a)验证如果不成立,则验证不通过。
b)计算(xe,ye)=e=H(m)·G+c·T。
c)计算(x1,y1)=s·G+(r+s)·PA。
d)计算R=(xe+x1)mod q。
e)验证等式R=r是否成立,若成立,则是合法签名;反之,则验证不通过。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (2)
1.一种基于SM2签名的在线离线签名生成方法,其特征在于,基于***参数、用户私钥、陷门密钥、消息获取在线签名或离线签名,具体是利用陷门哈希函数对给定消息进行散列,然后使用给定的签名方案对哈希值进行签名;利用变色龙哈希,离线阶段对于变色龙哈希值进行签名,在线阶段使得消息m的变色龙哈希同离线阶段的值相同;
离线阶段签名时,给定***参数PP、用户A的私钥d、陷门密钥t、消息m;
用户A随机选取计算(xe,ye)=e=w·G;选取/>计算(x1,y1)=k·G,
计算r=(xe+x1)mod q;s=((1+d)-1·(k-r·d))mod q;
输出关于消息m的离线签名值
在线阶段签名时,给定***参数PP、用户A的私钥d、陷门密钥t、消息m;
用户A计算
输出关于消息m的最终签名值σ=(r,s,c);
在线签名或离线签名之前,进行***初始化和密钥生成,其中,***初始化是基于安全参数,生成***参数,具体是
给定安全参数1n,选择一个有限域生成椭圆曲线方程y2=x3+ax+b mod p,满足方程的点构成一个阿贝尔群/>
随机选取一个生成元其阶为q;
输出***参数
密钥生成时,
给定***参数PP,用户A随机选取计算公钥PA=d·G;
输出公私钥对(PA,d);随机选取计算T=t·G;
输出变色龙哈希的公开哈希密钥T,陷门密钥t;
在线签名或离线签名后,进行签名验证,具体是
给定***参数PP、消息m、签名值σ=(r,s,c),验证者验证如果不成立,则验证不通过;
依次计算(xe,ye)=e=H(m)·G+c·T;(x1,y1)=s·G+(r+s)·PA;
R=(xe+x1)mod q;
验证等式R=r是否成立,若成立,则是合法签名;反之,则验证不通过。
2.一种***,适用于权利要求1所述的方法,其特征在于,该***被配置为能够基于***参数、用户私钥、陷门密钥、消息获取在线签名或离线签名,具体是利用陷门哈希函数对给定消息进行散列,然后使用给定的签名方案对哈希值进行签名;利用变色龙哈希,离线阶段对于变色龙哈希值进行签名,在线阶段使得消息m的变色龙哈希同离线阶段的值相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210725592.8A CN115174057B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm2签名的在线离线签名生成方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210725592.8A CN115174057B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm2签名的在线离线签名生成方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174057A CN115174057A (zh) | 2022-10-11 |
CN115174057B true CN115174057B (zh) | 2024-06-11 |
Family
ID=83488193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210725592.8A Active CN115174057B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm2签名的在线离线签名生成方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174057B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108783A (en) * | 1998-02-11 | 2000-08-22 | International Business Machines Corporation | Chameleon hashing and signatures |
CN110086631A (zh) * | 2019-04-29 | 2019-08-02 | 电子科技大学 | 一种可更新变色龙哈希函数的方法 |
WO2022071889A1 (en) * | 2020-10-01 | 2022-04-07 | Singapore University Of Technology And Design | Methods and apparatus for message authentication |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086599B (zh) * | 2019-04-24 | 2021-01-08 | 电子科技大学 | 基于同态变色龙哈希函数的哈希计算方法及签密方法 |
-
2022
- 2022-06-23 CN CN202210725592.8A patent/CN115174057B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108783A (en) * | 1998-02-11 | 2000-08-22 | International Business Machines Corporation | Chameleon hashing and signatures |
CN110086631A (zh) * | 2019-04-29 | 2019-08-02 | 电子科技大学 | 一种可更新变色龙哈希函数的方法 |
WO2022071889A1 (en) * | 2020-10-01 | 2022-04-07 | Singapore University Of Technology And Design | Methods and apparatus for message authentication |
Non-Patent Citations (1)
Title |
---|
基于理想格的在线/离线签名方案;向新银;;密码学报;20170615(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115174057A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7533270B2 (en) | Signature schemes using bilinear mappings | |
Burnett et al. | A biometric identity based signature scheme | |
CN107248909B (zh) | 一种基于sm2算法的无证书安全签名方法 | |
US20140089670A1 (en) | Unique code in message for signature generation in asymmetric cryptographic device | |
CN110545279A (zh) | 兼具隐私和监管功能的区块链交易方法、装置及*** | |
JP2002543478A (ja) | 公開鍵を署名する方法とシステム | |
CN107911217B (zh) | 基于ecdsa算法协同生成签名的方法、装置和数据处理*** | |
CN112118111B (zh) | 一种适用于门限计算的sm2数字签名方法 | |
CN111010285B (zh) | 一种适用于轻量级客户端的sm2两方协同签名方法及介质 | |
CN110505061B (zh) | 一种数字签名算法及*** | |
EP2061178A1 (en) | Electronic signature system and electronic signature verifying method | |
Hwang et al. | An untraceable blind signature scheme | |
CN109064170B (zh) | 无可信中心的群签名方法 | |
CN116346328A (zh) | 一种数字签名方法、***、设备及计算机可读存储介质 | |
CN113032845B (zh) | 一种用于资源受限芯片的EdDSA签名实现方法和装置 | |
CN112989436B (zh) | 一种基于区块链平台的多重签名方法 | |
CN113032844B (zh) | 椭圆曲线的签名方法、验签方法和装置 | |
Chande et al. | An improvement of a elliptic curve digital signature algorithm | |
CN115174102B (zh) | 一种基于sm2签名的高效批量验证方法及*** | |
CN115174057B (zh) | 一种基于sm2签名的在线离线签名生成方法及*** | |
CN115174056B (zh) | 一种基于sm9签名的变色龙签名生成方法及装置 | |
CN111147240A (zh) | 一种有追溯能力的隐私保护方法及*** | |
CN110932866B (zh) | 一种基于sm2数字签名算法的环签名生成方法 | |
CN116318636A (zh) | 一种基于sm2的门限签名方法 | |
US11005656B2 (en) | Embedding information in elliptic curve base point |
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 |