CN101814989A - 用于散列到椭圆曲线的点上的方法和设备 - Google Patents
用于散列到椭圆曲线的点上的方法和设备 Download PDFInfo
- Publication number
- CN101814989A CN101814989A CN201010118103A CN201010118103A CN101814989A CN 101814989 A CN101814989 A CN 101814989A CN 201010118103 A CN201010118103 A CN 201010118103A CN 201010118103 A CN201010118103 A CN 201010118103A CN 101814989 A CN101814989 A CN 101814989A
- Authority
- CN
- China
- Prior art keywords
- group
- hashed value
- string
- elliptic curve
- point
- 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
Links
Images
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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
- H04L9/3073—Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种用于散列到椭圆曲线的点上的方法和设备。本发明涉及散列到群的元素上,具体地涉及散列到椭圆曲线的点上。通过诸如SHA-1和MD5之类的“常规”散列算法来运行输入消息,并将使用该输入消息作为与群的元素相乘的标量。该结果必须也是群的元素。优点在于,该散列算法的安全性与基础“常规”散列算法的安全性相同。本发明还提供了一种装置。
Description
技术领域
本发明总体涉及密码术,具体涉及散列到椭圆曲线的点上。
背景技术
本部分意在向读者介绍本领域中可能与下面描述和/或要求保护的本发明各个方面相关的各个方面。相信该讨论有助于向读者提供背景信息以便于更好地理解本发明的各个方面。相应地,应当理解,要从这种角度来阅读这些论述,而不是作为对现有技术的引入。
散列函数将消息(通常表示为串)作为输入并产生固定长度的散列值(也称作“消息摘要”或“数字指纹”)。更具体地,散列函数h将任意有限长度的比特串映射至固定长度(例如l个比特)的比特串上;散列值h(m)是输入串m的紧致表示。
对于密码应用来说,散列函数可以要求附加属性:
-抗前像性:给定输出v,找到散列为v的输入u(即,使得h(u)=v)在计算上是不可行的。
-抗第二图像性:给定一对u和v=h(u),找到散列为v的第二输入u’≠u(即,使得h(u’)=v=h(u))在计算上是不可行的。
-抗冲突性:找到散列为相同值的任何两个不同输入u和u’(即,使得h(u)=h(u’)同时u’≠u)在计算上是不可行的。
-随机预言:几种安全验证假定散列函数的输出充当随机预言。这是由M.Bellare和P.Rogaway在“Random Oracles are Practical:AParadigm for Designing Efficient Protocols”;in 1st ACM Conference onComputer and Communications Security,pages 62-73;ACM Press,1993中描述的所谓的随机预言模型。
在很多密码应用(包括数字签名)中使用散列函数,它们在现代加密算法的设计中扮演基本角色,并且它们可以用于构建消息认证码(MAC)。MAC是由秘密密钥K作为索引的函数hK的族。在例如FIPS198和FIPS 198-1(都称作“密钥散列消息认证码(HMAC)”)(联邦信息处理标准公布)中描述MAC,FIPS 198在2002年3月公布,FIPS198-1(草案,尚未批准)在2007年6月公布。
几种密码应用需要散列到椭圆曲线的点上。这包括基于标识的加密方案,例如由D.Boneh和M.Franklin在“Identity-Based Encryptionfrom the Weil Pairing”(SIAM Journal of Computing,32(3):586-615,2003)中描述的方案,其特征在于比传统的基于证书的密码术简单得多的公共密钥基础结构。这些方案使用椭圆曲线点上的双线性配对。具体地,所谓的“提取”步骤需要将任意有限串映射至给定椭圆曲线的点的散列函数。
可以从§VI.2of“A Course in Number Theory and Cryptography”by N.Koblitz,volume 114 of Graduate Texts in Mathematics,Springer-Verlag,2nd edition,1994中描述的技术获得一个这种方法。令K表示与最大“尝试”次数相对应的大整数,那么由于一次尝试成功的概率大约是0.5,因此该方法的失败概率大约是2-K。还令E表示由Weierstraβ方程给出的在有限域Fq上的椭圆曲线
E:y2+a1xy+a3y=x3+a2x2+a4x+a6
其中曲线参数ai∈Fq(1≤i≤6)。
由满足该Weierstraβ方程的对(x,y)以及被称作无穷远处的点的“特殊”点O来给出椭圆曲线E的点的集合。给定输入消息m,首先计算v=h(m),其中h:{0,1}*→{0,1}l是任何合适的散列函数(例如安全散列标准(SHA)族的散列函数),并且v被视作区间[0,2l-1]中的整数。对于每个j=1,2,...,K,定义m’j=vK+j。如果q>2lK,则在如此定义的整数m’j与使用多项式表示的Fq的元素集合之间存在一对一的对应关系。xj表示与m’j相对应的Fq-元素。然后,对于j=1,2,...,K,坐标x=xj并且进行尝试以求解Weierstraβ方程中的y。如果存在解,则将该解表示为yj。如果表示{1,...,k}中找到解的最小j,则这定义了
该方法的问题在于,通过旁路分析和故障分析,其泄露了与输入相关的信息。这可能破坏基础应用的安全性。这还引入了在输出分布中的某种偏向,这可能使基于随机预言模型的安全验证变为无效或变弱。此外,该方法的迭代特性引起某种无效。
因此,应当理解,需要一种散列到椭圆曲线的点上的散列方法,来克服现有技术的至少一些问题。本发明提供这种方法。
发明内容
在第一方面,本发明涉及一种用于将任意有限长度的串散列到群的元素上的方法。获得由将所述串映射至标量的第一散列算法产生的第一散列值。将所述标量的至少第一部分与所述群的预定第一元素相乘,以获得所述群的第二元素,输出所述群的所述第二元素。
在第一优选实施例中,所述群包括椭圆曲线的点。
在第二优选实施例中,通过计算来获得所述串的所述第一散列值,以获得所述标量。
在第三优选实施例中,所述群的所述第一元素是最大阶的元素。
在第四优选实施例中,所述方法还包括:在所述第一散列值的第二部分与所述群的预定第三元素之间执行标量乘法,以获得所述群的第四元素;以及将所述群的所述第二元素与所述群的所述第四元素相加,以获得所述群的第五元素。
在第二方面,本发明涉及一种用于将任意有限长度的串散列到群的元素上的设备。所述设备包括设备:用于获得由将所述串映射至标量的第一散列算法产生的第一散列值的装置;用于在所述第一散列值与所述群的预定第一元素之间执行标量乘法以获得所述群的第二元素的装置;以及用于输出所述群的所述第二元素的装置。
在第一优选实施例中,所述群包括椭圆曲线的点。
在第二优选实施例中,用于获得第一散列值的装置适于计算所述第一散列值。
在第三优选实施例中,所述群的所述第一元素是最大阶的元素。
在第三方面,本发明涉及一种包括所存储的指令在内的计算机程序产品,当处理器执行所述指令时,所述指令执行第一方面的任何所述实施例的方法。
附图说明
现在将参照附图,通过非限制性示例,来描述本发明的优选特征,附图中:
图1示出了根据本发明的优选实施例的设备。
具体实施方式
与迭代的现有技术解决方案相比,本发明采用根本上不同的用于散列到椭圆曲线的点上的方案。该方法从椭圆曲线的预定点开始,并依赖于群的特征:群的元素与标量之间的乘法自动给出通常不同的群元素。为了散列到椭圆曲线的点上,将常规散列算法的输出作为标量,并将椭圆曲线上的点作为群的元素。技术人员将理解,使用最大阶的元素作为预定点是有利的,这是由于其扩大了可能的输出的集合。
更具体地,令h:{0,1}*→{0,1}l表示将任意有限长度的比特串映射至长度l的比特串的常规散列函数。这种散列函数的示例是消息摘要5(MD5)以及SHA-1。还令E表示椭圆曲线,G表示其子群,并且P表示至少2l阶的G的点。那么,可以将根据本发明的优选实施例的散列方法定义为:
该散列函数是容易实施的,并映射至给定椭圆曲线上的点。此外,对于任何两个不同的输入消息m和m’,由于ord(P)≥2l,因此输入消息m和m’遵循当且仅当h(m)=h(m’)时,H(m)=H(m’)。因此,散列函数H的安全性与基础散列函数h的安全性相同。应当理解,由于针对散列函数和椭圆曲线的一般攻击是平方根攻击,因此,所提出的构建是最优的。
技术人员将理解,该方法可能有多种变型。例如,可以在乘法之后将群的一个或多个预定元素相加。另一种可能性是:在散列值与群中多个元素之间执行单独的标量乘法,然后将结果相加(尽管这与将标量与元素加法结果相乘是相同的,这是由于该加法产生另一元素)。
另一个可能性是:获得被分为n个(有利地是不同的)部分的标量散列值,在这些部分与群的n个不同元素之间执行标量乘法,然后将结果相加。换言之(示出了n=2的变型):h(m)=h1||h2并且H(m)=[h1]P1+[h2]P2,其中P1和P2是群中的元素。
图1示出了根据本发明的优选实施例的设备。设备100包括适于与其他设备(未示出)进行通信的至少一个接口单元110、至少一个处理器120以及适于存储数据(例如中间计算结果)的至少一个存储器130。处理器120适于通过获得(可能通过计算)输入串的散列值,使用该散列值作为与群的元素(有利地是椭圆曲线的点)相乘的标量,来执行本文的前述方法,并且处理器120适于输出结果。计算机程序产品140(例如CD-ROM或DVD)包括所存储的指令,当处理器120执行该指令时,该指令执行根据本发明的任何实施例所述的方法。
每当必须将输入值映射至椭圆曲线的点时,都可以使用本发明的方法。本发明是完全一般的,并可以适应任何已知的(常规)散列函数,包括密码标准中推荐的那些散列函数,例如MD5、SHA以及HMAC。更重要的是,本发明的安全性与基础(常规)散列函数的安全性相同。
技术人员将理解,根据本发明的优选实施例的方法不限于椭圆曲线;可以将其容易地应用于任何群,例如超椭圆曲线、或者有限域或有限环的乘法群、或者其子群。
可以独立地或者以任何适当组合来提供说明书以及(在适当时)权利要求和附图中公开的每一个特征。还可以以软件来实现被描述为以硬件实现的特征,反之亦然。连接(在适当时)可以被实现为无线连接或有线(但不必是直接或专用的)连接。
在权利要求中出现的参考标记仅作示意之用,而不应对权利要求的范围有限制效果。
Claims (10)
1.一种用于将任意有限长度的串散列到群的元素上的方法,所述方法包括在设备中进行的以下步骤:
获得由第一散列算法产生的第一散列值,所述第一散列算法将所述串映射至标量;
在所述第一散列值的至少第一部分与所述群的预定第一元素之间执行标量乘法,以获得所述群的第二元素;以及
输出所述群的所述第二元素。
2.根据权利要求1所述的方法,其中所述群包括椭圆曲线的点。
3.根据权利要求1所述的方法,其中获得第一散列值的步骤包括以下步骤:获得所述串,并针对所述串计算第一散列值,以获得所述标量。
4.根据权利要求1所述的方法,其中所述群的所述第一元素是最大阶的元素。
5.根据权利要求1所述的方法,其中所述方法还包括以下步骤:
在所述第一散列值的第二部分与所述群的预定第三元素之间执行标量乘法,以获得所述群的第四元素;以及
将所述群的所述第二元素与所述群的所述第四元素相加,以获得所述群的第五元素。
6.一种用于将任意有限长度的串散列到群的元素上的设备(100),所述设备(100)包括:
用于获得由第一散列算法产生的第一散列值的装置(110;120),所述第一散列算法将所述串映射至标量;
用于在所述第一散列值与所述群的预定第一元素之间执行标量乘法以获得所述群的第二元素的装置(120);以及
用于输出所述群的所述第二元素的装置(110;120)。
7.根据权利要求6所述的设备,其中所述群包括椭圆曲线的点。
8.根据权利要求6所述的设备,其中用于获得第一散列值的装置适于计算所述第一散列值。
9.根据权利要求6所述的设备,其中所述群的所述第一元素是最大阶的元素。
10.一种计算机程序产品(140),包括所存储的指令,当处理器执行所述指令时,所述指令执行根据权利要求1至5中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09305164A EP2222015A1 (en) | 2009-02-19 | 2009-02-19 | Method and device for hashing onto points of an elliptic curve |
EP09305164.7 | 2009-02-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101814989A true CN101814989A (zh) | 2010-08-25 |
CN101814989B CN101814989B (zh) | 2014-10-15 |
Family
ID=40935745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010118103.XA Expired - Fee Related CN101814989B (zh) | 2009-02-19 | 2010-02-10 | 用于散列到椭圆曲线的点上的方法和设备 |
Country Status (5)
Country | Link |
---|---|
EP (2) | EP2222015A1 (zh) |
JP (1) | JP5528842B2 (zh) |
KR (1) | KR101699893B1 (zh) |
CN (1) | CN101814989B (zh) |
TW (1) | TWI525466B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2941115B1 (fr) * | 2009-01-14 | 2011-02-25 | Sagem Securite | Codage de points d'une courbe elliptique |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1256463A (zh) * | 1999-11-25 | 2000-06-14 | 赵风光 | 一种新型数字签名体制和装置 |
US20060140400A1 (en) * | 2004-11-11 | 2006-06-29 | Brown Daniel R | Trapdoor one-way functions on elliptic curves and their application to shorter signatures and asymmetric encryption |
JP2008136193A (ja) * | 2006-10-31 | 2008-06-12 | Nippon Telegr & Teleph Corp <Ntt> | 署名生成装置、署名検証装置、それらの方法及びプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003017559A2 (en) * | 2001-08-13 | 2003-02-27 | Board Of Trustees Of The Leland Stanford Junior University | Systems and methods for identity-based encryption and related cryptographic techniques |
DE602006006454D1 (de) * | 2006-10-10 | 2009-06-04 | Ntt Docomo Inc | Verfahren und Vorrichtung zur Authentifizierung |
KR101527867B1 (ko) * | 2007-07-11 | 2015-06-10 | 삼성전자주식회사 | 타원 곡선 암호 시스템에 대한 부채널 공격에 대응하는방법 |
FR2941115B1 (fr) * | 2009-01-14 | 2011-02-25 | Sagem Securite | Codage de points d'une courbe elliptique |
-
2009
- 2009-02-19 EP EP09305164A patent/EP2222015A1/en not_active Withdrawn
-
2010
- 2010-02-05 TW TW099103414A patent/TWI525466B/zh not_active IP Right Cessation
- 2010-02-05 KR KR1020100011009A patent/KR101699893B1/ko active IP Right Grant
- 2010-02-09 JP JP2010026558A patent/JP5528842B2/ja not_active Expired - Fee Related
- 2010-02-10 CN CN201010118103.XA patent/CN101814989B/zh not_active Expired - Fee Related
- 2010-02-15 EP EP10153614A patent/EP2222016A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1256463A (zh) * | 1999-11-25 | 2000-06-14 | 赵风光 | 一种新型数字签名体制和装置 |
US20060140400A1 (en) * | 2004-11-11 | 2006-06-29 | Brown Daniel R | Trapdoor one-way functions on elliptic curves and their application to shorter signatures and asymmetric encryption |
JP2008136193A (ja) * | 2006-10-31 | 2008-06-12 | Nippon Telegr & Teleph Corp <Ntt> | 署名生成装置、署名検証装置、それらの方法及びプログラム |
Non-Patent Citations (1)
Title |
---|
PAULO S.L.M.BARRETO ET AL: ""Fast hashing onto elliptic curves over fields of characteristic 3"", 《HTTP://EPRINT.IACR.ORG/2001/098.PDF》, 15 November 2001 (2001-11-15) * |
Also Published As
Publication number | Publication date |
---|---|
JP5528842B2 (ja) | 2014-06-25 |
KR101699893B1 (ko) | 2017-02-13 |
TW201032086A (en) | 2010-09-01 |
TWI525466B (zh) | 2016-03-11 |
CN101814989B (zh) | 2014-10-15 |
EP2222015A1 (en) | 2010-08-25 |
KR20100094939A (ko) | 2010-08-27 |
JP2010191419A (ja) | 2010-09-02 |
EP2222016A1 (en) | 2010-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110300112B (zh) | 区块链密钥分层管理方法 | |
US8433897B2 (en) | Group signature system, apparatus and storage medium | |
CN104539423A (zh) | 一种无双线性对运算的无证书公钥密码体制的实现方法 | |
CN103748832A (zh) | 签名验证设备、签名验证方法、程序和记录介质 | |
CN103259662A (zh) | 一种新的基于整数分解问题的代理签名及验证方法 | |
CN106789019A (zh) | 一种无证书部分盲签名方法和装置 | |
CN107425971A (zh) | 终端及其无证书的数据加/解密方法和装置 | |
Singh et al. | An ASCII value based text data encryption System | |
CN106533697A (zh) | 随机数生成与提取方法及其在身份认证上的应用 | |
US20240007303A1 (en) | Method and system for digital signatures utilizing multiplicative semigroups | |
CN110190957A (zh) | 基于无证书的多变量广播多重签名方法 | |
CN107332665A (zh) | 一种格上基于身份的部分盲签名方法 | |
CN107104788B (zh) | 终端及其不可抵赖的加密签名方法和装置 | |
CN111368317B (zh) | 一种计算机数据加密系统及方法 | |
US20100208884A1 (en) | Method and device for hashing onto points of an elliptic curve | |
CN108667619B (zh) | 一种sm9数字签名的白盒实现方法与装置 | |
CN101814989B (zh) | 用于散列到椭圆曲线的点上的方法和设备 | |
CN114826607B (zh) | 基于区块链的边缘计算节点压缩方法及轻量级存储系统 | |
US20220385954A1 (en) | Embedding information in elliptic curve base point | |
US20220407698A1 (en) | Digital watermark system, digital watermark method and program | |
US20050018852A1 (en) | Cryptographic keys using random numbers instead of random primes | |
CN111680332A (zh) | 一种基于椭圆曲线的数字签名方法 | |
CN115987515B (zh) | 一种cpk认证系统构建方法和电子设备 | |
JP6216567B2 (ja) | 生体署名システム | |
CN117278312A (zh) | 一种基于国密sm2的高效云存储数据完整性审计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141015 Termination date: 20170210 |