CN112865973A - 基于格的加密密钥和数字签名的生成方法 - Google Patents
基于格的加密密钥和数字签名的生成方法 Download PDFInfo
- Publication number
- CN112865973A CN112865973A CN202011357550.0A CN202011357550A CN112865973A CN 112865973 A CN112865973 A CN 112865973A CN 202011357550 A CN202011357550 A CN 202011357550A CN 112865973 A CN112865973 A CN 112865973A
- Authority
- CN
- China
- Prior art keywords
- digital signature
- message
- signature information
- public key
- calculated
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 239000011159 matrix material Substances 0.000 claims description 43
- 239000013598 vector Substances 0.000 claims description 28
- 238000012795 verification Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000005070 sampling Methods 0.000 claims description 14
- 230000009467 reduction Effects 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- 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
-
- 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
公开了一种生成数字签名信息的方法,包括:接收消息;计算特解,其中在公钥中计算特解的结果变为在接收到的消息中预定的经函数处理的输出值;以及使用计算出的特解生成用于消息的数字签名信息,其中,使用具有以2的幂和3或更大数字的整数相乘表示的维度(d)的环来计算公钥。
Description
相关申请的交叉引用
本申请基于并要求享有于2020年11月6日在韩国知识产权局提交的韩国专利申请10-2020-0147995的优先权,该申请要求享有于2019年11月28日在韩国知识产权局提交的韩国专利申请10-2019-0155709的权益,其公开内容通过引用整体并入本文。
技术领域
与本申请一致的装置和方法涉及基于格生成加密密钥和数字签名的方法,并且更具体地涉及基于能够确保参数灵活性的格生成加密密钥和数字签名的方法。
背景技术
众所周知,加密方法使得即使在发送和接收消息的过程中第三方窃取了该消息,也无从知道数字消息(数据)的内容。加密方法可大致分为对称密钥加密方法和非对称密钥加密方法。
对称密钥加密方法是其中加密的密钥和解密的密钥彼此相同的方法,而非对称密钥加密方法是其中加密的密钥和解密的密钥的方法彼此不同的方法。在非对称密钥加密方法中,通常可使用接收方的公钥对消息进行加密,并且接收方可使用接收方的私钥对加密消息进行解密。
在非对称密钥加密方法中,可在消息上生成数字签名以证明消息的完整性。通常可通过使用发送方的私钥对消息的哈希值(完整性校验值)进行加密来生成数字签名。
接收到加密消息及其数字签名信息的接收方可通过使用接收方的私钥执行解密来获得消息,并且可通过使用发送方的公钥来解密数字签名信息以获得消息的完整性校验值。通过对所获得的消息进行哈希计算并确定其输出幂值是否与完整性验证结果的值相同,接收方可确认消息是否未经伪造或更改。
常规上,RSA方案、Elgamal方案等已被广泛用于生成非对称加密密钥。然而,由于量子计算技术的进步,这些常规加密方法非常可能很容易失效。
已经提出了陷门格方法作为用于量子计算技术的安全方法。
Leo Ducas等人在2014年发表的论文“NTRU格上的基于身份的高效加密(Efficient Identity-Based Encryption over NTRU Lattices)”中提出了一种基于数论研究单元(NTRU)格的方法,该方法是使用基于身份的加密来生成私钥和公钥的方法之一。
发明内容
本申请的实施例克服了以上缺点以及上面未描述的其他缺点。另外,不是必需要本申请来克服上述缺点,并且本申请的实施例可以不克服上述任何问题。
本申请提供了基于格生成加密密钥和数字签名的方法,其消除了参数僵化性,从而使得能够灵活地选择参数并同时确保其稳定性。
根据本申请的实施例,一种生成数字签名的方法包括:接收消息;计算特解,其中在公钥中计算特解的结果变为在接收到的消息中预定的经函数处理的输出值;以及使用计算出的特解生成用于该消息的数字签名信息,其中,可使用具有维度(d)的环来计算公钥,该维度(d)由2的幂和3或更大数字的整数相乘表示。
在这种情况下,在数字签名信息的生成中,可通过使用私钥对计算出的特解进行归约来生成数字签名信息。
同时,产生数字签名的方法还可以包括:计算陷门(T);以及确定计算出的陷门(T)作为私钥。
在这种情况下,生成数字签名的方法还可包括:通过在环中抽样彼此线性无关的元素来计算第一随机矩阵(S),其中列数比维度小1,且行数等于维数;计算第二随机矩阵(A),其中列数等于维数,且行数为1;以及基于第二随机矩阵(A)计算公钥。
同时,在向量的抽样中,可使用扩展欧几里得算法来对向量的各元素进行归约。
同时,预定函数处理可以是哈希处理。
根据本申请的另一实施例,一种验证消息的方法包括:接收消息和数字签名信息;校验在公钥中对接收到的数字签名信息的计算的结果是否变为消息中预定的经函数处理的输出值;确定接收到的数字签名信息是否具有小于预定参数的值;以及基于校验结果和确定结果来验证接收到的消息,其中,可使用具有维度(d)的环来计算公钥,该维度(d)由2的幂和3或更大数字的整数相乘表示。
在这种情况下,预定函数处理可以是哈希处理。
根据本申请的另一实施例,一种计算装置包括:存储器,其存储至少一条指令;以及执行至少一条指令的处理器,其中,处理器可计算特解,其中在公钥中计算特解的结果变为消息中预定的经函数处理的输出值,并使用计算出的特解生成用于该消息的数字签名信息,并且,可使用具有维度(d)的环来计算公钥,该维度(d)由2的幂和3或更大数字的整数相乘表示。
在这种情况下,处理器可使用私钥来对计算出的特解进行归约,并且通过使用经归约的特解来生成数字签名信息。
同时,当接收到消息和数字签名信息时,处理器可校验在公钥中对接收到的数字签名信息的计算的结果是否变为消息中预定的经函数处理的输出值,确定接收到的数字签名信息是否具有小于预定参数的值,并且基于校验结果和确定结果来验证接收到的消息。
根据本申请的另一实施例,提供了一种非暂时性计算机可读记录介质,其包括执行产生数字签名的方法的程序,其中,所述方法包括:接收消息;计算特解,其中在公钥中计算特解的结果变为在接收到的消息中预定的经函数处理的输出值;以及使用计算出的特解生成用于消息的数字签名信息,并且,可使用具有维度(d)的环来计算公钥,该维度(d)由2的幂和3或更大数字的整数相乘表示。
根据如上所述的本申请的各种实施例,可基于陷门格灵活地选择参数以满足生成加密密钥所需的安全性,即,总维数可使用整数而不是2的幂。
此外,可自由选择精确适合安全性的参数,且因此可减小所有公钥、私钥和加密文本的大小,同时提高加密***的整体效率。
本申请的附加和/或其他效果和优点部分地在下面的描述中阐述,并且部分地从描述中显而易见,或者可通过本申请的实践而获知。
附图说明
通过参考附图描述本申请的某些实施例,本申请的以上和/或其他方面将更加明显,其中:
图1是示出根据本申请的生成私钥和公钥的操作的流程图;
图2是示出根据本申请的使用私钥生成数字签名的操作的流程图;
图3是示出根据本申请的使用生成的数字签名信息的消息验证处理的流程图;
图4是示出本申请的随机矩阵的结构的图。
图5是示出根据本申请的实施例的网络***的结构的图;以及
图6是示出根据本申请的实施例的计算装置的配置的框图。
具体实施方式
在下文中,参考附图详细描述本申请。可在本申请中执行的信息(数据)发送过程中根据需要使用加密/解密,并且本文和权利要求书中描述信息(数据)发送过程的所有表达都需要解释为包括加密/解密,即使没有特别提及。在公开中,诸如“从A到B的发送(传送)”和“从B到A的接收”之类的表达还可包括在其间***具有另一种介质而被执行的发送(传送)或接收,并且不一定表示仅从A到B的直接发送(传送)或接收。
需要理解的是,在本说明书的描述中,对每个步骤的顺序没有限制,除非在逻辑上和时间上要求在其后续步骤之前执行先前的步骤。即,除了这样的例外情况,即使在被描述为先前步骤的过程之前执行被描述为后续步骤的过程,本申请的本质也不受影响,并且本申请的范围也需要无关步骤的顺序而被限定。另外,本申请中的“A或B”可被定义为不仅意味着选择性地指示A和B中的任何一个,而且还包括A和B两者。另外,本申请中的术语“包括”可全面地包括除了列出的包括元素之外的其他元素。
本申请中的术语“模块”或“单元”可以是执行其功能的通用硬件或软件,或者其可以是硬件和软件的逻辑组合。
本申请仅描述了描述本申请所必需的必要部件,并且没有提及与本申请的本质无关的部件。另外,不应排他地解释为本申请仅包括所提及的要素,而应非排他地解释为本申请可包括其他要素。
本申请可由诸如计算机、服务器或智能电话这样的可执行电子计算的移动设备等中的电子计算装置来执行。在计算机程序通过已知的编码方法和/或被设计为适合于本申请的编码以执行运算和计算的情况下,下面将描述的在本申请的每个步骤中执行的数学运算和计算可被实现为另一运算。执行本申请的计算机程序可被存储在计算机可读记录介质中。
此外,本申请中的术语“值”可被全面地定义为包括可用诸如向量、矩阵和多项式以及标量值这样的数学表达式来表示的所有值。
在本申请中,通过对特定值执行加密、哈希等运算来获得预定值可以被定义为包括对特定值、以及特定值的修改值(例如,通过其中在特定值上另外运算预定值或基于预定规则而改变特定值的过程而计算的另一值)的加密、哈希等运算。
下面将描述的在本申请的每个步骤中执行的数学运算和计算,可通过已知的编码方法和/或设计为适合于本申请的编码来实现为计算机运算,以执行运算和计算。
在本申请的附图中示出的装置的每个部件都可具有可执行本申请所意图的功能的任何形状、大小和维度、以及在附图中明确示出的其形状、大小和维度。
以下描述的特定公式是在可能的替代方案中示例性地描述的公式,并且本申请的范围不应解释为限于本申请中提及的公式。
为了便于解释,本申请使用如下确定的符号。
a←D:基于分布(D)选择元素(a)。
s1,s2∈R:S1和S2中的每个均为集合(R)中的元素。
mod(q):模通过元素(q)来计算。
在下文中,参考附图详细描述本申请的各种实施例。
本申请提出了被称为模块化NTRU(MNTRU)格的数论研究单元(NTRU)格的广义概念,其可以解决基于NTRU的加密的维度灵活性。与现有的NTRU陷门相比,此MNTRU格可显示出更有效的陷门的产生。在下文中,可首先基于MNTRU陷门应用新的基于身份的加密。
首先描述用于泛化NTRU陷门的操作。
类似于从环LWE到模块LWE的泛化,R2中的NTRU格的上下文可以泛化为高阶Rd的MNTRU格。
[公式1]
(1,h)·SNTRU≡0mod q
在此,h是NTRU实例,且SNTRU是矩阵。
此外,可以如下面的公式2定义NTRU格。
[公式2]
在此,ANTRU是NTRU格,且q是质数。
[公式3]
gF-fG=q
在此,g和f是短向量,F和G是矩阵,且q是质数。
NTRU公式与下面的公式4相同。
[公式4]
在此,A是多项式的反循环矩阵变换。
这样的框架可对d≥2情况进行泛化。为此,可首先在SMNTRU∈Rd×(d-1)中抽样具有较小系数的元素,并且可构造满足以下公式5的向量hMNTRU=(h1,…,hd)∈Rq d-1。
[公式5]
(1,hMNTRU)·SMNTRU≡0mod q
基于该公式,可如下面的公式6中那样定义n维MNTRU格。
[公式6]
在此,h=(h1,...,hd-1)可由deti/det1确定,并且mod q是子矩阵的行列式,其中deti是SMNTRU的(d-1)×(d-1)。
基于该内容,可如公式7中那样计算本申请的陷门。
[公式7]
在下文中,参照图4描述了能够产生上述陷门的格结构。
图4是示出本申请的随机矩阵的结构的图。
参考图4,在根据本申请的格结构中使用第一随机矩阵(S)和第二随机矩阵(A)。
在第一随机矩阵(S)中,列数为d-k(即d-1),行数(d)为1,且在第二随机矩阵(A)中,列数为是(d),并且行(k)数是1。在此,列数(d)可以是大于2的预定整数,并且与现有技术不同,可将整个维度确定为2的幂以外的其他整数,从而增加了参数的灵活性。
第一随机矩阵(S)和第二随机矩阵(A)可满足图4所示的关系。
图5示出了根据本申请的执行基于格的计算过程的环境。
图5是示出根据本申请的实施例的网络***的结构的图。
参考图5,网络***可包括用户终端10以及密钥生成服务器20及数字签名验证服务器40,并且每个部件都可通过数据通信网络30彼此连接。
数据通信网络30可在各种类型的有线和无线通信网络、广播通信网络、光通信网络和云网络中实现,并且每个装置可以以诸如无线保真(WiFi)、蓝牙、近场通讯(NFC)等方式彼此连接而无需单独的媒介。
密钥生成服务器20可基于格来生成用于加密的各种密钥值。详细地,密钥生成服务器20可首先确定各种参数和环,且然后基于所确定的参数和环来生成公钥和私钥。
在此,该环可由下面的公式8表示。
[公式8]
在此,R是环,Z是系数。在此,环是具有预定系数的多项式的集合,并且可指示其中定义了元素之间的加法和乘法并且加法和乘法是封闭的集合。该多项式环可被称为环。
在此,环是小于元素的第N阶的整数系数多项式环,并且在集合中的元素之间定义了加法和乘法运算。例如,加法运算可被定义为多项式之间的相乘,并且乘法运算可被定义为在执行多项式之间的相乘之后相应元素的mod xN+1。根据该定义,XN-1*x是作为多项式相乘的xN,且对于mod XN+1,XN=-1,因此XN-1*x=-1。
[公式9]
在公式9中,环仅是小于第N阶的整数并且具有[0,q-1]内的系数的多项式的集合。加法和乘法运算在该集合中定义,且例如,可定义为对每个系数执行mod q,而同时执行对mod xN+1的乘法运算。
根据本申请的环具有由2的幂和2或更大的整数相乘表示的维度,并且可使用与这种阶值相对应的格陷门。如上所述,可使用由整数相乘表示的维度。因此,即使在为了增大密钥的安全性而需要增加维度的情况下,也不需要将维度加倍,从而可灵活地选择参数。
密钥生成服务器20可基于上述确定的环来计算第一和第二随机矩阵,并且计算陷门。在此,陷门是特殊私密信息,其允许计算难以独自执行的函数的逆函数。如图4所示,本申请的陷门被用于基于格的加密技术中,且以下参照图1描述其具体的计算操作。
密钥生成服务器20可基于所计算的随机矩阵和陷门来计算公钥和私钥。下面参考图1描述具体密钥生成操作。
此外,密钥生成服务器20可从用户终端10接收加密文本,并且按原样存储该加密文本,而无需执行解密。
同时,图5描述了密钥生成服务器20生成加密所需的密钥,并且用户终端10接收所生成的一些密钥,且然后执行加密操作。然而,取决于环境,可在各种装置中执行密钥生成操作、加密操作和解密操作。
用户终端10可使用由密钥生成服务器20生成的公钥来生成数字签名信息,并且将消息和数字签名信息发送到数字签名验证服务器40。在此,数字签名信息(或数字签名值)是被用于校验消息是否被伪造或篡改的信息。
数字签名验证服务器40可接收消息和数字签名信息,并使用接收到的数字签名信息来验证消息。
用户可通过他/她的用户终端10输入各种信息。输入信息可自己存储在用户终端10中,但是由于诸如存储容量和安全性之类的原因可被发送到外部装置并存储在外部装置中。在图5中,密钥生成服务器20可用于存储这样的信息,并且密钥生成服务器20可用于使用存储在密钥生成服务器20中的一些或全部信息。
用户终端10可从密钥生成服务器20接收加密所需的密钥信息,并且可使用接收到的密钥信息对消息进行加密。例如,用户终端10可从密钥生成服务器20接收公钥,并且通过使用接收到的公钥对消息进行加密来生成加密文本。在此,用户终端10可接收并使用加密所需的小元素和经函数处理的输出值,或者可自己生成并使用加密文本。
另外,用户终端10可将加密文本和数字签名信息发送到数字签名验证服务器40。
此外,数字签名验证服务器40可解密加密文本。例如,用户终端10可使用私钥来解密加密文本,并且密钥生成服务器20可执行解密操作。
此外,数字签名验证服务器40可使用接收到的数字签名信息来验证接收到的消息。
图5示出了一个用户终端,但是可使用多个用户终端。例如,用户终端10可被实现为各种类型的装置,诸如智能电话、平板电脑、游戏机、个人计算机(PC)、膝上型计算机、家庭服务器、自助服务终端等、以及应用了物联网(IoT)功能的家用电器。
图1是示出根据本申请的生成公钥和私钥的操作的流程图。
参考图1,计算第一随机矩阵(S)(100)。例如,可通过对满足下面的公式10的元素值进行抽样来计算第一随机矩阵(S)。详细地,可通过在环中对彼此线性无关的元素进行抽样来计算其中列数比维数小1并且行数等于维数的第一随机矩阵(S)。
[公式10]
然后计算第二随机矩阵(A)(110)。详细地,可通过对随机系数(r)进行抽样并使用与第一随机矩阵的行数相对应的行列式(ai)和所抽样的随机系数(r),如以下公式11中所示来计算第二随机矩阵(A)。
[公式11]
r·(a1,a2,…ad)
例如,如果随机系数(r)为a1 -1,则第二随机矩阵(A)可为(1,A1,...,Ad-1)。
[公式12]
[公式13]
αi可通过扩展欧几里得算法来运算。另外,可基于上述计算值如下计算Fi。
[公式14]
这样,在公式15中建立了以下关系。
[公式15]
这种归约表示在移除的方向分量的同时,从中减去的适当的常数倍的过程。这种归约可允许陷门(T)具有较小的尺寸。以整数为例,在F=(2,5)和f=(1,2)的情况下,如果将[F,f]和[F-2f,f]相互比较,则可定义相同的列空间,但是随后的归约矩阵的列可具有减小的尺寸。
然后可确定私钥和公钥(130)。详细地,可将计算出的陷门(T)确定为私钥,并且将公钥确定为(A1,…,Ad-1)。
图2是示出根据本申请的使用私钥生成数字签名的操作的流程图。
参考图2,接收要被数字签名的消息(m)(200)。
可计算特解,其中在公钥中计算特解的结果变为在接收到的消息中预定的经函数处理的输出值(210)。详细地,可计算满足As0=H(m)的特解在此,可使用例如高斯消元来计算特解。另外,公钥可以是使用具有由2的幂和3或更大数字的整数相乘表示的维度(d)的环来计算的密钥。
然后可使用计算出的特解来生成用于消息的数字签名信息(220)。详细地,可使用私钥(T)来归约特解s0,然后可将其结果值作为消息(m)的数字签名信息输出。如上所述,这样的数字签名信息可满足As=H(m)。
在此,归约处理可以是使用私钥(T)对小的离散正态分布进行抽样的处理,该离散正态分布为以在集合{s:As=0}上进行S200操作中计算出的s为中心。详细地,可选择标准偏差(σ),由高斯抽样器计算(c),计算小解(s=(s0,s1,…,sd-1),其中小解和第二随机矩阵的乘积成为哈希值,并在计算出的小解中输出s作为上述数字签名信息。
数字签名信息可由要向其发送消息的用户终端10生成,并且该数字签名信息可由数字签名验证服务器40进行验证。图5示出了数字签名验证服务器40验证数字签名。然而,接收消息(m)的接收方终端也可验证数字签名,并且本申请的范围不限于执行验证的主体。
图3是示出根据本申请的使用了所生成的数字签名信息的消息验证过程的流程图。
参照图3,执行数字签名验证的主体(例如,数字签名验证服务器40或接收消息(m)的终端)可首先接收数字签名信息(s)(300)。在此,主体可一起接收消息(m)。在此,可从发送数字签名信息的装置或者从另一主体接收消息。
然后可校验在公钥中计算接收的数字签名信息的结果是否变为消息中预定的经函数处理的输出值(310)。详细地,执行数字签名验证的主体可确定结果是否满足As=H(m)。在此,s是数字签名信息,H()是预定的函数处理,并且例如可以是哈希处理,并且m是消息。另外,A是公钥,其可使用具有以2的幂和3或更大数字的整数相乘表示的维度(d)的环来计算。
然后可确定所接收的数字签名信息是否具有小于预定参数的值(320)。即,可确定数字签名信息s是否具有足够小的尺寸。在此,可考虑验证数字签名信息的尺寸比较对象中失败的可能性、稳定性等,确定预定参数。
可基于校验结果和确定结果来验证接收到的消息。例如,如果两个条件都被满足,则可确定数字签名验证成功(330);如果不满足,则可确定验证失败(340)。
同时,实施例示出并描述了首先检查是否建立了运算公式,然后可将数字签名信息的尺寸和预定参数彼此进行比较。然而,该方法可以以如下方式实现:首先可将数字签名信息的尺寸和预定参数彼此进行比较,然后可检查是否建立了运算公式。
在图2或3中示出的上述方法可减少生成密钥所需的运算量或运算时间,这是因为可使用由2的幂和整数相乘表示的维度,而无需将维度加倍以提高密钥的安全性。
同时,图2或3中所示的上述方法可被实现为执行每个步骤的程序代码,并且可将其存储在记录介质中并进行分发。在这种情况下,在其上安装记录介质的装置可执行上述加密方法的操作。
该记录介质可以是各种类型的计算机可读介质中的一种,例如只读存储器(ROM)、随机存取存储器(RAM)、存储芯片、存储卡、外部硬盘驱动器、硬盘驱动器、光盘(CD)、数字多功能磁盘(DVD)、磁盘或磁带。
同时,图2和图3示出并描述了生成用于消息的数字签名信息,然后使用生成的数字签名信息执行验证消息的操作。然而,该方法还可以如下方式实现:生成用于加密消息的数字签名信息,即,生成用于加密文本的数字签名,并且执行验证加密文本的操作。
图6是示出根据本申请的实施例的运算装置的配置的框图。
详细地,运算装置可指诸如用户终端这样的执行加密的装置、诸如密钥生成服务器这样的生成用于生成加密文本所需的密钥的装置以及在图5的***中的使用加密文本的装置。这样的计算装置可以是各种装置,例如个人计算机(PC)、膝上型计算机、智能电话、平板电脑或服务器。
参考图6,运算装置600可包括通信装置610、存储器620、显示器630、操作输入装置640和处理器650。
通信装置610可形成为将运算装置600连接到外部装置(未示出),并且可通过局域网(LAN)和因特网连接到外部装置,或者通过通用串行总线(USB)端口或无线通信(例如,无线保真(WiFi)802.11a/b/g/n、近场通信(NFC)或蓝牙)端口可连接到外部装置。该通信装置610也可被称为收发器。
通信装置610可接收生成加密文本所需的各种密钥。例如,当生成密钥时,通信装置610可接收三个参数(n,q和d)。在此,n是被乘以代表维度的2的幂的值,并且d是整数。因此,2n*d可以是由相应参数生成的环的维度,而q是十进制值。各种密钥也可通过操作输入装置640被输入。
此外,通信装置610可将其自己生成的密钥发送到外部装置。在此,密钥可以是公钥、私钥等。
此外,通信装置610可从外部装置接收消息,并且可将所生成的加密文本和/或数字签名信息发送到外部装置。
此外,通信装置610可从外部装置接收生成密钥或加密文本所需的各种参数。同时,各种参数可被实现为通过下面将描述的操作输入装置640从用户直接输入。
此外,通信装置610可接收加密文本。在此,通信装置610可一起接收用于加密的文本(或消息)的数字签名信息。
存储器620是用于存储用于驱动运算装置600的操作***(OS)、各种软件、数据等的部件。存储器620可在各种类型的装置中实现,该装置诸如随机存取存储器(RAM)、只读存储器(ROM)、闪存、硬盘驱动器(HDD)、外部存储器、存储卡等,并且不限于此。
存储器620可存储身份信息(或用户信息)。在此,身份信息可以是社会安全号码、电子邮件地址、电话号码、指纹信息、虹膜信息等,并且可在生成用户私钥或加密文本的情况下使用。
此外,存储器620可存储要加密的消息。在此,消息可以是用户引用的各种类型的信用信息和个人信息,也可以是与使用历史有关的信息,诸如用于运算装置600中的位置信息、关于使用互联网花费的时间信息等。
此外,存储器620可存储公钥,并且可存储公钥以及生成私钥所需的各种参数,以及在运算装置600是直接生成公钥的装置的情况下的私钥。
存储器620还可存储在以下描述的过程中生成的加密文本和/或数字签名信息。存储器620还可在加密文本和/或数字签名信息的生成期间存储中间数据等。
存储器620还可存储从外部装置发送的加密文本。另外,存储器620还可存储消息,该消息是对加密文本进行解密的结果。另外,存储器620可存储从外部装置发送的数字签名信息。
显示器630可显示用户界面窗口,以供用户选择运算装置600所支持的功能。例如,显示器630可显示用户界面窗口,以供用户选择运算装置所提供的各种功能。显示器630可以是诸如液晶显示器(LCD)、有机发光二极管(OLED)等的监视器,并且如下所述,可被实现为可同时执行操作输入装置640的功能的触摸屏。
显示器630可显示消息,该消息请求用户输入生成私钥和公钥所需的参数。显示器630还可显示请求用户选择加密目标的消息的用户界面(UI)。例如,显示器630可显示用于用户选择用户身份信息的UI,该用户身份信息用于基于格的基于身份的加密。
同时,加密目标可被实现为由用户直接选择或自动选择。即,即使用户没有直接选择消息,也可自动确定需要加密的个人信息。
操作输入装置640可从用户接收运算装置600的功能选择和用于控制相应功能的命令。例如,操作输入装置640可从用户接收生成私钥和公钥所需的参数。另外,操作输入装置640可从用户接收要加密的确定消息。
处理器650可控制运算装置600中的每个部件。处理器650可由诸如中央处理单元(CPU)或专用集成电路(ASIC)的单个装置来配置,或者可由诸如CPU、图形处理单元(GPU)等多个装置来配置。
如果输入了要发送的消息,则处理器650可将该消息存储在存储器620中。处理器650可通过使用存储在存储器620中的各种确定的值和程序来对该消息进行加密。在该情况下,可使用公钥。
处理器650可自己生成并使用执行加密所需的公钥,或者可使用从外部装置接收到的公钥。例如,执行解密的密钥生成服务器20可将公钥分发给另一装置。
在密钥生成服务器20自己生成公钥的情况下,处理器650可生成图5所示的要生成的第一随机矩阵(S)和第二随机矩阵(A)以及基于第二随机矩阵的公钥。
在生成公钥的情况下,处理器650可控制通信装置610将密钥发送给另一装置。
处理器650还可生成用于消息的加密文本。例如,在输入身份信息的情况下,处理器650可通过对输入身份信息进行函数处理来生成经函数处理的输出值。另外,处理器650可随机抽样小元素,并通过使用抽样的小元素、经函数处理的输出值和公钥来为消息生成加密文本。
此外,处理器650可将所生成的加密文本存储在存储器620中,并且可基于用户请求或预定的默认命令来控制通信装置610以将相同的加密文本发送到另一装置。
处理器650可生成用于加密的文本或消息的数字签名信息。例如,处理器650可计算特解,其中在公钥中的计算特解的结果变为在消息中经预定的函数处理的输出值,并通过使用计算出的特解来生成用于消息的数字签名信息。
处理器650还可通过使用用户私钥来对加密文本进行解密。另外,当接收到消息和数字签名信息时,处理器650可使用接收到的数字签名信息来验证消息。详细地,处理器650可通过校验在公钥中对接收到的数字签名信息的计算的结果是否变为消息中预定的经函数处理的输出值,并且通过确定接收到的数字签名信息是否具有小于预定参数的值来对接收到的消息(或加密文本)进行验证。
如上所述,根据本申请的运算装置可使用具有由2的幂和2或更大的整数相乘表示的维度的环来执行加密处理。可减少生成密钥所需的运算量或运算时间,这是因为可使用由2的幂和整数相乘表示的维度而无需将维度加倍以提高密钥的安全性。
同时,图6示出并描述了一个装置执行加密和解密操作两者,但是该一个装置可被实现为执行一个操作,例如,密钥生成操作、加密操作和解密操作之中的仅一个。
尽管已经参考附图描述了本申请,但是本申请的范围不解释为限于所描述的实施例和/或附图,而是由所附权利要求书来限定。另外,应清楚地理解,对本领域技术人员显而易见的是,如权利要求书中所描述的对本申请的改进、变化和修改均被包括在本申请的范围内。
Claims (16)
1.一种生成数字签名的方法,包括:
接收消息;
计算特解,其中在公钥中计算所述特解的结果变为在所述接收到的消息中预定的经函数处理的输出值,以及
使用所述计算出的特解生成用于所述消息的数字签名信息,
其中,所述公钥是使用具有维度(d)的环来计算的,该维度(d)由2的幂和3或更大数字的整数相乘表示。
2.根据权利要求1所述的方法,其中,在所述数字签名信息的生成中,通过使用私钥来归约所述计算出的特解来生成所述数字签名信息。
3.根据权利要求1所述的方法,还包括:
计算陷门(T);以及
将计算出的陷门(T)确定为私钥。
9.根据权利要求7所述的方法,其中在所述向量的抽样中,使用扩展欧几里得算法来对所述向量的元素进行归约。
10.根据权利要求1所述的方法,其中,所述预定的函数处理是哈希处理。
11.一种验证消息的方法,包括:
接收消息和数字签名信息;
校验在公钥中对接收的数字签名信息的计算的结果是否变为在所述消息中预定的经函数处理的输出值;
确定接收到的数字签名信息是否具有小于预定参数的值;以及
基于所述校验结果和所述确定结果来对接收到的消息进行验证,
其中,所述公钥是使用具有维度(d)的环来计算的,该维度(d)由2的幂和3或更大数字的整数相乘表示。
12.根据权利要求11所述的方法,其中,所述预定的函数处理是哈希处理。
13.一种运算装置,包括:
存储器,其存储至少一条指令;以及
处理器,其执行所述至少一条指令,
其中,所述处理器计算特解,其中在公钥中计算所述特解的结果变为在消息中预定的经函数处理的输出值,且所述处理器使用计算出的特解生成用于所述消息的数字签名信息,并且
所述公钥是使用具有维度(d)的环来计算的,该维度(d)由2的幂和3或更大数字的整数相乘表示。
14.根据权利要求13所述的运算装置,其中,所述处理器使用私钥对计算出的特解进行归约,并且通过使用归约后的特解来生成所述数字签名信息。
15.根据权利要求13所述的运算装置,其中,接收到所述消息和所述数字签名信息,所述处理器校验在公钥中对接收到的所述数字签名信息的计算的结果是否变为在所述消息中预定的经函数处理的输出值,确定接收到的数字签名信息是否具有小于预定参数的值,并且基于所述校验结果和所述确定结果来对接收到的消息进行验证。
16.一种非暂时性计算机可读记录介质,包括执行生成数字签名的方法的程序,其中,所述方法包括:
接收消息;
计算特解,其中在公钥中计算所述特解的结果变为在接收到的消息中预定的经函数处理的输出值;以及
使用计算出的特解生成用于所述消息的数字签名信息,
其中,所述公钥是使用具有维度(d)的环来计算的,该维度(d)由2的幂和3或更大数字的整数相乘表示。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0155709 | 2019-11-28 | ||
KR20190155709 | 2019-11-28 | ||
KR10-2020-0147995 | 2020-11-06 | ||
KR1020200147995A KR102443255B1 (ko) | 2019-11-28 | 2020-11-06 | 래티스를 기반으로 하는 암호키 생성 방법 및 전자서명 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112865973A true CN112865973A (zh) | 2021-05-28 |
Family
ID=73642623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011357550.0A Pending CN112865973A (zh) | 2019-11-28 | 2020-11-27 | 基于格的加密密钥和数字签名的生成方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11522718B2 (zh) |
EP (1) | EP3829102A1 (zh) |
JP (1) | JP7183242B2 (zh) |
CN (1) | CN112865973A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115499117A (zh) * | 2022-11-17 | 2022-12-20 | 深圳市迪博企业风险管理技术有限公司 | 区块链交易网络的密钥对生成方法及数据传输方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102418016B1 (ko) * | 2019-11-28 | 2022-07-07 | 서울대학교산학협력단 | 래티스를 기반으로 하는 신원 기반 암호화 방법 |
WO2024012431A1 (zh) * | 2022-07-11 | 2024-01-18 | 复旦大学 | 一种格基签名高效并行快速实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138752A (zh) * | 2019-04-19 | 2019-08-16 | 北京信息科学技术研究院 | 一种基于格的公钥加密方法 |
CN110175473A (zh) * | 2019-05-22 | 2019-08-27 | 西安电子科技大学 | 基于格上困难问题的数字签名方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69113245D1 (de) * | 1991-03-14 | 1995-10-26 | Omnisec Ag Regensdorf | Verschlüsselungssystem mit öffentlichem Schlüssel unter Verwendung elliptischer Kurven über Ringe. |
WO2006114948A1 (ja) | 2005-04-18 | 2006-11-02 | Matsushita Electric Industrial Co., Ltd. | 署名生成装置および署名検証装置 |
US10742413B2 (en) | 2017-04-25 | 2020-08-11 | International Business Machines Corporation | Flexible verifiable encryption from lattices |
JP6849860B2 (ja) * | 2017-10-17 | 2021-03-31 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 格子暗号法のために構成可能な装置 |
-
2020
- 2020-11-25 US US17/104,987 patent/US11522718B2/en active Active
- 2020-11-27 JP JP2020197521A patent/JP7183242B2/ja active Active
- 2020-11-27 CN CN202011357550.0A patent/CN112865973A/zh active Pending
- 2020-11-27 EP EP20210244.8A patent/EP3829102A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138752A (zh) * | 2019-04-19 | 2019-08-16 | 北京信息科学技术研究院 | 一种基于格的公钥加密方法 |
CN110175473A (zh) * | 2019-05-22 | 2019-08-27 | 西安电子科技大学 | 基于格上困难问题的数字签名方法 |
Non-Patent Citations (2)
Title |
---|
JAMES HOWE: "Practical Lattice-Based Digital Signature Schemes", ARTICLE IN ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS · APRIL 2015, pages 1 - 24 * |
LÉO DUCAS等: "CRYSTALS-Dilithium: A Lattice-Based Digital Signature Scheme", IACR TRANSACTIONS ON CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS ISSN 2569-2925,, vol. 2018, no. 1, pages 238 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115499117A (zh) * | 2022-11-17 | 2022-12-20 | 深圳市迪博企业风险管理技术有限公司 | 区块链交易网络的密钥对生成方法及数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3829102A1 (en) | 2021-06-02 |
JP7183242B2 (ja) | 2022-12-05 |
US11522718B2 (en) | 2022-12-06 |
JP2021086158A (ja) | 2021-06-03 |
US20210167969A1 (en) | 2021-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6488847B2 (ja) | リレーショナル暗号化 | |
CN110419194B (zh) | 密钥交换设备和方法 | |
US20190363871A1 (en) | Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof | |
JP4555859B2 (ja) | 認証システム、認証方法、証明装置、検証装置、それらのプログラム及び記録媒体 | |
CN108370317B (zh) | 向标准的凭证添加隐私 | |
US11283608B2 (en) | Executing a cryptographic operation | |
CN112865973A (zh) | 基于格的加密密钥和数字签名的生成方法 | |
JP2016035554A (ja) | 完全準同型暗号化方式を使用したコンパクトなファジープライベートマッチング | |
US10075301B2 (en) | Relational encryption for password verification | |
US11323254B2 (en) | Device, system, and method of generating and handling cryptographic parameters | |
US20240137225A1 (en) | Providing a Cryptographic Information | |
US20240205007A1 (en) | Identity-based encryption method based on lattices | |
KR102443255B1 (ko) | 래티스를 기반으로 하는 암호키 생성 방법 및 전자서명 방법 | |
US20220092150A1 (en) | Calculation verification for approximate calculation | |
JP5972181B2 (ja) | 改ざん検知装置、改ざん検知方法、およびプログラム | |
US8769301B2 (en) | Product authentication based upon a hyperelliptic curve equation and a curve pairing function | |
TWI701931B (zh) | 具分級機制的數位簽章方法及適用該方法的硬體錢包裝置 | |
US11909867B2 (en) | Key exchange system, method and program for generating a shared key for secure communication | |
EP3419212B1 (en) | Computer implemented method, computer system and computer readable computer program product | |
KR102418016B1 (ko) | 래티스를 기반으로 하는 신원 기반 암호화 방법 | |
KR102393941B1 (ko) | 근사 암호화된 암호문에 대한 인코딩 또는 디코딩 | |
US20230085577A1 (en) | Secured performance of an elliptic curve cryptographic process | |
EP2524332B1 (en) | Determination of pairings on a curve using aggregated inversions | |
KR20230049052A (ko) | 격자전자서명의 비밀 키 생성 방법 및 이를 이용한 장치 | |
US20160330026A1 (en) | Method for processing a generalized goldwasser-micali ciphertext, corresponding electronic device and computer program product |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40045505 Country of ref document: HK |