KR101273465B1 - 집합 검증 장치 및 그 방법 - Google Patents

집합 검증 장치 및 그 방법 Download PDF

Info

Publication number
KR101273465B1
KR101273465B1 KR1020070026335A KR20070026335A KR101273465B1 KR 101273465 B1 KR101273465 B1 KR 101273465B1 KR 1020070026335 A KR1020070026335 A KR 1020070026335A KR 20070026335 A KR20070026335 A KR 20070026335A KR 101273465 B1 KR101273465 B1 KR 101273465B1
Authority
KR
South Korea
Prior art keywords
verification
value
key
values
generating
Prior art date
Application number
KR1020070026335A
Other languages
English (en)
Other versions
KR20080084500A (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 KR1020070026335A priority Critical patent/KR101273465B1/ko
Priority to US11/833,483 priority patent/US8255691B2/en
Publication of KR20080084500A publication Critical patent/KR20080084500A/ko
Application granted granted Critical
Publication of KR101273465B1 publication Critical patent/KR101273465B1/ko

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/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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/043Masking or blinding of tables, e.g. lookup, substitution or mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

집합 검증 장치 및 그 방법이 개시된다. 본 발명의 집합 검증 방법은 복수 개의 비밀 키들, 상기 비밀 키들에 상응하는 복수 개의 공개 키들 및 상기 공개 키들에 상응하는 복수 개의 검증 값들을 생성하는 단계, 배포된 상기 복수 개의 공개 키들의 검증 값들을 수신하고, 수신된 상기 공개 키들의 검증 값들을 기초로 제1 집합 검증 값을 연산하는 단계, 상기 비밀 키들 및 상기 검증 값들을 기초로 제2 집합 검증 값을 연산하는 단계 및 상기 제1 집합 검증 값과 상기 제2 집합 검증 값을 비교하여 상기 제1 집합 검증 값이 상기 제2 집합 검증 값과 같으면 수신된 상기 공개 키들의 검증 값들 집합이 검증된 것으로 판단하는 단계를 포함하는 것을 특징으로 한다.
집합, 집합 검증, 지수승, 전자 서명, 비밀 키, 공개 키

Description

집합 검증 장치 및 그 방법{APPARATUS FOR BATCH VERIFICATION AND METHOD USING THE SAME}
도 1은 본 발명의 일 실시예에 따른 집합 검증 장치의 구성 블록도이다.
도 2는 도 1에 도시한 검증 값 생성부에 대한 일 실시예 구성 블록도이다.
도 3은 도 1에 도시한 검증 값 생성부에 대한 또 다른 일 실시예 구성 블록도이다.
도 4는 본 발명의 일 실시예에 따른 집합 검증 방법에 대한 동작 흐름도이다.
도 5는 도 4에 도시한 단계 S420에 대한 일 실시예 동작 흐름도이다.
도 6은 도 4에 도시한 단계 S420에 대한 또 다른 일 실시예 동작 흐름도이다.
도 7은 전자 서명을 생성하고 배포하는 과정의 동작 흐름도이다.
도 8은 배포된 전사 서명들을 수신하여 전자 서명들 집합 검증을 수행하는 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 수신부
120: 제1 연산부
130: 집합 검증부
140: 생성부
150: 제2 연산부
160: 검증 값 생성부
210, 310: 키 생성 관리부
250: 검증 좌표 값 생성부
350: 검증 지수 생성부
본 발명은 집합 검증(batch verification)에 관한 것으로, 더욱 상세하게는 많은 서명자에 의해 배포된 공개 키들의 검증 값들을 집합 검증할 수 있는 집합 검증 장치 및 그 방법에 관한 것이다.
날이 갈수록 증대되어 온 정보보안의 중요성으로 인해 많은 암호화 방법들이 등장되었다.  일 예로, 엘가말(ElGamal) 암호화와 타원 곡선 암호(ECC: Elliptic Curve Cryptography)도 보다 효율적인 정보보안을 위해 등장한 암호화 방법들이다.
엘가말 암호화는 암호화 과정에서 지수승 연산을 수반한다.  그리고, 엘가말 암호화 이외에도 지수승 연산을 수반하는 많은 암호화 방법들이 존재한다.
보다 안정적인 정보보안을 위해서는 지수승 연산에서 지수가 되는 키의 길이가 일정 길이만큼 길어져야 한다.  그런데, 지수가 되는 키의 길이가 길어지게 되 면, 지수승 연산량이 많아지게 되어, 연산속도가 느려지게 되는 결과를 유발하게 된다.  이와 같은 연산속도의 저하는 프로세서의 성능이 낮은 모바일 기기에서 더욱 심각해진다.
한편, 타원 곡선 암호는 암호화 과정에서 좌표 덧셈 연산을 수반한다.
타원 곡선 암호의 경우에도 보다 안정적인 정보보안을 위해서는 좌표 덧셈 연산에서 좌표에 곱해지는 계수인 키의 길이가 일정 길이만큼 길어져야 한다.  그런데, 키의 길이가 길어지게 되면, 좌표 덧셈 연산량이 많아지게 되어 연산속도가 느려지게 되는 결과를 유발하게 된다.  이와 같은 연산속도의 저하는 프로세서의 성능이 낮은 모바일 기기에서 더욱 심각해짐은, 타원 곡선 암호의 경우도 마찬가지이다.
또한, 많은 지수승 연산을 수행하는 기기 예를 들어, 라우터 등과 같은 기기에서 지수승 연산이 느려지면 병목(bottleneck) 현상 등이 발생할 수 있고, 리소스 제한된 기기의 경우에는 많은 지수승 연산으로 인하여 암호화 기능을 사용하지 못하는 경우가 발생하게 된다.
이런 지수승 연산 또는 좌표 덧셈 연산 등은 집합 검증에 사용되는데, 종래 집합 검증은 동일 서명자에 의해 배포된 서명들 집합에 대한 검증만이 이루어지고, 다른 서명자에 의해 배포된 서명들 집합에 대한 검증은 이루어지지 않았다. 즉, 비밀 키가 하나인 서명들 집합에 대한 검증만이 이루어졌다.
따라서, 빠른 연산을 수행하면서 다른 서명자에 의해 배포된 서명들 집합을 검증할 수 있는 방법의 필요성이 대두된다.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 배포된 지수승들의 결과 값의 곱을 통해 지수승들의 집합 검증을 수행하고 배포된 좌표 곱셈 결과 값의 덧셈을 통해 좌표 덧셈 값들의 집합 검증을 수행함으로써, 집합 검증을 신속하교 효율적으로 수행하는 것을 목적으로 한다.
또한, 본 발명은 복수 개의 비밀 키들 및 비밀 키들에 상응하는 복수 개의 검증 값들을 기초로 배포된 전자 서명들을 수신하여 지수승 연산 또는 좌표 덧셈 갑의 연산을 통해 집합 검증을 수행함으로써, 복수의 다른 서명자들에 의해 배포된 전자 서명들에 대한 집합 검증을 수행하는 것을 목적으로 한다.
상기의 목적을 달성하고 종래기술의 문제점을 해결하기 위하여, 본 발명의 집합 검증 방법은 복수 개의 비밀 키들, 상기 비밀 키들에 상응하는 복수 개의 공개 키들 및 상기 공개 키들에 상응하는 복수 개의 검증 값들을 생성하는 단계, 배포된 상기 복수 개의 공개 키들의 검증 값들을 수신하고, 수신된 상기 공개 키들의 검증 값들을 기초로 제1 집합 검증 값을 연산하는 단계, 상기 비밀 키들 및 상기 검증 값들을 기초로 제2 집합 검증 값을 연산하는 단계 및 상기 제1 집합 검증 값과 상기 제2 집합 검증 값을 비교하여 상기 제1 집합 검증 값이 상기 제2 집합 검증 값과 같으면 수신된 상기 공개 키들의 검증 값들 집합이 검증된 것으로 판단하는 단계를 포함하는 것을 특징으로 한다.
이때, 상기 검증 값은 검증 좌표 값일 수 있다.
이때, 상기 검증 값들을 생성하는 단계는 계수들 중 0이 아닌 계수는 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수이며, 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 생성하는 단계, 생성된 상기 키에 기초한 좌표 연산을 수행하여 상기 검증 좌표 값을 생성하는 단계 및 상기 키를 생성하는 단계 및 상기 검증 좌표 값을 생성하는 단계를 상기 복수 개의 검증 좌표 값들만큼 반복 수행하는 단계를 포함하고, 상기 q는 소수 또는 소수의 멱수이고, 상기 w는 2 이상의 자연수일 수 있다.
이때, 상기 제1 집합 검증 값은 수신된 상기 공개 키(Qi)들의 검증 좌표 값(siQi)들 모두가 더해진 값일 수 있다.
이때, 상기 검증 값은 검증 지수일 수 있다.
이때, 상기 검증 값들을 생성하는 단계는 계수들 중 0이 아닌 계수는 2w 이하의 양의 홀수이며, 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 생성하는 단계, 생성된 상기 키를 지수승 연산하여 검증 지수를 생성하는 단계 및 상기 키를 생성하는 단계 및 상기 검증 지수를 생성하는 단계를 상기 복수 개의 검증 지수들만큼 반복 수행하는 단계를 포함하고, 상기 w는 2 이상의 자연수일 수 있다.
이때, 상기 제1 집합 검증 값은 수신된 상기 공개 키(yi)의 검증 지수승 값(yi si)들 모두가 곱해진 값일 수 있다.
본 발명의 집합 검증 장치는 복수 개의 비밀 키들 및 상기 비밀 키들에 상응하는 복수 개의 공개 키들을 생성하는 생성부, 상기 공개 키들에 상응하는 복수 개의 검증 값들을 검증 값 생성부, 배포된 상기 복수 개의 공개 키들의 검증 값들을 수신하고, 수신된 상기 공개 키들의 검증 값들을 기초로 제1 집합 검증 값을 연산하는 제1 연산부, 상기 비밀 키들 및 상기 검증 값들을 기초로 제2 집합 검증 값을 연산하는 제2 연산부 및 상기 제1 집합 검증 값과 상기 제2 집합 검증 값을 비교하여 상기 제1 집합 검증 값이 상기 제2 집합 검증 값과 같으면 수신된 상기 공개 키들의 검증 값들 집합이 검증된 것으로 판단하는 집합 검증부를 포함하는 것을 특징으로 한다.
이때, 상기 검증 값은 검증 좌표 값일 수 있다.
이때, 상기 검증 값 생성부는 계수들 중 0이 아닌 계수는 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수이며, 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 생성하는 키 생성 관리부 및 생성된 상기 키에 기초한 좌표 연산을 수행하여 상기 검증 좌표 값을 생성하는 검증 좌표 값 생성부를 포함하고, 상기 좌표 값 생성부는 키 생성부 및 상기 검증 좌표 값 생성부를 통해 상기 복수 개의 검증 좌표 값들을 생성하고, 상기 q는 소수 또는 소수의 멱수이고, 상기 w는 2 이상의 자연수일 수 있다.
이때, 상기 검증 값은 검증 지수일 수 있다.
이때, 상기 검증 값 생성부는 계수들 중 0이 아닌 계수는 2w 이하의 양의 홀 수이며, 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 생성하는 키 생성 관리부, 생성된 상기 키를 지수승 연산하여 검증 지수를 생성하는 검증 지수 생성부를 포함하고, 상기 지수 생성부는 키 생성부 및 상기 검증 지수 생성부를 통해 상기 복수 개의 검증 지수들 생성하고, 상기 w는 2 이상의 자연수일 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 집합 검증 장치의 구성 블록도이다.
도 1을 참조하면, 집합 검증 장치는 수신부(110), 제1 연산부(120), 집합 검증부(130), 생성부(140), 제2 연산부(150) 및 검증 값 생성부(160)를 포함한다.
수신부(110)는 배포된 복수 개의 공개 키들의 검증 값들을 수신한다.
여기서, 공개 키들의 검증 값들은 검증 값이 검증 좌표 값인 경우 공개 키와 검증 좌표 값이 곱해진 값들일 수 있고, 검증 값이 검증 지수인 경우 공개 키의 검증 지수승들이 될 수 있다. 예컨대, 검증 값(si)이 검증 좌표 값인 경우 공개 키(Qi)의 검증 값은 siQi가 되고, 검증 값(si)이 검증 지수인 경우 공개 키(yi)의 검증 값은 yi si가 된다.
생성부(140)는 복수 개의 비밀 키들 및 비밀 키들에 상응하는 복수 개의 공개 키들을 생성한다.
검증 값 생성부(160)는 공개 키들에 상응하는 복수 개의 검증 값들을 생성한다.
이때, 검증 값 생성부(160)는 검증 좌표 값 또는 검증 지수를 검증 값으로 생성할 수 있다.
이때, 검증 값 생성부(160)는 검증 값이 검증 좌표 값인 경우 τ-adic w-NAF(width-Non Adjacent Form) 키를 생성하고, 그 생성된 τ-adic w-NAF 키에 기초한 좌표 연산을 수행하여 검증 좌표 값을 생성할 수 있다.
여기서, τ-adic w-NAF는 τ와 w-NAF를 결합한 형으로, τ는 프로베니우스 자기준동형 사상(Frobenius endomorphism map)인 (x,y)→(xq,yq)를 의미한다.
여기서, w-NAF 키는 키를 구성하는 계수들 중 0이 아닌 계수의 절대값이 2w-1 이하의 홀수이며 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 말하는 것으로, w는 2 이상의 자연수를 말한다.
즉, τ-adic w-NAF 키는 계수들 중 0이 아닌 계수는 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수이며, 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 말한다. 여기서, q는 소수 또는 소수의 멱수이다.
이때, 검증 값 생성부(160)는 검증 값이 검증 지수인 경우 부호없는(unsigned) w-NAF 키를 생성하고, 그 생성된 부호없는 w-NAF 키를 지수승 연산하여 검증 지수를 생성할 수 있다.
여기서, 부호없는 w-NAF 키는 키를 구성하는 계수들 중 0이 아닌 계수는 2w 이하의 양의 홀수이며 연속된 W개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 말한다.
제1 연산부(120)는 수신부(110)로 수신된 공개 키들의 검증 값들을 기초로 제1 집합 검증 값을 연산한다.
이때, 검증 값이 검증 좌표 값인 경우 제1 연산부(120)는 수신부(110)로 수신된 공개 키들의 검증 좌표 값들 예를 들어, s1Q1, s2Q2, s3Q3, ..., snQn을 모두 더하여 제1 집합 검증 값으로 연산하고, 검증 값이 검증 지수인 경우 제1 연산부(120)는 수신부(110)로 수신된 공개 키들의 검증 지수승들 예를 들어, y1 s1, y2 s2, y3 s3, ..., yn sn을 모두 곱하여 제1 집합 검증 값으로 연산할 수 있다.
즉, 검증 값이 검증 좌표 값인 경우 제1 집합 검증 값은 [수학식 1]에 의해 연산될 수 있고, 검증 값이 검증 지수인 경우 제1 집합 검증 값은 [수학식 2]에 의해 연산될 수 있다.
Figure 112007021509693-pat00001
여기서, T는 제1 집합 검증 값을 말하고, siQi는 공개 키의 검증 좌표 값을 말한다.
Figure 112007021509693-pat00002
여기서, y는 제1 집합 검증 값을 말하고, yi si는 공개 키의 검증 지수승을 말한다.
제2 연산부(150)는 생성부(140) 및 검증 값 생성부(160)에 의해 생성된 비밀 키들 및 검증 값들을 기초로 제2 집합 검증 값을 연산한다.
이때, 검증 값이 검증 좌표 값인 경우 제2 연산부(150)는 생성된 비밀 키들 및 비밀 키들에 상응하는 검증 좌표 값들을 각각 곱한 후 그 곱해진 값들을 모두 더하여 제2 집합 검증 값을 연산하고, 검증 값이 검증 지수인 경우 제2 연산부(150)는 생성된 비밀 키들과 비밀 키들에 상응하는 검증 지수들을 각각 곱한 후 그 곱해진 값들을 모두 더하고 지수승하여 제2 집합 검증 값을 연산할 수 있다.
즉, 검증 값이 검증 좌표 값인 경우 제2 집합 검증 값은 [수학식 3]에 의해 연산될 수 있고, 검증 값이 검증 지수인 경우 제2 집합 검증 값은 [수학식 4]에 의해 연산될 수 있다.
Figure 112007021509693-pat00003
여기서, Q는 제2 집합 검증 값을 말하고, P는 군의 생성자를 말하고, si는 검증 좌표 값을 말하고, xi는 비밀 키를 말한다.
Figure 112007021509693-pat00004
여기서, y'는 제2 집합 검증 값을 말하고, si는 검증 지수를 말하고, xi는 비밀 키를 말한다.
집합 검증부(130)는 제1 연산부(120)에 의해 연산된 제1 집합 검증 값과 제2 연산부(150)에 의해 연산된 제2 집합 검증 값을 비교하여 제1 집합 검증 값이 제2 집합 검증 값과 같으면 수신된 공개 키들의 검증 값들 집합을 검증된 것으로 판단한다.
즉, 검증 값이 검증 좌표 값인 경우 집합 검증부(130)는 [수학식 1]에 의해 연산된 T와 [수학식 3]에 의해 연산된 Q가 같은지 비교하여 두 값이 같으면 수신된 공개 키의 검증 좌표 값들 집합을 검증된 것으로 판단하고, 검증 값이 검증 지수인 경우 집합 검증부(130)는 [수학식 2]에 의해 연산된 y와 [수학식 4]에 의해 연산된 y'이 같은지 비교하여 두 값이 같으면 수신된 공개 키의 검증 지수승들 집합을 검증된 것으로 판단한다.
이와 같이 본 발명에 따른 집합 검증 장치는 공개 키들 및 비밀 키들이 동일한 서명자가 아닌 다른 서명자에 의해 배포된 경우에도 공개 키들의 검증 값들에 대한 집합 검증을 수행할 수 있다.
도 2는 도 1에 도시한 검증 값 생성부에 대한 일 실시예 구성 블록도이다.
여기서, 도 2는 검증 값이 검증 좌표 값인 경우에 대한 구성 블록도이다.
도 2를 참조하면, 검증 값 생성부(160)는 키 생성 관리부(210) 및 검증 좌표 값 생성부(250)를 포함한다.
키 생성 관리부(210)는, 계수들 중 0이 아닌 계수는 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수이며, 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 복수 개 생성한다. 즉, 키 생성 관리부(210)는 복수 개의 τ-adic w-NAF 키들을 생성한다.
키 생성 관리부(210)는 그룹 선택부(220), 스트링 대체부(230) 및 키 생성부(240)를 포함한다.
그룹 선택부(220)는 m-(w-1)*(t-1) 개의 그룹들 중 t개의 그룹을 선택한다. 여기서, m 및 t는 양의 정수이다.
스트링 대체부(230)는 선택된 t개의 그룹 각각을 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수들 중 어느 하나와 w-1개의 0을 나열하여 구성한 스트링으로 대체한다.
이때, 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수들 중 어느 하나는 w-1개의 0뒤에 나열될 수 있다.
키 생성부(240)는 선택되지 않은 그룹을 0으로 대체하여 키를 생성한다.
검증 좌표 값 생성부(250)는 키 생성 관리부에 의해 생성된 복수 개의 키에 기초한 좌표 연산을 수행하여 복수 개의 검증 좌표 값들을 생성한다.
즉, 검증 좌표 값 생성부(250)는 τ-adic w-NAF 키를 구성하는 계수들 중 0이 아닌 최초의 계수를 검색하고, [sign(0이 아닌 최초의 계수)]*|0이 아닌 최초의 계수|*P를 좌표 덧셈 값으로 설정한다. 여기서, sign(x)는 x의 부호를 나타내는 함수로서, x가 양수이면 sign(x)=1, x가 음수이면 sign(x)=-1, x가 0이면 sign(x)=0이다.
검증 좌표 값 생성부(250)는 다음 계수가 0이면 좌표 덧셈 값에 대해 프로베니우스 자기준동형 사상을 수행한 값을 새로운 좌표 덧셈 값으로 대체하고, 다음 계수가 0이 아니면 좌표 덧셈 값에 대해 프로베니우스 자기준동형 사상을 수행한 값과 [sign(다음 계수)]*|다음 계수|*P의 덧셈 값을 새로운 좌표 덧셈 값으로 대체한다.
이런 과정을 다음 계수가 존재하지 않을 때까지 반복 수행하여 얻어진 좌표 덧셈 값을 검증 좌표 값으로 생성하는데, 검증 좌표 값 생성부(250)는 이와 같은 좌표 연산을 통해 검증 좌표 값을 복수 개 생성한다.
도 3은 도 1에 도시한 검증 값 생성부에 대한 또 다른 일 실시예 구성 블록도이다.
여기서, 도 3은 검증 값이 검증 지수인 경우에 대한 구성 블록도이다.
도 3을 참조하면, 검증 값 생성부(160)는 키 생성 관리부(310) 및 검증 지수 생성부(350)를 포함한다.
키 생성 관리부(310)는, 계수들 중 0이 아닌 계수는 2w 이하의 양의 홀수이며, 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 복수 개 생성한다. 즉, 키 생성 관리부(310)는 부호없는 w-NAF 키들을 생성한다.
키 생성 관리부(310)는 그룹 선택부(320), 스트링 대체부(330) 및 키 생성부(340)를 포함한다.
그룹 선택부(320)는 m-(w-1)*t 개의 그룹들 중 t개의 그룹을 선택한다.
스트링 대체부(330)는 선택된 t개의 그룹 각각을 2w 이하의 양의 홀수들 중 어느 하나와 w-1개의 0을 나열하여 구성한 스트링으로 대체한다.
키 생성부(340)는 선택되지 않은 그룹을 0으로 대체하여 키를 생성한다.
검증 지수 생성부(350)는 키 생성 관리부에 의해 생성된 복수 개의 키를 지수승 연산하여 검증 지수를 생성한다.
즉, 검증 지수 생성부(350)는 부호없는 w-NAF 키를 지수로 하여 지수승 연산을 수행하는데, 부호없는 w-NAF 키를 구성하는 계수들 중 0이 아닌 최초의 계수가 지수이고 밑이 g인 값(g0 이 아닌 최초의 계수)을 지수승 값으로 설정한다.  예컨대, 부호없는 w-NAF 키가 "00000000100005000003"인 경우, "00000000100005000003"에서 0이 아닌 최초의 계수인 "1"이 지수이고 밑이 g인 값 "g1"을 지수승 값으로 설정한다.
검증 지수 생성부(350)는 다음 계수가 0이면 지수승 값의 제곱한 값을 새로운 지수승 값으로 대체한다. 즉, "00000000100005000003"에서 "1"의 다음 계수는 "0"이므로, 지수승 값(g1)은 새로운 지수승 값(g2)으로 대체된다. 다음 계수가 0이 아니면 g에 그 값을 지수승하여 얻어진 값을 원래 지수승 값에 곱하여 새로운 지수승 값으로 한다.
이런 과정을 다음 계수가 존재하지 않을 때까지 반복 수행하여 얻어진 지수승 값을 검증 지수로 생성하는데, 검증 지수 생성부(350)는 이와 같은 지수승 연산을 통해 검증 지수를 복수 개 생성한다.
도 4는 본 발명의 일 실시예에 따른 집합 검증 방법에 대한 동작 흐름도이다.
도 4를 참조하면, 집합 검증 방법은 복수 개의 비밀 키들 및 비밀 키들에 상응하는 복수 개의 공개 키들을 생성한다(S410).
즉, 타원 곡선인 경우 복수 개의 (x1, Q1), (x2, Q2), ..., (xn, Qn)을 생성하 고, 유한체인 경우 복수 개의 (x1, y1), (x2, y2), ..., (xn, yn)을 생성한다. 여기서, x는 비밀 키이고, Q는 타원 곡선인 경우 비밀 키에 상응하는 공개 키이고, y는 유한체인 경우의 비밀 키에 상응하는 공개 키이다.
비밀 키들 및 공개 키들이 생성되면 공개 키들에 상응하는 복수 개의 검증 값들을 생성한다(S420).
이때, 검증 값은 타원 곡선인 경우 검증 좌표 값이 될 수 있고, 유한체인 경우 검증 지수가 될 수 있다.
이때, 검증 좌표 값은 τ-adic w-NAF 키에 기초한 좌표 연산을 수행하여 생성할 수 있고, 검증 지수는 부호없는 w-NAF 키를 지수승 연산하여 생성할 수 있다.
검증 값들이 생성되면, 공개 키들의 검증 값들을 배포하고 배포된 공개 키들의 검증 값들 중 일부 또는 모두를 수신한다(S430). 즉, 타원 곡선인 경우 공개 키들의 검증 좌표 값들을 배포한 후 배포된 공개 키들의 검증 좌표 값들을 수신하고, 유한체인 경우 공개 키들의 검증 지수승들을 배포한 후 배포된 공개 키들의 검증 지수승들을 수신한다.
이때, 타원 곡선의 경우 공개 키의 검증 좌표 값은 공개 키(Qi)와 검증 좌표 값(si)이 곱해진 결과 값(siQi)이고, 유한체인 경우 공개 키(yi)에 검증 지수(si)를 지수승한 결과 값(yi si)이다.
배포된 공개 키들의 검증 값들이 수신되면 그 수신된 공개 키들의 검증 값들 을 기초로 제1 집합 검증 값들 연산한다(S440).
이때, 타원 곡선의 경우 제1 집합 검증 값은 공개 키들의 검증 좌표 값들이 모두 더해진 값이고, 유한체의 경우 제1 집합 검증 값은 공개 키들의 검증 지수승들이 모두 곱해진 값으로, 상술한 [수학식 1] 또는 [수학식 2]에 의해 연산될 수 있다.
생성된 비밀 키들 및 검증 값들을 기초로 제2 집합 검증 값을 연산한다(S450). 이때, 타원 곡선인 경우 제2 집합 검증 값은 생성된 비밀 키들 및 비밀 키들에 상응하는 검증 좌표 값들을 각각 곱한 후 그 곱해진 값들을 모두 더하여 얻을 수 있고, 유한체인 경우 제2 집합 검증 값은 생성된 비밀 키들 및 비밀 키들에 상응하는 검증 지수들을 각각 곱한 후 그 곱해진 값들을 모두 더하고 지수승하여 얻을 수 있다.
여기서, 타원 곡선인 경우 제2 집합 검증 값은 상술한 [수학식 3]에 의해 연산될 수 있고, 유한체인 경우 제2 집합 검증 값은 상술한 [수학식 4]에 의해 연산될 수 있다.
집합 검증을 수행하기 위해 제1 집합 검증 값과 제2 집합 검증 값이 동일한지 판단한다(S460).
단계 S460 판단 결과, 연산된 제1 집합 검증 값과 제2 집합 검증 값이 동일하면 수신된 공개 키들의 검증 값들 집합이 검증된 것으로 판단한다(S470).
물론, 단계 S460 판단 결과, 연산된 제1 집합 검증 값과 제2 집합 검증 값이 다르면 수신된 공개 키들의 검증 값들 집합이 검증되지 않은 것으로 판단한다.
도 5는 도 4에 도시한 단계 S420에 대한 일 실시예 동작 흐름도이다.
여기서, 도 5는 타원 곡선인 경우의 검증 값인 검증 좌표 값들을 생성하는 동작 흐름도이다.
도 5를 참조하면, 검증 좌표 값들을 생성하는 단계는 m-(w-1)*(t-1) 개의 그룹들 중 임의의 t개의 그룹을 선택한다(S510).
여기서, m은 생성하고자 하는 τ-adic w-NAF 키를 구성하는 계수들의 개수와 관련된 정수이고, w는 선택된 그룹을 구성하는 계수의 개수로서 2 이상의 양의 정수이며, t는 τ-adic w-NAF 키를 구성하는 계수들 중 0이 아닌 계수의 개수로서 양의 정수이다.
그룹이 선택되면 선택된 t개의 그룹 각각을, 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수들 중 어느 하나와 w-1개의 0을 나열하여 구성한 스트링으로 대체하고, 선택되지 않은 그룹을 0으로 대체한다(S520, S530).
이때, 대체되는 스트링은 w-1개의 0뒤에 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수들 중 어느 하나가 나열되어 형성된 스트링일 수 있다.
이때, 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수들 중 어느 하나는 w-1개의 0뒤에 나열될 수 있다.
단계 S520 및 S530을 통해 생성된 계수열을 τ-adic w-NAF 키로 생성한다(S540).
생성된 τ-adic w-NAF 키에 기초한 좌표 연산을 수행하여 검증 좌표 값을 생 성한다(S550).
즉, τ-adic w-NAF 키를 구성하는 계수들 중 0이 아닌 최초의 계수를 검색하고, [sign(0이 아닌 최초의 계수)]*|0이 아닌 최초의 계수|*P를 좌표 덧셈 값으로 설정한다.
다음 계수가 0이면 좌표 덧셈 값에 대해 프로베니우스 자기준동형 사상을 수행한 값을 새로운 좌표 덧셈 값으로 대체하고, 다음 계수가 0이 아니면 좌표 덧셈 값에 대해 프로베니우스 자기준동형 사상을 수행한 값과 [sign(다음 계수)]*|다음 계수|*P의 덧셈 값을 새로운 좌표 덧셈 값으로 대체한다.
이런 과정을 다음 계수가 존재하지 않을 때까지 반복 수행하여 얻어진 좌표 덧셈 값을 검증 좌표 값으로 생성한다.
단계 S510 내지 S550을 기 결정된 복수 개의 검증 좌표 값들이 생성될 때까지 반복 수행한다(S560).
도 6는 도 4에 도시한 단계 S420에 대한 또 다른 일 실시예 동작 흐름도이다.
여기서, 도 6는 유한체인 경우의 검증 값인 검증 지수들을 생성하는 동작 흐름도이다.
도 6을 참조하면, 검증 지수들을 생성하는 단계는 m-(w-1)*t 개의 그룹들 중 임의의 t개의 그룹을 선택한다(S610).
여기서, m은 생성하고자 하는 부호없는 w-NAF 키를 구성하는 계수들의 개수이고, w는 선택된 그룹을 구성하는 계수들의 개수로서 2 이상의 양의 정수이며, t 는 부호없는 w-NAF 키를 구성하는 계수들 중 0이 아닌 계수의 개수로서 양의 정수이다.
그룹이 선택되면 선택된 t개의 그룹 각각을, 2w 이하의 양의 홀수들 중 어느 하나와 w-1개의 0을 나열하여 구성한 스트링으로 대체하고, 선택되지 않은 그룹을 0으로 대체한다(S620, S630).
이때, 대체되는 스트링은 w-1개의 0 뒤에 2w 이하의 양의 홀수들 중 어느 하나가 나열되어 형성된 스트링일 수 있다.
이때, 2w 이하의 양의 홀수들 중 어느 하나는 w-1개의 0뒤에 나열될 수 있다.
단계 S620 및 S630을 통해 생성된 계수열을 부호없는 w-NAF 키로 생성한다(S640).
생성된 부호없는 w-NAF 키를 지수승 연산을 수행하여 검증 지수를 생성한다(S650).
즉, 부호없는 w-NAF 키를 지수로 하여 지수승 연산을 수행하는데, 부호없는 w-NAF 키를 구성하는 계수들 중 0이 아닌 최초의 계수가 지수이고 밑이 g인 값(g0 이 아닌 최초의 계수)을 지수승 값으로 설정한다.
다음 계수가 0이면 지수승 값의 제곱한 값을 새로운 지수승 값으로 대체하고, 이런 과정을 다음 계수가 존재하지 않을 때까지 반복 수행하여 얻어진 지수승 값을 검증 지수로 생성한다.
단계 S610 내지 S650을 기 결정된 복수 개의 검증 지수들이 생성될 때까지 반복 수행한다(S660).
도 7 내지 도 8은 본 발명에 따른 집합 검증 방법이 적용된 일 실시예를 설명하기 위한 동작 흐름도로서, 본 발명의 집합 검증 방법이 전자 서명에 적용된 경우이다. 도 7 및 도 8에서는 타원 곡선인 경우에 대해서만 설명한다.
도 7은 전자 서명을 생성하고 배포하는 과정의 동작 흐름도이다.
도 7을 참조하면, 서명을 생성하기 위한 복수 개의 비밀 키들 및 비밀 키들에 상응하는 복수 개의 공개 키들을 생성한다(S710).
즉, 복수 개의 비밀 키들(xi)을 생성하고, 그 비밀 키들을 기초로 공개 키들(Qi=xiP)을 생성한다. 여기서, P는 군의 생성자이다.
전자 서명들을 생성하기 위한 복수 개의 비밀 랜덤 키들 및 비밀 랜덤 키들에 상응하는 복수 개의 공개 랜덤 키들을 생성한다(S720).
즉, 복수 개의 비밀 랜덤 키들(ri)을 생성하고, 그 비밀 랜덤 키들을 기초로 공개 랜덤 키들(Ri=riP)을 생성한다.
생성된 비밀 키들, 비밀 랜덤 키들 및 공개 랜덤 키들을 기초로 메시지들에 대한 서명 값들을 생성한다(S730).
여기서, 메시지는 일 예로, 전자 화폐에서의 금액이 될 수 있다.
이때, 서명 값은 [수학식 5]에 의해 생성될 수 있다.
Figure 112007021509693-pat00005
여기서, σi는 서명 값을 말하고, ri는 비밀 랜덤 키를 말하고, xi는 비밀 키를 말하고, H는 해시(hash) 함수를 말하고, mi는 메시지를 말하고, Ri는 공개 랜덤 키를 말한다.
메시지들 각각에 대한 서명 값들이 생성되면, 메시지들 각각에 대한 전자 서명들을 생성하여 배포한다(S740).
이때, 전자 서명은 공개 키, 메시지, 공개 랜덤 키 및 서명 값으로 구성될 수 있다. 즉, 전자 서명은 (Qi, mi, Ri, σi)로 구성된다.
이런 과정을 통해 생성된 복수 개의 전자 서명들이 사용자에게 배포된다.
도 8은 배포된 전자 서명들을 수신하여 전자 서명들 집합 검증을 수행하는 동작 흐름도이다.
도 8을 참조하면, 배포된 복수 개의 전자 서명들을 수신한다(S810). 즉, 배포된 (Q1, m1, R1, σ1), (Q2, m2, R2, σ2), ..., (Qn, mn, Rn, σn)의 전자 서명들을 수신한다.
배포된 전자 서명들이 수신되면 전자 서명들에 상응하는 복수 개의 검증 값 들 즉, 검증 좌표 값들을 생성한다(S820). 이때, 도 8에서 검증 좌표 값들을 생성하는 시기가 배포된 전자 서명들이 수신된 후로 도시되었지만, 이에 한정하지 않고 전자 서명들이 생성되어 배포된 시점이 될 수도 있다.
여기서, 유한체인 경우 배포된 전자 서명들이 수신되면 전자 서명들에 상응하는 복수 개의 검증 지수들을 생성하는 것이 바람직하다.
검증 값들이 생성되면 생성된 비밀 키들 및 검증 값들을 기초로 수신된 전자 서명들의 제1 집합 검증 값을 연산한다(S830).
이때, 제1 집합 검증 값은 생성된 검증 값들 및 수신된 전자 서명들에 포함된 서명 값들을 기초로 생성될 수 있다. 즉, 수신된 전자 서명들의 제1 집합 검증 값은 [수학식 6]에 의해 연산될 수 있다.
Figure 112007021509693-pat00006
여기서, A는 제1 집합 검증 값을 말하고, P는 군의 생성자를 말하고, si는 검증 값을 말하고,σi는 전자 서명에 포함된 서명 값을 말한다.
제1 집합 검증 값의 검증 여부를 판단하기 위해 수신된 전자 서명들 및 검증 값들을 기초로 수신된 전자 서명들의 제2 집합 검증 값을 연산한다(S840).
이때, 제2 집합 검증 값은 생성된 검증 값들 및 수신된 전자 서명들에 포함된 메시지, 공개 랜덤 키 및 공개 키를 기초로 생성될 수 있다. 즉, 수신된 전자 서명들의 제2 집합 검증 값은 [수학식 7]에 의해 연산될 수 있다.
Figure 112007021509693-pat00007
여기서, B는 제2 집합 검증 값을 말하고, si는 검증 좌표 값을 말하고, Qi는 공개 키를 말하고, H는 해시 함수를 말하고, mi는 메시지를 말하고, Ri는 공개 랜덤 키를 말한다.
상술한 [수학식 6] 및 [수학식 7]에 의해 수신된 전자 서명들 집합의 제1 집합 검증 값 및 제2 집합 검증 값이 연산되면 제1 집합 검증 값과 제2 집합 검증 값이 같은지 판단한다(S850).
단계 S850 판단 결과, 제1 집합 검증 값과 제2 집합 검증 값이 같으면 수신된 전자 서명들의 집합이 검증된 것으로 판단한다(S860).
반면, 단계 S850 판단 결과, 제1 집합 검증 값과 제2 집합 검증 값이 다르면 수신된 전자 서명들의 집합이 이상한 것으로 판단한다(S870). 즉, 전자 서명들 중 적어도 어느 하나가 이상한 것으로 판단한다.
 본 발명에 따른 집합 검증 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
본 발명의 일 실시예에 따른 집합 검증 장치 및 그 방법은, 배포된 지수승들의 결과 값의 곱을 통해 지수승들의 집합 검증을 수행하고 배포된 좌표 곱셈 결과 값의 덧셈을 통해 좌표 덧셈 값들의 집합 검증을 수행함으로써, 집합 검증을 신속하교 효율적으로 수행할 수 있다.
또한, 본 발명은 복수 개의 비밀 키들 및 비밀 키들에 상응하는 복수 개의 검증 값들을 기초로 배포된 전자 서명들을 수신하여 지수승 연산 또는 좌표 덧셈 갑의 연산을 통해 집합 검증을 수행함으로써, 복수의 다른 서명자들에 의해 배포된 전자 서명들에 대한 집합 검증을 수행할 수 있다.

Claims (23)

  1. 복수 개의 비밀 키들, 상기 비밀 키들에 상응하는 복수 개의 공개 키들 및 상기 공개 키들에 상응하는 복수 개의 검증 값들을 생성하는 단계;
    배포된 상기 복수 개의 공개 키들의 검증 값들을 수신하고, 수신된 상기 공개 키들의 검증 값들을 기초로 제1 집합 검증 값을 연산하는 단계;
    상기 비밀 키들 및 상기 검증 값들을 기초로 제2 집합 검증 값을 연산하는 단계; 및
    상기 제1 집합 검증 값과 상기 제2 집합 검증 값을 비교하여 상기 제1 집합 검증 값이 상기 제2 집합 검증 값과 같으면 수신된 상기 공개 키들의 검증 값들 집합이 검증된 것으로 판단하는 단계
    를 포함하는 것을 특징으로 하는 집합 검증 방법.
  2. 제1항에 있어서,
    상기 복수 개의 검증 값들은
    검증 좌표 값(si)인 것을 특징으로 하는 집합 검증 방법.
  3. 제2항에 있어서,
    상기 검증 값들을 생성하는 단계는
    계수들 중 0이 아닌 계수는 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수이며, 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 생성하는 단계;
    생성된 상기 키에 기초한 좌표 연산을 수행하여 상기 검증 좌표 값을 생성하는 단계; 및
    상기 키를 생성하는 단계 및 상기 검증 좌표 값을 생성하는 단계를 상기 복수 개의 검증 좌표 값들만큼 반복 수행하는 단계
    를 포함하고,
    상기 q는 소수 또는 소수의 멱수이고, 상기 w는 2 이상의 자연수인 것을 특징으로 하는 집합 검증 방법.
  4. 제3항에 있어서,
    상기 키를 생성하는 단계는
    m-(w-1)*(t-1) 개의 그룹들 중 t개의 그룹을 선택하는 단계;
    선택된 상기 t개의 그룹 각각을 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수들 중 어느 하나와 w-1개의 0을 나열하여 구성한 스트링으로 대체하는 단계; 및
    선택되지 않은 그룹을 0으로 대체하여 상기 키를 생성하는 단계
    를 포함하고,
    상기 m 및 상기 t는 양의 정수인 것을 특징으로 하는 집합 검증 방법.
  5. 제4항에 있어서,
    상기 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수들 중 어느 하나는
    상기 w-1개의 0뒤에 나열되는 것을 특징으로 하는 집합 검증 방법.
  6. 제2항에 있어서,
    상기 제1 집합 검증 값은
    수신된 상기 공개 키(Qi)들의 검증 좌표 값(siQi)들 모두가 더해진 값인 것을 특징으로 하는 집합 검증 방법.
  7. 제1항에 있어서,
    상기 복수 개의 검증 값들은
    검증 지수(si)인 것을 특징으로 하는 집합 검증 방법.
  8. 제7항에 있어서,
    상기 검증 값들을 생성하는 단계는
    계수들 중 0이 아닌 계수는 2w 이하의 양의 홀수이며, 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 생성하는 단계;
    생성된 상기 키를 지수승 연산하여 검증 지수를 생성하는 단계; 및
    상기 키를 생성하는 단계 및 상기 검증 지수를 생성하는 단계를 상기 복수 개의 검증 지수들만큼 반복 수행하는 단계
    를 포함하고,
    상기 w는 2 이상의 자연수인 것을 특징으로 하는 집합 검증 방법.
  9. 제8항에 있어서,
    상기 키를 생성하는 단계는
    m-(w-1)*t 개의 그룹들 중 t개의 그룹을 선택하는 단계;
    선택된 상기 t개의 그룹 각각을 2w 이하의 양의 홀수들 중 어느 하나와 w-1개의 0을 나열하여 구성한 스트링으로 대체하는 단계; 및
    선택되지 않은 그룹을 0으로 대체하여 상기 키를 생성하는 단계
    를 포함하고,
    상기 m 및 상기 t는 양의 정수인 것을 특징으로 하는 집합 검증 방법.
  10. 제9항에 있어서,
    상기 2w 이하의 양의 홀수들 중 어느 하나는
    상기 w-1개의 0뒤에 나열되는 것을 특징으로 하는 집합 검증 방법.
  11. 제6항에 있어서,
    상기 제1 집합 검증 값은
    수신된 상기 공개 키(yi)의 검증 지수승 값(yi si)들 모두가 곱해진 값인 것을 특징으로 하는 집합 검증 방법.
  12. 제1항 내지 제11항 중 어느 하나의 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  13. 복수 개의 비밀 키들 및 상기 비밀 키들에 상응하는 복수 개의 공개 키들을 생성하는 생성부;
    상기 공개 키들에 상응하는 복수 개의 검증 값들을 검증 값 생성부;
    배포된 상기 복수 개의 공개 키들의 검증 값들을 수신하고, 수신된 상기 공개 키들의 검증 값들을 기초로 제1 집합 검증 값을 연산하는 제1 연산부;
    상기 비밀 키들 및 상기 검증 값들을 기초로 제2 집합 검증 값을 연산하는 제2 연산부; 및
    상기 제1 집합 검증 값과 상기 제2 집합 검증 값을 비교하여 상기 제1 집합 검증 값이 상기 제2 집합 검증 값과 같으면 수신된 상기 공개 키들의 검증 값들 집 합이 검증된 것으로 판단하는 집합 검증부
    를 포함하는 것을 특징으로 하는 집합 검증 장치.
  14. 제13항에 있어서,
    상기 복수 개의 검증 값들은
    검증 좌표 값인 것을 특징으로 하는 집합 검증 장치.
  15. 제14항에 있어서,
    상기 검증 값 생성부는
    계수들 중 0이 아닌 계수는 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수이며, 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 생성하는 키 생성 관리부; 및
    생성된 상기 키에 기초한 좌표 연산을 수행하여 상기 검증 좌표 값을 생성하는 검증 좌표 값 생성부
    를 포함하고,
    상기 검증 값 생성부는 상기 키 생성 관리부 및 상기 검증 좌표 값 생성부를 통해 상기 복수 개의 검증 좌표 값들을 생성하고,
    상기 q는 소수 또는 소수의 멱수이고, 상기 w는 2 이상의 자연수인 것을 특징으로 하는 집합 검증 방법.
  16. 제15항에 있어서,
    상기 키 생성 관리부는
    m-(w-1)*(t-1) 개의 그룹들 중 t개의 그룹을 선택하는 그룹 선택부;
    선택된 상기 t개의 그룹 각각을 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수들 중 어느 하나와 w-1개의 0을 나열하여 구성한 스트링으로 대체하는 스트링 대체부; 및
    선택되지 않은 그룹을 0으로 대체하여 상기 키를 생성하는 키 생성부
    를 포함하고,
    상기 m 및 상기 t는 양의 정수인 것을 특징으로 하는 집합 검증 장치.
  17. 제16항에 있어서,
    상기 절대값이 qw/2 이하이고 q로 나누어 떨어지지 않는 정수들 중 어느 하나는
    상기 w-1개의 0뒤에 나열되는 것을 특징으로 하는 집합 검증 장치.
  18. 제14항에 있어서,
    상기 제1 집합 검증 값은
    수신된 상기 공개 키들의 검증 좌표 값들 모두가 더해진 값인 것을 특징으로 하는 집합 검증 장치.
  19. 제13항에 있어서,
    상기 복수 개의 검증 값들은
    검증 지수인 것을 특징으로 하는 집합 검증 장치.
  20. 제19항에 있어서,
    상기 검증 값 생성부는
    계수들 중 0이 아닌 계수는 2w 이하의 양의 홀수이며, 연속된 w개의 계수들 중 0이 아닌 계수가 최대 하나인 키를 생성하는 키 생성 관리부;
    생성된 상기 키를 지수승 연산하여 검증 지수를 생성하는 검증 지수 생성부
    를 포함하고,
    상기 검증 값 생성부는 상기 키 생성 관리부 및 상기 검증 지수 생성부를 통해 상기 복수 개의 검증 지수들을 생성하고,
    상기 w는 2 이상의 자연수인 것을 특징으로 하는 집합 검증 장치.
  21. 제20항에 있어서,
    상기 키 생성 관리부는
    m-(w-1)*t 개의 그룹들 중 t개의 그룹을 선택하는 그룹 선택부;
    선택된 상기 t개의 그룹 각각을 2w 이하의 양의 홀수들 중 어느 하나와 w-1개의 0을 나열하여 구성한 스트링으로 대체하는 스트링 대체부; 및
    선택되지 않은 그룹을 0으로 대체하여 상기 키를 생성하는 키 생성부
    를 포함하고,
    상기 m 및 상기 t는 양의 정수인 것을 특징으로 하는 집합 검증 장치.
  22. 제21항에 있어서,
    상기 2w 이하의 양의 홀수들 중 어느 하나는
    상기 w-1개의 0뒤에 나열되는 것을 특징으로 하는 집합 검증 장치.
  23. 제19항에 있어서,
    상기 제1 집합 검증 값은
    수신된 상기 공개 키의 검증 지수승 값들 모두가 곱해진 값인 것을 특징으로 하는 집합 검증 장치.
KR1020070026335A 2007-03-16 2007-03-16 집합 검증 장치 및 그 방법 KR101273465B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070026335A KR101273465B1 (ko) 2007-03-16 2007-03-16 집합 검증 장치 및 그 방법
US11/833,483 US8255691B2 (en) 2007-03-16 2007-08-03 Apparatus for batch verification and method using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070026335A KR101273465B1 (ko) 2007-03-16 2007-03-16 집합 검증 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20080084500A KR20080084500A (ko) 2008-09-19
KR101273465B1 true KR101273465B1 (ko) 2013-06-14

Family

ID=39762712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070026335A KR101273465B1 (ko) 2007-03-16 2007-03-16 집합 검증 장치 및 그 방법

Country Status (2)

Country Link
US (1) US8255691B2 (ko)
KR (1) KR101273465B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190021736A (ko) * 2017-08-23 2019-03-06 세종대학교산학협력단 계산 검증 방법과 이를 수행하기 위한 장치 및 시스템

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890763B1 (en) * 2007-09-14 2011-02-15 The United States Of America As Represented By The Director, National Security Agency Method of identifying invalid digital signatures involving batch verification
EP2360659A4 (en) * 2008-08-29 2013-03-13 Univ Okayama Nat Univ Corp PAIRING CALCULATION DEVICE, PAIRING CALCULATION METHOD AND PAIRING CALCULATION PROGRAM
US8630422B2 (en) * 2009-11-10 2014-01-14 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US8515058B1 (en) * 2009-11-10 2013-08-20 The Board Of Trustees Of The Leland Stanford Junior University Bootstrappable homomorphic encryption method, computer program and apparatus
US8861716B2 (en) 2010-03-30 2014-10-14 International Business Machines Corporation Efficient homomorphic encryption scheme for bilinear forms
KR101045804B1 (ko) * 2010-07-05 2011-07-04 한국기초과학지원연구원 신원기반 집합서명의 빠른 검증 방법 및 시스템
US8532289B2 (en) 2010-08-16 2013-09-10 International Business Machines Corporation Fast computation of a single coefficient in an inverse polynomial
ES2363355B2 (es) * 2010-12-24 2012-11-16 Universidad Politécnica de Madrid Sistema de ralentización de la tasa de transferencia de un dispositivo por método criptográfico.
US9083526B2 (en) 2011-04-29 2015-07-14 International Business Machines Corporation Fully homomorphic encryption
US8850754B2 (en) * 2011-10-17 2014-10-07 Dynoraxx, Inc. Molded solar panel racking assembly
KR20130050696A (ko) * 2011-11-08 2013-05-16 삼성전자주식회사 메모리 시스템
US9281941B2 (en) 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
US9565022B1 (en) * 2013-07-02 2017-02-07 Impinj, Inc. RFID tags with dynamic key replacement
KR102070061B1 (ko) * 2014-03-27 2020-01-29 한국전자통신연구원 묶음 검증 방법 및 장치
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
IL248237A0 (en) 2016-10-06 2017-01-31 Kipnis Aviad A method and system for signing
IL250359A0 (en) * 2017-01-30 2017-03-30 Kipnis Aviad Method and system for signing
US10924287B2 (en) * 2017-06-23 2021-02-16 Onboard Security, Inc. Digital signature technique
CN108881225B (zh) * 2018-06-19 2021-01-01 陕西师范大学 一种批量验证签名的车联网条件隐私保护方法
US20220092150A1 (en) * 2019-01-11 2022-03-24 Crypto Lab Inc. Calculation verification for approximate calculation
KR102382952B1 (ko) * 2019-01-11 2022-04-05 주식회사 크립토랩 근사 계산에 대한 계산 검증
US10970180B2 (en) * 2019-03-29 2021-04-06 Nakamoto & Turing Labs Inc Methods and apparatus for verifying processing results and/or taking corrective actions in response to a detected invalid result
CN112636915B (zh) * 2020-11-27 2024-03-22 杭州趣链科技有限公司 基于国密sm2算法的批量签名验证方法、装置、设备及介质
CN113556233B (zh) * 2021-07-08 2022-12-06 福建师范大学 一种支持批验证的sm9数字签名方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09507729A (ja) * 1994-01-13 1997-08-05 バンカーズ・トラスト・カンパニー キー寄託機能付き暗号システムおよび方法
US6212637B1 (en) * 1997-07-04 2001-04-03 Nippon Telegraph And Telephone Corporation Method and apparatus for en-bloc verification of plural digital signatures and recording medium with the method recorded thereon
KR100346084B1 (ko) * 1993-12-30 2002-11-30 스테른 자끄 검증기에의해적어도하나의프로버를검증하는방법
KR20050089802A (ko) * 2002-12-21 2005-09-08 인터내셔널 비지네스 머신즈 코포레이션 조건부 전자 서명의 생성 방법, 조건부 전자 서명의 검증방법, 상태 정보 배포 방법 및 이를 수행하는 데이터 처리장치 및 컴퓨터 프로그램

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383985A1 (de) 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
US5502764A (en) 1991-01-11 1996-03-26 Thomson Consumer Electronics S.A. Method, identification device and verification device for identificaiton and/or performing digital signature
US5347581A (en) 1993-09-15 1994-09-13 Gemplus Developpement Verification process for a communication system
US6243467B1 (en) * 1998-07-23 2001-06-05 The United States Of America As Represented By The National Security Agency Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form
US6978372B1 (en) 1999-05-20 2005-12-20 Lucent Technologies Inc. Verification of correct exponentiation or other operations in cryptographic applications
KR200192190Y1 (ko) 2000-01-21 2000-08-16 엄재규 온수 보일러
KR100330503B1 (ko) 2000-03-21 2002-04-01 정명식 서명 검증 방법
US6950937B2 (en) 2001-05-30 2005-09-27 Lucent Technologies Inc. Secure distributed computation in cryptographic applications
CA2872032A1 (en) 2004-01-09 2005-08-04 Corestreet, Ltd. Signature-efficient real time credentials for ocsp and distributed ocsp

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100346084B1 (ko) * 1993-12-30 2002-11-30 스테른 자끄 검증기에의해적어도하나의프로버를검증하는방법
JPH09507729A (ja) * 1994-01-13 1997-08-05 バンカーズ・トラスト・カンパニー キー寄託機能付き暗号システムおよび方法
US6212637B1 (en) * 1997-07-04 2001-04-03 Nippon Telegraph And Telephone Corporation Method and apparatus for en-bloc verification of plural digital signatures and recording medium with the method recorded thereon
KR20050089802A (ko) * 2002-12-21 2005-09-08 인터내셔널 비지네스 머신즈 코포레이션 조건부 전자 서명의 생성 방법, 조건부 전자 서명의 검증방법, 상태 정보 배포 방법 및 이를 수행하는 데이터 처리장치 및 컴퓨터 프로그램

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190021736A (ko) * 2017-08-23 2019-03-06 세종대학교산학협력단 계산 검증 방법과 이를 수행하기 위한 장치 및 시스템
KR101998853B1 (ko) * 2017-08-23 2019-07-10 세종대학교산학협력단 계산 검증 방법과 이를 수행하기 위한 장치 및 시스템

Also Published As

Publication number Publication date
KR20080084500A (ko) 2008-09-19
US8255691B2 (en) 2012-08-28
US20080226066A1 (en) 2008-09-18

Similar Documents

Publication Publication Date Title
KR101273465B1 (ko) 집합 검증 장치 및 그 방법
KR101194837B1 (ko) 멱지수를 숨기는 dpa 대책의 고속 계산을 위한 암호화장치 및 방법
US9064123B2 (en) Secure product-sum combination system, computing apparatus, secure product-sum combination method and program therefor
US9596083B2 (en) Information processing technique for pattern matching
US10523422B2 (en) Tampering detection device, tampering detection method and program
WO2010137508A1 (ja) 署名装置、署名検証装置、匿名認証システム、署名方法、署名認証方法およびそれらのプログラム
KR101405321B1 (ko) 키 연산 방법 및 이를 이용한 공유 키 생성 방법
EP3396894B1 (en) Apparatus and method for performing operation being secure against side channel attack
EP3035587A1 (en) Hypersphere-based multivariable public key signature/verification system and method
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
EP2879325A1 (en) Method for determining a statistic value on data based on encrypted data
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
KR101309797B1 (ko) 성긴 w-NAF 키 생성방법,이를 이용한 연산 방법 및암호화 방법
KR101989950B1 (ko) 부채널 공격에 안전한 연산 장치 및 방법
CN114143311B (zh) 一种基于区块链的隐私保护方案聚合方法及装置
KR101989943B1 (ko) 부채널 공격에 안전한 연산 장치 및 방법
CN114640463A (zh) 一种数字签名方法、计算机设备及介质
CN111711524A (zh) 一种基于证书的轻量级外包数据审计方法
KR102507861B1 (ko) 부채널 공격에 안전한 연산 장치 및 방법
KR102510077B1 (ko) 부채널 공격에 안전한 연산 장치 및 방법
KR20090046637A (ko) 묶음 서명 생성 방법 및 그 시스템
KR20090093141A (ko) Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체
KR101360916B1 (ko) 성긴 w-NAF 키 생성방법,이를 이용한 연산 방법 및 암호화 방법
WO2013031413A1 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
CN117596060A (zh) 一种数据加密方法、装置、设备及介质

Legal Events

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

Payment date: 20160520

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170518

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180517

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190520

Year of fee payment: 7