KR101523053B1 - System and method for verifiably encrypted signatures from lattices - Google Patents
System and method for verifiably encrypted signatures from lattices Download PDFInfo
- Publication number
- KR101523053B1 KR101523053B1 KR1020140022549A KR20140022549A KR101523053B1 KR 101523053 B1 KR101523053 B1 KR 101523053B1 KR 1020140022549 A KR1020140022549 A KR 1020140022549A KR 20140022549 A KR20140022549 A KR 20140022549A KR 101523053 B1 KR101523053 B1 KR 101523053B1
- Authority
- KR
- South Korea
- Prior art keywords
- signature
- value
- matrix
- key
- signer
- Prior art date
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/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/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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
-
- 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)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명의 실시예들은 암호 분야에서 널리 사용되는 전자서명에 관한 것으로, 더욱 상세하게는 전자상거래 등에서 활용될 수 있는 증명가능암호 서명 기술에 관한 것이다.Embodiments of the present invention relate to digital signatures widely used in the field of cryptography, and more particularly to a provable cryptographic signature technique that can be used in electronic commerce and the like.
증명가능암호 서명 기술이란 일반 서명 기술과는 다르게 서명자가 메시지에 대한 서명을 생성한 뒤, 이를 검증자에게 직접 전송하여 검증하게 하는 것이 아니라, 신뢰할 수 있는 제삼자인 심판관의 공개키로 생성한 서명을 암호화하여 전송한다. 암호문을 수신한 검증자는 일반 암호화 기술이 평문에 대한 어떠한 정보도 노출하지 않는다는 성질과는 다르게 해당 암호문이 주어진 메시지에 대한 정당한 서명을 암호화하고 있음을 확인할 수 있다. 추가적으로 유사시에 심판관은 해당 암호문에서 서명자가 생성한 서명을 복원할 수 있다. 이러한 서명 기술은 전자 상거래에서 사용될 수 있다.Verifiable cryptographic signature technology differs from common signature technology in that a signer creates a signature for a message and sends it to the verifier to verify it. Instead of encrypting it, the signature generated by the trusted third party's public key is encrypted . The verifier that receives the ciphertext can verify that the ciphertext encrypts the legitimate signature for the given message, unlike the general cryptographic technique that does not expose any information about plaintext. In addition, the referee can restore the signatures generated by the signer in the corresponding ciphertext. This signature technique can be used in electronic commerce.
사용자 A와 B는 서로 특정 문서(메시지)에 대한 서명값을 교환하고자 한다. 하지만 일반 서명 기술을 사용할 경우 A만 자신의 서명값을 노출하고 B의 서명값을 받지 못하는 상황을 방지할 수 없다. 이러한 환경에서 증명가능암호 서명 기술을 사용할 경우 먼저 A와 B는 자신의 서명값에 대한 증명가능암호 서명값을 생성한 뒤 이를 교환한다. 이에 대한 정당성을 확인한 뒤 각자의 일반 서명값을 교환하게 된다. 이 과정에서 한쪽이 자신의 서명값을 공개하지 않는 경우 심판관을 통해 사전에 교환된 증명가능암호 서명값에서 일반 서명값을 추출할 수 있다.Users A and B wish to exchange signature values for specific documents (messages). However, when using the generic signature technique, it is impossible to prevent A from exposing its own signature value and not receiving the signature value of B. In this circumstance, when using the provable password signature technique, A and B first generate a provable cryptographic signature value for their signature value and then exchange it. After confirming the legitimacy of this, they will exchange their signature values. In this process, if one party does not disclose its signature value, the common signature value can be extracted from the pre-exchanged provable password signature value through the referee.
현재까지 제안된 증명가능암호서명 기술의 경우 인수 분해, 이산 대수, 페어링(pairing) 등을 기반으로 설계되었다. 하지만 풀기 어렵다고 여겨지던 이러한 문제들은 최근 양자 알고리즘의 발전으로 더 이상 안전성의 신뢰성을 보장할 수 없으며, 실제 양자 알고리즘을 이용해 인수분해 문제를 해결하는 기술이 제안되었다.The proposed proof - of - concept cryptographic signature technique is designed based on factorization, discrete algebra, and pairing. However, these problems, which are considered to be difficult to solve, can not guarantee the reliability of the safety due to the recent development of the quantum algorithm, and a technique of solving the factorization problem using the actual quantum algorithm has been proposed.
이러한 환경에서 래티스에 대한 관심이 점차 높아지고 있다. 기존의 래티스 기반의 암호 시스템의 경우 안전성 증명이 결여되어 많은 문제점이 있었으나, 최근 워스트 케이스(worst-case) 문제에 기반하여 증명되는 래티스 기반의 암호 시스템들이 등장하고 있다. 기존의 암호 시스템이 애버리지 케이스(average-case) 문제에 기반하여 설계된 점을 비추어 볼 때 매우 높은 안전성을 제공한다는 것을 알 수 있다.In this environment, interest in lattices is increasing. The existing lattice-based cryptosystem has many problems due to lack of safety proof, but recently, a lattice-based cryptosystem proved based on the worst-case problem is emerging. It can be seen that the existing cryptosystem provides very high safety in view of the fact that it is designed based on the average-case problem.
이 뿐만 아니라 래티스 암호 시스템은 기존의 기법에 비해 매우 효율적이다. 인수 분해, 이산 대수, pairing 등의 연산 복잡도는 이지만, 래티스에서의 연산 복잡도는 으로 훨씬 효율적이다. 또한, 래티스 암호 시스템은 양자 알고리즘에 안전하다. 이러한 다양한 이유 때문에 최근 래티스 환경에서 다양한 암호 시스템이 설계되고 있으며, 이러한 작업은 매우 의미 있는 일로 여겨지고 있다.In addition, the Lattice cryptosystem is more efficient than the existing techniques. The computational complexity, such as factoring, discrete algebra, and pairing, , But the computational complexity in Lattice is Is much more efficient. In addition, the lattice cryptosystem is safe for quantum algorithms. Due to these various reasons, various cryptographic systems are being designed in the recent Lattice environment, and this work is considered to be very meaningful.
관련 선행기술로는 한국 공개특허공보 제2012-0071884호(발명의 명칭: 래티스 기반의 링 서명 방법, 공개일자: 2012년 07월 03일)가 있다.
Related prior art is Korean Patent Laid-Open Publication No. 2012-0071884 entitled " Lattice-based ring signing method, public date: July 03, 2012 ".
본 발명의 일 실시예는 래티스 기반으로 증명가능암호 서명 기술을 설계함으로써 래티스 기반 암호 시스템이 갖는 연산 효율성, 높은 안전성, 양자 컴퓨터 분석에 대한 내성 등을 나타낼 수 있는 래티스 기반 증명가능암호 서명 시스템 및 방법을 제공한다.
An embodiment of the present invention provides a lattice-based provable password signing system and method that can demonstrate computational efficiency, high security, immunity to quantum computer analysis, etc., of a lattice-based cryptosystem by designing a provable cryptographic signature technique based on lattice .
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problem (s), and another problem (s) not mentioned can be clearly understood by those skilled in the art from the following description.
본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 시스템은 보안 등급(Security Level)의 입력에 따라 출력되는 시스템 파라미터를 포함하는 공개 파라미터 집합을 이용하여 검증자의 공개키 및 비밀키를 생성하는 검증자 키 생성부; 상기 공개 파라미터 집합 및 상기 검증자의 공개키를 이용하여 서명자의 공개키 및 비밀키를 생성하는 서명자 키 생성부; 상기 서명자의 서명이 상기 서명자의 공개키 및 상기 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 공개 파라미터 집합을 이용하여 심판관의 공개키 및 비밀키를 생성하는 심판관 키 생성부; 및 상기 서명자의 비밀키 및 상기 심판관의 공개키를 이용하여 상기 메시지에 대한 증명가능암호 서명을 생성하는 증명가능암호 서명 생성부를 포함한다.A lattice-based provable cryptographic signature system according to an exemplary embodiment of the present invention uses a public parameter set including system parameters output according to a security level input to generate a public key and a private key of a verifier A key generation unit; A signer key generator for generating a public key and a secret key of the signer using the public parameter set and the public key of the verifier; A referee key generating unit for generating a public key and a secret key of the referee using the public parameter set if it is determined that the signature of the signer is a public key of the signer and a valid signature for the message; And a verifiable cryptographic signature generator for generating a verifiable cryptographic signature for the message using the signer's private key and the judge's public key.
상기 검증자 키 생성부는 보안 파라미터 n, 차원 m = O(n log q), 양의 정수 q를 입력 파라미터로 하는 기저 생성 알고리즘을 이용하여, -q/2 ~ q/2 범위 내의 균일(uniform) 분포를 가지는 랜덤 값을 행렬 값으로 가지는 n * m 행렬 B, 및 상기 n * m 행렬 B에 대응되는 기저 TB를 각각 상기 검증자의 공개키 및 비밀키로서 생성할 수 있다.The verifier key generation unit generates a uniform key in a range of -q / 2 to q / 2 by using a base generation algorithm that uses a security parameter n, a dimension m = O (n log q), and a positive integer q as input parameters. N * m matrix B having a random value having a distribution value as a matrix value and a basis T B corresponding to the n * m matrix B as a public key and a secret key of the verifier, respectively.
상기 서명자 키 생성부는 보안 파라미터 n, 차원 m = O(n log q), 양의 정수 q, 및 상기 검증자의 공개키 B를 입력 파라미터로 하는 변형 트랩도어 생성 알고리즘을 이용하여, -q/2 ~ 1/2 범위 내의 균일 분포를 가지는 랜덤 값을 행렬 값으로 가지는 n * m 행렬 A, 및 상기 n * m 행렬 A에 대응되는 기저 TA를 각각 상기 서명자의 공개키 및 비밀키로서 생성할 수 있다.The signer key generation unit generates a signer key using a modified trap door generation algorithm using the security parameter n, the dimension m = O (n log q), the positive integer q, and the public key B of the verifier as input parameters, An n * m matrix A having a random value having a uniform distribution in a range of 1/2 and a base T A corresponding to the n * m matrix A as public keys and secret keys of the signer, respectively .
본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 시스템은 상기 서명자의 비밀키를 이용하여 상기 서명을 생성하는 일반 서명 생성부를 더 포함하고, 상기 일반 서명 생성부는 n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 s1를 생성하고, 상기 메시지에 상기 난수 r을 결합한 값과 상기 난수 s1을 입력으로 하는 해시 함수 H2의 결과 값, 상기 서명자의 공개키 A, 상기 서명자의 비밀키 TA,및 길이 조절 함수 δ4을 입력 파라미터로 하는 PPT(Probabilistic Polynomial Time) 알고리즘을 이용하여 m차원 벡터 d를 생성하며, 상기 난수 r, s1, 및 상기 m차원 벡터 d를 상기 메시지에 대한 서명 값으로 출력할 수 있다.The general signature generation unit may generate the signature using the private key of the signer, and the generic signature generator may generate the signature using the random number r, and generates a random number s 1 consisting of a vector of the m-dimensional, and the hash function to a combination of the random number r value and the random number s 1 in the message as the input result of the H 2, the public key of the signer a, the signer Generates a m-dimensional vector d using a PPT (Probabilistic Polynomial Time) algorithm in which a secret key T A and a length adjustment function? 4 are input parameters, and outputs the random numbers r, s 1 , Can be output as a signature value.
본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 시스템은 상기 서명자의 공개키 및 상기 메시지에 대한 상기 서명의 정당성을 판단하는 일반 서명 검증부를 더 포함하고, 상기 일반 서명 검증부는 하기 수학식을 만족하는 경우, 상기 서명이 상기 서명자의 공개키 및 상기 메시지에 대해 정당한 것으로 판단하며,The lattice-based provable cryptographic signature system according to an embodiment of the present invention further includes a generic signature verification unit for determining a validity of the signature on the signer's public key and the message, If it is determined that the signature is valid for the public key of the signer and the message,
Ad=H2(m∥r,s1)modqAd = H 2 (m? R, s 1 ) modq
상기 수학식에서 상기 m은 상기 메시지를 나타내고, 상기 q는 양의 정수를 나타낼 수 있다.In the above equation, m represents the message, and q may represent a positive integer.
상기 심판관 키 생성부는 보안 파라미터 n, 차원 m = O(n log q), 양의 정수 q를 입력 파라미터로 하는 기저 생성 알고리즘을 이용하여, -q/2 ~ q/2 범위 내의 균일 분포를 가지는 랜덤 값을 행렬 값으로 가지는 n * m 행렬 C, 및 상기 n * m 행렬 C에 대응되는 기저 TC를 각각 상기 심판관의 공개키 및 비밀키로서 생성할 수 있다.The judging panel key generating section generates a random key having a uniform distribution in a range of -q / 2 to q / 2 using a security parameter n, a dimension m = 0 (n log q), and a positive integer q as input parameters. And the base T C corresponding to the n * m matrix C as the public key and the secret key of the referee, respectively.
상기 증명가능암호 서명 생성부는 n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 x, n차원의 벡터로 이루어진 난수 s2를 생성하고, 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H1의 결과 값 R을 이용하여, 상기 검증자의 공개키를 변환하여 행렬 B'를 생성하며, 상기 생성된 행렬 B'의 전치행렬, 상기 난수 s2 및 상기 난수 x를 이용하여 벡터 v를 생성하고, 상기 벡터 v에 상기 난수 x가 포함되어 있음을 증명하기 위한 증명 값 π를 생성하며, 상기 서명자의 공개키와 비밀키, 길이 조절 함수 δ1, 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H2, 상기 R의 전치함수 RT, 및 상기 난수 x를 입력 파라미터로 하는 PPT 알고리즘을 이용하여 m차원의 벡터 e를 생성하고, 상기 검증자의 공개키와 비밀키, 상기 R, 및 길이 조절 함수 δ2을 입력 파라미터로 하는 기저 위임 알고리즘을 이용하여 상기 행렬 B'에 대응되는 기저 행렬 TB' 값을 생성하며, 상기 행렬 B', 상기 기저 행렬 TB', 상기 심판관의 공개키 C, 및 길이 조절 함수 δ3을 입력 파라미터로 하는 매트릭스 변환 알고리즘을 이용하여 m * m 행렬 K 값을 생성하고, 상기 난수 r, 상기 벡터 v, 상기 증명 값 π, 상기 벡터 e, 및 상기 행렬 k 값을 상기 메시지에 대한 증명가능암호 서명 값으로 출력할 수 있다.The provable cryptographic signature generator generates a random number r composed of n strings, a random number x composed of an m-dimensional vector, a random number s 2 composed of an n-dimensional vector, and inputs a value obtained by combining the random number r with the message Generating a matrix B 'by transforming the public key of the verifier by using a result value R of the hash function H 1 that performs a hash function H 1 on the basis of the transpose matrix of the matrix B', the random number s 2, v to generate a proof value π for proving that the vector v includes the random number x, generating a public key and secret key of the signer, a length adjustment function δ 1 , combining the message with the random number r a hash function to the value of the input H 2, wherein R of the pre-function R T, and produce a vector e of the m-dimensional using a PPT algorithm as the input parameter to the random number x, said verification of the public key and a private , Wherein R, and length adjustable function by using the base delegate algorithm for the δ 2 as the input parameters to generate a "base matrix T B corresponding to" value, the matrix B, the matrix B ', the base matrix T B', M matrix K using a matrix transformation algorithm using the public key C of the referee and the length adjustment function? 3 as input parameters, and generates the m * m matrix K by multiplying the random number r, the vector v, the proof value? And output the matrix k value as a provable cryptographic signature value for the message.
본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 시스템은 상기 메시지에 대한 상기 증명가능암호 서명의 정당성을 판단하는 증명가능암호 서명 검증부; 및 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 심판관의 비밀키를 이용하여 상기 증명가능암호 서명으로부터 상기 서명자의 서명을 복원하는 일반 서명 복원부를 더 포함할 수 있다.A lattice-based provable cryptographic signature system according to an embodiment of the present invention includes: a verifiable cryptographic signature verifier for determining the validity of the verifiable cryptographic signature for the message; And a generic signature restoring unit for restoring the signature of the signer from the provable cryptographic signature using the secret key of the judge if it is determined that the verifiable cryptographic signature is a valid signature for the message.
상기 증명가능암호 서명 검증부는 하기 수학식을 만족하는 경우, 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단할 수 있다.The verifiable cryptographic signature verifier may determine that the verifiable cryptographic signature is a valid signature for the message if the following equation is satisfied.
, ,
, , , ,
A(e+RTv)=H2(m∥r,s1)modqA (e + R T v) = H 2 (m? R, s 1 ) modq
상기 일반 서명 복원부는 상기 심판관의 비밀키의 , 상기 의 역행렬, 및 행렬 K의 전치행렬과 난수 x를 곱한 값 KTx를 이용하여 수학식 에서 연립방정식을 이용하여 s 값을 복원하고, 상기 s 값을 이용하여 x 값을 복원()하며, 상기 x 값을 이용하여 σ=(r,s1,d=e+RTx)을 상기 메시지 m에 대한 일반 서명 값으로 출력할 수 있다.The common signature restoration unit may include a signature restoring unit , remind And a value K T x obtained by multiplying the transpose matrix of the matrix K by the random number x, , Restoring the s value using the simultaneous equations and restoring the x value using the s value ( ), And outputs σ = (r, s 1 , d = e + R T x) as a general signature value for the message m using the x value.
본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 방법은 보안 등급(Security Level)의 입력에 따라 출력되는 시스템 파라미터를 포함하는 공개 파라미터 집합을 이용하여 검증자의 공개키 및 비밀키를 생성하는 단계; 상기 공개 파라미터 집합 및 상기 검증자의 공개키를 이용하여 서명자의 공개키 및 비밀키를 생성하는 단계; 상기 서명자의 서명이 상기 서명자의 공개키 및 상기 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 공개 파라미터 집합을 이용하여 심판관의 공개키 및 비밀키를 생성하는 단계; 및 상기 서명자의 비밀키 및 상기 심판관의 공개키를 이용하여 상기 메시지에 대한 증명가능암호 서명을 생성하는 단계를 포함한다.The lattice-based provable cryptographic signature method according to an embodiment of the present invention includes generating a public key and a secret key of a verifier using a set of public parameters including system parameters output according to a security level input ; Generating a public key and a private key of the signer using the public parameter set and the public key of the verifier; Generating a public key and a secret key of the referee using the public parameter set if it is determined that the signature of the signer is a public key of the signer and a valid signature for the message; And generating a provable cryptographic signature for the message using the signer's private key and the referee's public key.
상기 메시지에 대한 증명가능암호 서명을 생성하는 단계는 n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 x, n차원의 벡터로 이루어진 난수 s2를 생성하는 단계; 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H1의 결과 값 R을 이용하여, 상기 검증자의 공개키를 변환하여 행렬 B'를 생성하는 단계; 상기 생성된 행렬 B'의 전치행렬, 상기 난수 s2및 상기 난수 x를 이용하여 벡터 v를 생성하는 단계; 상기 벡터 v에 상기 난수 x가 포함되어 있음을 증명하기 위한 증명 값 π를 생성하는 단계; 상기 서명자의 공개키와 비밀키, 길이 조절 함수 δ1, 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H2, 상기 R의 전치함수 RT, 및 상기 난수 x를 입력 파라미터로 하는 알고리즘을 이용하여 m차원의 벡터 e를 생성하는 단계; 상기 검증자의 공개키와 비밀키, 상기 R, 및 길이 조절 함수 δ2을 입력 파라미터로 하는 알고리즘을 이용하여 상기 행렬 B'에 대응되는 기저 행렬 TB' 값을 생성하는 단계; 상기 행렬 B', 상기 기저 행렬 TB', 상기 심판관의 공개키 C, 및 길이 조절 함수 δ3을 입력 파라미터로 하는 알고리즘을 이용하여 m * m 행렬 K 값을 생성하는 단계; 및 상기 난수 r, 상기 벡터 v, 상기 증명 값 π, 상기 벡터 e, 및 상기 행렬 k 값을 상기 메시지에 대한 증명가능암호 서명 값으로 출력하는 단계를 포함할 수 있다.Wherein the step of generating a provable cryptographic signature for the message comprises generating a random number r of n strings, and a random number s 2 of a random number x, an n dimensional vector of m dimensional vectors; Generating a matrix B 'by transforming the public key of the verifier using the result R of the hash function H 1 whose value is obtained by combining the message with the random number r; Generating a vector v using the transposed matrix of the generated matrix B ', the random number s 2, and the random number x; Generating a proof value? For proving that the vector v includes the random number x; A public key and a secret of the signer's key, the length adjustment function δ 1, the hash function to the value of a combination of the random number r to the message as an input H 2, to the pre-function R T, and the random number x in the above R as an input parameter Generating an m-dimensional vector e using an algorithm; Generating a base matrix T B ' value corresponding to the matrix B' using an algorithm that uses the public key and secret key of the verifier, the R, and the length adjustment function? 2 as input parameters; Generating an m * m matrix K value using an algorithm with the matrix B ', the basis matrix T B' , the referee's public key C, and the length adjustment function δ 3 as input parameters; And outputting the random number r, the vector v, the proof value?, The vector e, and the matrix k as provable cryptographic signature values for the message.
본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 방법은 상기 메시지에 대한 상기 증명가능암호 서명의 정당성을 판단하는 단계; 및 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 심판관의 비밀키를 이용하여 상기 증명가능암호 서명으로부터 상기 서명자의 서명을 복원하는 단계를 더 포함할 수 있다.A lattice-based provable cryptographic signature method according to an embodiment of the present invention includes: determining validity of the verifiable cryptographic signature for the message; And restoring the signer's signature from the provable cryptographic signature using the referee's private key if it is determined that the verifiable cryptographic signature is a valid signature for the message.
상기 증명가능암호 서명의 정당성을 판단하는 단계는 하기 수학식을 만족하는 경우, 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단하는 단계를 포함할 수 있다.Determining the validity of the verifiable cryptographic signature may include determining that the verifiable cryptographic signature is a valid signature for the message if the following equation is satisfied.
, ,
, , , ,
A(e+RTv)=H2(m∥r,s1)modqA (e + R T v) = H 2 (m? R, s 1 ) modq
상기 서명자의 서명을 복원하는 단계는 상기 심판관의 비밀키의 , 상기 의 역행렬, 및 행렬 K의 전치행렬과 난수 x를 곱한 값 KTx를 이용하여 수학식 에서 연립방정식을 이용하여 s 값을 복원하는 단계; 상기 s 값을 이용하여 x 값을 복원()하는 단계; 및 상기 x 값을 이용하여 σ=(r,s1,d=e+RTx)을 상기 메시지 m에 대한 일반 서명 값으로 출력하는 단계를 포함할 수 있다.
Wherein the step of restoring the signature of the signer comprises the steps of: , remind And a value K T x obtained by multiplying the transpose matrix of the matrix K by the random number x, Recovering the s value using a simultaneous equations; The x value is restored using the s value ( ); And outputting, as a general signature value for the message m, σ = (r, s 1 , d = e + R T x) using the x value.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and the accompanying drawings.
본 발명의 일 실시예에 따르면, 래티스 기반으로 설계되어 래티스 기반 암호 시스템이 갖는 연산 효율성, 높은 안전성, 양자 컴퓨터 분석에 대한 내성의 장점을 나타내는 효과가 있다.According to one embodiment of the present invention, there is an effect that the lattice-based design has advantages of arithmetic efficiency, high security, and immunity to quantum computer analysis of a lattice-based cryptosystem.
본 발명의 일 실시예에 따르면, 공개 파라미터(공개키 등)의 크기가 비효율적으로 크며 서명자가 생성할 수 있는 서명 생성 횟수에 제한이 있는 등의 단점을 해결할 수 있다. According to an embodiment of the present invention, it is possible to solve the disadvantage that the size of a public parameter (public key or the like) is ineffective and the number of times of signature generation that the signer can generate is limited.
본 발명의 일 실시예 따르면, 기존의 전자 서명 기술과는 다르게 래티스 기반으로 설계하는 서명 기술인 만큼 관련 연구 분야에 새로운 설계 페러다임을 제시할 수 있다.
According to an embodiment of the present invention, a new design paradigm can be presented to the related research field because it is a signature technology that designs the lattice-based design unlike the existing digital signature technology.
도 1 및 도 2는 본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 시스템을 설명하기 위해 도시한 도면이다.
도 3 내지 도 6은 본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 방법을 설명하기 위해 도시한 흐름도이다.1 and 2 are diagrams illustrating a lattice-based provable cryptographic signature system in accordance with an embodiment of the present invention.
3 to 6 are flowcharts illustrating a lattice-based provable cryptographic signature method according to an embodiment of the present invention.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and / or features of the present invention, and how to accomplish them, will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but is capable of many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
본 발명의 실시예들을 설명하기에 앞서, 본 발명의 기반이 되는 기술인 래티스(lattices)에 대해 설명하고, 이를 통해 본 발명의 일 실시예에서 사용되는 알고리즘들에 대해서도 상세히 살펴보기로 한다.Before describing the embodiments of the present invention, the lattices that are the basis of the present invention will be described, and the algorithms used in an embodiment of the present invention will be described in detail.
- 래티스 (lattices)- lattices
본 발명에서는 차원의 풀-랭크(full-rank) 정수 래티스를 사용하며, 이것은 유한개의 지수(finite index)를 가지는 의 이산 가산 서브그룹(discrete additive subgroup)이다. 즉, 쿼션트 그룹(quotient group) 이 유한하다. 하나의 래티스 은 개의 선형 독립 기저(basis) 벡터 의 모든 정수 선형 결합의 집합과 동일하게 정의된다.In the present invention, Dimensional full-rank integer lattice, which has a finite index < RTI ID = 0.0 > Lt; RTI ID = 0.0 > a < / RTI > discrete additive subgroup. That is, a quotient group This is finite. One Lattice silver The linear independent basis vectors Is defined as the set of all integer linear combinations of.
여기서 일 경우, 동일한 래티스를 생성하는 기저들은 무수히 많다.here , There are a myriad of bases for generating the same lattice.
- 하드 래티스와 SIS, LWE 문제- Hard Lattice, SIS, LWE Problems
본 발명에서는 다음과 같은 정수 래티스의 특정한 형태를 사용한다. 여기서 과 는 정수이며, 차원 은 본 발명에서 사용되는 보안 파라미터이고, 모든 다른 파라미터들은 의 함수들로 내포되었다고 가정한다. 여기서 차원 하드 래티스는 패리티 검사 행렬(parity check matrix) 에 의해 생성되며, 다음과 같이 정의된다.In the present invention, a specific form of the following integer lattice is used. here and Is an integer, and dimension Is a security parameter used in the present invention, and all other parameters Are implied as functions of. here Dimensional hard lattice is a parity check matrix. And is defined as follows.
그리고 어떤 에 대해서, 패리티 검사 행렬 에 의해 생성되는 코셋(coset)은 다음과 같이 정의된다.And any , A parity check matrix Is defined as follows: cos (cos?
어떤 고정된 상수 과 어떤 에 대해, 균등하게 랜덤한(uniformly random) 의 열 벡터는 상의 모두를 ( 확률을 제외하고) 생성할 수 있다. 따라서 본 발명에서는 균등하게 랜덤한 를 사용한다.Some fixed constants And any Uniformly random < RTI ID = 0.0 > The column vector of All of the above ( (Except for probability). Therefore, in the present invention, Lt; / RTI >
다음으로 하드 래티스의 (Short Integer Solution) 문제에 대해서 살펴보자. 이 문제는 평균적인 경우에 어려운 문제(average-case hardness problems)에 속해 있으며, 이 문제를 최악의 경우에 어려운 문제(worst-case hardness problems)로 커넥션(connection)하는 방법에 대해서도 공지된 바 있다.Next to Hard Lattice (Short Integer Solution). This problem belongs to the average-case hardness problems, and it has been known how to connect the problem to worst-case hardness problems in the worst case.
참고로, 문제는 어떤 에 대해 균등하게 랜덤한 행렬 를 입력으로 받아 와 (즉, )을 만족하는 영이 아닌(nonzero) 정수 벡터 를 찾는 것이다. 문제에서 알고리즘 의 성공 확률은 로 나타낸다.Note that, The problem is A uniformly random matrix < RTI ID = 0.0 > As input Wow (In other words, ) Nonzero integer vector satisfying . Algorithms in Problems The probability of success is Respectively.
또한, LWE 문제는 정수 와 상의 특정 분포 에 대해, 문제는 주어진 다수의 에서 벡터 를 찾는 것으로 정의된다.Also, the LWE problem is an integer Wow Specific distribution of About, The problem is that a given number of In vector .
특히, LWE 문제에서 가 분포 을 따르는 경우, 이 역시 SIS 문제와 마찬가지로 최악의 경우에 어려운 문제(worst-case hardness problems)로 커넥션(connection)할 수 있다. 여기서 분포 란 , 소수 에 대해 가 평균 , 표준편차 을 따르는 정규분포라고 할 때, 에 가장 가까운 정수를 나타내는 확률변수를 의미한다.In particular, in the LWE problem Distribution , This can also be a connection to the worst-case hardness problems as in the SIS problem. Here distribution Ran , Minority About Average , Standard Deviation Is a normal distribution that follows < RTI ID = 0.0 > Is a random variable that represents the integer closest to the target.
- 래티스에서의 가우시안 분포- Gaussian distribution in Lattice
본 발명에서 제안된 내용을 바탕으로 래티스에서의 가우시안 분포에 대해서 살펴본다. 어떤 과 차원 에 대해, 가우시안 함수(Gaussian function) 는 로 정의된다. 어떤 코셋 에 대해, 코셋 상의 (중심이 인) 이산 가우시안 분포(discrete Gaussian distribution) 는 각각의 에서 에 비례하는 확률을 가진다.The Gaussian distribution in the lattices will be described based on the contents proposed in the present invention. which And dimension Gaussian function < RTI ID = 0.0 > The . Any coset (The center of gravity) (Discrete Gaussian distribution) Respectively, in .
다음으로 본 발명에서 사용되는 래티스에서의 가우시안 분포와 관련되는 성질들을 살펴본다. 여기에서 는 어떤 에 대한 의 기저를 말하며, 이다.Next, properties related to the Gaussian distribution in the lattices used in the present invention will be described. From here Is any For , And, to be.
( 통계적인 거리를 가지는) 로부터 샘플링을 할 수 있는 PPT(probabilistic polynomial time) 알고리즘 SamplePre이 존재한다.( With statistical distances) A probabilistic polynomial time (PPT) algorithm SamplePre Lt; / RTI >
- 기저와 트랩도어 (basis and trapdoors)- Base and trap doors
본 발명에서는 균등한 분포에서 임의로 선택된 매트릭스 와 이러한 매트릭스로 생성되는 래티스 의 짧은 기저를 생성하는 알고리즘GenBasis을 사용한다. 위의 알고리즘에서 파라미터들은 을 만족하며, 기저 의 길이는 만큼 짧다. 임의의 래티스의 짧은 기저를 찾는 문제는 결국 문제이기 때문에 알고리즘 은 임의의 래티스와 그것의 트랩도어( 문제에 대한) 즉, 짧은 기저를 생성하게 된다.In the present invention, a matrix arbitrarily selected from an even distribution And the lattice created by this matrix Short base of Algorithm to generate GenBasis Lt; / RTI > In the above algorithm, , And the base The length of . The problem of finding the short bases of arbitrary lattices is ultimately Because of the problem, Is an arbitrary lattice and its trap door ( That is, a short base for the problem).
- 특별한 성질을 만족하는 기저와 트랩도어- Base and trap door with special properties
본 발명에서는 위의 트랩도어 생성 알고리즘을 변형한 특별한 성질을 만족하는 변형 트랩도어 생성 알고리즘으로서 SuperSamp 알고리즘을 사용한다. 해당 알고리즘은 위의 GenBasis의 입력값에 추가적으로 매트릭스 를 입력받아 위의 알고리즘과 동일한 분포의 결과값 즉, 래티스 및 그것의 짧은 기저 쌍 을 출력한다.In the present invention, a modified trap door generation algorithm satisfying the special properties of the above-described trap door generation algorithm is proposed. Algorithm. In addition to the input values of the above GenBasis, And outputs the result of the same distribution as the above algorithm, that is, the lattice and its short base pair .
여기서 중요한 성질은 입력값으로 받은 매트릭스 와 출력 매트릭스인 사이에는 을 만족한다는 것이다. SuperSamp의 입력 파라미터는 수식 을 만족해야 한다.The important property here is that the matrix And output matrix Between . The input parameters of the SuperSamp are expressed as Equation .
- 위임 방법 (delegation method)- delegation method
본 발명에서는 래티스의 짧은 기저를 위임하는 기법인 BasisDel 알고리즘을 사용한다. 우선 다음과 같이 짧은 길이의 벡터를 열벡터로 갖는 매트릭스 을 정의한다. 의 열벡터의 분포는 가우시안 분포 를 따른다.In the present invention, BasisDel algorithm, which is a technique for delegating short base of lattice, is used. First, a matrix having a short length vector as a column vector . The distribution of the column vectors of the Gaussian distribution .
BasisDel 알고리즘은 매트릭스 , 래티스 의 짧은 기저 , 위에서 정의한 짧은 매트릭스 그리고 파라미터 을 입력값으로 받아, 매트릭스 와 이로 생성되는 래티스 의 짧은 기저 을 출력한다. 특히, 생성된 기저의 길이는 만큼 증가 비율을 갖는다.BasisDel The algorithm , Lattice Short base of , The short matrix defined above And the parameters As an input value, And the resulting lattice Short base of . In particular, the generated base length is .
- 매트릭스 변환 방법(matirx transformation method)- Matrix transformation method
본 발명에서는 다음과 같은 매트릭스(래티스) 변환 알고리즘, Transform 알고리즘을 제안한다. 해당 알고리즘 Transform은 매트릭스 , 래티스 의 짧은 기저 , 그리고 파라미터 을 입력값으로 받아, 위에서 정의한 짧은 매트릭스 분포 을 따르는 매트릭스 을 출력한다.The present invention proposes the following matrix (lattice) transformation algorithm and Transform algorithm. Transform the corresponding algorithm The matrix , Lattice Short base of , And parameters As an input value, the short matrix distribution defined above ≪ / RTI > .
출력된 매트릭스 는 수식 을 만족한다. 해당 알고리즘을 설계하는 방법은 를 각각 매트릭스 의 번째 열이라고 했을 때, SamplePre을 이용하여 생성할 수 있다. 해당 방법을 번 사용하면 매트릭스를 완성할 수 있으며, SamplePre의 성질에 따라 임을 확인할 수 있다.
The output matrix The equation . How to design the algorithm Respectively, of When we say the third column, SamplePre . ≪ / RTI > How to Use it once to complete the matrix, depending on the nature of the SamplePre .
이하에서는 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 시스템을 상세히 설명하기로 한다.Hereinafter, a lattice-based provable cryptographic signature system according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1 및 도 2는 본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 시스템을 설명하기 위해 도시한 도면이다.1 and 2 are diagrams illustrating a lattice-based provable cryptographic signature system in accordance with an embodiment of the present invention.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 시스템(200)은 검증자 키 생성부(210), 서명자 키 생성부(220), 일반 서명 생성부(230), 일반 서명 검증부(240), 심판관 키 생성부(250), 증명가능암호 서명 생성부(260), 증명가능암호 서명 검증부(270), 일반 서명 복원부(280), 및 제어부(290)를 포함할 수 있다.1 and 2, a lattice-based provable
상기 검증자 키 생성부(210)는 보안 등급(Security Level)의 입력에 따라 출력되는 시스템 파라미터를 포함하는 공개 파라미터 집합을 이용하여 검증자(120)의 공개키 및 비밀키를 생성한다.The verifier
즉, 상기 검증자 키 생성부(210)는 보안 파라미터 n, 차원 m = O(n log q), 양의 정수 q를 입력 파라미터로 하는 기저 생성 알고리즘 GenBasis을 이용하여, -q/2 ~ q/2 범위 내의 균일(uniform) 분포를 가지는 랜덤 값을 행렬 값으로 가지는 n * m 행렬 B, 및 상기 n * m 행렬 B에 대응되는 기저 TB를 각각 상기 검증자(120)의 공개키 및 비밀키로서 생성할 수 있다.That is, the verifier
상기 서명자 키 생성부(220)는 상기 공개 파라미터 집합 및 상기 검증자(120)의 공개키를 이용하여 서명자(110)의 공개키 및 비밀키를 생성한다.The signer
즉, 상기 서명자 키 생성부(220)는 보안 파라미터 n, 차원 m = O(n log q), 양의 정수 q, 및 상기 검증자(120)의 공개키 B를 입력 파라미터로 하는 변형 트랩도어 생성 알고리즘 SuperSamp을 이용하여, -q/2 ~ 1/2 범위 내의 균일 분포를 가지는 랜덤 값을 행렬 값으로 가지는 n * m 행렬 A, 및 상기 n * m 행렬 A에 대응되는 기저 TA를 각각 상기 서명자(110)의 공개키 및 비밀키로서 생성할 수 있다.That is, the signer
상기 일반 서명 생성부(230)는 상기 서명자(110)의 비밀키를 이용하여 서명(일반 서명)을 생성한다.The
이를 위해, 상기 일반 서명 생성부(230)는 n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 s1를 생성할 수 있다. 그리고, 상기 일반 서명 생성부(230)는 상기 메시지에 상기 난수 r을 결합한 값과 상기 난수 s1을 입력으로 하는 해시 함수 H2의 결과 값, 상기 서명자(110)의 공개키 A, 상기 서명자(110)의 비밀키TA, 및 길이 조절 함수 δ4을 입력 파라미터로 하는 PPT(Probabilistic Polynomial Time) 알고리즘 SamplePre을 이용하여 m차원 벡터 d를 생성할 수 있다. 상기 일반 서명 생성부(230)는 상기 난수 r, s1, 및 상기 m차원 벡터 d를 상기 메시지에 대한 서명 값으로 출력할 수 있다.To this end, the
상기 일반 서명 검증부(240)는 상기 서명자(110)의 공개키 및 상기 메시지에 대한 상기 서명의 정당성을 판단한다.The general
이를 위해, 상기 일반 서명 검증부(240)는 하기 수학식을 만족하는지 여부를 판단할 수 있으며, 상기 판단 결과에 따라 상기 서명이 상기 서명자(110)의 공개키 및 상기 메시지에 대해 정당한지 여부를 판단할 수 있다.For this, the general
본 실시예에서는, 하기 수학식을 만족하는 경우, 상기 일반 서명 검증부(240)는 상기 서명이 상기 서명자(110)의 공개키 및 상기 메시지에 대해 정당한 것으로 판단할 수 있다.In the present embodiment, when the following equation is satisfied, the general
Ad=H2(m∥r,s1)modqAd = H2 (m∥r, s 1 ) modq
상기 수학식에서 상기 m은 상기 메시지를 나타내고, 상기 q는 양의 정수를 나타낸다.In the above equation, m represents the message, and q represents a positive integer.
상기 심판관 키 생성부(250)는 상기 서명자(110)의 서명이 상기 서명자(110)의 공개키 및 상기 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 공개 파라미터 집합을 이용하여 심판관(130)의 공개키 및 비밀키를 생성한다.If it is determined that the signature of the
즉, 상기 심판관 키 생성부(250)는 보안 파라미터 n, 차원 m = O(n log q), 양의 정수 q를 입력 파라미터로 하는 기저 생성 알고리즘 GenBasis을 이용하여, -q/2 ~ q/2 범위 내의 균일 분포를 가지는 랜덤 값을 행렬 값으로 가지는 n * m 행렬 C, 및 상기 n * m 행렬 C에 대응되는 기저 TC를 각각 상기 심판관(130)의 공개키 및 비밀키로서 생성할 수 있다.That is, the referee
상기 증명가능암호 서명 생성부(260)는 상기 서명자(110)의 비밀키 및 상기 심판관(130)의 공개키를 이용하여 상기 메시지에 대한 증명가능암호 서명을 생성한다.The verifiable
이를 위해, 상기 증명가능암호 서명 생성부(260)는 n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 x, n차원의 벡터로 이루어진 난수 s2를 생성할 수 있다. 그리고, 상기 증명가능암호 서명 생성부(260)는 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H1의 결과 값 R을 이용하여, 상기 검증자(120)의 공개키를 변환하여 행렬 B'를 생성할 수 있다.To this end, the provable cryptogram
또한, 상기 증명가능암호 서명 생성부(260)는 상기 생성된 행렬 B'의 전치행렬, 상기 난수 s2 및 상기 난수 x를 이용하여 벡터 v를 생성하고, 상기 벡터 v에 상기 난수 x가 포함되어 있음을 증명하기 위한 증명 값 π를 생성할 수 있다.The provable cryptogram
또한, 상기 증명가능암호 서명 생성부(260)는 상기 서명자(110)의 공개키와 비밀키, 길이 조절 함수 δ1, 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H2, 상기 R의 전치함수 RT, 및 상기 난수 x를 입력 파라미터로 하는 PPT 알고리즘 SamplePre을 이용하여 m차원의 벡터 e를 생성할 수 있다.The proof-of-ciphering
또한, 상기 증명가능암호 서명 생성부(260)는 상기 검증자(120)의 공개키와 비밀키, 상기 R, 및 길이 조절 함수 δ2을 입력 파라미터로 하는 기저 위임 알고리즘 BasisDel을 이용하여 상기 행렬 B'에 대응되는 기저 행렬 TB' 값을 생성할 수 있다.The verifiable cryptographic
아울러, 상기 증명가능암호 서명 생성부(260)는 상기 행렬 B', 상기 기저 행렬 TB', 상기 심판관(130)의 공개키 C, 및 길이 조절 함수 δ3을 입력 파라미터로 하는 매트릭스 변환 알고리즘 Transform을 이용하여 m * m 행렬 K 값을 생성할 수 있다.The provable cryptographic
마직막으로, 상기 증명가능암호 서명 생성부(260)는 상기 난수 r, 상기 벡터 v, 상기 증명 값 π, 상기 벡터 e, 및 상기 행렬 k 값을 상기 메시지에 대한 증명가능암호 서명 값으로 출력할 수 있다.Finally, the provable
상기 증명가능암호 서명 검증부(270)는 상기 메시지에 대한 상기 증명가능암호 서명의 정당성을 판단한다.The verifiable
이를 위해, 상기 증명가능암호 서명 검증부(270)는 하기 수학식을 만족하는지 여부를 판단할 수 있으며, 그 판단 결과에 따라 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인지 여부를 판단할 수 있다.To this end, the verifiable cryptographic
본 실시예에서는, 하기 수학식을 만족하는 경우, 상기 증명가능암호 서명 검증부(270)는 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단할 수 있다.In the present embodiment, when the following equation is satisfied, the verifiable cryptographic
, ,
, , , ,
A(e+RTv)=H2(m∥r,s1)modqA (e + R T v) = H 2 (m? R, s 1 ) modq
상기 일반 서명 복원부(280)는 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 심판관(130)의 비밀키를 이용하여 상기 증명가능암호 서명으로부터 상기 서명자(110)의 서명을 복원한다.If the verifiable cryptographic signature is judged to be a valid signature for the message, the general
이를 위해, 상기 일반 서명 복원부(280)는 상기 심판관(130)의 비밀키의 , 상기 의 역행렬 , 및 행렬 K의 전치행렬과 난수 x를 곱한 값 를 이용하여 수학식 에서 연립방정식을 이용하여 s 값을 복원할 수 있다. 그리고, 상기 일반 서명 복원부(280)는 상기 s 값을 이용하여 벡터 v에 관한 수학식 B'Ts+xmodq로부터 x 값을 복원할 수 있다. 이에 따라, 상기 일반 서명 복원부(280)는 상기 x 값을 이용하여 σ=(r,s1,d=e+RTx)을 상기 메시지 m에 대한 일반 서명 값으로 출력할 수 있다.To this end, the general
상기 제어부(290)는 본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 시스템(200), 즉 상기 검증자 키 생성부(210), 상기 서명자 키 생성부(220), 상기 일반 서명 생성부(230), 상기 일반 서명 검증부(240), 상기 심판관 키 생성부(250), 상기 증명가능암호 서명 생성부(260), 상기 증명가능암호 서명 검증부(270), 상기 일반 서명 복원부(280) 등의 동작을 전반적으로 제어할 수 있다.
The
이하에서는 구체적인 실시예를 통해 본 발명을 더욱 상세히 설명하기로 한다.Hereinafter, the present invention will be described in more detail with reference to specific examples.
[실시예][Example]
1. 해당 알고리즘은 사용자로부터 보안 등급(Security Level) 을 입력 받아 이를 기반으로 시스템에서 사용될 다양한 파리미터 및 해시 함수를 정의한다. 먼저, 다음과 같은 성질을 만족하는 충돌내성 해쉬 함수(collision-resistant hash function)를 선택한다.1. The corresponding algorithm is a security level from the user. And defines various parameter and hash functions to be used in the system based on the input. First, we select a collision-resistant hash function that satisfies the following properties.
, ,
그리고 전체 알고리즘에서 사용될 다양한 공개 파라미터를 아래와 같이 정의한다. 아래에서 는 수식 을 만족하는 상수로 정의한다.We define various public parameters to be used in the whole algorithm as follows. Below The equation Is defined as a constant that satisfies
, ,
그리고, 공개 파라미터 집합 을 출력한다.Then, .
2. 서명자와 검증자의 비밀키 및 공개키를 생성하는 알고리즘으로 다음과 같이 연산한다.2. The algorithm that generates the private key and the public key of the signer and the verifier is calculated as follows.
GenBasis GenBasis
SuperSamp 즉, SuperSamp In other words,
서명자의 공개키 및 비밀키 쌍은 , 검증자의 공개키 및 비밀키 쌍은 으로 설정한다.The signer's public and private key pairs , The verifier's public and private key pairs .
3. 서명자의 비밀키 를 이용해 메시지 에 대한 일반 서명 값을 생성하는 알고리즘으로 다음과 같은 방법으로 생성한다.3. Signer's private key Message This algorithm generates a generic signature value for the user.
, s1←Zq m (난수 생성) , s 1? Z q m (random number generation)
d∈Zm←SamplePre(A,TA,δ4,H2(m∥r,s1)) (짧은 벡터 생성)d? Z m ? SamplePre (A, T A ,? 4 , H 2 ( m ? r, s 1 ) produce)
σ=(r,s1,d)을 메시지 에 대한 일반 서명 값으로 출력한다.σ = (r, s 1 , d) As a general signature value.
4. : 아래의 수식을 만족하는 경우 검증자는 주어진 일반 서명 σ=(r,s1,d)이 메시지 과 공개키 대해 정당한 서명이라고 판단한다.4. : If the following equations are satisfied, the verifier is given a generic signature σ = (r, s 1 , d) And public key It is judged to be a legitimate signature.
Ad=H2(m∥r,s1)Ad = H 2 (m? R, s 1 )
5. 심판관의 공개키 및 비밀키 쌍을 생성하기 위해서는 다음과 같이 연산한다.5. To generate the judge's public and private key pairs, calculate as follows.
GenBasis GenBasis
심판관의 공개키 및 비밀키 쌍은 으로 설정한다.The judge's public and private key pairs .
6. 서명자의 비밀키 , 심판관의 공개키 를 이용해 메시지 에 대한 증명가능암호 서명 값을 생성하는 알고리즘으로 다음과 같은 방법으로 생성한다.6. Signer's private key , The judge's public key Message The algorithm generates a cryptographic signature value that can be verified by the following method.
, , s2←Zq n (난수 생성) , , s 2 ← Z q n (random number generation)
, (을 이용해 매트릭스 생성) , ( Using matrix produce)
v∈Zq m=B'Ts2+xmodq (벡터 생성) v∈Z q m = B 'T s 2 + xmodq ( Vector produce)
에 짧은 벡터()가 더해져 있음을 증명하는 증명값 생성 Short vector ( ) Is added to the verification value produce
SamplePre (짧은 벡터 생성) SamplePre (Short vector produce)
BasisDel (짧은 매트릭스 값 생성) BasisDel (Short matrix Value creation)
Transform (을 이용하여 값 생성) Transform ( Using Value creation)
위의 과정에서 임을 알 수 있으며 따라서 임을 알 수 있다. 이를 통해 위의 식에서 (r,s1,d=e+RTx)가 일반 서명 값이 됨을 확인할 수 있다. 마지막으로 τ=(r,v,π,e,K)을 메시지 에 대한 증명가능암호서명 값으로 출력한다.In the process above And therefore . We can confirm that (r, s 1 , d = e + R T x) is a general signature value in the above equation. Finally, τ = (r, v, π, e, K) And outputs it as a provable password signature value.
7. 아래의 수식을 만족하는 경우 검증자는 주어진 증명가능암호 서명 τ=(r,v,π,e,K)이 메시지 에 대해 정당한 서명이라고 판단한다.7. If the following equations are satisfied, the verifier will verify that the given verifiable cryptographic signature τ = (r, v, π, e, K) It is judged to be a legitimate signature.
, (을 이용해 매트릭스 생성) , ( Using matrix produce)
의 정당성 확인 즉, 에 짧은 벡터가 더해져 있음을 확인 In other words, Confirm that a short vector is added to
, , , ,
정당하게 생성된 서명 값인 경우 다음과 같이 연산이 가능하다.If the signature value is properly generated, the following operation is possible.
8. 해당 알고리즘은 심판관의 비밀키인 를 이용해 주어진 증명가능암호 서명 τ=(r,v,π,e,K)에서 일반 서명을 복원하는 알고리즘이다.8. The algorithm is the referee's secret key (R, v, π, e, K), which can be obtained by using the cryptographic signature τ = (r, v, π, e, K).
(심판관의 비밀키 를 이용) (The referee's secret key )
(의 역행렬 를 이용) ( Inverse of )
(를 이용) ( )
(에서 연립방정식을 이용하여 값 복원) ( Using the simultaneous equations in Value restore)
(를 이용하여 값 복원) ( Using Value restore)
상기 수식과 같은 알고리즘을 통해 σ=(r,s1,d=e+RTx)을 메시지 에 대한 일반 서명 값으로 출력한다.
(R, s 1 , d = e + R T x) through the same algorithm as the above equation, As a general signature value.
이하에서는 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 방법을 상세히 설명하기로 한다.Hereinafter, a lattice-based provable cryptographic signature method according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 3 내지 도 6은 본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 방법을 설명하기 위해 도시한 흐름도이다. 도 2의 래티스 기반 증명가능암호 서명 시스템(200)에 의해 수행될 수 있다.3 to 6 are flowcharts illustrating a lattice-based provable cryptographic signature method according to an embodiment of the present invention. May be performed by the lattice-based provable
먼저 도 3을 참조하면, 단계(310)에서 상기 래티스 기반 증명가능암호 서명 시스템은 보안 등급(Security Level)의 입력에 따라 출력되는 시스템 파라미터를 포함하는 공개 파라미터 집합을 이용하여 검증자의 공개키 및 비밀키를 생성한다.3, in
다음으로, 단계(320)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 공개 파라미터 집합 및 상기 검증자의 공개키를 이용하여 서명자의 공개키 및 비밀키를 생성한다.Next, in
다음으로, 단계(330)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 서명자의 비밀키를 이용하여 상기 서명자의 일반 서명을 생성한다. 상기 단계(330)에 대해 도 4를 참조하여 상세히 설명하면 다음과 같다.Next, in
즉, 단계(410)에서 상기 래티스 기반 증명가능암호 서명 시스템은 n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 s1를 생성한다.That is, in
이후, 단계(420)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 메시지에 상기 난수 r을 결합한 값과 상기 난수 s1을 입력으로 하는 해시 함수 H2의 결과 값, 상기 서명자의 공개키 A, 상기 서명자의 비밀키 TA, 및 길이 조절 함수 δ4을 입력 파라미터로 하는 PPT 알고리즘을 이용하여 m차원 벡터 d를 생성한다.Thereafter, the lattice-based provable code signing system at step 420 a hash function to the value of the random number s 1 combines the random number r to the message as an input result of the H 2, the public key of the signer A, the The m-dimensional vector d is generated using the PPT algorithm using the secret key T A of the signer and the length adjustment function? 4 as input parameters.
이후, 단계(430)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 난수 r, s1,및 상기 m차원 벡터 d를 상기 메시지에 대한 서명 값으로 출력한다.Thereafter, in
다시 도 3을 참조하면, 단계(340)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 서명자의 공개키 및 상기 메시지에 대한 상기 일반 서명의 정당성을 판단한다.Referring again to FIG. 3, in
상기 판단 결과, 상기 일반 서명이 상기 서명자의 공개키 및 상기 메시지에 대해 정당한 서명인 경우(340의 "예" 방향), 단계(350)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 공개 파라미터 집합을 이용하여 심판관의 공개키 및 비밀키를 생성한다.If it is determined in
다음으로, 단계(360)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 서명자의 비밀키 및 상기 심판관의 공개키를 이용하여 상기 메시지에 대한 증명가능암호 서명을 생성한다. 상기 단계(360)에 대해 도 5를 참조하여 상세히 설명하면 다음과 같다.Next, in
즉, 단계(510)에서 상기 래티스 기반 증명가능암호 서명 시스템은 n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 x, n차원의 벡터로 이루어진 난수 s2를 생성한다.That is, in
이후, 단계(520)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H1의 결과 값 R을 이용하여, 상기 검증자의 공개키를 변환하여 행렬 B'를 생성한다.Thereafter, in
이후, 단계(530)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 생성된 행렬 B'의 전치행렬, 상기 난수 s2 및 상기 난수 x를 이용하여 벡터 v를 생성한다.Thereafter, in
이후, 단계(540)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 벡터 v에 상기 난수 x가 포함되어 있음을 증명하기 위한 증명 값 π를 생성한다.Thereafter, in
이후, 단계(550)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 서명자의 공개키와 비밀키, 길이 조절 함수 δ1, 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H2, 상기 R의 전치함수 RT,및 상기 난수 x를 입력 파라미터로 하는 알고리즘을 이용하여 m차원의 벡터 e를 생성한다.Thereafter, in
이후, 단계(560)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 검증자의 공개키와 비밀키, 상기 R, 및 길이 조절 함수 δ2을 입력 파라미터로 하는 알고리즘을 이용하여 상기 행렬 B'에 대응되는 기저 행렬 TB' 값을 생성한다.Thereafter, in
이후, 단계(570)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 행렬 B', 상기 기저 행렬 TB', 상기 심판관의 공개키 C, 및 길이 조절 함수 δ3을 입력 파라미터로 하는 알고리즘을 이용하여 m * m 행렬 K 값을 생성한다.Thereafter, in
이후, 단계(580)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 난수 r, 상기 벡터 v, 상기 증명 값 π, 상기 벡터 e, 및 상기 행렬 k 값을 상기 메시지에 대한 증명가능암호 서명 값으로 출력한다.Thereafter, in
다시 도 3을 참조하면, 단계(370)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 메시지에 대한 상기 증명가능암호 서명의 정당성을 판단한다.Referring again to FIG. 3, in
상기 판단 결과, 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 경우(370의 "예" 방향), 단계(380)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 심판관의 비밀키를 이용하여 상기 증명가능암호 서명으로부터 상기 서명자의 서명을 복원한다. 상기 단계(380)에 대해 도 6을 참조하여 상세히 설명하면 다음과 같다.As a result of the determination, if the verifiable cryptographic signature is a valid signature for the message ("Yes" direction 370), then in
즉, 단계(610)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 심판관의 비밀키의 , 상기 의 역행렬, 및 행렬 K의 전치행렬과 난수 x를 곱한 값 KTx를 이용하여 수학식 에서 연립방정식을 이용하여 s 값을 복원한다.That is, in
이후, 단계(620)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 s 값을 이용하여 벡터 v에 관한 수학식 B'Ts+xmodq로부터 x 값을 복원한다().Thereafter, in
이후, 단계(630)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 x 값을 이용하여 σ=(r,s1,d=e+RTx)을 상기 메시지 m에 대한 일반 서명 값으로 출력한다.
Then, in
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the present invention include computer readable media including program instructions for performing various computer implemented operations. The computer-readable medium may include program instructions, local data files, local data structures, etc., alone or in combination. The media may be those specially designed and constructed for the present invention or may be those known to those skilled in the computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and ROMs, And hardware devices specifically configured to store and execute the same program instructions. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the scope of the appended claims and equivalents thereof.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Modification is possible. Accordingly, the spirit of the present invention should be understood only in accordance with the following claims, and all equivalents or equivalent variations thereof are included in the scope of the present invention.
110: 서명자
120: 검증자
130: 심판관
210: 검증자 키 생성부
220: 서명자 키 생성부
230: 일반 서명 생성부
240: 일반 서명 검증부
250: 심판관 키 생성부
260: 증명가능암호 서명 생성부
270: 증명가능암호 서명 검증부
280: 일반 서명 복원부
290: 제어부110: Signer
120: Verifier
130: Judge
210: a verifier key generation unit
220: signer key generation unit
230: Generic signature generator
240: General signature verification unit
250: Judge key generation unit
260: Proofable password signature generator
270: Proofable Password Signature Verification Unit
280: General signature restoring unit
290:
Claims (15)
상기 공개 파라미터 집합 및 상기 검증자의 공개키를 이용하여 서명자의 공개키 및 비밀키를 생성하는 서명자 키 생성부;
상기 서명자의 서명이 상기 서명자의 공개키 및 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 공개 파라미터 집합을 이용하여 심판관의 공개키 및 비밀키를 생성하는 심판관 키 생성부; 및
상기 서명자의 비밀키 및 상기 심판관의 공개키를 이용하여 상기 메시지에 대한 증명가능암호 서명을 생성하는 증명가능암호 서명 생성부
를 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
A verifier key generating unit for generating a public key and a secret key of a verifier using a set of public parameters including system parameters output according to a security level input;
A signer key generator for generating a public key and a secret key of the signer using the public parameter set and the public key of the verifier;
A referee key generating unit for generating a public key and a secret key of the referee using the public parameter set if it is determined that the signature of the signer is a valid signature for the public key and the message of the signer; And
A verifiable cryptographic signature generator for generating a verifiable cryptographic signature for the message using the signer's private key and the judge's public key,
Based on the authentication information,
상기 검증자 키 생성부는
보안 파라미터 n, 차원 m = O(n log q), 양의 정수 q를 입력 파라미터로 하는 기저 생성 알고리즘을 이용하여, -q/2 ~ q/2 범위 내의 균일(uniform) 분포를 가지는 랜덤 값을 행렬 값으로 가지는 n * m 행렬 B, 및 상기 n * m 행렬 B에 대응되는 기저 TB를 각각 상기 검증자의 공개키 및 비밀키로서 생성하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
The method according to claim 1,
The verifier key generation unit
A random value having a uniform distribution in the range of -q / 2 to q / 2 is calculated by using a base generation algorithm which has a security parameter n, a dimension m = O (n log q) and a positive integer q as input parameters M matrix B as a matrix value and a basis T B corresponding to the n * m matrix B as a public key and a secret key of the verifier, respectively.
상기 서명자 키 생성부는
보안 파라미터 n, 차원 m = O(n log q), 양의 정수 q, 및 상기 검증자의 공개키 B를 입력 파라미터로 하는 변형 트랩도어 생성 알고리즘을 이용하여, -q/2 ~ 1/2 범위 내의 균일 분포를 가지는 랜덤 값을 행렬 값으로 가지는 n * m 행렬 A, 및 상기 n * m 행렬 A에 대응되는 기저 TA를 각각 상기 서명자의 공개키 및 비밀키로서 생성하는 단계
를 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
The method according to claim 1,
The signer key generation unit
A variation trap door generation algorithm using the security parameter n, the dimension m = 0 (n log q), the positive integer q, and the public key B of the verifier as input parameters, Generating an n * m matrix A having a random value having a uniform distribution as a matrix value and a basis T A corresponding to the n * m matrix A as a public key and a secret key of the signer, respectively
Based on the authentication information,
상기 서명자의 비밀키를 이용하여 상기 서명을 생성하는 일반 서명 생성부
를 더 포함하고,
상기 일반 서명 생성부는
n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 s1를 생성하고, 상기 메시지에 상기 난수 r을 결합한 값과 상기 난수 s1을 입력으로 하는 해시 함수 H2의 결과 값, 상기 서명자의 공개키 A, 상기 서명자의 비밀키 TA,및 길이 조절 함수 δ4을 입력 파라미터로 하는 PPT(Probabilistic Polynomial Time) 알고리즘을 이용하여 m차원 벡터 d를 생성하며, 상기 난수 r, s1, 및 상기 m차원 벡터 d를 상기 메시지에 대한 서명 값으로 출력하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
The method according to claim 1,
A signature generating unit for generating the signature using the secret key of the signer,
Further comprising:
The generic signature generator
a random number r made up of n strings, and a random number s 1 made up of an m-dimensional vector, the result of the hash function H 2 having a value obtained by combining the random number r with the message and the random number s 1 , Dimensional vector d is generated using a PPT (Probabilistic Polynomial Time) algorithm with the public key A of the signer, the secret key T A of the signer, and the length adjustment function? 4 as input parameters, and the random numbers r, s 1 , And outputting the m-dimensional vector d as a signature value for the message.
상기 서명자의 공개키 및 상기 메시지에 대한 상기 서명의 정당성을 판단하는 일반 서명 검증부
를 더 포함하고,
상기 일반 서명 검증부는
하기 수학식을 만족하는 경우, 상기 서명이 상기 서명자의 공개키 및 상기 메시지에 대해 정당한 것으로 판단하며,
Ad=H2(m∥r,s1)modq
상기 수학식에서 상기 m은 상기 메시지를 나타내고, 상기 q는 양의 정수를 나타내는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
5. The method of claim 4,
A common signature verification unit for determining the signature of the signer and the legitimacy of the signature for the message;
Further comprising:
The generic signature verification unit
If it satisfies the following equation, judges that the signature is valid for the public key of the signer and the message,
Ad = H 2 (m? R, s 1 ) modq
Where m represents the message and q represents a positive integer. ≪ Desc / Clms Page number 20 >
상기 심판관 키 생성부는
보안 파라미터 n, 차원 m = O(n log q), 양의 정수 q를 입력 파라미터로 하는 기저 생성 알고리즘을 이용하여, -q/2 ~ q/2 범위 내의 균일 분포를 가지는 랜덤 값을 행렬 값으로 가지는 n * m 행렬 C, 및 상기 n * m 행렬 C에 대응되는 기저 TC를 각각 상기 심판관의 공개키 및 비밀키로서 생성하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
The method according to claim 1,
The referee key generating unit
A random value having a uniform distribution in the range of -q / 2 to q / 2 is transformed into a matrix value using a base generation algorithm in which a security parameter n, a dimension m = O (n log q), and a positive integer q are input parameters. And a base T C corresponding to the n * m matrix C as the public key and the secret key of the referee, respectively.
상기 증명가능암호 서명 생성부는
n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 x, n차원의 벡터로 이루어진 난수 s2를 생성하고, 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H1의 결과 값 R을 이용하여, 상기 검증자의 공개키를 변환하여 행렬 B'를 생성하며, 상기 생성된 행렬 B'의 전치행렬, 상기 난수 s2 및 상기 난수 x를 이용하여 벡터 v를 생성하고, 상기 벡터 v에 상기 난수 x가 포함되어 있음을 증명하기 위한 증명 값 π를 생성하며, 상기 서명자의 공개키와 비밀키, 길이 조절 함수 δ1, 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H2, 상기 R의 전치함수 RT, 및 상기 난수 x를 입력 파라미터로 하는 PPT 알고리즘을 이용하여 m차원의 벡터 e를 생성하고, 상기 검증자의 공개키와 비밀키, 상기 R, 및 길이 조절 함수 δ2을 입력 파라미터로 하는 기저 위임 알고리즘을 이용하여 상기 행렬 B'에 대응되는 기저 행렬 TB' 값을 생성하며, 상기 행렬 B', 상기 기저 행렬 TB', 상기 심판관의 공개키 C, 및 길이 조절 함수 δ3을 입력 파라미터로 하는 매트릭스 변환 알고리즘을 이용하여 m * m 행렬 K 값을 생성하고, 상기 난수 r, 상기 벡터 v, 상기 증명 값 π, 상기 벡터 e, 및 상기 행렬 k 값을 상기 메시지에 대한 증명가능암호 서명 값으로 출력하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
The method according to claim 1,
Wherein the provable password signature generator
a random number r made up of n strings, and a random number x made up of an m-dimensional vector, a random number s 2 made up of an n-dimensional vector, and a result of the hash function H 1 Generates a matrix B 'by transforming the public key of the verifier using the value R, generates a vector v using the transposed matrix of the matrix B', the random number s 2, and the random number x, generating a proof value π for proving that the random number x is included in the hash function v, inputting a public key of the signer, a secret key, a length adjustment function δ 1 , and a value obtained by combining the message with the random number r, Dimensional vector e using the PPT algorithm with H 2 , the transpose function R T of the R, and the random number x as input parameters, and generates a m-dimensional vector e using the public key, the R, and the length adjustment function δ 2 Wherein using the base delegate algorithm as the input parameter matrix B 'base matrix T B corresponding to "generate the value, the matrix B', the base matrix T B ', the public key of the judge C, and the length adjustment function, the vector v, the proof value?, the vector e, and the matrix k value for the message, using the matrix transformation algorithm with? 3 as the input parameter, And outputs it as a provable cryptographic signature value.
상기 메시지에 대한 상기 증명가능암호 서명의 정당성을 판단하는 증명가능암호 서명 검증부; 및
상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 심판관의 비밀키를 이용하여 상기 증명가능암호 서명으로부터 상기 서명자의 서명을 복원하는 일반 서명 복원부
를 더 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
The method according to claim 1,
A verifiable cryptographic signature verifying unit for verifying the validity of the verifiable cryptographic signature for the message; And
And restoring the signature of the signer from the provable cryptographic signature using the secret key of the judge if it is determined that the verifiable cryptographic signature is a valid signature for the message,
Further comprising: means for determining whether the lattice-based provable cryptographic signature system is valid.
상기 증명가능암호 서명 검증부는
하기 수학식을 만족하는 경우, 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
,
, ,
A(e+RTv)=H2(m∥r,s1)modq
9. The method of claim 8,
The provable password signature verification unit
If the following equation is satisfied, then the verifiable cryptographic signature is judged to be a valid signature for the message.
,
, ,
A (e + R T v) = H 2 (m? R, s 1 ) modq
상기 일반 서명 복원부는
상기 심판관의 비밀키의 , 상기 의 역행렬, 및 행렬 K의 전치행렬과 난수 x를 곱한 값 KTx를 이용하여 수학식 에서 연립방정식을 이용하여 s 값을 복원하고, 상기 s 값을 이용하여 x 값을 복원()하며, 상기 x 값을 이용하여 σ=(r,s1,d=e+RTx)을 상기 메시지 m에 대한 일반 서명 값으로 출력하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
9. The method of claim 8,
The general signature restoration unit
Of the referee's secret key , remind And a value K T x obtained by multiplying the transpose matrix of the matrix K by the random number x, , Restoring the s value using the simultaneous equations and restoring the x value using the s value ( ), And outputs σ = (r, s 1 , d = e + R T x) as a general signature value for the message m using the x value.
상기 공개 파라미터 집합 및 상기 검증자의 공개키를 이용하여 서명자의 공개키 및 비밀키를 생성하는 단계;
상기 서명자의 서명이 상기 서명자의 공개키 및 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 공개 파라미터 집합을 이용하여 심판관의 공개키 및 비밀키를 생성하는 단계; 및
상기 서명자의 비밀키 및 상기 심판관의 공개키를 이용하여 상기 메시지에 대한 증명가능암호 서명을 생성하는 단계
를 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 방법.
Generating a public key and a private key of a verifier using a public parameter set including system parameters output according to an input of a security level;
Generating a public key and a private key of the signer using the public parameter set and the public key of the verifier;
Generating a public key and a secret key of the judge using the public parameter set if it is determined that the signature of the signer is a legitimate signature for the public key and the message of the signer; And
Generating a provable password signature for the message using the signer's private key and the referee's public key
Gt; A method as recited in claim 1,
상기 메시지에 대한 증명가능암호 서명을 생성하는 단계는
n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 x, n차원의 벡터로 이루어진 난수 s2를 생성하는 단계;
상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H1의 결과 값 R을 이용하여, 상기 검증자의 공개키를 변환하여 행렬 B'를 생성하는 단계;
상기 생성된 행렬 B'의 전치행렬, 상기 난수 s2및 상기 난수 x를 이용하여 벡터 v를 생성하는 단계;
상기 벡터 v에 상기 난수 x가 포함되어 있음을 증명하기 위한 증명 값 π를 생성하는 단계;
상기 서명자의 공개키와 비밀키, 길이 조절 함수 δ1, 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H2, 상기 R의 전치함수 RT, 및 상기 난수 x를 입력 파라미터로 하는 알고리즘을 이용하여 m차원의 벡터 e를 생성하는 단계;
상기 검증자의 공개키와 비밀키, 상기 R, 및 길이 조절 함수 δ2을 입력 파라미터로 하는 알고리즘을 이용하여 상기 행렬 B'에 대응되는 기저 행렬 TB' 값을 생성하는 단계;
상기 행렬 B', 상기 기저 행렬 TB', 상기 심판관의 공개키 C, 및 길이 조절 함수 δ3을 입력 파라미터로 하는 알고리즘을 이용하여 m * m 행렬 K 값을 생성하는 단계; 및
상기 난수 r, 상기 벡터 v, 상기 증명 값 π, 상기 벡터 e, 및 상기 행렬 k 값을 상기 메시지에 대한 증명가능암호 서명 값으로 출력하는 단계
를 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 방법.
12. The method of claim 11,
The step of generating a verifiable cryptographic signature for the message
generating a random number r composed of n strings, a random number x made up of an m-dimensional vector, and a random number s 2 made up of an n-dimensional vector;
Generating a matrix B 'by transforming the public key of the verifier using the result R of the hash function H 1 whose value is obtained by combining the message with the random number r;
Generating a vector v using the transposed matrix of the generated matrix B ', the random number s 2, and the random number x;
Generating a proof value? For proving that the vector v includes the random number x;
A public key and a secret of the signer's key, the length adjustment function δ 1, the hash function to the value of a combination of the random number r to the message as an input H 2, to the pre-function R T, and the random number x in the above R as an input parameter Generating an m-dimensional vector e using an algorithm;
Generating a base matrix T B ' value corresponding to the matrix B' using an algorithm that uses the public key and secret key of the verifier, the R, and the length adjustment function? 2 as input parameters;
Generating an m * m matrix K value using an algorithm with the matrix B ', the basis matrix T B' , the referee's public key C, and the length adjustment function δ 3 as input parameters; And
Outputting the random number r, the vector v, the proof value?, The vector e, and the matrix k as provable cryptographic signature values for the message
Gt; A method as recited in claim 1,
상기 메시지에 대한 상기 증명가능암호 서명의 정당성을 판단하는 단계; 및
상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 심판관의 비밀키를 이용하여 상기 증명가능암호 서명으로부터 상기 서명자의 서명을 복원하는 단계
를 더 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 방법.
12. The method of claim 11,
Determining a validity of the verifiable cryptographic signature for the message; And
If the verifiable cryptographic signature is determined to be a valid signature for the message, restoring the signature of the signer from the verifiable cryptographic signature using the referee's private key
Further comprising the steps of: (a) providing a first password;
상기 증명가능암호 서명의 정당성을 판단하는 단계는
하기 수학식을 만족하는 경우, 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단하는 단계
를 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 방법.
,
, ,
A(e+RTv)=H2(m∥r,s1)modq
14. The method of claim 13,
Wherein the step of determining the legitimacy of the verifiable encrypted signature
Determining that the provable cryptographic signature is a valid signature for the message if the following equation is satisfied:
Gt; A method as recited in claim 1,
,
, ,
A (e + R T v) = H 2 (m? R, s 1 ) modq
상기 서명자의 서명을 복원하는 단계는
상기 심판관의 비밀키의 , 상기 의 역행렬, 및 행렬 K의 전치행렬과 난수 x를 곱한 값 KTx를 이용하여 수학식 에서 연립방정식을 이용하여 s 값을 복원하는 단계;
상기 s 값을 이용하여 x 값을 복원()하는 단계; 및
상기 x 값을 이용하여 σ=(r,s1,d=e+RTx)을 상기 메시지 m에 대한 일반 서명 값으로 출력하는 단계
를 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 방법.15. The method of claim 14,
The step of restoring the signature of the signer
Of the referee's secret key , remind And a value K T x obtained by multiplying the transpose matrix of the matrix K by the random number x, Recovering the s value using a simultaneous equations;
The x value is restored using the s value ( ); And
(R, s 1 , d = e + R T x) using the x value as a general signature value for the message m
Gt; A method as recited in claim 1,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140022549A KR101523053B1 (en) | 2014-02-26 | 2014-02-26 | System and method for verifiably encrypted signatures from lattices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140022549A KR101523053B1 (en) | 2014-02-26 | 2014-02-26 | System and method for verifiably encrypted signatures from lattices |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101523053B1 true KR101523053B1 (en) | 2015-05-27 |
Family
ID=53395524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140022549A KR101523053B1 (en) | 2014-02-26 | 2014-02-26 | System and method for verifiably encrypted signatures from lattices |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101523053B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112217629A (en) * | 2020-10-13 | 2021-01-12 | 安徽大学 | Cloud storage public auditing method |
WO2021061833A1 (en) * | 2019-09-26 | 2021-04-01 | Visa International Service Association | Lattice based signatures with uniform secrets |
CN114491664A (en) * | 2021-12-29 | 2022-05-13 | 西北工业大学 | Server information security detection method and device and detection equipment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120071884A (en) * | 2010-12-23 | 2012-07-03 | 한국전자통신연구원 | Ring signature method based on lattices |
-
2014
- 2014-02-26 KR KR1020140022549A patent/KR101523053B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120071884A (en) * | 2010-12-23 | 2012-07-03 | 한국전자통신연구원 | Ring signature method based on lattices |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021061833A1 (en) * | 2019-09-26 | 2021-04-01 | Visa International Service Association | Lattice based signatures with uniform secrets |
CN114521319A (en) * | 2019-09-26 | 2022-05-20 | 维萨国际服务协会 | Lattice-based signatures with uniform secrets |
US11784825B2 (en) | 2019-09-26 | 2023-10-10 | Visa International Service Association | Lattice based signatures with uniform secrets |
CN114521319B (en) * | 2019-09-26 | 2023-12-05 | 维萨国际服务协会 | Lattice-based signature with uniform secret |
CN112217629A (en) * | 2020-10-13 | 2021-01-12 | 安徽大学 | Cloud storage public auditing method |
CN112217629B (en) * | 2020-10-13 | 2022-07-22 | 安徽大学 | Cloud storage public auditing method |
CN114491664A (en) * | 2021-12-29 | 2022-05-13 | 西北工业大学 | Server information security detection method and device and detection equipment |
CN114491664B (en) * | 2021-12-29 | 2024-04-09 | 西北工业大学 | Method, device and equipment for detecting information security of server |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dang | Recommendation for applications using approved hash algorithms | |
EP3068066B1 (en) | Private computation on encrypted biometric data using homomorphic encryption | |
Aufa et al. | Security system analysis in combination method: RSA encryption and digital signature algorithm | |
EP1710952B1 (en) | Cryptographic Applications of the Cartier Pairing | |
CN110545279A (en) | block chain transaction method, device and system with privacy and supervision functions | |
US20150326392A1 (en) | Matrix-based cryptosystem | |
CN106533699B (en) | Identity-based blind signature method on lower lattice of standard model | |
JP2013539295A (en) | Authenticated encryption of digital signatures with message recovery | |
CN106936584B (en) | Method for constructing certificateless public key cryptosystem | |
JP2016114692A (en) | Encryption processing device, encryption processing method, and encryption processing program | |
CN114095181B (en) | Threshold ring signature method and system based on cryptographic algorithm | |
CN101753308B (en) | Completeness certification method | |
WO2016136142A1 (en) | Ciphertext collation system, method and recording medium | |
JP6041864B2 (en) | Method, computer program, and apparatus for data encryption | |
CN104219047A (en) | A signature verification method and apparatus | |
KR101404642B1 (en) | System and method for lattice-based certificateless signature | |
Gorbenko et al. | Post-quantum message authentication cryptography based on error-correcting codes | |
JP6738061B2 (en) | Ciphertext verification system, method, and recording medium | |
CN114448641A (en) | Privacy encryption method, electronic equipment, storage medium and chip | |
KR101523053B1 (en) | System and method for verifiably encrypted signatures from lattices | |
Kazmirchuk et al. | The Improvement of digital signature algorithm based on elliptic curve cryptography | |
CN114257366A (en) | Information homomorphic processing method, device, equipment and computer readable storage medium | |
Zhou et al. | An efficient code-based threshold ring signature scheme with a leader-participant model | |
KR101593673B1 (en) | Method and Apparatus for generating encrypted signature based lattices, Method and Apparatus for restoring encrypted signature based lattices | |
Shankar et al. | Improved Multisignature Scheme for Authenticity of Digital Document in Digital Forensics Using Edward-Curve Digital Signature Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180406 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190411 Year of fee payment: 5 |