KR101523053B1 - System and method for verifiably encrypted signatures from lattices - Google Patents

System and method for verifiably encrypted signatures from lattices Download PDF

Info

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
Application number
KR1020140022549A
Other languages
Korean (ko)
Inventor
정익래
김기성
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020140022549A priority Critical patent/KR101523053B1/en
Application granted granted Critical
Publication of KR101523053B1 publication Critical patent/KR101523053B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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

A lattice-based verifiably encrypted signature system according to an embodiment of the present invention comprises: a verifier key generation unit to generate a public key and a private key of a verifier using a public parameter group containing a system parameter outputted according to a security level input; a signer key generation unit to generate a public key and a private key of a signer using the public parameter group and the public key of the verifier; a judge key generation unit to generate a public key and a private key of a judge using the public parameter group if the signer′s signature is verified as a valid signature with respect to the public key of the signer and a message; and a verifiably encrypted signature generation unit to generate a verifiably encrypted signature with respect to the message using the public key of the signer and the public key of the judge.

Description

래티스 기반 증명가능암호 서명 시스템 및 방법{SYSTEM AND METHOD FOR VERIFIABLY ENCRYPTED SIGNATURES FROM LATTICES} TECHNICAL FIELD [0001] The present invention relates to a lattice-based provable password signing system and method,

본 발명의 실시예들은 암호 분야에서 널리 사용되는 전자서명에 관한 것으로, 더욱 상세하게는 전자상거래 등에서 활용될 수 있는 증명가능암호 서명 기술에 관한 것이다.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 등의 연산 복잡도는

Figure 112014018911368-pat00001
이지만, 래티스에서의 연산 복잡도는
Figure 112014018911368-pat00002
으로 훨씬 효율적이다. 또한, 래티스 암호 시스템은 양자 알고리즘에 안전하다. 이러한 다양한 이유 때문에 최근 래티스 환경에서 다양한 암호 시스템이 설계되고 있으며, 이러한 작업은 매우 의미 있는 일로 여겨지고 있다.In addition, the Lattice cryptosystem is more efficient than the existing techniques. The computational complexity, such as factoring, discrete algebra, and pairing,
Figure 112014018911368-pat00001
, But the computational complexity in Lattice is
Figure 112014018911368-pat00002
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,

Figure 112014018911368-pat00003
Figure 112014018911368-pat00003

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.

Figure 112014018911368-pat00004
,
Figure 112014018911368-pat00005
Figure 112014018911368-pat00004
,
Figure 112014018911368-pat00005

Figure 112014018911368-pat00006
,
Figure 112014018911368-pat00007
,
Figure 112014018911368-pat00008
Figure 112014018911368-pat00006
,
Figure 112014018911368-pat00007
,
Figure 112014018911368-pat00008

A(e+RTv)=H2(m∥r,s1)modqA (e + R T v) = H 2 (m? R, s 1 ) modq

상기 일반 서명 복원부는 상기 심판관의 비밀키의

Figure 112014018911368-pat00009
, 상기
Figure 112014018911368-pat00010
의 역행렬, 및 행렬 K의 전치행렬과 난수 x를 곱한 값 KTx를 이용하여 수학식
Figure 112014018911368-pat00011
에서 연립방정식을 이용하여 s 값을 복원하고, 상기 s 값을 이용하여 x 값을 복원(
Figure 112014018911368-pat00012
)하며, 상기 x 값을 이용하여 σ=(r,s1,d=e+RTx)을 상기 메시지 m에 대한 일반 서명 값으로 출력할 수 있다.The common signature restoration unit may include a signature restoring unit
Figure 112014018911368-pat00009
, remind
Figure 112014018911368-pat00010
And a value K T x obtained by multiplying the transpose matrix of the matrix K by the random number x,
Figure 112014018911368-pat00011
, Restoring the s value using the simultaneous equations and restoring the x value using the s value (
Figure 112014018911368-pat00012
), 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.

Figure 112014018911368-pat00013
,
Figure 112014018911368-pat00014
Figure 112014018911368-pat00013
,
Figure 112014018911368-pat00014

Figure 112014018911368-pat00015
,
Figure 112014018911368-pat00016
,
Figure 112014018911368-pat00017
Figure 112014018911368-pat00015
,
Figure 112014018911368-pat00016
,
Figure 112014018911368-pat00017

A(e+RTv)=H2(m∥r,s1)modqA (e + R T v) = H 2 (m? R, s 1 ) modq

상기 서명자의 서명을 복원하는 단계는 상기 심판관의 비밀키의

Figure 112014018911368-pat00018
, 상기
Figure 112014018911368-pat00019
의 역행렬, 및 행렬 K의 전치행렬과 난수 x를 곱한 값 KTx를 이용하여 수학식
Figure 112014018911368-pat00020
에서 연립방정식을 이용하여 s 값을 복원하는 단계; 상기 s 값을 이용하여 x 값을 복원(
Figure 112014018911368-pat00021
)하는 단계; 및 상기 x 값을 이용하여 σ=(r,s1,d=e+RTx)을 상기 메시지 m에 대한 일반 서명 값으로 출력하는 단계를 포함할 수 있다.
Wherein the step of restoring the signature of the signer comprises the steps of:
Figure 112014018911368-pat00018
, remind
Figure 112014018911368-pat00019
And a value K T x obtained by multiplying the transpose matrix of the matrix K by the random number x,
Figure 112014018911368-pat00020
Recovering the s value using a simultaneous equations; The x value is restored using the s value (
Figure 112014018911368-pat00021
); 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

본 발명에서는

Figure 112014018911368-pat00022
차원의 풀-랭크(full-rank) 정수 래티스를 사용하며, 이것은 유한개의 지수(finite index)를 가지는
Figure 112014018911368-pat00023
의 이산 가산 서브그룹(discrete additive subgroup)이다. 즉, 쿼션트 그룹(quotient group)
Figure 112014018911368-pat00024
이 유한하다. 하나의 래티스
Figure 112014018911368-pat00025
Figure 112014018911368-pat00026
개의 선형 독립 기저(basis) 벡터
Figure 112014018911368-pat00027
의 모든 정수 선형 결합의 집합과 동일하게 정의된다.In the present invention,
Figure 112014018911368-pat00022
Dimensional full-rank integer lattice, which has a finite index < RTI ID = 0.0 >
Figure 112014018911368-pat00023
Lt; RTI ID = 0.0 > a < / RTI > discrete additive subgroup. That is, a quotient group
Figure 112014018911368-pat00024
This is finite. One Lattice
Figure 112014018911368-pat00025
silver
Figure 112014018911368-pat00026
The linear independent basis vectors
Figure 112014018911368-pat00027
Is defined as the set of all integer linear combinations of.

Figure 112014018911368-pat00028
Figure 112014018911368-pat00028

여기서

Figure 112014018911368-pat00029
일 경우, 동일한 래티스를 생성하는 기저들은 무수히 많다.here
Figure 112014018911368-pat00029
, There are a myriad of bases for generating the same lattice.

- 하드 래티스와 SIS, LWE 문제- Hard Lattice, SIS, LWE Problems

본 발명에서는 다음과 같은 정수 래티스의 특정한 형태를 사용한다. 여기서

Figure 112014018911368-pat00030
Figure 112014018911368-pat00031
는 정수이며, 차원
Figure 112014018911368-pat00032
은 본 발명에서 사용되는 보안 파라미터이고, 모든 다른 파라미터들은
Figure 112014018911368-pat00033
의 함수들로 내포되었다고 가정한다. 여기서
Figure 112014018911368-pat00034
차원 하드 래티스는 패리티 검사 행렬(parity check matrix)
Figure 112014018911368-pat00035
에 의해 생성되며, 다음과 같이 정의된다.In the present invention, a specific form of the following integer lattice is used. here
Figure 112014018911368-pat00030
and
Figure 112014018911368-pat00031
Is an integer, and dimension
Figure 112014018911368-pat00032
Is a security parameter used in the present invention, and all other parameters
Figure 112014018911368-pat00033
Are implied as functions of. here
Figure 112014018911368-pat00034
Dimensional hard lattice is a parity check matrix.
Figure 112014018911368-pat00035
And is defined as follows.

Figure 112014018911368-pat00036
Figure 112014018911368-pat00036

그리고 어떤

Figure 112014018911368-pat00037
에 대해서, 패리티 검사 행렬
Figure 112014018911368-pat00038
에 의해 생성되는 코셋(coset)은 다음과 같이 정의된다.And any
Figure 112014018911368-pat00037
, A parity check matrix
Figure 112014018911368-pat00038
Is defined as follows: cos (cos?

Figure 112014018911368-pat00039
Figure 112014018911368-pat00039

어떤 고정된 상수

Figure 112014018911368-pat00040
과 어떤
Figure 112014018911368-pat00041
에 대해, 균등하게 랜덤한(uniformly random)
Figure 112014018911368-pat00042
의 열 벡터는
Figure 112014018911368-pat00043
상의 모두를 (
Figure 112014018911368-pat00044
확률을 제외하고) 생성할 수 있다. 따라서 본 발명에서는 균등하게 랜덤한
Figure 112014018911368-pat00045
를 사용한다.Some fixed constants
Figure 112014018911368-pat00040
And any
Figure 112014018911368-pat00041
Uniformly random < RTI ID = 0.0 >
Figure 112014018911368-pat00042
The column vector of
Figure 112014018911368-pat00043
All of the above (
Figure 112014018911368-pat00044
(Except for probability). Therefore, in the present invention,
Figure 112014018911368-pat00045
Lt; / RTI >

다음으로 하드 래티스의

Figure 112014018911368-pat00046
(Short Integer Solution) 문제에 대해서 살펴보자. 이 문제는 평균적인 경우에 어려운 문제(average-case hardness problems)에 속해 있으며, 이 문제를 최악의 경우에 어려운 문제(worst-case hardness problems)로 커넥션(connection)하는 방법에 대해서도 공지된 바 있다.Next to Hard Lattice
Figure 112014018911368-pat00046
(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.

참고로,

Figure 112014018911368-pat00047
문제는 어떤
Figure 112014018911368-pat00048
에 대해 균등하게 랜덤한 행렬
Figure 112014018911368-pat00049
를 입력으로 받아
Figure 112014018911368-pat00050
Figure 112014018911368-pat00051
(즉,
Figure 112014018911368-pat00052
)을 만족하는 영이 아닌(nonzero) 정수 벡터
Figure 112014018911368-pat00053
를 찾는 것이다.
Figure 112014018911368-pat00054
문제에서 알고리즘
Figure 112014018911368-pat00055
의 성공 확률은
Figure 112014018911368-pat00056
로 나타낸다.Note that,
Figure 112014018911368-pat00047
The problem is
Figure 112014018911368-pat00048
A uniformly random matrix < RTI ID = 0.0 >
Figure 112014018911368-pat00049
As input
Figure 112014018911368-pat00050
Wow
Figure 112014018911368-pat00051
(In other words,
Figure 112014018911368-pat00052
) Nonzero integer vector satisfying
Figure 112014018911368-pat00053
.
Figure 112014018911368-pat00054
Algorithms in Problems
Figure 112014018911368-pat00055
The probability of success is
Figure 112014018911368-pat00056
Respectively.

또한, LWE 문제는 정수

Figure 112014018911368-pat00057
Figure 112014018911368-pat00058
상의 특정 분포
Figure 112014018911368-pat00059
에 대해,
Figure 112014018911368-pat00060
문제는 주어진 다수의
Figure 112014018911368-pat00061
에서 벡터
Figure 112014018911368-pat00062
를 찾는 것으로 정의된다.Also, the LWE problem is an integer
Figure 112014018911368-pat00057
Wow
Figure 112014018911368-pat00058
Specific distribution of
Figure 112014018911368-pat00059
About,
Figure 112014018911368-pat00060
The problem is that a given number of
Figure 112014018911368-pat00061
In vector
Figure 112014018911368-pat00062
.

특히, LWE 문제에서

Figure 112014018911368-pat00063
가 분포
Figure 112014018911368-pat00064
을 따르는 경우, 이 역시 SIS 문제와 마찬가지로 최악의 경우에 어려운 문제(worst-case hardness problems)로 커넥션(connection)할 수 있다. 여기서 분포
Figure 112014018911368-pat00065
Figure 112014018911368-pat00066
, 소수
Figure 112014018911368-pat00067
에 대해
Figure 112014018911368-pat00068
가 평균
Figure 112014018911368-pat00069
, 표준편차
Figure 112014018911368-pat00070
을 따르는 정규분포라고 할 때,
Figure 112014018911368-pat00071
에 가장 가까운 정수를 나타내는 확률변수를 의미한다.In particular, in the LWE problem
Figure 112014018911368-pat00063
Distribution
Figure 112014018911368-pat00064
, This can also be a connection to the worst-case hardness problems as in the SIS problem. Here distribution
Figure 112014018911368-pat00065
Ran
Figure 112014018911368-pat00066
, Minority
Figure 112014018911368-pat00067
About
Figure 112014018911368-pat00068
Average
Figure 112014018911368-pat00069
, Standard Deviation
Figure 112014018911368-pat00070
Is a normal distribution that follows < RTI ID = 0.0 >
Figure 112014018911368-pat00071
Is a random variable that represents the integer closest to the target.

- 래티스에서의 가우시안 분포- Gaussian distribution in Lattice

본 발명에서 제안된 내용을 바탕으로 래티스에서의 가우시안 분포에 대해서 살펴본다. 어떤

Figure 112014018911368-pat00072
과 차원
Figure 112014018911368-pat00073
에 대해, 가우시안 함수(Gaussian function)
Figure 112014018911368-pat00074
Figure 112014018911368-pat00075
로 정의된다. 어떤 코셋
Figure 112014018911368-pat00076
에 대해, 코셋 상의 (중심이
Figure 112014018911368-pat00077
인) 이산 가우시안 분포(discrete Gaussian distribution)
Figure 112014018911368-pat00078
는 각각의
Figure 112014018911368-pat00079
에서
Figure 112014018911368-pat00080
에 비례하는 확률을 가진다.The Gaussian distribution in the lattices will be described based on the contents proposed in the present invention. which
Figure 112014018911368-pat00072
And dimension
Figure 112014018911368-pat00073
Gaussian function < RTI ID = 0.0 >
Figure 112014018911368-pat00074
The
Figure 112014018911368-pat00075
. Any coset
Figure 112014018911368-pat00076
(The center of gravity)
Figure 112014018911368-pat00077
(Discrete Gaussian distribution)
Figure 112014018911368-pat00078
Respectively,
Figure 112014018911368-pat00079
in
Figure 112014018911368-pat00080
.

다음으로 본 발명에서 사용되는 래티스에서의 가우시안 분포와 관련되는 성질들을 살펴본다. 여기에서

Figure 112014018911368-pat00081
는 어떤
Figure 112014018911368-pat00082
에 대한
Figure 112014018911368-pat00083
의 기저를 말하며,
Figure 112014018911368-pat00084
이다.Next, properties related to the Gaussian distribution in the lattices used in the present invention will be described. From here
Figure 112014018911368-pat00081
Is any
Figure 112014018911368-pat00082
For
Figure 112014018911368-pat00083
, And,
Figure 112014018911368-pat00084
to be.

Figure 112014018911368-pat00085
Figure 112014018911368-pat00085

Figure 112014018911368-pat00086
Figure 112014018911368-pat00086

(

Figure 112014018911368-pat00087
통계적인 거리를 가지는)
Figure 112014018911368-pat00088
로부터 샘플링을 할 수 있는 PPT(probabilistic polynomial time) 알고리즘 SamplePre
Figure 112014018911368-pat00089
이 존재한다.(
Figure 112014018911368-pat00087
With statistical distances)
Figure 112014018911368-pat00088
A probabilistic polynomial time (PPT) algorithm SamplePre
Figure 112014018911368-pat00089
Lt; / RTI >

- 기저와 트랩도어 (basis and trapdoors)- Base and trap doors

본 발명에서는 균등한 분포에서 임의로 선택된 매트릭스

Figure 112014018911368-pat00090
와 이러한 매트릭스로 생성되는 래티스
Figure 112014018911368-pat00091
의 짧은 기저
Figure 112014018911368-pat00092
를 생성하는 알고리즘
Figure 112014018911368-pat00093
GenBasis
Figure 112014018911368-pat00094
을 사용한다. 위의 알고리즘에서 파라미터들은
Figure 112014018911368-pat00095
을 만족하며, 기저
Figure 112014018911368-pat00096
의 길이는
Figure 112014018911368-pat00097
만큼 짧다. 임의의 래티스의 짧은 기저를 찾는 문제는 결국
Figure 112014018911368-pat00098
문제이기 때문에 알고리즘
Figure 112014018911368-pat00099
은 임의의 래티스와 그것의 트랩도어(
Figure 112014018911368-pat00100
문제에 대한) 즉, 짧은 기저를 생성하게 된다.In the present invention, a matrix arbitrarily selected from an even distribution
Figure 112014018911368-pat00090
And the lattice created by this matrix
Figure 112014018911368-pat00091
Short base of
Figure 112014018911368-pat00092
Algorithm to generate
Figure 112014018911368-pat00093
GenBasis
Figure 112014018911368-pat00094
Lt; / RTI > In the above algorithm,
Figure 112014018911368-pat00095
, And the base
Figure 112014018911368-pat00096
The length of
Figure 112014018911368-pat00097
. The problem of finding the short bases of arbitrary lattices is ultimately
Figure 112014018911368-pat00098
Because of the problem,
Figure 112014018911368-pat00099
Is an arbitrary lattice and its trap door (
Figure 112014018911368-pat00100
That is, a short base for the problem).

- 특별한 성질을 만족하는 기저와 트랩도어- Base and trap door with special properties

본 발명에서는 위의 트랩도어 생성 알고리즘을 변형한 특별한 성질을 만족하는 변형 트랩도어 생성 알고리즘으로서 SuperSamp

Figure 112014018911368-pat00101
알고리즘을 사용한다. 해당 알고리즘은 위의 GenBasis의 입력값에 추가적으로 매트릭스
Figure 112014018911368-pat00102
를 입력받아 위의 알고리즘과 동일한 분포의 결과값 즉, 래티스 및 그것의 짧은 기저 쌍
Figure 112014018911368-pat00103
을 출력한다.In the present invention, a modified trap door generation algorithm satisfying the special properties of the above-described trap door generation algorithm is proposed.
Figure 112014018911368-pat00101
Algorithm. In addition to the input values of the above GenBasis,
Figure 112014018911368-pat00102
And outputs the result of the same distribution as the above algorithm, that is, the lattice and its short base pair
Figure 112014018911368-pat00103
.

여기서 중요한 성질은 입력값으로 받은 매트릭스

Figure 112014018911368-pat00104
와 출력 매트릭스인
Figure 112014018911368-pat00105
사이에는
Figure 112014018911368-pat00106
을 만족한다는 것이다. SuperSamp의 입력 파라미터는 수식
Figure 112014018911368-pat00107
을 만족해야 한다.The important property here is that the matrix
Figure 112014018911368-pat00104
And output matrix
Figure 112014018911368-pat00105
Between
Figure 112014018911368-pat00106
. The input parameters of the SuperSamp are expressed as Equation
Figure 112014018911368-pat00107
.

- 위임 방법 (delegation method)- delegation method

본 발명에서는 래티스의 짧은 기저를 위임하는 기법인 BasisDel 알고리즘을 사용한다. 우선 다음과 같이 짧은 길이의 벡터를 열벡터로 갖는 매트릭스

Figure 112014018911368-pat00108
을 정의한다.
Figure 112014018911368-pat00109
의 열벡터의 분포는 가우시안 분포
Figure 112014018911368-pat00110
를 따른다.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
Figure 112014018911368-pat00108
.
Figure 112014018911368-pat00109
The distribution of the column vectors of the Gaussian distribution
Figure 112014018911368-pat00110
.

BasisDel

Figure 112014018911368-pat00111
알고리즘은 매트릭스
Figure 112014018911368-pat00112
, 래티스
Figure 112014018911368-pat00113
의 짧은 기저
Figure 112014018911368-pat00114
, 위에서 정의한 짧은 매트릭스
Figure 112014018911368-pat00115
그리고 파라미터
Figure 112014018911368-pat00116
을 입력값으로 받아, 매트릭스
Figure 112014018911368-pat00117
와 이로 생성되는 래티스
Figure 112014018911368-pat00118
의 짧은 기저
Figure 112014018911368-pat00119
을 출력한다. 특히, 생성된 기저의 길이는
Figure 112014018911368-pat00120
만큼 증가 비율을 갖는다.BasisDel
Figure 112014018911368-pat00111
The algorithm
Figure 112014018911368-pat00112
, Lattice
Figure 112014018911368-pat00113
Short base of
Figure 112014018911368-pat00114
, The short matrix defined above
Figure 112014018911368-pat00115
And the parameters
Figure 112014018911368-pat00116
As an input value,
Figure 112014018911368-pat00117
And the resulting lattice
Figure 112014018911368-pat00118
Short base of
Figure 112014018911368-pat00119
. In particular, the generated base length is
Figure 112014018911368-pat00120
.

- 매트릭스 변환 방법(matirx transformation method)- Matrix transformation method

본 발명에서는 다음과 같은 매트릭스(래티스) 변환 알고리즘, Transform 알고리즘을 제안한다. 해당 알고리즘 Transform

Figure 112014018911368-pat00121
은 매트릭스
Figure 112014018911368-pat00122
, 래티스
Figure 112014018911368-pat00123
의 짧은 기저
Figure 112014018911368-pat00124
, 그리고 파라미터
Figure 112014018911368-pat00125
을 입력값으로 받아, 위에서 정의한 짧은 매트릭스 분포
Figure 112014018911368-pat00126
을 따르는 매트릭스
Figure 112014018911368-pat00127
을 출력한다.The present invention proposes the following matrix (lattice) transformation algorithm and Transform algorithm. Transform the corresponding algorithm
Figure 112014018911368-pat00121
The matrix
Figure 112014018911368-pat00122
, Lattice
Figure 112014018911368-pat00123
Short base of
Figure 112014018911368-pat00124
, And parameters
Figure 112014018911368-pat00125
As an input value, the short matrix distribution defined above
Figure 112014018911368-pat00126
≪ / RTI >
Figure 112014018911368-pat00127
.

출력된 매트릭스

Figure 112014018911368-pat00128
는 수식
Figure 112014018911368-pat00129
을 만족한다. 해당 알고리즘을 설계하는 방법은
Figure 112014018911368-pat00130
를 각각 매트릭스
Figure 112014018911368-pat00131
Figure 112014018911368-pat00132
번째 열이라고 했을 때,
Figure 112014018911368-pat00133
SamplePre
Figure 112014018911368-pat00134
을 이용하여 생성할 수 있다. 해당 방법을
Figure 112014018911368-pat00135
번 사용하면 매트릭스를 완성할 수 있으며, SamplePre의 성질에 따라
Figure 112014018911368-pat00136
임을 확인할 수 있다.
The output matrix
Figure 112014018911368-pat00128
The equation
Figure 112014018911368-pat00129
. How to design the algorithm
Figure 112014018911368-pat00130
Respectively,
Figure 112014018911368-pat00131
of
Figure 112014018911368-pat00132
When we say the third column,
Figure 112014018911368-pat00133
SamplePre
Figure 112014018911368-pat00134
. ≪ / RTI > How to
Figure 112014018911368-pat00135
Use it once to complete the matrix, depending on the nature of the SamplePre
Figure 112014018911368-pat00136
.

이하에서는 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 시스템을 상세히 설명하기로 한다.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 cryptographic signature system 200 according to an embodiment of the present invention includes a verifier key generation unit 210, a signer key generation unit 220, a generic signature generation unit 230, a general signature verifying unit 240, a judging key generating unit 250, a verifiable cryptographic signature generating unit 260, a verifiable cryptographic signature verifying unit 270, a generic signature restoring unit 280, 290).

상기 검증자 키 생성부(210)는 보안 등급(Security Level)의 입력에 따라 출력되는 시스템 파라미터를 포함하는 공개 파라미터 집합을 이용하여 검증자(120)의 공개키 및 비밀키를 생성한다.The verifier key generating unit 210 generates a public key and a secret key of the verifier 120 using a set of public parameters including system parameters output according to a security level input.

즉, 상기 검증자 키 생성부(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 key generation unit 210 generates the verifier key using the base generation algorithm GenBasis using the security parameter n, the dimension m = O (n log q), and the positive integer q as the input parameters, M matrix B having a random value having a uniform distribution in a range of 2 to 2 and a base T B corresponding to the n * m matrix B as a public key and a secret key of the verifier 120, respectively, As shown in FIG.

상기 서명자 키 생성부(220)는 상기 공개 파라미터 집합 및 상기 검증자(120)의 공개키를 이용하여 서명자(110)의 공개키 및 비밀키를 생성한다.The signer key generation unit 220 generates a public key and a secret key of the signer 110 using the public parameter set and the public key of the verifier 120.

즉, 상기 서명자 키 생성부(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 key generation unit 220 generates a transformed trap door using a security parameter n, a dimension m = O (n log q), a positive integer q, and a public key B of the verifier 120 as input parameters An n * m matrix A in which a random value having a uniform distribution in a range of -q / 2 to 1/2 is used as a matrix value, and a base T A corresponding to the n * m matrix A are calculated using the algorithm SuperSamp, As a public key and a secret key of the mobile terminal 110.

상기 일반 서명 생성부(230)는 상기 서명자(110)의 비밀키를 이용하여 서명(일반 서명)을 생성한다.The generic signature generator 230 generates a signature (generic signature) using the secret key of the signer 110.

이를 위해, 상기 일반 서명 생성부(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 generic signature generator 230 may generate a random number r of n strings and a random number s 1 of m vectors. The generic signature generation unit 230 generates a public key A of the signer 110, a signer 210 of the signer 110, a result of the hash function H 2 inputting the random number s 1 , The m-dimensional vector d can be generated using a PPT (Probabilistic Polynomial Time) algorithm SamplePre using the secret key T A of the random number generator 110 and the length adjustment function 4 as an input parameter. The generic signature generator 230 may output the random numbers r, s 1 , and the m-dimensional vector d as signature values for the message.

상기 일반 서명 검증부(240)는 상기 서명자(110)의 공개키 및 상기 메시지에 대한 상기 서명의 정당성을 판단한다.The general signature verifying unit 240 judges the public key of the signer 110 and the legitimacy of the signature for the message.

이를 위해, 상기 일반 서명 검증부(240)는 하기 수학식을 만족하는지 여부를 판단할 수 있으며, 상기 판단 결과에 따라 상기 서명이 상기 서명자(110)의 공개키 및 상기 메시지에 대해 정당한지 여부를 판단할 수 있다.For this, the general signature verifying unit 240 can determine whether the following equation is satisfied, and whether the signature is valid for the public key of the signer 110 and the message according to the determination result It can be judged.

본 실시예에서는, 하기 수학식을 만족하는 경우, 상기 일반 서명 검증부(240)는 상기 서명이 상기 서명자(110)의 공개키 및 상기 메시지에 대해 정당한 것으로 판단할 수 있다.In the present embodiment, when the following equation is satisfied, the general signature verifying unit 240 can determine that the signature is valid for the public key of the signer 110 and the message.

Figure 112014018911368-pat00137
Figure 112014018911368-pat00137

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 signer 110 is a valid signature of the signer 110 and the public key of the signer 110, the referee key generating unit 250 generates a public key of the signer 110 using the public parameter set, Key and secret key.

즉, 상기 심판관 키 생성부(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 key generating unit 250 generates the referee key generating unit 250 using the base generation algorithm GenBasis using the security parameter n, the dimension m = O (n log q), and the positive integer q as the input parameters, An n * m matrix C having a random value having a uniform distribution in the range and a base T C corresponding to the n * m matrix C as the public key and the secret key of the referee 130, respectively .

상기 증명가능암호 서명 생성부(260)는 상기 서명자(110)의 비밀키 및 상기 심판관(130)의 공개키를 이용하여 상기 메시지에 대한 증명가능암호 서명을 생성한다.The verifiable cryptographic signature generator 260 generates a verifiable cryptographic signature for the message using the secret key of the signer 110 and the public key of the judge 130.

이를 위해, 상기 증명가능암호 서명 생성부(260)는 n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 x, n차원의 벡터로 이루어진 난수 s2를 생성할 수 있다. 그리고, 상기 증명가능암호 서명 생성부(260)는 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H1의 결과 값 R을 이용하여, 상기 검증자(120)의 공개키를 변환하여 행렬 B'를 생성할 수 있다.To this end, the provable cryptogram signature generation unit 260 can generate 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. The verifiable cryptographic signature generation unit 260 converts the public key of the verifier 120 using the result R of the hash function H 1 , which is a value obtained by combining the message with the random number r To generate matrix B '.

또한, 상기 증명가능암호 서명 생성부(260)는 상기 생성된 행렬 B'의 전치행렬, 상기 난수 s2 및 상기 난수 x를 이용하여 벡터 v를 생성하고, 상기 벡터 v에 상기 난수 x가 포함되어 있음을 증명하기 위한 증명 값 π를 생성할 수 있다.The provable cryptogram signature generation unit 260 generates a vector v using the transposed matrix of the matrix B ', the random number s 2, and the random number x, and the random number x is included in the vector v The proof value? Can be generated.

또한, 상기 증명가능암호 서명 생성부(260)는 상기 서명자(110)의 공개키와 비밀키, 길이 조절 함수 δ1, 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H2, 상기 R의 전치함수 RT, 및 상기 난수 x를 입력 파라미터로 하는 PPT 알고리즘 SamplePre을 이용하여 m차원의 벡터 e를 생성할 수 있다.The proof-of-ciphering signature generator 260 includes a hash function H 2 that receives a public key of the signer 110, a secret key, a length adjustment function δ 1 , a value obtained by combining the random number r with the message, An m-dimensional vector e can be generated using the transpose function R T of R and the PPT algorithm SamplePre taking the random number x as an input parameter.

또한, 상기 증명가능암호 서명 생성부(260)는 상기 검증자(120)의 공개키와 비밀키, 상기 R, 및 길이 조절 함수 δ2을 입력 파라미터로 하는 기저 위임 알고리즘 BasisDel을 이용하여 상기 행렬 B'에 대응되는 기저 행렬 TB' 값을 생성할 수 있다.The verifiable cryptographic signature generation unit 260 generates the verifiable cryptographic signature using the base delegation algorithm BasisDel using the public key, the secret key, the R, and the length adjustment function? 2 of the verifier 120 as input parameters, ≪ RTI ID = 0.0 > T B ' < / RTI >

아울러, 상기 증명가능암호 서명 생성부(260)는 상기 행렬 B', 상기 기저 행렬 TB', 상기 심판관(130)의 공개키 C, 및 길이 조절 함수 δ3을 입력 파라미터로 하는 매트릭스 변환 알고리즘 Transform을 이용하여 m * m 행렬 K 값을 생성할 수 있다.The provable cryptographic signature generation unit 260 generates a proof-of-cryptogram signature using a matrix transformation algorithm Transform using the matrix B ', the base matrix T B' , the public key C of the referee 130 and the length adjustment function δ 3 as input parameters. Can be used to generate an m * m matrix K value.

마직막으로, 상기 증명가능암호 서명 생성부(260)는 상기 난수 r, 상기 벡터 v, 상기 증명 값 π, 상기 벡터 e, 및 상기 행렬 k 값을 상기 메시지에 대한 증명가능암호 서명 값으로 출력할 수 있다.Finally, the provable cryptographic signature generator 260 may output the random number r, the vector v, the proof value?, The vector e, and the matrix k value as a provable password signature value for the message have.

상기 증명가능암호 서명 검증부(270)는 상기 메시지에 대한 상기 증명가능암호 서명의 정당성을 판단한다.The verifiable cryptographic signature verifier 270 determines the validity of the verifiable cryptographic signature for the message.

이를 위해, 상기 증명가능암호 서명 검증부(270)는 하기 수학식을 만족하는지 여부를 판단할 수 있으며, 그 판단 결과에 따라 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인지 여부를 판단할 수 있다.To this end, the verifiable cryptographic signature verification unit 270 can determine whether the following equation is satisfied, and determine whether the verifiable cryptographic signature is a valid signature for the message according to the determination result have.

본 실시예에서는, 하기 수학식을 만족하는 경우, 상기 증명가능암호 서명 검증부(270)는 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단할 수 있다.In the present embodiment, when the following equation is satisfied, the verifiable cryptographic signature verification unit 270 can determine that the verifiable cryptographic signature is a valid signature for the message.

Figure 112014018911368-pat00138
,
Figure 112014018911368-pat00139
Figure 112014018911368-pat00138
,
Figure 112014018911368-pat00139

Figure 112014018911368-pat00140
,
Figure 112014018911368-pat00141
,
Figure 112014018911368-pat00142
Figure 112014018911368-pat00140
,
Figure 112014018911368-pat00141
,
Figure 112014018911368-pat00142

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 signature restoring unit 280 obtains the signature (110) of the signer (110) from the verifiable cryptographic signature using the secret key of the judge (130) .

이를 위해, 상기 일반 서명 복원부(280)는 상기 심판관(130)의 비밀키의

Figure 112014018911368-pat00143
, 상기
Figure 112014018911368-pat00144
의 역행렬
Figure 112014018911368-pat00145
, 및 행렬 K의 전치행렬과 난수 x를 곱한 값
Figure 112014018911368-pat00146
를 이용하여 수학식
Figure 112014018911368-pat00147
에서 연립방정식을 이용하여 s 값을 복원할 수 있다. 그리고, 상기 일반 서명 복원부(280)는 상기 s 값을 이용하여 벡터 v에 관한 수학식 B'Ts+xmodq로부터 x 값을 복원할 수 있다. 이에 따라, 상기 일반 서명 복원부(280)는 상기 x 값을 이용하여 σ=(r,s1,d=e+RTx)을 상기 메시지 m에 대한 일반 서명 값으로 출력할 수 있다.To this end, the general signature restoring unit 280 restores the secret key of the referee 130
Figure 112014018911368-pat00143
, remind
Figure 112014018911368-pat00144
Inverse of
Figure 112014018911368-pat00145
, And a value obtained by multiplying the transposed matrix of the matrix K by the random number x
Figure 112014018911368-pat00146
Lt; RTI ID = 0.0 >
Figure 112014018911368-pat00147
The s value can be restored by using the simultaneous equations. Then, the general signature restoring unit 280 may restore the x value from the equation B ' T s + x mod q related to the vector v using the s value. Accordingly, the general signature restoring unit 280 may output σ = (r, s 1 , d = e + R T x) as a general signature value for the message m using the x value.

상기 제어부(290)는 본 발명의 일 실시예에 따른 래티스 기반 증명가능암호 서명 시스템(200), 즉 상기 검증자 키 생성부(210), 상기 서명자 키 생성부(220), 상기 일반 서명 생성부(230), 상기 일반 서명 검증부(240), 상기 심판관 키 생성부(250), 상기 증명가능암호 서명 생성부(260), 상기 증명가능암호 서명 검증부(270), 상기 일반 서명 복원부(280) 등의 동작을 전반적으로 제어할 수 있다.
The control unit 290 may include a lattice-based provable cryptographic signature system 200 according to an embodiment of the present invention, that is, the verifier key generation unit 210, the signer key generation unit 220, The general signature verifying unit 240, the judging key generating unit 250, the verifiable cryptographic signature generating unit 260, the verifiable cryptographic signature verifying unit 270, 280 and the like can be generally controlled.

이하에서는 구체적인 실시예를 통해 본 발명을 더욱 상세히 설명하기로 한다.Hereinafter, the present invention will be described in more detail with reference to specific examples.

[실시예][Example]

1. 해당 알고리즘은 사용자로부터 보안 등급(Security Level)

Figure 112014018911368-pat00148
을 입력 받아 이를 기반으로 시스템에서 사용될 다양한 파리미터 및 해시 함수를 정의한다. 먼저, 다음과 같은 성질을 만족하는 충돌내성 해쉬 함수(collision-resistant hash function)를 선택한다.1. The corresponding algorithm is a security level from the user.
Figure 112014018911368-pat00148
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.

Figure 112014018911368-pat00149
,
Figure 112014018911368-pat00150
Figure 112014018911368-pat00149
,
Figure 112014018911368-pat00150

그리고 전체 알고리즘에서 사용될 다양한 공개 파라미터를 아래와 같이 정의한다. 아래에서

Figure 112014018911368-pat00151
는 수식
Figure 112014018911368-pat00152
을 만족하는 상수로 정의한다.We define various public parameters to be used in the whole algorithm as follows. Below
Figure 112014018911368-pat00151
The equation
Figure 112014018911368-pat00152
Is defined as a constant that satisfies

Figure 112014018911368-pat00153
,
Figure 112014018911368-pat00154
Figure 112014018911368-pat00153
,
Figure 112014018911368-pat00154

Figure 112014018911368-pat00155
Figure 112014018911368-pat00155

Figure 112014018911368-pat00156
Figure 112014018911368-pat00156

Figure 112014018911368-pat00157
Figure 112014018911368-pat00157

Figure 112014018911368-pat00158
Figure 112014018911368-pat00158

Figure 112014018911368-pat00159
Figure 112014018911368-pat00159

Figure 112014018911368-pat00160
Figure 112014018911368-pat00160

Figure 112014018911368-pat00161
Figure 112014018911368-pat00161

그리고, 공개 파라미터 집합

Figure 112014018911368-pat00162
을 출력한다.Then,
Figure 112014018911368-pat00162
.

2. 서명자와 검증자의 비밀키 및 공개키를 생성하는 알고리즘으로 다음과 같이 연산한다.2. The algorithm that generates the private key and the public key of the signer and the verifier is calculated as follows.

Figure 112014018911368-pat00163
GenBasis
Figure 112014018911368-pat00164
Figure 112014018911368-pat00163
GenBasis
Figure 112014018911368-pat00164

Figure 112014018911368-pat00165
SuperSamp
Figure 112014018911368-pat00166
즉,
Figure 112014018911368-pat00167
Figure 112014018911368-pat00165
SuperSamp
Figure 112014018911368-pat00166
In other words,
Figure 112014018911368-pat00167

서명자의 공개키 및 비밀키 쌍은

Figure 112014018911368-pat00168
, 검증자의 공개키 및 비밀키 쌍은
Figure 112014018911368-pat00169
으로 설정한다.The signer's public and private key pairs
Figure 112014018911368-pat00168
, The verifier's public and private key pairs
Figure 112014018911368-pat00169
.

3. 서명자의 비밀키

Figure 112014018911368-pat00170
를 이용해 메시지
Figure 112014018911368-pat00171
에 대한 일반 서명 값을 생성하는 알고리즘으로 다음과 같은 방법으로 생성한다.3. Signer's private key
Figure 112014018911368-pat00170
Message
Figure 112014018911368-pat00171
This algorithm generates a generic signature value for the user.

Figure 112014018911368-pat00172
, s1←Zq m (난수 생성)
Figure 112014018911368-pat00172
, s 1? Z q m (random number generation)

d∈Zm←SamplePre(A,TA4,H2(m∥r,s1)) (짧은 벡터

Figure 112014018911368-pat00173
생성)d? Z m ? SamplePre (A, T A ,? 4 , H 2 ( m ? r, s 1 )
Figure 112014018911368-pat00173
produce)

σ=(r,s1,d)을 메시지

Figure 112014018911368-pat00174
에 대한 일반 서명 값으로 출력한다.σ = (r, s 1 , d)
Figure 112014018911368-pat00174
As a general signature value.

4.

Figure 112014018911368-pat00175
: 아래의 수식을 만족하는 경우 검증자는 주어진 일반 서명 σ=(r,s1,d)이 메시지
Figure 112014018911368-pat00176
과 공개키
Figure 112014018911368-pat00177
대해 정당한 서명이라고 판단한다.4.
Figure 112014018911368-pat00175
: If the following equations are satisfied, the verifier is given a generic signature σ = (r, s 1 , d)
Figure 112014018911368-pat00176
And public key
Figure 112014018911368-pat00177
It is judged to be a legitimate signature.

Figure 112014018911368-pat00178
Figure 112014018911368-pat00178

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.

Figure 112014018911368-pat00179
GenBasis
Figure 112014018911368-pat00180
Figure 112014018911368-pat00179
GenBasis
Figure 112014018911368-pat00180

심판관의 공개키 및 비밀키 쌍은

Figure 112014018911368-pat00181
으로 설정한다.The judge's public and private key pairs
Figure 112014018911368-pat00181
.

6. 서명자의 비밀키

Figure 112014018911368-pat00182
, 심판관의 공개키
Figure 112014018911368-pat00183
를 이용해 메시지
Figure 112014018911368-pat00184
에 대한 증명가능암호 서명 값을 생성하는 알고리즘으로 다음과 같은 방법으로 생성한다.6. Signer's private key
Figure 112014018911368-pat00182
, The judge's public key
Figure 112014018911368-pat00183
Message
Figure 112014018911368-pat00184
The algorithm generates a cryptographic signature value that can be verified by the following method.

Figure 112014018911368-pat00185
,
Figure 112014018911368-pat00186
, s2←Zq n (난수 생성)
Figure 112014018911368-pat00185
,
Figure 112014018911368-pat00186
, s 2 ← Z q n (random number generation)

Figure 112014018911368-pat00187
,
Figure 112014018911368-pat00188
(
Figure 112014018911368-pat00189
을 이용해 매트릭스
Figure 112014018911368-pat00190
생성)
Figure 112014018911368-pat00187
,
Figure 112014018911368-pat00188
(
Figure 112014018911368-pat00189
Using matrix
Figure 112014018911368-pat00190
produce)

v∈Zq m=B'Ts2+xmodq (벡터

Figure 112014018911368-pat00191
생성) v∈Z q m = B 'T s 2 + xmodq ( Vector
Figure 112014018911368-pat00191
produce)

Figure 112014018911368-pat00192
에 짧은 벡터(
Figure 112014018911368-pat00193
)가 더해져 있음을 증명하는 증명값
Figure 112014018911368-pat00194
생성
Figure 112014018911368-pat00192
Short vector (
Figure 112014018911368-pat00193
) Is added to the verification value
Figure 112014018911368-pat00194
produce

Figure 112014018911368-pat00195
SamplePre
Figure 112014018911368-pat00196
(짧은 벡터
Figure 112014018911368-pat00197
생성)
Figure 112014018911368-pat00195
SamplePre
Figure 112014018911368-pat00196
(Short vector
Figure 112014018911368-pat00197
produce)

Figure 112014018911368-pat00198
BasisDel
Figure 112014018911368-pat00199
(짧은 매트릭스
Figure 112014018911368-pat00200
값 생성)
Figure 112014018911368-pat00198
BasisDel
Figure 112014018911368-pat00199
(Short matrix
Figure 112014018911368-pat00200
Value creation)

Figure 112014018911368-pat00201
Transform
Figure 112014018911368-pat00202
(
Figure 112014018911368-pat00203
을 이용하여
Figure 112014018911368-pat00204
값 생성)
Figure 112014018911368-pat00201
Transform
Figure 112014018911368-pat00202
(
Figure 112014018911368-pat00203
Using
Figure 112014018911368-pat00204
Value creation)

위의 과정에서

Figure 112014018911368-pat00205
임을 알 수 있으며 따라서
Figure 112014018911368-pat00206
임을 알 수 있다. 이를 통해 위의 식에서 (r,s1,d=e+RTx)가 일반 서명 값이 됨을 확인할 수 있다. 마지막으로 τ=(r,v,π,e,K)을 메시지
Figure 112014018911368-pat00207
에 대한 증명가능암호서명 값으로 출력한다.In the process above
Figure 112014018911368-pat00205
And therefore
Figure 112014018911368-pat00206
. 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)
Figure 112014018911368-pat00207
And outputs it as a provable password signature value.

7. 아래의 수식을 만족하는 경우 검증자는 주어진 증명가능암호 서명 τ=(r,v,π,e,K)이 메시지

Figure 112014018911368-pat00208
에 대해 정당한 서명이라고 판단한다.7. If the following equations are satisfied, the verifier will verify that the given verifiable cryptographic signature τ = (r, v, π, e, K)
Figure 112014018911368-pat00208
It is judged to be a legitimate signature.

Figure 112014018911368-pat00209
,
Figure 112014018911368-pat00210
(
Figure 112014018911368-pat00211
을 이용해 매트릭스
Figure 112014018911368-pat00212
생성)
Figure 112014018911368-pat00209
,
Figure 112014018911368-pat00210
(
Figure 112014018911368-pat00211
Using matrix
Figure 112014018911368-pat00212
produce)

Figure 112014018911368-pat00213
의 정당성 확인 즉,
Figure 112014018911368-pat00214
에 짧은 벡터가 더해져 있음을 확인
Figure 112014018911368-pat00213
In other words,
Figure 112014018911368-pat00214
Confirm that a short vector is added to

Figure 112014018911368-pat00215
,
Figure 112014018911368-pat00216
,
Figure 112014018911368-pat00217
Figure 112014018911368-pat00215
,
Figure 112014018911368-pat00216
,
Figure 112014018911368-pat00217

Figure 112014018911368-pat00218
Figure 112014018911368-pat00218

정당하게 생성된 서명 값인 경우 다음과 같이 연산이 가능하다.If the signature value is properly generated, the following operation is possible.

Figure 112014018911368-pat00219
Figure 112014018911368-pat00219

8. 해당 알고리즘은 심판관의 비밀키인

Figure 112014018911368-pat00220
를 이용해 주어진 증명가능암호 서명 τ=(r,v,π,e,K)에서 일반 서명을 복원하는 알고리즘이다.8. The algorithm is the referee's secret key
Figure 112014018911368-pat00220
(R, v, π, e, K), which can be obtained by using the cryptographic signature τ = (r, v, π, e, K).

Figure 112014018911368-pat00221
Figure 112014018911368-pat00221

Figure 112014018911368-pat00222
(심판관의 비밀키
Figure 112014018911368-pat00223
를 이용)
Figure 112014018911368-pat00222
(The referee's secret key
Figure 112014018911368-pat00223
)

Figure 112014018911368-pat00224
(
Figure 112014018911368-pat00225
의 역행렬
Figure 112014018911368-pat00226
를 이용)
Figure 112014018911368-pat00224
(
Figure 112014018911368-pat00225
Inverse of
Figure 112014018911368-pat00226
)

Figure 112014018911368-pat00227
(
Figure 112014018911368-pat00228
를 이용)
Figure 112014018911368-pat00227
(
Figure 112014018911368-pat00228
)

Figure 112014018911368-pat00229
(
Figure 112014018911368-pat00230
에서 연립방정식을 이용하여
Figure 112014018911368-pat00231
값 복원)
Figure 112014018911368-pat00229
(
Figure 112014018911368-pat00230
Using the simultaneous equations in
Figure 112014018911368-pat00231
Value restore)

Figure 112014018911368-pat00232
(
Figure 112014018911368-pat00233
를 이용하여
Figure 112014018911368-pat00234
값 복원)
Figure 112014018911368-pat00232
(
Figure 112014018911368-pat00233
Using
Figure 112014018911368-pat00234
Value restore)

상기 수식과 같은 알고리즘을 통해 σ=(r,s1,d=e+RTx)을 메시지

Figure 112014018911368-pat00235
에 대한 일반 서명 값으로 출력한다.
(R, s 1 , d = e + R T x) through the same algorithm as the above equation,
Figure 112014018911368-pat00235
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 cryptographic signature system 200 of FIG.

먼저 도 3을 참조하면, 단계(310)에서 상기 래티스 기반 증명가능암호 서명 시스템은 보안 등급(Security Level)의 입력에 따라 출력되는 시스템 파라미터를 포함하는 공개 파라미터 집합을 이용하여 검증자의 공개키 및 비밀키를 생성한다.3, in step 310, the lattice-based provable cryptographic signature system uses a set of public parameters including system parameters output according to a security level input, Key.

다음으로, 단계(320)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 공개 파라미터 집합 및 상기 검증자의 공개키를 이용하여 서명자의 공개키 및 비밀키를 생성한다.Next, in step 320, the lattice-based provable cryptographic signature system generates the public key and secret key of the signer using the public parameter set and the public key of the verifier.

다음으로, 단계(330)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 서명자의 비밀키를 이용하여 상기 서명자의 일반 서명을 생성한다. 상기 단계(330)에 대해 도 4를 참조하여 상세히 설명하면 다음과 같다.Next, in step 330, the lattice-based provable cryptographic signature system generates a generic signature of the signer using the signer's secret key. The step 330 will be described in detail with reference to FIG.

즉, 단계(410)에서 상기 래티스 기반 증명가능암호 서명 시스템은 n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 s1를 생성한다.That is, in step 410, the lattice-based provable cryptographic signature system generates a random number r of n strings and a random number s 1 of m dimensional vectors.

이후, 단계(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 step 430, the lattice-based provable cryptographic signature system outputs the random numbers r, s 1 , and the m-dimensional vector d as signature values for the message.

다시 도 3을 참조하면, 단계(340)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 서명자의 공개키 및 상기 메시지에 대한 상기 일반 서명의 정당성을 판단한다.Referring again to FIG. 3, in step 340, the lattice-based provable cryptographic signature system determines the legitimacy of the signer's public key and the generic signature for the message.

상기 판단 결과, 상기 일반 서명이 상기 서명자의 공개키 및 상기 메시지에 대해 정당한 서명인 경우(340의 "예" 방향), 단계(350)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 공개 파라미터 집합을 이용하여 심판관의 공개키 및 비밀키를 생성한다.If it is determined in step 350 that the generic signature is a public key of the signer and a legitimate signature for the message (direction of "Yes " 340), then the lattice- To generate the public key and secret key of the judge.

다음으로, 단계(360)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 서명자의 비밀키 및 상기 심판관의 공개키를 이용하여 상기 메시지에 대한 증명가능암호 서명을 생성한다. 상기 단계(360)에 대해 도 5를 참조하여 상세히 설명하면 다음과 같다.Next, in step 360, the lattice-based provable cryptographic signature system generates a verifiable cryptographic signature for the message using the signer's private key and the referee's public key. The step (360) will be described in detail with reference to FIG. 5 as follows.

즉, 단계(510)에서 상기 래티스 기반 증명가능암호 서명 시스템은 n개의 문자열로 이루어진 난수 r, 및 m차원의 벡터로 이루어진 난수 x, n차원의 벡터로 이루어진 난수 s2를 생성한다.That is, in step 510, the lattice-based provable cryptographic signature system generates a random number r of n strings, and a random number s 2 of a random number x, an n-dimensional vector of m dimensions.

이후, 단계(520)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H1의 결과 값 R을 이용하여, 상기 검증자의 공개키를 변환하여 행렬 B'를 생성한다.Thereafter, in step 520, the lattice-based provable cryptographic signature system transforms the public key of the verifier using the result R of the hash function H 1 with the value of the message combined with the random number r as input, B '.

이후, 단계(530)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 생성된 행렬 B'의 전치행렬, 상기 난수 s2 및 상기 난수 x를 이용하여 벡터 v를 생성한다.Thereafter, in step 530, the lattice-based provable cryptographic signature system generates a vector v using the transpose matrix of the generated matrix B ', the random number s 2, and the random number x.

이후, 단계(540)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 벡터 v에 상기 난수 x가 포함되어 있음을 증명하기 위한 증명 값 π를 생성한다.Thereafter, in step 540, the lattice-based provable cryptographic signature system generates a proof value [pi] to prove that the vector v contains the random number x.

이후, 단계(550)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 서명자의 공개키와 비밀키, 길이 조절 함수 δ1, 상기 메시지에 상기 난수 r을 결합한 값을 입력으로 하는 해시 함수 H2, 상기 R의 전치함수 RT,및 상기 난수 x를 입력 파라미터로 하는 알고리즘을 이용하여 m차원의 벡터 e를 생성한다.Thereafter, in step 550, the lattice-based provable cryptographic signature system includes a hash function H 2 with a public key of the signer, a secret key, a length adjustment function δ 1 , a value obtained by combining the random number r with the message, An m-dimensional vector e is generated using the transpose function R T of R, and an algorithm using the random number x as an input parameter.

이후, 단계(560)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 검증자의 공개키와 비밀키, 상기 R, 및 길이 조절 함수 δ2을 입력 파라미터로 하는 알고리즘을 이용하여 상기 행렬 B'에 대응되는 기저 행렬 TB' 값을 생성한다.Thereafter, in step 560, the lattice-based provable cryptographic signature system uses the public key of the verifier, the secret key, the R, and the length adjustment function [delta] 2 as an input parameter, Thereby generating a basis matrix T B ' value.

이후, 단계(570)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 행렬 B', 상기 기저 행렬 TB', 상기 심판관의 공개키 C, 및 길이 조절 함수 δ3을 입력 파라미터로 하는 알고리즘을 이용하여 m * m 행렬 K 값을 생성한다.Thereafter, in step 570, the lattice-based provable cryptographic signature system uses an algorithm with the matrix B ', the basis matrix T B' , the public key C of the judge, and the length adjustment function δ 3 as input parameters m * m matrix K value.

이후, 단계(580)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 난수 r, 상기 벡터 v, 상기 증명 값 π, 상기 벡터 e, 및 상기 행렬 k 값을 상기 메시지에 대한 증명가능암호 서명 값으로 출력한다.Thereafter, in step 580, the lattice-based provable cryptographic signature system outputs the random number r, the vector v, the proof value?, The vector e, and the matrix k value as a provable cryptographic signature value for the message do.

다시 도 3을 참조하면, 단계(370)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 메시지에 대한 상기 증명가능암호 서명의 정당성을 판단한다.Referring again to FIG. 3, in step 370, the lattice-based provable cryptographic signature system determines the validity of the provable cryptographic signature for the message.

상기 판단 결과, 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 경우(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 step 380, the lattice-based verifiable cryptographic signature system uses the secret key of the judge And restores the signature of the signer from the provable cryptographic signature. The step 380 will be described in detail with reference to FIG.

즉, 단계(610)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 심판관의 비밀키의

Figure 112014018911368-pat00236
, 상기
Figure 112014018911368-pat00237
의 역행렬, 및 행렬 K의 전치행렬과 난수 x를 곱한 값 KTx를 이용하여 수학식
Figure 112014018911368-pat00238
에서 연립방정식을 이용하여 s 값을 복원한다.That is, in step 610, the lattice-based provable cryptographic signature system determines whether the referee's secret key
Figure 112014018911368-pat00236
, remind
Figure 112014018911368-pat00237
And a value K T x obtained by multiplying the transpose matrix of the matrix K by the random number x,
Figure 112014018911368-pat00238
And the s value is restored by using the simultaneous equations.

이후, 단계(620)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 s 값을 이용하여 벡터 v에 관한 수학식 B'Ts+xmodq로부터 x 값을 복원한다(

Figure 112014018911368-pat00239
).Thereafter, in step 620, the lattice-based provable cryptographic signature system recovers x from the equation B ' T s + x mod q for the vector v using the s value (
Figure 112014018911368-pat00239
).

이후, 단계(630)에서 상기 래티스 기반 증명가능암호 서명 시스템은 상기 x 값을 이용하여 σ=(r,s1,d=e+RTx)을 상기 메시지 m에 대한 일반 서명 값으로 출력한다.
Then, in step 630, the lattice-based provable cryptographic signature system outputs σ = (r, s 1 , d = e + R T x) as a generic signature value for the message m using the x value .

본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, 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)

보안 등급(Security Level)의 입력에 따라 출력되는 시스템 파라미터를 포함하는 공개 파라미터 집합을 이용하여 검증자의 공개키 및 비밀키를 생성하는 검증자 키 생성부;
상기 공개 파라미터 집합 및 상기 검증자의 공개키를 이용하여 서명자의 공개키 및 비밀키를 생성하는 서명자 키 생성부;
상기 서명자의 서명이 상기 서명자의 공개키 및 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 공개 파라미터 집합을 이용하여 심판관의 공개키 및 비밀키를 생성하는 심판관 키 생성부; 및
상기 서명자의 비밀키 및 상기 심판관의 공개키를 이용하여 상기 메시지에 대한 증명가능암호 서명을 생성하는 증명가능암호 서명 생성부
를 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
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,
제1항에 있어서,
상기 검증자 키 생성부는
보안 파라미터 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.
제1항에 있어서,
상기 서명자 키 생성부는
보안 파라미터 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,
제1항에 있어서,
상기 서명자의 비밀키를 이용하여 상기 서명을 생성하는 일반 서명 생성부
를 더 포함하고,
상기 일반 서명 생성부는
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.
제4항에 있어서,
상기 서명자의 공개키 및 상기 메시지에 대한 상기 서명의 정당성을 판단하는 일반 서명 검증부
를 더 포함하고,
상기 일반 서명 검증부는
하기 수학식을 만족하는 경우, 상기 서명이 상기 서명자의 공개키 및 상기 메시지에 대해 정당한 것으로 판단하며,
Figure 112014018911368-pat00240

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,
Figure 112014018911368-pat00240

Ad = H 2 (m? R, s 1 ) modq
Where m represents the message and q represents a positive integer. ≪ Desc / Clms Page number 20 >
제1항에 있어서,
상기 심판관 키 생성부는
보안 파라미터 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.
제1항에 있어서,
상기 증명가능암호 서명 생성부는
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.
제1항에 있어서,
상기 메시지에 대한 상기 증명가능암호 서명의 정당성을 판단하는 증명가능암호 서명 검증부; 및
상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 심판관의 비밀키를 이용하여 상기 증명가능암호 서명으로부터 상기 서명자의 서명을 복원하는 일반 서명 복원부
를 더 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
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.
제8항에 있어서,
상기 증명가능암호 서명 검증부는
하기 수학식을 만족하는 경우, 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
Figure 112014018911368-pat00241
,
Figure 112014018911368-pat00242

Figure 112014018911368-pat00243
,
Figure 112014018911368-pat00244
,
Figure 112014018911368-pat00245

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.
Figure 112014018911368-pat00241
,
Figure 112014018911368-pat00242

Figure 112014018911368-pat00243
,
Figure 112014018911368-pat00244
,
Figure 112014018911368-pat00245

A (e + R T v) = H 2 (m? R, s 1 ) modq
제8항에 있어서,
상기 일반 서명 복원부는
상기 심판관의 비밀키의
Figure 112014018911368-pat00246
, 상기
Figure 112014018911368-pat00247
의 역행렬, 및 행렬 K의 전치행렬과 난수 x를 곱한 값 KTx를 이용하여 수학식
Figure 112014018911368-pat00248
에서 연립방정식을 이용하여 s 값을 복원하고, 상기 s 값을 이용하여 x 값을 복원(
Figure 112014018911368-pat00249
)하며, 상기 x 값을 이용하여 σ=(r,s1,d=e+RTx)을 상기 메시지 m에 대한 일반 서명 값으로 출력하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 시스템.
9. The method of claim 8,
The general signature restoration unit
Of the referee's secret key
Figure 112014018911368-pat00246
, remind
Figure 112014018911368-pat00247
And a value K T x obtained by multiplying the transpose matrix of the matrix K by the random number x,
Figure 112014018911368-pat00248
, Restoring the s value using the simultaneous equations and restoring the x value using the s value (
Figure 112014018911368-pat00249
), 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)의 입력에 따라 출력되는 시스템 파라미터를 포함하는 공개 파라미터 집합을 이용하여 검증자의 공개키 및 비밀키를 생성하는 단계;
상기 공개 파라미터 집합 및 상기 검증자의 공개키를 이용하여 서명자의 공개키 및 비밀키를 생성하는 단계;
상기 서명자의 서명이 상기 서명자의 공개키 및 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 공개 파라미터 집합을 이용하여 심판관의 공개키 및 비밀키를 생성하는 단계; 및
상기 서명자의 비밀키 및 상기 심판관의 공개키를 이용하여 상기 메시지에 대한 증명가능암호 서명을 생성하는 단계
를 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 방법.
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,
제11항에 있어서,
상기 메시지에 대한 증명가능암호 서명을 생성하는 단계는
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,
제11항에 있어서,
상기 메시지에 대한 상기 증명가능암호 서명의 정당성을 판단하는 단계; 및
상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단되면, 상기 심판관의 비밀키를 이용하여 상기 증명가능암호 서명으로부터 상기 서명자의 서명을 복원하는 단계
를 더 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 방법.
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;
제13항에 있어서,
상기 증명가능암호 서명의 정당성을 판단하는 단계는
하기 수학식을 만족하는 경우, 상기 증명가능암호 서명이 상기 메시지에 대해 정당한 서명인 것으로 판단하는 단계
를 포함하는 것을 특징으로 하는 래티스 기반 증명가능암호 서명 방법.
Figure 112014018911368-pat00250
,
Figure 112014018911368-pat00251

Figure 112014018911368-pat00252
,
Figure 112014018911368-pat00253
,
Figure 112014018911368-pat00254

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,
Figure 112014018911368-pat00250
,
Figure 112014018911368-pat00251

Figure 112014018911368-pat00252
,
Figure 112014018911368-pat00253
,
Figure 112014018911368-pat00254

A (e + R T v) = H 2 (m? R, s 1 ) modq
제14항에 있어서,
상기 서명자의 서명을 복원하는 단계는
상기 심판관의 비밀키의
Figure 112014018911368-pat00255
, 상기
Figure 112014018911368-pat00256
의 역행렬, 및 행렬 K의 전치행렬과 난수 x를 곱한 값 KTx를 이용하여 수학식
Figure 112014018911368-pat00257
에서 연립방정식을 이용하여 s 값을 복원하는 단계;
상기 s 값을 이용하여 x 값을 복원(
Figure 112014018911368-pat00258
)하는 단계; 및
상기 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
Figure 112014018911368-pat00255
, remind
Figure 112014018911368-pat00256
And a value K T x obtained by multiplying the transpose matrix of the matrix K by the random number x,
Figure 112014018911368-pat00257
Recovering the s value using a simultaneous equations;
The x value is restored using the s value (
Figure 112014018911368-pat00258
); 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,
KR1020140022549A 2014-02-26 2014-02-26 System and method for verifiably encrypted signatures from lattices KR101523053B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120071884A (en) * 2010-12-23 2012-07-03 한국전자통신연구원 Ring signature method based on lattices

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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