KR101404642B1 - System and method for lattice-based certificateless signature - Google Patents

System and method for lattice-based certificateless signature Download PDF

Info

Publication number
KR101404642B1
KR101404642B1 KR1020130104107A KR20130104107A KR101404642B1 KR 101404642 B1 KR101404642 B1 KR 101404642B1 KR 1020130104107 A KR1020130104107 A KR 1020130104107A KR 20130104107 A KR20130104107 A KR 20130104107A KR 101404642 B1 KR101404642 B1 KR 101404642B1
Authority
KR
South Korea
Prior art keywords
key
entity
signature
lattice
secret key
Prior art date
Application number
KR1020130104107A
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 KR1020130104107A priority Critical patent/KR101404642B1/en
Application granted granted Critical
Publication of KR101404642B1 publication Critical patent/KR101404642B1/en
Priority to PCT/KR2014/008144 priority patent/WO2015030553A1/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/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
    • 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
    • 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

Abstract

The present invention comprises a master object for generating a first secret key using the open identification information of a user object and a master key and allocating the first secret key; a user object for generating a second secret key and an open key. The user object includes a signer object for transmitting a signature generated using the open key, the first secret key, and the second secret key to a verifier object; and the verifier object for verifying the signature received from the signer object using the opened identification information of the signer object and the open key. The present invention provides an electronic signature system in which a trapdoor generated based on the difficulty of a small integer solution (SIS) problem on a lattice in the generation of the master key, the first secret key, and the second secret key is used.

Description

래티스 기반 인증서 비사용 서명 시스템 및 방법{SYSTEM AND METHOD FOR LATTICE-BASED CERTIFICATELESS SIGNATURE}[0001] SYSTEM AND METHOD FOR LATTICE-BASED CERTIFICATELESS SIGNATURE [0002]

본 발명은 전자 서명 시스템 및 방법에 관한 것이다.The present invention relates to an electronic signature system and method.

전자서명 기술은 데이터에 대한 인증 및 무결성 보장 등에 사용되며 암호 분야에서 가장 널리 사용되는 기술 중 하나이다. 이러한 전자서명 기술에서 서명자는 주어진 메시지에 대해 자신의 비밀키를 사용해 서명을 생성하며, 검증자는 비밀키와 쌍을 이루는 공개키를 사용해 해당 서명의 정당성을 판단한다.Digital signature technology is used for authentication and integrity verification of data and is one of the most widely used technologies in the field of cryptography. In this digital signature technique, the signer generates a signature for its given message using its private key, and the verifier uses the public key paired with the secret key to determine the validity of the signature.

이러한 환경에서 특정 공개키가 어떠한 사용자의 것인지를 증명하는 문제는 매우 중요하기 때문에 대부분의 환경에서는 신뢰할 수 있는 제3 기관에서 발급하는 공인인증서를 통해 이러한 문제를 해결하고 있다. In this environment, it is very important to prove what kind of user a particular public key is, so in most environments, this problem is solved through a public certificate issued by a trusted third party.

그러나 인증서 기반 전자 서명 시스템은 공인인증서 유지 관리를 위해 많은 비용을 감수해야하며, 이를 발급하는 기관은 막대한 트래픽을 처리해야 한다. 또한 인증서 자체에 대한 신뢰 문제도 가지고 있다.However, certificate-based digital signature systems cost a great deal to maintain the certificate, and the issuing organization must handle huge amounts of traffic. It also has trust issues with the certificate itself.

이에 따라 S. S. Al-Riyami와 K. G. Paterson가 2003년 ASIACRYPT에서 발표한 “Certificateless Public Key Cryptography”라는 제목의 논문은 인증서를 사용하지 않는 전자서명 기술을 제안하였다. 인증서를 사용하지 않으므로 전술한 여러 문제가 해결되어 종래의 인증서 기반 전자 서명 시스템보다 높은 효율성 및 안전성을 제공한다.Accordingly, a paper entitled "Certificateless Public Key Cryptography" presented by S. S. Al-Riyami and K. G. Paterson in ASIACRYPT in 2003 proposed an electronic signature technology that does not use certificates. Since the certificate is not used, the above-mentioned problems are solved and provide higher efficiency and safety than the conventional certificate-based electronic signature system.

한편, 서명의 안전성을 높이기 위해 기반이 되는 수학적 난제에 대한 연구도 많이 이루어졌다. 예를 들어, 이산 대수 문제의 어려움, 겹선형 함수의 어려움 등 평균적인 경우 어려운 문제들에서 최악의 경우에도 어려운 문제로 알려진 래티스(lattice) 상에서의 SIS(small integer solution) 문제와 LWE(learning with errors) 문제의 어려움에 기반을 두는 서명 기법들로 발전하고 있다. 이러한 래티스 기반 암호화 기술은 높은 안전성 뿐 아니라 연산 효율성 또한 제공한다. 특히 양자 컴퓨터 분석에 대해 내성이 있는 것으로 알려져 최근 이에 대한 연구가 크게 늘고 있다.On the other hand, there are many researches on the mathematical difficulties that are the basis for enhancing the safety of signatures. For example, the small integer solution (SIS) problem on the lattice and the learning with errors (LWE) problem, which are known to be difficult problems in the worst case on the average difficulty problems such as the difficulty of the discrete logarithm problem, ) Signature techniques that are based on the difficulty of the problem. These lattice-based encryption technologies provide not only high security, but also computational efficiency. Especially, it is known to be resistant to quantum computer analysis.

따라서 래티스 기반의 암호 기술을 인증서 비사용 전자 서명 기술에 적용시킨다면, 더욱 높은 안전성과 효율성을 갖는 전자 서명 기술을 제공할 수 있을 것이다.Therefore, applying a lattice-based cryptographic technique to certificate-free digital signature technology would provide an electronic signature technology with higher security and efficiency.

전자 서명과 관련하여 한국등록특허 제10-0369408호("이동 통신에서의 수신자 지정 대리 서명 방법")에는 이산 대수 문제의 어려움에 기반을 둔 서명 생성 방법이 개시되어 있다.Korean Patent No. 10-0369408 ("Method of Designating a Subscriber-Assigned Proxy in Mobile Communications") discloses a method of generating a signature based on the difficulty of the discrete logarithm problem.

또한, 한국공개특허 제10-2005-0128506호("겹선형 사상을 이용한 한정적 검증자 서명 방법")에는 겹선형 사상을 이용한 지정된 검증자 서명 생성 방법이 개시되어 있다.Korean Patent Laid-Open No. 10-2005-0128506 ("Limited Verifier Signature Method Using Double Linear Mapping") discloses a method of generating a designated verifier signature using a double linear mapping.

본 발명은 전술한 문제를 해결하기 위한 것으로서, 그 목적은 높은 안전성 및 효율성을 갖는 전자 서명 시스템 및 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and its object is to provide an electronic signature system and method with high safety and efficiency.

상기와 같은 목적을 달성하기 위한 본 발명의 제 1 측면에 따른 전자 서명 시스템은 자신의 마스터 키 및 사용자 개체의 공개된 식별 정보를 사용하여, 제 1 비밀키를 생성하여 상기 사용자 개체에게 할당하는 마스터 개체; 및 자신의 공개키 및 제 2 비밀키를 생성하는 사용자 개체;를 포함하되, 상기 사용자 개체는 상기 자신의 공개키, 제 1 비밀키, 및 제 2 비밀키를 사용하여 생성한 서명을 검증자 개체에게 전송하는 서명자 개체; 및 상기 서명자 개체로부터 수신한 서명을 상기 서명자 개체의 공개된 식별 정보, 및 공개키를 사용하여 검증하는 검증자 개체;를 포함하되, 상기 마스터 키, 제 1 비밀키, 및 상기 제 2 비밀키 생성에 래티스(lattice) 상에서의 SIS(small integer solution) 문제의 어려움에 기반하여 생성한 트랩도어(trapdoor)가 사용되는 것을 특징으로 한다.In order to achieve the above object, according to a first aspect of the present invention, there is provided an electronic signature system, which uses a master key of a user and public identification information of a user entity to generate a first secret key, individual; And a user entity for generating its own public key and a second private key, wherein the user object further includes a signature generated using the public key, the first private key, and the second private key, Lt; / RTI > And a verifier entity verifying a signature received from the signer entity using public identification information and a public key of the signer entity, wherein the master key, the first secret key, and the second secret key A trapdoor generated based on the difficulty of a small integer solution (SIS) problem on a lattice is used.

상기와 같은 목적을 달성하기 위한 본 발명의 제 2 측면에 따른 전자 서명 방법은 (a) 마스터 개체가 보안 파라미터를 설정하고 자신의 마스터 키를 생성하는 단계; (b) 상기 마스터 개체가 서명자 개체 및 검증자 개체를 포함하는 사용자 개체의 공개된 식별 정보에 기초하여, 제 1 비밀키를 생성하여 상기 사용자 개체에게 할당하는 단계; (c) 상기 사용자 개체가 자신의 공개키 및 제 2 비밀키를 생성하는 단계; (d) 상기 서명자 개체가 자신의 공개키, 제 1 비밀키, 및 제 2 비밀키를 사용하여 생성한 서명을 검증자 개체에게 전송하는 단계; 및 (e) 상기 검증자 개체가 상기 서명자 개체로부터 수신한 서명을 상기 서명자 개체의 공개된 식별 정보, 및 공개키를 사용하여 검증하는 단계;를 포함하되, 상기 마스터 키, 제 1 비밀키, 및 상기 제 2 비밀키 생성에 래티스(lattice) 상에서의 SIS(small integer solution) 문제의 어려움에 기반하여 생성한 트랩도어(trapdoor)가 사용되는 것을 특징으로 한다.According to a second aspect of the present invention, there is provided an electronic signature method including the steps of: (a) setting a security parameter of a master entity and generating a master key of the master entity; (b) generating and assigning a first secret key to the user entity based on public identification information of the user entity including the signer entity and the verifier entity; (c) the user entity generating its own public key and a second private key; (d) transmitting to the verifier entity a signature generated by the signer entity using its public key, a first secret key, and a second secret key; And (e) verifying the signature received from the signer entity by the verifier entity using the public identification and the public key of the signer entity, wherein the master key, the first secret key, And a trapdoor generated based on the difficulty of the SIS (small integer solution) problem on the lattice is used for generating the second secret key.

본 발명은 높은 안전성 및 효율성을 갖는 전자 서명 시스템 및 방법을 제공한다.The present invention provides an electronic signature system and method with high security and efficiency.

구체적으로, 본 발명은 인증서를 사용하지 않기 때문에 인증서 기반 전자 서명 시스템이 갖는 인증서 관리 비용 및 안전성 문제가 없으며, 공인 인증 기관을 전적으로 신뢰하지 않아도 된다.Specifically, since the present invention does not use a certificate, there is no certificate management cost and safety problem of the certificate-based digital signature system, and the certification authority does not have to be completely trusted.

또한, 본 발명은 최악의 경우에도 어려운 수학적 난제인 래티스 상에서의 SIS 문제의 어려움에 기반을 두고 있으므로, 안전성이 높다.Further, the present invention is based on the difficulty of the SIS problem on the lattice, which is a mathematical difficulty which is difficult even in the worst case, so that the safety is high.

래티스 기반으로 설계되었기 때문에 래티스 기반 암호 시스템이 갖는 연산 효율성, 높은 안전성, 양자 컴퓨터 분석에 대한 내성의 장점을 나타낸다. 따라서 현재까지 알려진 무인증서 기반, 즉, 인증서 비사용 전자 서명 기법 중 가장 높은 안전성을 갖는다.Because it is based on lattice, it represents the advantages of lattice-based cryptosystem's computational efficiency, high security, and immunity to quantum computer analysis. Therefore, it has the highest security among known non-certificate-based, non-certificate-based digital signature techniques.

도 1은 본 발명의 일실시예에 따른 전자 서명 시스템의 구조를 도시함.
도 2는 도 1의 시스템의 구조를 다른 관점에서 도시함.
도 3는 본 발명의 일실시예에 따른 전자 방법의 흐름을 도시함.
도 4은 본 발명의 일실시예에 따른 시스템 설정 방법의 흐름을 도시함.
도 5는 본 발명의 일실시예에 따른 제 1 비밀키 발급 방법의 흐름을 도시함.
도 6은 본 발명의 일실시예에 따른 공개키 및 제 2 비밀키 생성 방법의 흐름을 도시함.
도 7은 본 발명의 일실시예에 따른 서명 방법의 흐름을 도시함.
도 8은 본 발명의 일실시예에 따른 검증 방법의 흐름을 도시함.
도 9는 본 발명의 일실시예에 따른 트랩도어 생성 방법의 흐름을 도시함.
도 10은 본 발명의 일실시예에 따른 트랩도어 확장 방법의 흐름을 도시함.
도 11은 본 발명의 일실시예에 따른 가우시안 샘플링 방법의 흐름을 도시함.
1 shows a structure of an electronic signature system according to an embodiment of the present invention.
Figure 2 shows the structure of the system of Figure 1 from a different point of view.
Figure 3 illustrates the flow of an electronic method in accordance with an embodiment of the present invention.
FIG. 4 shows a flow of a system setting method according to an embodiment of the present invention.
FIG. 5 illustrates a flow of a first secret-key issuing method according to an embodiment of the present invention.
FIG. 6 shows a flow of a method of generating a public key and a second secret key according to an embodiment of the present invention.
7 shows a flow of a signature method according to an embodiment of the present invention.
FIG. 8 shows a flow of a verification method according to an embodiment of the present invention.
FIG. 9 shows a flow of a trap door generating method according to an embodiment of the present invention.
FIG. 10 shows a flow of a trap door expanding method according to an embodiment of the present invention.
11 shows a flow of a Gaussian sampling method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

전술한 바와 같이, 무인증서 기반, 즉, 인증서 비사용 전자 서명 시스템은 종래의 인증서 기반 전자 서명 시스템이 갖고 있는 인증서를 유지, 관리하는 비용이 크다는 문제, 유출이나 조작 등 인증서 관련 사고가 발생한다는 문제 등을 해결하였다.As described above, the non-certificate-based, that is, the certificate-free digital signature system has a problem that the conventional certificate-based digital signature system has a high cost of maintaining and managing a certificate, .

이제까지 이러한 무인증서 기반 전자 서명 시스템은 인수 분해, 이산 대수, 페어링(pairing)을 기반으로 설계되었다. 하지만 풀기 어렵다고 여겨지던 이러한 문제들은 최근 양자 알고리즘의 발전으로 더 이상 안전성을 보장할 수 없다. Until now, these certificate-based electronic signature systems have been designed based on factorization, discrete algebra, and pairing. However, these problems, which are considered to be difficult to solve, can no longer guarantee safety due to the recent development of quantum algorithms.

이에 따라 양자 분석에 내성이 있는 것으로 알려진 래티스 기반 암호 시스템에 대한 관심이 점차 높아지고 있다. As a result, interest in lattice-based cryptosystems that are known to be resistant to quantum analysis is increasing.

기존의 래티스 기반의 암호 시스템의 경우 안전성 증명이 결여되어 많은 문제점이 있었으나, 최근 최악의 경우(worst-case) 문제에 기반하여 증명되는 래티스 기반의 암호 시스템들이 등장하고 있다. 기존의 암호 시스템이 평균적인 경우(average-case) 문제에 기반하여 설계된 점을 비추어 볼 때 매우 높은 안전성을 제공한다는 것을 알 수 있다.The existing lattice-based cryptosystem lacks the proof of safety, but there are many lattice-based cryptosystems that are proved based on the worst-case problem in recent years. It can be seen that the existing cryptosystem provides very high safety in view of the design based on the average-case problem.

이 뿐만 아니라 래티스 기반 암호 시스템은 종래 기법에 비해 매우 효율적이다. 인수 분해, 이산 대수, 페어링 등의 연산 복잡도는

Figure 112013079536097-pat00001
이지만, 래티스에서의 연산 복잡도는
Figure 112013079536097-pat00002
이다. In addition, the lattice-based cryptosystem is more efficient than the conventional technique. The computational complexity, such as factoring, discrete algebra, and pairing,
Figure 112013079536097-pat00001
, But the computational complexity in Lattice is
Figure 112013079536097-pat00002
to be.

따라서 본 발명은 래티스 환경에서 안전성 증명이 가능한 무인증서 기반 전자 서명 기술을 제공하고자 한다.Therefore, the present invention aims to provide a non-certificate-based electronic signature technique capable of proving safety in a lattice environment.

도 1 및 도 2는 본 발명의 일실시예에 따른 전자 서명 시스템의 구조를 도시하고 있다.1 and 2 show the structure of an electronic signature system according to an embodiment of the present invention.

본 발명의 일실시예에 따른 전자 서명 시스템(10)에는 네트워크를 통해 연결된 서명자(X), 검증자(Y), 및 제3자(Z)를 포함하는 사용자와 마스터(M) 등의 개체(entity)가 참여한다.An electronic signature system 10 according to an embodiment of the present invention is provided with a user M including a signer X, a verifier Y and a third party Z connected via a network entity.

사용자 중, 서명자(X)는 메시지에 서명하여 검증자(Y)에게 전송하는 개체이며, 검증자(Y)는 서명자(X)로부터 수신한 서명을 검증하는 개체이다. 이때, 검증이란 전술한 바와 같이, 수신한 서명이 서명자(X)에 의해 생성된, 유효한 서명임을 확인하는 것이다.Of the users, the signer X is an entity that signs the message and sends it to the verifier Y, and the verifier Y is the entity verifying the signature received from the signer X. At this time, verification is to confirm that the received signature is a valid signature generated by the signer X, as described above.

서명을 생성하여 전송한 서명자(X)와 서명을 수신한 검증자(Y) 이외의 다른 사용자인 제3자(Z)는 해당 서명을 검증할 수 없다.A third party (Z) other than the signer (X) who has generated and transmitted the signature and the verifier (Y) who has received the signature can not verify the signature.

도면에는 각각 하나의 서명자(X), 검증자(Y), 및 제3자(Z) 개체만이 도시되어 있고, 이들이 서로 다른 개체인 것처럼 도시되어 있다. 그러나 서명자(X), 검증자(Y), 및 제3자(Z)는 모두 사용자 개체로서, 이들의 역할은 고정적이지 않으며, 전자 서명 시스템(10)에 참여하는 사용자 개체의 수에도 제한이 없을 것임을 쉽게 이해할 수 있을 것이다. 또한, 이들 각 사용자 개체는 사용자가 사용하는 기기나 소프트웨어 등의 실체를 의미할 수 있다. 이는 통용되는 개념이므로 본 명세서에서 이에 대한 명시적 기재는 생략한다. 예를 들어, 이하 기술에서 사용자라 함은 서명자(X), 검증자(Y), 제3자(Z) 등의 사용자 개체를 나타낼 수 있다.Only one signer (X), a verifier (Y), and a third party (Z) entity are shown in the figure, and they are shown as being different entities. However, the signer X, the verifier Y, and the third party Z are all user objects, their roles are not fixed, and there is no limit to the number of user objects participating in the digital signature system 10 It is easy to understand that it is. Each of these user entities may refer to an entity such as a device or software used by the user. Since this is a commonly used concept, an explicit description thereof will be omitted in this specification. For example, in the following description, a user may represent a user entity such as a signer (X), a verifier (Y), a third party (Z), and the like.

전술한 바와 같이, 본 발명의 일실시예에 따른 전자 서명 시스템(10)에는 각 사용자의 제 1 비밀키를 생성하여 해당 사용자에게 배포하는 마스터(M) 개체가 참여한다. 여기에서 마스터(M)는 키 생성 기관(Key Generation Center), 인증 기관(Certification Authority) 등 다양한 이름으로 불릴 수 있으며, 전자 서명 시스템(10)이 원할하게 운영되도록 관리하는 기관들을 통칭하는 개념으로 사용하였다.As described above, the digital signature system 10 according to the embodiment of the present invention includes a master M entity that generates a first secret key of each user and distributes the first secret key to the user. Here, the master M can be called by various names such as a key generation center and a certification authority, and is used as a concept collectively referred to as organizations that manage the digital signature system 10 to operate smoothly Respectively.

종래의 공개키 기반 환경에서는 전술한 바와 같이, 마스터(M)가 각 사용자에게 공인 인증서를 발급해야 하지만, 본 발명의 일실시예에 따른 전자 서명 시스템(10)은 마스터(M)가 사용자(X, Y, Z)의 공개된 식별정보(ID)를 사용하여 사용자(X, Y, Z)에게 제 1 비밀키를 발급해줄 뿐이기 때문에, 마스터(M)와 사용자(X, Y, Z) 모두 공인 인증서를 관리할 필요가 없어, 효율적이고 안전성이 높다. 공인 인증서 관리에 따른 비용이나 부하가 없고, 공인 인증서 도용 등의 보안 위험이 없기 때문이다. 또한 후술하는 바와 같이, 사용자(X, Y, Z)는 마스터(M)에게 노출되지 않는 또다른 비밀키인 제 2 비밀키를 스스로 생성하므로, 안정성이 더욱 높다.In the conventional public key based environment, as described above, the master M must issue a public certificate to each user. However, the digital signature system 10 according to the embodiment of the present invention may be configured such that the master M authenticates the user X (X, Y, Z), since both the master M and the users X, Y, Z only issue the first secret key to the users X, Y, Z using the public identification information There is no need to manage public certificates, and they are efficient and safe. There is no cost or burden due to the management of authorized certificates, and there is no security risk such as theft of accredited certificates. As will be described later, the users X, Y, and Z generate the second private key, which is another secret key that is not exposed to the master M, by itself, and thus the stability is higher.

종래와 달리 공인 인증서를 사용하지 않으나, 본 발명의 일실시예에 따른 전자 서명 시스템(10)은 공개키 기반 방식이다.Unlike the prior art, the electronic signature system 10 according to an embodiment of the present invention does not use the public certificate but is a public key based method.

공개키 기반 방식은 서로 대응되는 키 쌍을 생성하여, 이중 공개키는 암호화 또는 서명 확인용으로, 비밀키는 복호화 또는 서명용으로 사용하는 비대칭형 암호화 또는 서명 방식이다.The public key based scheme is an asymmetric encryption or signature scheme that generates key pairs that correspond to each other, the dual public key is used for encryption or signature verification, and the secret key is used for decryption or signature.

해당 메시지를 보낸 사용자가 누구인가를 증명하기 위한 것이므로, 어떤 메시지에 서명할 때는 비밀키로 서명하고 대응되는 공개키로 이를 확인한다. 즉, 비밀키는 문서에 찍는 도장의 기능을 한다.Since this is to prove who sent the message, when signing a message, sign it with a secret key and confirm it with the corresponding public key. That is, the secret key serves as a seal for the document.

한편 전술한 바와 같이, 암호화 및 전자 서명 시스템은 특정 정보가 없으면 풀기 어려운 수학적 난제에 기반하여 구축되는데, 본 발명의 일실시예에 따른 전자 서명 시스템(10)은 래티스(lattice) 상에서의 SIS(small integer solution) 문제와 LWE(learning with errors) 문제의 어려움에 기반하고 있다.As described above, the encryption and digital signature system is constructed based on a mathematical difficulty that is difficult to solve without specific information. An electronic signature system 10 according to an embodiment of the present invention includes a SIS (small integer solution and learning with errors (LWE) problems.

특정 정보가 없으면 풀기 어렵다는 것은 연산이 일방향성이라는 의미이다. 일방향성은 연산은 쉬워도 연산의 역을 구하는 것은 어렵우며, 그러나 특정 정보를 갖고 있는 경우에는 쉽게 역을 구할 수 있음을 나타낸다. 이러한 특정 정보를 트랩도어(trapdoor)라고 부른다. If there is no specific information, it is difficult to solve, meaning that the operation is unidirectional. Unidirectional is easy to calculate, but it is difficult to obtain the inverse of the operation. This specific information is called a trapdoor.

예를 들어, 공개키 기반 환경에서 암호화 연산은 암호화는 쉽지만 그 역변환인 복호화는 암호화시 사용한 암호화 키에 대응되는 복호화 키가 없는 경우 매우 어려운 일방향성 연산을 사용하여 수행된다. 즉, 암호화시 사용한 암호화 키에 대응되는 복호화 키가 트랩도어이다. 일단 메시지를 암호화하고 나면 암호화 키가 있어도 이를 복호화할 수 없으므로, 암호화 키는 공개되어도 된다. 반면, 트랩도어 또는 복호화 키는 공개되면 안된다. 따라서, 공개키 기반 환경에서 트랩도어를 생성하는 데 사용된 정보는 공개키로서 공개되고, 트랩도어는 비밀키로서 공개되지 않는다. For example, a cryptographic operation in a public key based environment is performed using a unidirectional operation which is easy to encrypt but its reverse conversion is very difficult when there is no decryption key corresponding to the encryption key used in the encryption. That is, the decryption key corresponding to the encryption key used in the encryption is the trap door. Once the message is encrypted, the encryption key can not be decrypted even if it is present, so the encryption key may be disclosed. On the other hand, trap doors or decryption keys should not be released. Thus, the information used to create the trap door in a public key based environment is disclosed as a public key, and the trap door is not disclosed as a secret key.

래티스에 기반한 SIS 문제와 LWE 문제는 전술한 바와 같이 최악의 경우에서도 풀기 어려운 수학적 난제이므로, 최근 암호화 및 전자 서명 시스템에 이를 적용하려는 시도가 많이 이루어지고 있는 추세이다. 래티스는 공간에서 2개의 기저의 선형 결합을 통해 만들어지는 모든 점의 집합이다. 기저를 모르면 제3자(Z)가 어떤 점을 알아내었다고 해도 해당 점으로부터 가장 가까운 래티스 점이 어딘지 알아내는 것은 매우 어렵다는 장점이 있다. 또한, 기저를 모르면 제3자(Z)는 특정 길이 이내의 래티스 점을 찾는 것이 매우 어렵다는 장점이 있다.Since the Lattice-based SIS problem and the LWE problem are mathematical difficulties that can not be solved even in the worst case as described above, there have been a lot of attempts to apply it to encryption and digital signature systems in recent years. A lattice is a set of all points created by linear combination of two bases in space. If you do not know the bases, it is very difficult to find out where the closest lattice point is from the point, even if the third party (Z) finds out what point it is. Further, if the base is not known, the third party (Z) has an advantage that it is very difficult to find a lattice point within a specific length.

따라서 본 발명의 일실시예에 따른 전자 서명 시스템(10)은 자신의 마스터 키 및 사용자 개체(X, Y, Z)의 공개된 식별 정보를 사용하여, 제 1 비밀키를 생성하여 사용자 개체(X, Y, Z)에게 할당하는 마스터 개체(M) 및 자신의 공개키 및 제 2 비밀키를 생성하는 사용자 개체(X, Y, Z)를 포함하며, 사용자 개체(X, Y, Z)는 자신의 공개키, 제 1 비밀키, 및 제 2 비밀키를 사용하여 생성한 서명을 검증자 개체(Y)에게 전송하는 서명자 개체(X) 및 서명자 개체(X)로부터 수신한 서명을 서명자 개체(X)의 공개된 식별 정보, 및 공개키를 사용하여 검증하는 검증자 개체(Y)를 포함한다. 이때 마스터 키, 제 1 비밀키, 및 제 2 비밀키 생성에 래티스(lattice) 상에서의 SIS(small integer solution) 문제의 어려움에 기반하여 생성한 트랩도어(trapdoor)가 사용된다.Therefore, the digital signature system 10 according to the embodiment of the present invention generates the first secret key using the public identification information of the master key and the user object (X, Y, Z) (X, Y, Z) for generating a public key and a second secret key of the user object (X, Y, Z) (X) that transmits a signature generated using the public key of the first secret key, the first secret key, and the second secret key to the verifier object Y, and the signature received from the signer entity X, ), And a verifier entity (Y) that verifies using the public key. At this time, a trapdoor generated based on the difficulty of the SIS (small integer solution) problem on the lattice is used for generating the master key, the first secret key, and the second secret key.

도 2에 도시되어 있는 바와 같이, 이를 위해 마스터(M) 및 각 사용자(A, B, C)는 균일한 분포(uniform distribution)에서 선택된 임의의 행렬로부터 생성되는 래티스의 짧은 기저(short basis)인 트랩도어를 생성하는 트랩도어 생성부(L100), 트랩도어의 래티스를 또다른 래티스로 확장하고 또다른 래티스의 짧은 기저인 확장된 트랩도어를 생성하는 트랩도어 확장부(L200), 및 트랩도어의 가우시안 분포로부터 벡터를 샘플링하는 샘플링부(L300)를 포함하는 라이브러리(L)을 포함하거나 이에 연결될 수 있다. 2, the master M and each of the users A, B, and C are on a short basis of the lattice generated from any matrix selected in a uniform distribution, A trap door expanding section L200 for expanding the lattice of the trap door to another lattice and creating an extended trap door that is a short base of another lattice, And a sampling unit L300 for sampling the vector from the Gaussian distribution.

다시 말해 라이브러리(L)는 래티스 상에서의 SIS 문제의 어려움에 기반하여 트랩도어를 생성, 확장, 및 사용하기 위한 기본 기능을 본 발명의 일실시예에 따른 전자 서명 시스템(10)의 각 개체(M, X, Y, Z)에 제공한다.In other words, the library L provides basic functions for creating, extending, and using trap doors based on the difficulty of the SIS problem on the lattice with each entity M , X, Y, Z).

이들 트랩도어 생성부(L100), 트랩도어 확장부(L200), 및 샘플링부(L300)가 수행하는 동작은 도 9 내지 도 11에 도시되어 있다.The operations performed by these trap door generating section L100, trap door expanding section L200, and sampling section L300 are shown in Figs. 9 to 11. Fig.

마스터(M)의 시스템 설정부(100)는 보안 파라미터를 설정하고, 일련의 해시 함수를 선택하며, 트랩도어 생성부(L100)를 사용하여 생성한 트랩도어를 자신의 비밀키인 마스터 키로 사용하고, 함께 생성된 대응 행렬을 해시 함수와 함께 공개한다.The system setting unit 100 of the master M sets security parameters, selects a series of hash functions, uses the trap door generated by using the trap door generating unit L100 as a master key as its secret key , And exposes the corresponding matrices generated together with the hash function.

마스터의 키 발급부(200)는 트랩도어 확장부(L200)를 사용하여 사용자의 공개된 식별 정보로부터 생성된 확장된 트랩도어를 사용자의 제 1 비밀키로 발급한다.The master key issuing unit 200 issues the extended trap door generated from the public identification information of the user to the user's first secret key using the trap door extension unit L200.

사용자의 키 생성부(300)는 트랩도어 생성부(L100)를 사용하여 생성한 트랩도어를 자신의 제 2 비밀키로 사용하고, 함께 생성된 대응 행렬을 자신의 공개키로 사용한다.The user's key generation unit 300 uses the trap door generated by using the trap door generation unit L100 as its second secret key and uses the generated corresponding matrix as its own public key.

그러므로, 전술한 바와 같이, 사용자의 제 2 비밀키는 마스터(M)와 전혀 무관하게 사용자 자신이 생성하므로, 본 발명의 일실시예에 따른 전자 서명 시스템(10)은 마스터(M)를 전적으로 신뢰하지 않아도 되는 장점을 가진다.Hence, as described above, the digital signature system 10 according to an embodiment of the present invention allows the master M to be trusted exclusively by the user, since the user's second private key is created by the user himself, It has the advantage of not having to.

사용자 중 서명자(X)는 서명부(400)를 사용하여 자신의 제 1 비밀키 및 공개키를 사용하여 제 1 서명을 생성하고, 자신의 제 2 비밀키 및 공개키를 사용하여 제 2 서명을 생성하여, 제 1 서명과 제 2 서명을 사용하여 서명을 생성하며, 이때 트랩도어 생성부(L100), 트랩도어 확장부(L200), 샘플링부(L300)를 사용한다.The signer X of the user uses the signature unit 400 to generate a first signature using his first secret key and public key and to generate a second signature using his second private key and public key And generates a signature using the first signature and the second signature. At this time, the trap door generation unit L100, the trap door extension unit L200, and the sampling unit L300 are used.

서명자(X)는 제 1 비밀키의 가우시안 분포로부터 벡터를 샘플링하여 제 1 서명을 생성하며, 제 2 비밀키의 래티스를 공개키를 사용하여 확장된 래티스로 확장하고 확장된 래티스의 짧은 기저인 확장된 트랩도어를 생성하여, 확장된 트랩도어의 가우시안 분포로부터 벡터를 샘플링하여 제 2 서명을 생성한다.The signer X generates a first signature by sampling the vector from the Gaussian distribution of the first secret key, expands the lattice of the second secret key to the extended lattice using the public key, and expands the extended lattice And generates a second signature by sampling the vector from the Gaussian distribution of the extended trap door.

사용자 중 검증자(Y)는 검증부(500)를 사용하여 서명자(X)의 공개된 식별 정보, 및 공개키를 사용하여 제 1 서명 및 제 2 서명을 각각 검증하고, 제 1 서명 및 제 2 서명이 모두 정당한 서명이라고 판단되었을 때 수신한 서명을 받아들이고 그렇지 않으면 기각한다.The verifier Y of the user verifies the first signature and the second signature respectively using the public identification information of the signer X and the public key using the verification unit 500, Accept the signature received when it is determined that all of the signatures are legitimate signatures, or reject them.

따라서 본 발명의 일실시예에 따른 전자 서명 시스템(10)의 각 개체는 도 1의 각 개체에 연결된 키 저장소에 도시되어 있는 것과 같은 키들을 가진다. Thus, each entity of the digital signature system 10 according to one embodiment of the present invention has keys such as those shown in the key store associated with each entity of FIG.

마스터(M)는 마스터 키(msk)를 가지며, 이는 외부에 공개되어서는 안되는 비밀키이다. 반면 대응하는 행렬은 해시 함수들과 함께 공개 파라미터

Figure 112013079536097-pat00003
로서 공개된다. The master M has a master key msk, which is a secret key that should not be disclosed to the outside. While the corresponding matrix, along with the hash functions,
Figure 112013079536097-pat00003
.

각 사용자(X, Y, Z)의 식별 정보와 공개키도 공개된다. 반면 각 사용자(X, Y, Z)의 제 1 비밀키 및 제 2 비밀키는 공개되지 않는다.Identification information and public key of each user (X, Y, Z) are also disclosed. On the other hand, the first secret key and the second secret key of each user (X, Y, Z) are not disclosed.

도 3는 본 발명의 일실시예에 따른 전자 방법의 흐름을 도시하고 있다.Figure 3 illustrates the flow of an electronic method in accordance with an embodiment of the present invention.

마스터 개체(M)가 보안 파라미터를 설정하고 자신의 마스터 키를 생성한다(S100).The master entity M sets security parameters and generates its own master key (SlOO).

마스터 개체(M)가 서명자 개체(X) 및 검증자 개체(Y)를 포함하는 사용자 개체(X, Y, Z)의 공개된 식별 정보에 기초하여, 제 1 비밀키를 생성하여 사용자 개체(X, Y, Z)에게 할당한다(S200).The master object M generates a first secret key based on the public identification information of the user object X, Y, Z including the signer object X and the verifier object Y, , Y, Z) (S200).

사용자 개체(X, Y, Z)가 자신의 공개키 및 제 2 비밀키를 생성한다(S300).The user entity (X, Y, Z) generates its own public key and a second private key (S300).

서명자 개체(X)가 자신의 공개키, 제 1 비밀키, 및 제 2 비밀키를 사용하여 생성한 서명을 검증자 개체(Y)에게 전송한다(S400).The signer entity X transmits the signature generated by using the public key, the first secret key, and the second secret key to the verifier entity Y (S400).

검증자 개체(Y)가 서명자 개체(X)로부터 수신한 서명을 서명자 개체(X)의 공개된 식별 정보, 및 공개키를 사용하여 검증한다(S500).The signature received from the signer entity X by the verifier entity Y is verified by using the public identification information of the signer entity X and the public key (S500).

이하 도 4 내지 도 8을 통해 각 단계를 좀더 자세히 설명한다.Each step will be described in more detail with reference to FIGS. 4 to 8. FIG.

도 4은 본 발명의 일실시예에 따른 시스템 설정 방법의 흐름을 도시하고 있다.FIG. 4 shows a flow of a system setting method according to an embodiment of the present invention.

마스터(M)가 해시 함수를 선택한다(S110).The master M selects a hash function (S110).

트랩도어 생성부(L100)를 사용하여, 행렬 A 및 대응하는 트랩도어를 생성한다(S120). 트랩도어는 행렬 A에 기초하여 생성되는 래티스의 짧은 기저(short basis)이다.Using the trap door generating unit L100, a matrix A and a corresponding trap door are generated (S120). The trap door is a short basis of the lattice generated based on the matrix A.

공개 파라미터로 행렬 A 및 해시 함수를 출력한다(S130).The matrix A and the hash function are output as public parameters (S130).

생성된 트랩도어를 마스터 키로 사용한다(S140).The generated trap door is used as a master key (S140).

다시 말해, 시스템 설정 단계(S100)는 시스템에서 사용할 다양한 파리미터를 정하고 키를 발급하는 기관인 마스터(M)의 마스터 키를 정하는 단계이다. In other words, the system setting step (S100) is a step of determining various parameters to be used in the system and determining a master key of the master (M) issuing the key.

먼저, 다음과 같은 성질을 만족하는 충돌내성 해쉬 함수(collision-resistant hash function)를 선택한다. First, we select a collision-resistant hash function that satisfies the following properties.

Figure 112013079536097-pat00004
Figure 112013079536097-pat00004

Figure 112013079536097-pat00005
Figure 112013079536097-pat00005

Figure 112013079536097-pat00006
Figure 112013079536097-pat00006

Figure 112013079536097-pat00007
Figure 112013079536097-pat00007

그리고 마스터(M)는

Figure 112013079536097-pat00008
Figure 112013079536097-pat00009
을 생성하여 공개 파라미터
Figure 112013079536097-pat00010
와 마스터키
Figure 112013079536097-pat00011
를 정한다.And the master (M)
Figure 112013079536097-pat00008
Figure 112013079536097-pat00009
≪ / RTI >
Figure 112013079536097-pat00010
And master keys
Figure 112013079536097-pat00011
.

도 5는 본 발명의 일실시예에 따른 제 1 비밀키 발급 방법의 흐름을 도시하고 있다.FIG. 5 shows a flow of a first secret key issuing method according to an embodiment of the present invention.

마스터(M)가 사용자 ID를 입력받는다(S210).The master M receives the user ID (S210).

사용자 ID를 해시하여 행렬 B를 산출한다(S220).The matrix B is calculated by hashing the user ID (S220).

트랩도어 확장부(L200)를 사용하여, 마스터 키를 행렬 B에 기초하여 확장한다(S230).Using the trap door extension L200, the master key is expanded based on the matrix B (S230).

확장된 마스터 키를 ID에 대한 제 1 비밀키로서 사용자(X, Y, Z)에게 전달한다(S240).The extended master key is transmitted to the user (X, Y, Z) as a first secret key for the ID (S240).

다시 말해, 제 1 비밀키 발급 단계(S200)는 마스터(M)가 자신의 마스터키를 이용해 주어진 ID에 대한 제 1 비밀키를 발급해주는 단계이다. In other words, the first secret key issue step S200 is a step in which the master M issues a first secret key for a given ID using its master key.

마스터(M)는

Figure 112013079536097-pat00012
을 계산하고,
Figure 112013079536097-pat00013
알고리즘을 실행한 후,
Figure 112013079536097-pat00014
을 ID에 대한 제 1 비밀키로 정하고, 안전한 방법으로 해당 ID의 서명자에게 키를 전달한다.The master (M)
Figure 112013079536097-pat00012
Lt; / RTI >
Figure 112013079536097-pat00013
After running the algorithm,
Figure 112013079536097-pat00014
As the first secret key for the ID, and delivers the key to the signer of the corresponding ID in a secure manner.

도 6은 본 발명의 일실시예에 따른 공개키 및 제 2 비밀키 생성 방법의 흐름을 도시하고 있다.6 is a flowchart illustrating a method of generating a public key and a second secret key according to an embodiment of the present invention.

후술하는 바와 같이, 사용자(X, Y, Z)는 마스터(M)와 완전히 독립적으로 자신의 공개키 및 제 2 비밀키를 생성한다. 그러므로 전술한 바와 같이 사용자(X, Y, Z)는 마스터(M)를 전적으로 신뢰하지 않아도 되며 제 2 비밀키가 마스터(M)에게 알려지지 않으므로, 본 발명의 일실시예에 따른 전자 서명 방법은 안전성이 높다.As will be described later, the user (X, Y, Z) generates his / her public key and the second secret key completely independently of the master M. Therefore, as described above, since the user (X, Y, Z) does not have to completely trust the master (M) and the second secret key is unknown to the master (M), the digital signature method according to an embodiment of the present invention, Is high.

사용자(X, Y, Z)가 트랩도어 생성부(L100)를 사용하여, 행렬 C 및 대응하는 트랩도어를 생성한다(S310). 트랩도어는 행렬 C에 기초하여 생성되는 래티스의 짧은 기저(short basis)이다.The user X, Y, Z generates the matrix C and the corresponding trap door using the trap door generating unit L100 (S310). The trap door is a short basis of the lattice generated based on the matrix C.

행렬 C를 자신의 공개키로 사용한다(S320).And uses the matrix C as its own public key (S320).

생성된 트랩도어를 제 2 비밀키로 사용한다(S330).The generated trap door is used as a second secret key (S330).

다시 말해, 공개키 및 제 2 비밀키 생성 단계(S300)는 ID에 해당하는 사용자(X, Y, Z)가 자신의 공개키와 제 2 비밀키를 생성하는 단계이다.In other words, the public key and the second secret key generation step (S300) is a step in which the user (X, Y, Z) corresponding to the ID generates its own public key and the second secret key.

사용자(X, Y, Z)는

Figure 112013079536097-pat00015
Figure 112013079536097-pat00016
알고리즘을 실행한 후, C를 자신의 ID에 대한 공개키로
Figure 112013079536097-pat00017
를 ID에 대한 제 2 비밀키로 출력한다. The user (X, Y, Z)
Figure 112013079536097-pat00015
Figure 112013079536097-pat00016
After running the algorithm, we send C to the public key for its ID
Figure 112013079536097-pat00017
As a second secret key for the ID.

주목할 점은 전술한 바와 같이 마스터(M)는 사용자(X, Y, Z)의 제 1 비밀키는 직접 생성하였으므로 알 수 있으나, 제 2 비밀키는 사용자(X, Y, Z)가 직접 생성하였기 때문에 알 수 없다. 따라서 아무리 마스터(M)라고 해도 제 2 비밀키를 모르는 이상 서명자(X)의 서명을 생성할 수 없다. 이와 같이 본 발명의 일실시예에 따른 인증서 비사용 전자 서명 시스템(10)은 마스터(M)를 전적으로 신뢰하지 않아도 되는 장점을 가진다. It should be noted that the master M can know the first secret key of the user X, Y and Z directly, but the second secret key is generated by the user X, Y, I can not tell. Thus, no matter how the master M is, the signature of the signer X can not be generated unless the second secret key is known. Thus, the certificateless electronic signature system 10 according to the embodiment of the present invention has an advantage that the master M is not completely trusted.

도 7은 본 발명의 일실시예에 따른 서명 방법의 흐름을 도시하고 있다.7 shows a flow of a signature method according to an embodiment of the present invention.

서명자(X)가 메시지 m을 입력받는다(S410).The signer X receives the message m (S410).

샘플링부(L300)를 사용하여 자신의 비밀키로부터 제 1 서명을 생성한다(S420). 이때 자신의 공개키를 메시지, 임의의 문자열과 함께 해시한 값이 사용된다.A first signature is generated from its own secret key using the sampling unit L300 (S420). At this time, a value obtained by hashing the public key with a message and an arbitrary character string is used.

트랩도어 확장부(L200)를 사용하여 자신의 제 2 비밀키를 확장한다(S440).The second secret key is expanded using the trap door extension L200 (S440).

샘플링부(L300)를 사용하여 자신의 확장된 제 2 비밀키로부터 제 2 서명을 생성한다(S450). 이때 메시지와 또다른 임의의 문자열을 함께 해시한 값이 사용된다.The second signature is generated from the extended second secret key by using the sampling unit L300 (S450). In this case, the hash value of the message and another arbitrary character string is used.

제 1 서명과 제 2 서명을 사용하여 서명을 생성한다(S460).A signature is generated using the first signature and the second signature (S460).

생성한 서명을 검증자(Y)에게로 발송한다(S470).The generated signature is sent to the verifier Y (S470).

다시 말해, 서명 단계(S400)는 ID에 해당하는 서명자(X)가 자신의 제 1 비밀키

Figure 112013079536097-pat00018
와 제 2 비밀키
Figure 112013079536097-pat00019
를 사용하여 주어진 메시지에 대한 서명을 생성하는 단계이다. 서명자(X)는 메시지 m에 대한 서명을 다음과 같이 생성한다. In other words, the signing step (S400) is performed in such a manner that the signer X corresponding to the ID has its own first secret key
Figure 112013079536097-pat00018
And the second secret key
Figure 112013079536097-pat00019
Is used to generate a signature for a given message. Signer X generates a signature for message m as follows.

먼저,

Figure 112013079536097-pat00020
을 계산한다. 여기서 r1은 서명자(X)가 선택한 임의의 문자열이며, 파라미터 s는
Figure 112013079536097-pat00021
알고리즘에 쓰이는 파라미터다. first,
Figure 112013079536097-pat00020
. Where r 1 is an arbitrary string selected by the signer (X), and the parameter s is
Figure 112013079536097-pat00021
It is a parameter used in the algorithm.

그 후,

Figure 112013079536097-pat00022
을 계산하여, 자신의 제 2 비밀키
Figure 112013079536097-pat00023
을 이용해
Figure 112013079536097-pat00024
알고리즘을 실행한 후, 생성한
Figure 112013079536097-pat00025
을 사용하여
Figure 112013079536097-pat00026
을 계산한다. 여기서 r2 역시 서명자(X)가 선택한 임의의 문자열이며, 동일한 파라미터 s를 사용한다. After that,
Figure 112013079536097-pat00022
To calculate its own second secret key < RTI ID = 0.0 >
Figure 112013079536097-pat00023
Using
Figure 112013079536097-pat00024
After running the algorithm,
Figure 112013079536097-pat00025
Using
Figure 112013079536097-pat00026
. Where r 2 Is also an arbitrary string selected by the signer (X), and uses the same parameter s.

최종적으로 전자 서명은

Figure 112013079536097-pat00027
으로 구성된다.Finally,
Figure 112013079536097-pat00027
.

도 8은 본 발명의 일실시예에 따른 검증 방법의 흐름을 도시하고 있다.FIG. 8 shows a flow of a verification method according to an embodiment of the present invention.

검증자(Y)가 서명자(X)의 서명을 입력받는다(S510).The verifier Y receives the signature of the signer X (S510).

서명자의 ID 및 공개키를 사용하여 제 1 서명에 대해 도시되어 있는 바와 같은 기지정된 조건을 만족하는지 판단한다(S520).The signer ' s ID and the public key are used to determine whether the pre-specified condition is met as shown for the first signature (S520).

서명자의 ID 및 공개키를 사용하여 제 1 서명에 대해 도시되어 있는 바와 같은 기지정된 조건을 만족하는지 판단한다(S530).The signer's ID and the public key are used to determine whether the pre-specified condition is met as shown for the first signature (S530).

제 1 서명 조건 및 제 2 서명 조건을 모두 만족할 경우 서명은 검증되며, 하나라도 만족하지 못할 경우 서명은 기각된다(S540).If both the first signature condition and the second signature condition are satisfied, the signature is verified, and if at least one is not satisfied, the signature is rejected (S540).

다시 말해, 검증 단계(S500)는 ID에 해당하는 서명자(X)가 보내온 서명을 검증자(Y)가 검증하는 단계이다. In other words, the verification step (S500) is a step in which the verifier (Y) verifies the signature sent by the signatory (X) corresponding to the ID.

주어진 서명

Figure 112013079536097-pat00028
은 다음과 같은 조건을 만족할 때 정당하다.Given signature
Figure 112013079536097-pat00028
Is justified when the following conditions are satisfied.

Figure 112013079536097-pat00029
그리고
Figure 112013079536097-pat00030
Figure 112013079536097-pat00029
And
Figure 112013079536097-pat00030

Figure 112013079536097-pat00031
그리고
Figure 112013079536097-pat00032
Figure 112013079536097-pat00031
And
Figure 112013079536097-pat00032

이하 도 9 내지 도 11을 통해 본 발명의 일실시예에 따른 전자 서명 방법이 키 발급 및 서명에 사용하기 위해 래티스 상에서의 SIS 문제의 어려움에 기반하여 트랩도어를 생성, 확장, 및 샘플링하는 방법을 구체적으로 설명한다.9 to 11, a method for generating, expanding, and sampling a trap door based on the difficulty of the SIS problem on the lattice for use in key issuance and signature, according to an embodiment of the present invention This will be described in detail.

본 발명은 m차원의 풀-랭크(full-rank) 정수 래티스를 사용하며, 이것은 유한개의 지수(finite index)를 가지는

Figure 112013079536097-pat00033
의 이산 가산 서브그룹(discrete additive subgroup)이다. 즉, 쿼션트 그룹(quotient group)
Figure 112013079536097-pat00034
이 유한하다. The present invention uses an m-dimensional full-rank integer lattice, which has a finite index < RTI ID = 0.0 >
Figure 112013079536097-pat00033
Lt; RTI ID = 0.0 > a < / RTI > discrete additive subgroup. That is, a quotient group
Figure 112013079536097-pat00034
This is finite.

하나의 래티스

Figure 112013079536097-pat00035
은 m개의 선형 독립 기저(basis) 벡터
Figure 112013079536097-pat00036
의 모든 정수 선형 결합의 집합과 동일하게 정의된다.One Lattice
Figure 112013079536097-pat00035
Lt; RTI ID = 0.0 > m < / RTI > linear independent basis vectors
Figure 112013079536097-pat00036
Is defined as the set of all integer linear combinations of.

Figure 112013079536097-pat00037
Figure 112013079536097-pat00037

여기서

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

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

Figure 112013079536097-pat00039
Figure 112013079536097-pat00040
는 정수이며, 차원 n은 본 발명에서 사용되는 시큐리티 파라미터이고, 모든 다른 파라미터들은 n의 함수들로 내포되었다고 가정한다. 여기서 m차원 하드 래티스는 패리티 검사 행렬(parity check matrix)
Figure 112013079536097-pat00041
에 의해 생성되며, 다음과 같이 정의된다.The present invention uses a specific form of integer lattice as follows. here
Figure 112013079536097-pat00039
and
Figure 112013079536097-pat00040
Is an integer, dimension n is a security parameter used in the present invention, and all other parameters are implied by functions of n. Here, the m-dimensional hard lattice is a parity check matrix,
Figure 112013079536097-pat00041
And is defined as follows.

Figure 112013079536097-pat00042
Figure 112013079536097-pat00042

어떤 y에 대해서, 패리티 검사 행렬

Figure 112013079536097-pat00043
에 의해 생성되는 코셋(coset)은 다음과 같이 정의된다.For any y, the parity check matrix
Figure 112013079536097-pat00043
Is defined as follows: cos (cos?

Figure 112013079536097-pat00044
Figure 112013079536097-pat00044

어떤 고정된 상수

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

본 발명이 기반하는 하드 래티스의 SIS(short integer solution) 문제는 평균적인 경우에 어려운 문제(average-case hardness problems)에 속해있으며, Miklos Ajtai는 이 문제를 최악의 경우에 어려운 문제(worst-case hardness problems)로 커넥션(connection)하는 방법을 발견하였다.The hard-lattice short integer solution (SIS) problem on which the present invention is based belongs to the average-case hardness problems, and Miklos Ajtai describes this problem as worst-case hardness I found a way to make a connection to the server.

래티스의 SIS 문제는 (

Figure 112013079536097-pat00051
norm에서의
Figure 112013079536097-pat00052
문제)는 어떤
Figure 112013079536097-pat00053
에 대해 균등하게 랜덤한 행렬
Figure 112013079536097-pat00054
를 입력으로 받아
Figure 112013079536097-pat00055
Figure 112013079536097-pat00056
(즉,
Figure 112013079536097-pat00057
)을 만족하는 영이 아닌(nonzero) 정수 벡터
Figure 112013079536097-pat00058
를 찾는 것으로 정의된다.Lattice's SIS problem (
Figure 112013079536097-pat00051
at norm
Figure 112013079536097-pat00052
Problem)
Figure 112013079536097-pat00053
A uniformly random matrix < RTI ID = 0.0 >
Figure 112013079536097-pat00054
As input
Figure 112013079536097-pat00055
Wow
Figure 112013079536097-pat00056
(In other words,
Figure 112013079536097-pat00057
) Nonzero integer vector satisfying
Figure 112013079536097-pat00058
.

도 9는 본 발명의 일실시예에 따른 트랩도어 생성 방법의 흐름을 도시하고 있다.FIG. 9 shows a flow of a trap door generating method according to an embodiment of the present invention.

보안 파라미터를 입력받는다(SL110).And receives security parameters (SL110).

균등한 분포에서 임의의 행렬을 선택한다(SL120).An arbitrary matrix is selected from the even distribution (SL120).

행렬로부터 래티스를 생성한다(SL130).And generates a lattice from the matrix (SL130).

래티스의 짧은 기저를 산출한다(SL140).The short base of the lattice is calculated (SL140).

산출된 짧은 기저를 트랩도어로서 행렬과 함께 출력한다(SL150).The calculated short base is output together with the matrix as a trap door (SL150).

다시 말해, 트랩도어 생성부(L100)는 균등한 분포에서 임의로 선택된 매트릭스

Figure 112013079536097-pat00059
와 이러한 매트릭스로 생성되는 래티스
Figure 112013079536097-pat00060
의 짧은 기저 S를 생성하는 알고리즘
Figure 112013079536097-pat00061
을 제공한다.In other words, the trap door generator L100 generates a trap door
Figure 112013079536097-pat00059
And the lattice created by this matrix
Figure 112013079536097-pat00060
Algorithm to Generate Short Base S of
Figure 112013079536097-pat00061
.

임의의 래티스의 짧은 기저를 찾는 문제는 결국 SIS 문제이기 때문에 알고리즘

Figure 112013079536097-pat00062
은 임의의 래티스와 그것의 트랩도어(SIS 문제에 대한) 즉, 짧은 기저를 생성하게 된다.Since the problem of finding a short base of arbitrary lattices is a SIS problem,
Figure 112013079536097-pat00062
Will produce any lattice and its trap door (for SIS problem), i.e. short base.

이때 파라미터들은

Figure 112013079536097-pat00063
을 만족하며, 기저 S의 길이는
Figure 112013079536097-pat00064
만큼 짧다. At this time,
Figure 112013079536097-pat00063
, And the length of the base S is
Figure 112013079536097-pat00064
.

도 10은 본 발명의 일실시예에 따른 트랩도어 확장 방법의 흐름을 도시하고 있다.FIG. 10 shows a flow of a trap door expanding method according to an embodiment of the present invention.

래티스를 나타내는 행렬, 즉, 래티스를 생성하는 행렬 및 래티스의 짧은 기저를 입력받는다(SL210).A matrix representing the lattice, that is, a matrix for generating lattice and a short base of the lattice are input (SL 210).

균등한 분포에서 임의의 행렬을 선택한다(SL220).An arbitrary matrix is selected from an even distribution (SL 220).

확장된 래티스를 생성한다(SL230).And generates expanded lattice (SL 230).

확장된 래티스의 짧은 기저를 산출한다(SL240).The short base of extended lattice is calculated (SL240).

산출된 짧은 기저를 확장된 트랩도어로 출력한다(SL250).The calculated short base is output to the extended trap door (SL 250).

다시 말해, 트랩도어 확장부(L200)는 래티스의 짧은 기저를 위임하는 알고리즘을 제공한다.In other words, the trap door extension L200 provides an algorithm for delegating the short base of the lattice.

래티스

Figure 112013079536097-pat00065
와 그것의 짧은 기저
Figure 112013079536097-pat00066
,
Figure 112013079536097-pat00067
를 입력값으로 하는 알고리즘
Figure 112013079536097-pat00068
은 출력값으로 래티스
Figure 112013079536097-pat00069
와 그것의 짧은 기저
Figure 112013079536097-pat00070
을 출력한다. Lattice
Figure 112013079536097-pat00065
And its short base
Figure 112013079536097-pat00066
,
Figure 112013079536097-pat00067
As an input value
Figure 112013079536097-pat00068
Lt; RTI ID = 0.0 >
Figure 112013079536097-pat00069
And its short base
Figure 112013079536097-pat00070
.

도 11은 본 발명의 일실시예에 따른 가우시안 샘플링 방법의 흐름을 도시하고 있다.FIG. 11 shows a flow of a Gaussian sampling method according to an embodiment of the present invention.

래티스 의 짧은 기저, 샘플링 입력값, 샘플링 파라미터를 입력받는한다(SL310).A short base of the lattice, a sampling input value, and a sampling parameter (SL310).

가우시안 분포를 생성한다(SL320).Thereby generating a Gaussian distribution (SL320).

분포로부터 벡터를 샘플링한다(SL330).The vector is sampled from the distribution (SL 330).

벡터를 출력한다(SL340).And outputs a vector (SL340).

다시 말해, 샘플링부(L300)는 래티스의 가우시안 분포로부터 벡터를 샘플링하는 알고리즘을 제공한다.In other words, the sampling unit L300 provides an algorithm for sampling the vector from the Gaussian distribution of the lattice.

어떤

Figure 112013079536097-pat00071
과 차원
Figure 112013079536097-pat00072
에 대해, 가우시안 함수(Gaussian function)
Figure 112013079536097-pat00073
Figure 112013079536097-pat00074
로 정의된다. which
Figure 112013079536097-pat00071
And dimension
Figure 112013079536097-pat00072
Gaussian function < RTI ID = 0.0 >
Figure 112013079536097-pat00073
The
Figure 112013079536097-pat00074
.

어떤 코셋

Figure 112013079536097-pat00075
에 대해, 코셋 상의 (중심이 0인) 이산 가우시안 분포(discrete Gaussian distribution)
Figure 112013079536097-pat00076
는 각각의
Figure 112013079536097-pat00077
에서
Figure 112013079536097-pat00078
에 비례하는 확률을 가진다.Any coset
Figure 112013079536097-pat00075
, A discrete Gaussian distribution (centered 0) on the co-
Figure 112013079536097-pat00076
Respectively,
Figure 112013079536097-pat00077
in
Figure 112013079536097-pat00078
.

래티스에서의 가우시안 분포와 관련되는 성질을 살펴보면 다음과 같다. 여기에서 s는 어떤

Figure 112013079536097-pat00079
에 대한
Figure 112013079536097-pat00080
의 기저를 말하며,
Figure 112013079536097-pat00081
이다.The properties related to the Gaussian distribution in lattice are as follows. Where s is any
Figure 112013079536097-pat00079
For
Figure 112013079536097-pat00080
, And,
Figure 112013079536097-pat00081
to be.

Figure 112013079536097-pat00082
Figure 112013079536097-pat00082

Figure 112013079536097-pat00083
Figure 112013079536097-pat00083

이에 따라

Figure 112013079536097-pat00084
은 (
Figure 112013079536097-pat00085
통계적인 거리를 가지는)
Figure 112013079536097-pat00086
로부터 샘플링을 할 수 있다.Accordingly
Figure 112013079536097-pat00084
(
Figure 112013079536097-pat00085
With statistical distances)
Figure 112013079536097-pat00086
Can be sampled.

전술한 바와 같이, 가우시안 샘플링은 서명자(X)가 자신의 비밀키, 즉 확장된 트랩도어에서 서명에 사용할 래티스 벡터를 추출하기 위해 사용한다.As described above, Gaussian sampling is used by the signer X to extract its own secret key, that is, the lattice vector to be used for signing in the extended trap door.

본 발명의 일실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다. 본 발명의 일실시예의 하나 이상의 구성 요소 또는 동작을 실시하기 위하여 사용될 수 있는 컴퓨터 시스템 아키텍쳐의 일례를 설명하면, 하드웨어 시스템은 프로세서, 캐쉬, 메모리 및 상술한 기능에 관련된 하나 이상의 소프트웨어 어플리케이션 및 드라이버를 포함할 수 있다.While the methods and systems of the present invention have been described in connection with specific embodiments, some or all of those elements or operations may be implemented using a computer system having a general purpose hardware architecture. In describing an example of a computer system architecture that may be used to implement one or more components or operations of an embodiment of the invention, a hardware system includes a processor, a cache, a memory, and one or more software applications and drivers associated with the functions described above can do.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

10: 전자 서명 시스템
M: 마스터
X: 서명자
Y: 검증자
Z: 제3자
10: Digital Signature System
M: Master
X: Signer
Y: Verifier
Z: Third party

Claims (12)

전자 서명 시스템에 있어서,
자신의 마스터 키 및 사용자 개체의 공개된 식별 정보를 사용하여, 제 1 비밀키를 생성하여 상기 사용자 개체에게 할당하는 마스터 개체; 및
자신의 공개키 및 제 2 비밀키를 생성하는 사용자 개체;를 포함하되,
상기 사용자 개체는
상기 자신의 공개키, 제 1 비밀키, 및 제 2 비밀키를 사용하여 생성한 서명을 검증자 개체에게 전송하는 서명자 개체; 및
상기 서명자 개체로부터 수신한 서명을 상기 서명자 개체의 공개된 식별 정보, 및 공개키를 사용하여 검증하는 검증자 개체;를 포함하되,
상기 마스터 키, 제 1 비밀키, 및 상기 제 2 비밀키 생성에 래티스(lattice) 상에서의 SIS(small integer solution) 문제의 어려움에 기반하여 생성한 트랩도어(trapdoor)가 사용되는 전자 서명 시스템.
In an electronic signature system,
A master entity for generating and assigning a first secret key to the user entity using the master key of the user and the public identification information of the user entity; And
And a user entity for generating a public key and a second private key,
The user entity
A signer entity for transmitting a signature generated using the public key, the first secret key, and the second secret key to the verifier entity; And
And a verifier entity for verifying the signature received from the signer entity using the public identification of the signer entity and the public key,
Wherein a trapdoor generated based on the difficulty of the master key, the first secret key, and the small integer solution (SIS) problem on the lattice for generating the second secret key is used.
제 1 항에 있어서,
상기 마스터 개체는
균일한 분포(uniform distribution)에서 선택된 임의의 행렬로부터 생성되는 래티스의 짧은 기저(short basis)인 트랩도어를 생성하여,
상기 트랩도어를 자신의 비밀키인 마스터 키로 사용하고, 상기 임의의 행렬을 공개하는 전자 서명 시스템.
The method according to claim 1,
The master entity
A trap door, which is a short basis of the lattice generated from any matrix selected in a uniform distribution,
Using the trap door as a master key as its secret key, and disclosing the arbitrary matrix.
제 1 항에 있어서,
상기 마스터 키의 래티스를 상기 사용자 개체의 공개된 식별 정보를 사용하여 확장된 래티스로 확장하고 상기 확장된 래티스의 짧은 기저인 확장된 트랩도어를 생성하여,
상기 확장된 트랩도어를 상기 사용자 개체의 제 1 비밀키로 발급하는 전자 서명 시스템.
The method according to claim 1,
Expanding the lattice of the master key to the extended lattice using the public identification of the user entity and creating an extended trap door that is the short base of the extended lattice,
And issuing the extended trap door as a first secret key of the user entity.
제 1 항에 있어서,
상기 사용자 개체는
균일한 분포에서 선택된 임의의 행렬로부터 생성되는 래티스의 짧은 기저인 트랩도어를 생성하여,
상기 트랩도어를 자신의 제 2 비밀키로 사용하고, 상기 임의의 행렬을 자신의 공개키로 사용하는 전자 서명 시스템.
The method according to claim 1,
The user entity
A trap door which is a short base of the lattice generated from an arbitrary matrix selected in a uniform distribution is generated,
Uses the trap door as its second secret key, and uses the arbitrary matrix as its public key.
제 1 항에 있어서,
상기 사용자 개체는
자신의 제 1 비밀키 및 공개키를 사용하여 제 1 서명을 생성하고,
자신의 제 2 비밀키 및 공개키를 사용하여 제 2 서명을 생성하여,
상기 제 1 서명과 제 2 서명을 사용하여 상기 서명을 생성하는 전자 서명 시스템.
The method according to claim 1,
The user entity
Generates a first signature using its first secret key and a public key,
Generates a second signature using its second private key and public key,
And generate the signature using the first signature and the second signature.
제 5 항에 있어서,
상기 사용자 개체는
상기 제 1 비밀키의 가우시안 분포로부터 벡터를 샘플링하여 상기 제 1 서명을 생성하는 전자 서명 시스템.
6. The method of claim 5,
The user entity
And a vector is sampled from a Gaussian distribution of the first secret key to generate the first signature.
제 5 항에 있어서,
상기 사용자 개체는
상기 제 2 비밀키의 래티스를 상기 공개키를 사용하여 확장된 래티스로 확장하고 상기 확장된 래티스의 짧은 기저인 확장된 트랩도어를 생성하여,
상기 확장된 트랩도어의 가우시안 분포로부터 벡터를 샘플링하여 상기 제 2 서명을 생성하는 전자 서명 시스템.
6. The method of claim 5,
The user entity
Expanding the lattice of the second secret key to the extended lattice using the public key, creating an extended trap door that is the short base of the extended lattice,
And sampling the vector from the Gaussian distribution of the extended trap door to generate the second signature.
전자 서명 방법에 있어서,
(a) 마스터 개체가 보안 파라미터를 설정하고 자신의 마스터 키를 생성하는 단계;
(b) 상기 마스터 개체가 서명자 개체 및 검증자 개체를 포함하는 사용자 개체의 공개된 식별 정보에 기초하여, 제 1 비밀키를 생성하여 상기 사용자 개체에게 할당하는 단계;
(c) 상기 사용자 개체가 자신의 공개키 및 제 2 비밀키를 생성하는 단계;
(d) 상기 서명자 개체가 자신의 공개키, 제 1 비밀키, 및 제 2 비밀키를 사용하여 생성한 서명을 검증자 개체에게 전송하는 단계; 및
(e) 상기 검증자 개체가 상기 서명자 개체로부터 수신한 서명을 상기 서명자 개체의 공개된 식별 정보, 및 공개키를 사용하여 검증하는 단계;를 포함하되,
상기 마스터 키, 제 1 비밀키, 및 상기 제 2 비밀키 생성에 래티스(lattice) 상에서의 SIS(small integer solution) 문제의 어려움에 기반하여 생성한 트랩도어(trapdoor)가 사용되는 전자 서명 방법.
In the digital signature method,
(a) the master entity establishes security parameters and generates its own master key;
(b) generating and assigning a first secret key to the user entity based on public identification information of the user entity including the signer entity and the verifier entity;
(c) the user entity generating its own public key and a second private key;
(d) transmitting to the verifier entity a signature generated by the signer entity using its public key, a first secret key, and a second secret key; And
(e) verifying the signature received from the signer entity by the verifier entity using the public identification information of the signer entity and the public key,
Wherein the trapdoor is generated based on the difficulty of the master key, the first secret key, and the small integer solution (SIS) problem on the lattice in generating the second secret key.
제 8 항에 있어서,
상기 (a) 단계는
균일한 분포(uniform distribution)에서 선택된 임의의 행렬로부터 생성되는 래티스의 짧은 기저(short basis)인 트랩도어를 생성하여,
상기 트랩도어를 상기 마스터 개체의 비밀키인 마스터 키로 사용하고, 상기 임의의 행렬은 공개되는 전자 서명 방법.
9. The method of claim 8,
The step (a)
A trap door, which is a short basis of the lattice generated from any matrix selected in a uniform distribution,
Wherein the trap door is used as a master key which is a secret key of the master entity, and the arbitrary matrix is disclosed.
제 8 항에 있어서,
상기 (b) 단계는
상기 마스터 키의 래티스를 상기 사용자 개체의 공개된 식별 정보를 사용하여 확장된 래티스로 확장하고 상기 확장된 래티스의 짧은 기저인 확장된 트랩도어를 생성하여,
상기 확장된 트랩도어를 상기 사용자 개체의 제 1 비밀키로 발급하는 전자 서명 방법.
9. The method of claim 8,
The step (b)
Expanding the lattice of the master key to the extended lattice using the public identification of the user entity and creating an extended trap door that is the short base of the extended lattice,
And issuing the extended trap door as a first secret key of the user entity.
제 8 항에 있어서,
상기 (c) 단계는
균일한 분포에서 선택된 임의의 행렬로부터 생성되는 래티스의 짧은 기저인 트랩도어를 생성하여
상기 트랩도어를 상기 사용자 개체의 제 2 비밀키로 사용하고, 상기 임의의 행렬을 상기 사용자 개체의 공개키로 사용하는 전자 서명 방법.
9. The method of claim 8,
The step (c)
A trap door, which is the short base of the lattice generated from any matrix selected in a uniform distribution, is generated
Using the trap door as a second secret key of the user entity and using the arbitrary matrix as a public key of the user entity.
제 8 항에 있어서,
상기 (d) 단계는
상기 서명자 개체의 제 1 비밀키 및 공개키를 사용하여, 상기 제 1 비밀키의 가우시안 분포로부터 벡터를 샘플링하여 제 1 서명을 생성하고,
상기 서명자 개체의 제 2 비밀키 및 공개키를 사용하여, 상기 제 2 비밀키의 래티스를 상기 공개키를 사용하여 확장된 래티스로 확장하고 상기 확장된 래티스의 짧은 기저인 확장된 트랩도어를 생성하여, 상기 확장된 트랩도어의 가우시안 분포로부터 벡터를 샘플링하여 제 2 서명을 생성하여,
상기 제 1 서명과 제 2 서명을 사용하여 상기 서명을 생성하는 전자 서명 방법.
9. The method of claim 8,
The step (d)
Using a first private key and a public key of the signer entity to generate a first signature by sampling a vector from a Gaussian distribution of the first private key,
Using the second secret key and the public key of the signer entity to extend the lattice of the second secret key to the extended lattice using the public key and to create an extended trap door that is the short base of the extended lattice , Generating a second signature by sampling the vector from the Gaussian distribution of the extended trap door,
And generating the signature using the first signature and the second signature.
KR1020130104107A 2013-08-30 2013-08-30 System and method for lattice-based certificateless signature KR101404642B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130104107A KR101404642B1 (en) 2013-08-30 2013-08-30 System and method for lattice-based certificateless signature
PCT/KR2014/008144 WO2015030553A1 (en) 2013-08-30 2014-09-01 Lattice-based certificateless signature system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130104107A KR101404642B1 (en) 2013-08-30 2013-08-30 System and method for lattice-based certificateless signature

Publications (1)

Publication Number Publication Date
KR101404642B1 true KR101404642B1 (en) 2014-06-11

Family

ID=51132107

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130104107A KR101404642B1 (en) 2013-08-30 2013-08-30 System and method for lattice-based certificateless signature

Country Status (2)

Country Link
KR (1) KR101404642B1 (en)
WO (1) WO2015030553A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10129029B2 (en) 2016-06-16 2018-11-13 International Business Machines Corporation Proofs of plaintext knowledge and group signatures incorporating same
US9973342B2 (en) 2016-06-16 2018-05-15 International Business Machines Corporation Authentication via group signatures
CN109862559A (en) * 2019-03-02 2019-06-07 西安邮电大学 Suitable for industry internet data perception without certificate signature method and system
CN109936458B (en) * 2019-03-18 2022-04-26 上海扈民区块链科技有限公司 Lattice-based digital signature method based on multiple evidence error correction
CN110266490B (en) * 2019-07-25 2023-04-21 西南石油大学 Keyword ciphertext generation method and device of cloud storage data
SE545260C2 (en) * 2021-03-01 2023-06-13 Assa Abloy Ab Privacy-enhanced delegation of access right to unlock a physical lock involving a delegator, a delegatee, a derivation scalar and public and secret keys

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070165843A1 (en) 2006-01-13 2007-07-19 Microsoft Corporation Trapdoor Pairings
KR20130085491A (en) * 2011-12-09 2013-07-30 한국전자통신연구원 Multi-user searchable encryption system with index validation and tracing and method thereof
KR101382626B1 (en) 2013-01-03 2014-04-07 고려대학교 산학협력단 System and method for id-based strong designated verifier signature

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237116B1 (en) * 2000-01-19 2007-06-26 International Business Machines Corporation Digital signature system and method based on hard lattice problem
KR20120071884A (en) * 2010-12-23 2012-07-03 한국전자통신연구원 Ring signature method based on lattices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070165843A1 (en) 2006-01-13 2007-07-19 Microsoft Corporation Trapdoor Pairings
KR20130085491A (en) * 2011-12-09 2013-07-30 한국전자통신연구원 Multi-user searchable encryption system with index validation and tracing and method thereof
KR101382626B1 (en) 2013-01-03 2014-04-07 고려대학교 산학협력단 System and method for id-based strong designated verifier signature

Also Published As

Publication number Publication date
WO2015030553A1 (en) 2015-03-05

Similar Documents

Publication Publication Date Title
US20210326442A1 (en) Host attestation
US10129034B2 (en) Signature delegation
US10243939B2 (en) Key distribution in a distributed computing environment
CN108292402B (en) Determination of a common secret and hierarchical deterministic keys for the secure exchange of information
EP3130104B1 (en) System and method for sequential data signatures
Wang et al. Panda: Public auditing for shared data with efficient user revocation in the cloud
JP4709815B2 (en) Authentication method and apparatus
KR101404642B1 (en) System and method for lattice-based certificateless signature
US10237249B2 (en) Key revocation
US20180183592A1 (en) Public key rollup for merkle tree signature scheme
Fan et al. On indistinguishability in remote data integrity checking
CN106487786B (en) Cloud data integrity verification method and system based on biological characteristics
Buldas et al. Efficient quantum-immune keyless signatures with identity
Chalaemwongwan et al. A practical national digital ID framework on blockchain (NIDBC)
Huang et al. Certificateless public verification scheme with privacy-preserving and message recovery for dynamic group
KR20210063378A (en) Computer-implemented systems and methods that share common secrets
KR101382626B1 (en) System and method for id-based strong designated verifier signature
Zhang et al. IPad: ID-based public auditing for the outsourced data in the standard model
Huszti et al. A simple authentication scheme for clouds
An et al. QChain: Quantum-resistant and decentralized PKI using blockchain
WO2016014048A1 (en) Attribute-based cryptography
Lin et al. F2p-abs: A fast and secure attribute-based signature for mobile platforms
Badra et al. Long-term integrity and non-repudiation protocol for multiple entities
Li et al. Blockchain-Based Portable Authenticated Data Transmission for Mobile Edge Computing: A Universally Composable Secure Solution
JP2014157354A (en) Cryptographic devices and methods for generating and verifying linearly homomorphic structure-preserving signatures

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190411

Year of fee payment: 6