KR20000071078A - 유한 필드상의 이산 대수 암호시스템의 원분 다항식 구조 - Google Patents

유한 필드상의 이산 대수 암호시스템의 원분 다항식 구조 Download PDF

Info

Publication number
KR20000071078A
KR20000071078A KR1019997007364A KR19997007364A KR20000071078A KR 20000071078 A KR20000071078 A KR 20000071078A KR 1019997007364 A KR1019997007364 A KR 1019997007364A KR 19997007364 A KR19997007364 A KR 19997007364A KR 20000071078 A KR20000071078 A KR 20000071078A
Authority
KR
South Korea
Prior art keywords
value
integer
prime number
prime
signature
Prior art date
Application number
KR1019997007364A
Other languages
English (en)
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 헬렌 브이. 단요
Publication of KR20000071078A publication Critical patent/KR20000071078A/ko

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Saccharide Compounds (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Complex Calculations (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Lock And Its Accessories (AREA)
  • Error Detection And Correction (AREA)

Abstract

원분 다항식은 공개 키 암호화 기술 및 디지털 서명 체계를 포함하는 공개 키 암호시스템을 기초로하여 이산 대수의 아주 효과적인 실행을 허용하는 유한 필드의 승산 그룹의 서브그룹을 구성하는데 사용된다. 필드는 최적 정규기로 나타내며, 필드의 승산그룹의 서브그룹의 생성자는 공개 키를 형성하는데 사용된다.

Description

유한 필드상의 이산 대수 암호시스템의 원분 다항식 구조{CYCLOTOMIC POLYNOMIAL CONSTRUCTION OF DISCRETE LOGARITHM CRYPTOSYSTEMS OVER FINITE FIELDS}
대부분의 공개 키 암호시스템은 인수분해 문제 또는 이산 대수(DL) 문제를 가진다. 인수분해 문제는 비소수가 주어질 경우 이를 소수로 완전히 인수분해하는데 있다. DL문제는 g에 의하여 형성되는 그룹G 및 G의 엘리먼트h가 주어질 경우, gm=h가 되도록 정수m을 구하는데 있다. 즉, loggh의 값을 구하는데 있다. 공개 키암호시스템에 대한 몇 가지 제안된 체계는 유한 필드의 승산 그룹에서 DL을 구하는 것이 곤란하다. 공개 키 암호시스템은 공개 키 암호화 체계 및 디지털 서명 체계를 포함한다. 모든 체계가 그러하지는 않지만, 각각의 사용자가 공개 키 및 비밀 키를 가진다고 가정한다. 또한 A가 B에 보안 메세지를 보내려고 한다고 가정한다. 공개 키 암호화 체계에서, A는 B의 공개 키를 이용하여 암호화하고, 다음에 B는 그자신의 공개 키 및 비밀 키를 이용하여 암호를 푼다. 디지털 서명 체계에서, A는 그자신의 공개 키 및 비밀 키를 이용하여 메세지를 준비하고, B는 A의 공개 키를 이용하여 메세지를 수신한다. 즉, 메세지를 준비하기 위하여, 공개 키 암호화 체계에서, 보내는 사람은 받는 사람의 키 정보를 이용하지만, 디지털 서명 체계에는, 보내는 사람은 그 자신의 키 정보를 이용한다. 메세지를 수신하기 위하여, 공개 키 암호화 체계에서, 받는 사람은 그 자신의 키 정보를 이용하지만, 디지털 서명 체계에서 받는 사람은 보내는 사람의 키 정보를 이용한다.
일반적인 디지털 서명 체계는 다음의 3개의 단계를 가진다: 시스템 셋업, 보내는 사람에 의하여 서명 발생 및 받는 사람에 의한 서명 검증.
시스템 셋업은 서명 또는 메세지 암호화전에 이루어진다. 일반적으로, DL 기초 공개 키 암호시스템의 시스템 셋업 중에, 소수가 선택되어 그룹 생성자를 얻기 이해 이용되며, 다음에 랜덤수가 선택되어 유한 필드에서 결과치를 발생시키도록 생성자에 대한 지수로서 이용된다. 생성자 및 결과치가 알려졌을 때만 랜덤수를 결정하는 것이 DL문제이다.
시스템 셋업의 결과는 공개 키 및 비밀 키이다. 공개 키는 공개된 지식으로 소수, 생성자, 결과치 및 그 외의 다른 파라미터를 포함한다. 비밀 키는 보내는 사람에게만 알려진 것으로 랜덤수를 포함한다.
DL 기초 공개 키 암호시스템의 신호 발생 중에, 제 2랜덤수가 선택되고 생성자의 지수로서 사용되어 유한 필드의 제 2결과치를 발생시키도록 한다. 생성자 및 제 2결과치가 알려졌을 때만 제 2랜덤수를 결정하는 것이 DL문제이다. 다음에 서명될 메시시상의 비밀 키를 기초로한 제 3값 및 제 2결과치가 얻어진다. 서명 발생의 결과는 제 3값 및 적어도 하나의 다른 파라미터를 포함하는 디지털 서명이다.
DL 기초 공개 키 암호시스템의 서명 검증 중에, 서명의 공개 키 및 제 3값 부분은 제 4결과치를 발생시키도록 지수적으로 결합된다. 제 4결과가 서명의 적어도 하나의 다른 파라미터와 동일하면, 서명은 유효한 것으로 간주된다.
시스템 셋업, 서명 발생 및 서명 검증의 지수 부분은 계산이 곤란하고 시간이 소모된다. 특히 서명 발생 중에 검증된 사용자에 대한 계산의 복잡성을 감소시키는 한편 검증되지 않은 사용자에게는 계산이 곤란하도록 하는 기술이 요구된다.
본 발명은 데이터 보안, 암호화 및 통신 상대방의 신분을 식별하기 위한 전자 서명 발생 및 이용에 관한 것이다.
도 1a는 엘가말(ElGamal) 체계에 따른 시스템 셋업을 나타내는 흐름도이다.
도 1b는 엘가말 체계에 따른 서명 발생을 나타내는 흐름도이다.
도 1c는 엘가말 체계에 따른 서명 검증을 나타내는 흐름도이다.
도 2a는 쉬노르(Schnorr) 및 DSA 체계에 따른 시스템 셋업을 나타내는 흐름도이다.
도 2b는 쉬노르 체계에 따른 서명 발생을 나타내는 흐름도이다.
도 2c는 쉬노르 체계에 따른 서명 검증을 나타내는 흐름도이다.
도 2d는 DSA 체계에 따른 서명 발생을 나타내는 흐름도이다.
도 2e는 DSA 체계에 따른 서명 검증을 나타내는 흐름도이다.
도 3a는 ECDSA 체계에 따른 시스템 셋업을 나타내는 흐름도이다.
도 3b는 ECDSA 체계에 따른 서명 발생을 나타내는 흐름도이다.
도 3c는 ECDSA 체계에 따른 서명 검증을 나타내는 흐름도이다.
도 4a는 본 발명에 따른 시스템 셋업을 나타내는 흐름도이다.
도 4b는 본 발명에 따른 서명 발생을 나타내는 흐름도이다.
도 4c는 본 발명에 따른 서명 검증을 나타내는 흐름도이다.
도 4d는 원분 다항식 계수 테이블이다.
도 4e는 본 발명에 따른 DES 시스템 셋업을 나타내는 흐름도이다.
도 4f는 본 발명에 따른 DES 시스템 셋업에 대한 부호화를 나타내는 흐름도이다.
도 4g는 본 발명에 따른 DES 시스템 셋업에 대한 복호화를 나타내는 흐름도이다.
도 4h는 본 발명에 따른 엘가말 시스템 셋업에 대한 부호화를 나타내는 흐름도이다.
도 4i는 본 발명에 따른 엘가말 시스템 셋업에 대한 복호화를 나타내는 흐름도이다.
도 5a는 공개 키 암호시스템 체계의 신호 발생 성능을 비교하는 결과 테이블이다.
도 5b는 공개 키 암호시스템 체계의 신호 검증 성능을 비교하는 결과 테이블이다.
도 6은 도 5a 및 5b의 실행 결과를 얻도록 부호화되고 암호화된 메세지를 도시하는 차트이다.
도 7a-11d는 도 5a 및 5b의 실행 결과를 얻기 위하여 이용된 실시예의 공개 키 암호시스템 각각에 대한 공개 키, 비밀 키, 서명, 서명 발생 파라미터k를 도시하는 차트이다.
도 12는 본 발명이 구현되는 환경의 블록도이다.
본 발명에 따르면, 공개 키 암호시스템용 공개 키 및 비밀 키를 결정하는 방법 및 장치에서는 제 1소수를 선택하고, 상기 제 1소수에서 계산된 원분 다항식(cyclotomic polynomial)을 얻고, 상기 제 1소수에서 계산된 원분 다항식의 인수인 제 2소수를 얻고, 유한 필드의 승산 그룹의 서브그룹의 생성자(generator)를 구하고(상기 서브그룹의 차수는 제 2소수임), 생성자 및 선택된 정수를 기초로 공개 값을 얻고, 제 1과 제 2소수, 생성자 및 공개 값을 포함하도록 공개 키를 형성하고, 그리고 선택된 정수를 포함하도록 비밀 키를 형성한다.
본 발명의 다른 특징에 따르면, 유한 필드는 최적 정규기(normal basis)로 표현될 수 있다.
본 발명의 다른 특징에 따르면, 제 2소수q는 (log2q)+1≒B를 만족하며, 여기서 B는 소정의 비트 수이다.
본 발명의 다른 특징에 따르면, 제어 정수 t′가 선택되며, 원분 다항식은 t′차 원분 다항식이며, 공개 키는 제어 정수 t′를 포함한다.
본 발명의 다른 특징에 따르면, 메세지에 대한 디지털 서명을 발생시키는 방법은 추가로 제 2정수를 선택하고 제 2정수와 생성자를 기초로 제 1서명값을 얻고, 제 1서명값 및 메세지를 기초로 제 2서명값을 얻고 그리고 제 1 및 제 2서명값을 포함하도록 디지털 서명을 형성한다.
상기와 같이 형성된 메세지에 대한 디지털 서명을 검증하는 방법에서는 제 2서명값의 역수인 반정수(inverse integer)를 구하고, 상기 반정수 및 메세지를 기초로 제 1중간값을 구하고, 상기 반정수 및 제 1서명값을 기초로 제 2중간값을 구하고, 생성자, 공개 값 및 제 1과 제 2중간값을 기초로 제 3중간값을 구하고 그리고 제 3중간값이 제 1서명값과 동일할 때 서명이 유효하다고 결정한다.
공개 키 암호시스템용 공유 키를 결정하는 방법에서는 제 1소수를 선택하고, 상기 제 1소수에서 계산된 원분 다항식을 얻고, 상기 제 1소수에서 계산된 원분 다항식의 인수인 제 2소수를 얻고, 유한 필드의 승산 그룹의 서브그룹의 생성자를 구하고(상기 서브그룹의 차수는 제 2소수임), 정수를 선택하고, 생성자를 기초로한 중간값을 받아들이고, 그리고 중간값 및 정수의 함수로서 공유 키를 형성한다.
메세지의 보안 통신을 위한 방법에서는 제 1소수를 선택하고, 상기 제 1소수에서 계산된 원분 다항식을 얻고, 상기 제 1소수에서 계산된 원분 다항식의 인수인 제 2소수를 얻고, 유한 필드의 승산 그룹의 서브그룹의 생성자를 구하고(상기 서브그룹의 차수는 제 2소수임), 정수를 선택하고, 생성자를 기초로한 중간값을 받아들이고, 중간값 및 정수의 함수로서 공유 키를 형성하고, 그리고 공유 키를 이용하여 메세지를 암호화한다.
메세지의 보안 통신을 위한 방법에서는 중간값 및 선택된 정수의 함수로서 형성된 공유 키를 이용하여 암호화된 메세지를 받아들이고(여기서 중간값은 유한 필드의 승산 그룹의 서브그룹의 생성자를 기초하며, 서브그룹의 차수는 제 1소수에서 계산된 원분 다항식의 인수인 제 2소수임), 그리고 공유 키를 이용하여 암호화된 메세지의 암호를 푼다.
메세지의 보안 통신을 위한 방법에서는 제 1소수를 선택하고, 상기 제 1소수에서 계산된 원분 다항식을 얻고, 상기 제 1소수에서 계산된 원분 다항식의 인수인 제 2소수를 얻고, 유한 필드의 승산 그룹의 서브그룹의 생성자를 구하고(상기 서브그룹의 차수는 제 2소수임), 생성자 및 제 1정수를 기초로 공개 값을 얻고, 제 2정수를 선택하고, 생성자 및 제 2정수를 기초로 제 1암호화값을 구하고, 메세지, 공개값 및 제 2정수를 기초로 제 2암호화값을 구하고, 그리고 제 1 및 제2암호화값으로부터 암호화된 메세지를 형성한다.
메세지의 보안 통신을 위한 방법에서는 제 1암호화값 및 제 2암호화값으로 형성된 암호화된 메세지를 수신하고(제 1암호화값은 제 1정수 및 유한 필드의 승산 그룹의 서브그룹의 생성자를 기초로하고, 서브그룹의 차수는 제 1소수에서 계산된 원분 다항식의 인수인 제 2소수이며, 제 2암호화값은 메세지를 기초로 하고, 제 1정수 및 공개 값은 생성자 및 제 2정수를 기초로 하고, 비밀 키는 생성자를 기초로 함), 그리고 제 2암호화값 및 제 1중간값을 기초로 암호화된 메세지의 암호를 푼다.
본 발명은 모두 요약된 것은 아니다. 본 발명의 특징 및 장점은 첨부된 도면 및 설명에 개시되어 있다.
원분 다항식들은 공개 키 암호화 체계 및 디지털 서명 체계를 포함하여, 이산 대수 기반 공중 키 암호시스템을 매우 효과적으로 실행할 수 있는 유한 필드들의 승산 그룹들의 서브그룹들을 구성하는 데에 이용된다. 필드는 최적 정규기로 표현되며, 필드의 승산 그룹의 서브그룹의 발생기는 공개 키를 형성하는데에 이용된다. 적용 및 실행의 형태에 의존하여, 원분 체계에 따른 공개 키 암호는 서브그룹들 또는 유한 필드들의 매우 통상적인 선택들을 이용하는 것보다 최대 3배까지 빠르다.
기존의 디지털 서명 체계들은 T. ElGamal이 "이산 대수들을 기초로한 공개 키 암호법과 서명 체계"라는 명칭으로 1985년 IEEE Tran.Info. Tech., 31, 449-472에 제시한 엘가말 체계(Elgamal scheme); 쉬노르(C.P. Schnorr)가 "스마트 카드에 의한 효과적인 서명 발생"이라는 명칭으로 1991년 J. Crytology, 4, 161-174 에 제시된 쉬노르 체계(Schnorr sheme); "디지탈 서명 알고리즘" 명칭의 1993년 7월 27자 미국 특허 번호 5,231,668(Kravitz)에 제시된 디지털 서명 알고리즘(DSA) 체계; 및 Agnew등이 "빠른 공개 키 암호화의 실행"이라는 명칭으로 1991년 J. Crytology에 제시한 타원형 곡선 디지털 서명 알고리즘(ECDSA) 체계등이 있다. DSA는 미국 정부의 디지털 서명 표준안(Digital Signatur Sandard)에 편입되었다.이러한 종래의 체계들은 어떤 디지털 서명 체계에서 이용됨에 따라 본 발명의 싸이크로토믹 체계와 비교 검토된다.
용어의 정의
m: 2진 열로 구성된 서명해야할 메세지
p: 소수
q: p-1의 소수 인자
L: p의 비트 길이, 실질적으로, L은 DL 보안 레벨을 결정한다.
B: q의 비트 길이, 실질적으로, B는 서브그룹 DL 보안 레벨을 결정한다.
F(p): 집합 {0, 1, ...,p-1}로써 나타내는 p 요소들의 필드
F(p)*: F(p)=F(p)-0의 승산 그룹
H(·): 2진 열들을 적어도 소정 비트 수의 비음수의 정수들에 맵핑(mapping)하는 충돌 저항 암호 해시 함수
엘가말 시스템 셋업
도 1A는 엘가말 체계에 따라 전자 서명 시스템을 셋업하는 동안 각 사용자를 위해 실행되는 단계들을 나타낸 도면이다. 셋업 과정은 일반 목적의 디지털 컴퓨터의 프로세서에 의해 실행된다. 선택적으로, 셋업 과정을 일반 목적의 컴퓨터와 관련하여 사용되는 특정 목적의 인쇄 회로 기판 또는 "스마트 카드" 즉, 마이크로프로세서를 내장한 신용 카드 크기의 휴대용 디바이스로 실행시킬 수 있다.
단계 102에서, L-1 비트들을 갖는 소수 q가 선택된다.
단계 104에서, 값 p=2q+1가 연산된다.
단계 106에서, q가 L-1 비트들을 갖고, p가 L비트들을 가지므로, p가 소수인지를 판단하는 검사를 이행한다.
만일 p가 소수가 아니라면, 과정은 단계 102로 돌아가 다른 소수의 수를 선택한다.
만일, p가 소수라면, 과정은 단계 108로 진행하여, p요소들의 필드F(p)의 증분 그룹 F(p)*중 한 요소를 랜덤하게 선택한다.
단계 110에서, g2≠1인지 그리고 F(p)에서 gq≠1 인지를 판단하는 검사를 이행한다. 만일, 상기 검사들중 어느 하나가 거짓이라면, 과정은 단계 108로 돌아가 요소 g로서 F(p)*중의 다른 요소를 선택한다.
만일, 필드 F(p)에서 g2≠1 이고 gq≠1 이라면, 요소 g는 필드 F(p)의 승산 그룹 F(p)*를 위한 발생기이다. 단계들 102-110에 나타낸 과정대신에, 필드 F(p) 및 발생기 g를 검출하기 위해 다른 과정들이 사용될 수 있다.
생성자 g를 검출한 다음, 프로세스는 단계 112로 진행하여, 2≤a≤p-2 범위의 값 a를 랜덤하게 선택한다.
단계 114에서, 과정은 F(p)에서 y=ga를 검출한다.
시스템 셋업 결과는 공개 키(p,g,y) 및 비밀 키(a)이다. 상기 공개 키는 3L 비트의 길이를 갖는다. 비밀 키는 L 비트의 길이를 갖는다.
공개 키(p,g,y)로부터 비밀 키(a)의 검출은 이산 대수(이) 문제이므로, 만일 p가 충분이 크다면, 상당히 어려워지게 된다. 현재, p의 길이는 L, L=1024, 그리고 p-1의 소수 인자가 적어도 160 비트를 갖는 경우, 적절한 어려움이 발생된다. 연산 급수가 더욱 유효가게 됨에 따라 이들 상수들은 증가하게 되어, 결국 무허가 사용자의 전산적 어려움을 지속시킨다.
엘가말 시스템 발생
도 1B는 엘가말 체계에 따라 특정 문서를 위한 전자 서명을 발생시키는 발생부에 의해 실행되는 단계들을 나타낸 도면이다. 문서는 비트 열 m으로 인식된다.실질적으로, 상기 발생부는 일반 목적의 디지털 컴퓨터의 처리기이다. 몇몇 실시 예에서, 상기 처리기는 스마트 카드와 같은 일반 목적의 컴퓨터내의 처리기일 수 있다.
단계 122에서, 정수 k는 k 및 p-1의 최대 공약수(GCD)가 1이 되도록 2≤k≤p-2 범위에서 랜덤하게 선택한다. 즉, k 및 p-1이 모두 소수가 될 수 있도록 k를 선택한다.
단계 124에서, k-1mod p-1을 검출한다. 즉, (k)(k-1)=1 mod p-1를 만족하는 값이다.
단계 126에서, 1≤r≤p-2 범위의 r로서, F(p)내의 값 r=gk를 구한다.
단계 128에서, 0≤s≤p-2 범위의 s로서, 값 s=k-1(H(m)-ar) mod p-1을 연산한다. H(·)는 시스템 이용자들 모두에 의해 동의된 암호 해시 함수이다. 예컨데, 적절한 표준 암호 해시 함수는 미국 버지니아주 스프링필드의 NTIS(National Technical Information Service)로부터 입수 가능한 1995년 4월 17일자로 FIPS180-1에 규정된 보안 해시 알고리즘 SHA-1이다.
서명 발생의 결과는 디지털 서명(r,s)이다. 상기 서명은 2L 비트의 길이를 갖는다.
단지, 비밀 키(a)의 보안은 다시 DL 문제에 의해 다시 한번 보호받는다: 만일, 이산 대수 loggr를 연산하여 r로부터 k를 연산할 수 있다면, k-1를 계산할 수 있어, s, m, 및 k-1로부터 비밀 키(a)를 도출할 수 있게 된다. 따라서, k의 특정 값을 비밀로 유지하고, 재사용하지 않는 것이 중요하다.
엘가말 서명 검증
도 3C 는 서명이 유효한가를 판별하기 위해 엘가말 체계에 따라 전자적으로 서명된 문서를 수신하는 수신의 실행 단계들을 나타낸 도면이다.
상기 수신부가 메세지(m) 및 도 1B에서와 같이 구한 대응 디지털 서명 (r,s), 및 도 1A 에서와 구하고 상기 서명 (r,s)를 구하기 위해 이용되었던 공개 키 (p,g,y)를 갖는 것으로 가정한다. 실질적으로, 상기 수신부는 일반 목적의 디지털 컴퓨터의 처리기이다. 실질적인 적용에서는, 상기 처리기는 스마트 카드와 같은 특정 목적의 디지털 컴퓨터 내부에 있을 수 있다.
단계 134에서, 과정은 값 r이 1≤r≤p-2 범위내에 있는지를 판단한다. 만일 아니라면, 단계 142에서, 그 서명이 유효하지 않는 것으로 판단한다.
만일, r이 바람직한 범위내에 있다면, 단계 136에서, F(p)내의 값 v1=yrr5을 연산한다. 이어, 단계 138에서, F(p)내에서 값 v2=gH(m)을 연산한다.
단계 140에서, v1=v2인지를 판단하기 위해 검사한다. 만일, 아니라면, 서명을 무효로 판단한다. 만일, 참이라면, 단계 144에서, 서명은 유효한 것으로 판단한다.
쉬노르/DSA 시스템 셋업
도 2A는 쉬도를 체계에 따라 전자 서명 시스템을 셋업하는 동안 각 사용자을 위한 단계들의 과정을 설명하기 위한 도면이다.
작은 지수들이 사용으로 서명을 보다 짧고 지수를 보다 빠르게 하기 위해, 쉬노르 체계는 충분히 큰 대수표의 소수 필드의 승산 그룹의 작은 서브그룹의 사용과 직접적으로 관련된다. 만일, 상기 서브그룹 차수가 소수이고 충분히 크다면, 상기 서브그룹의 사용이 체계의 보안에 영향을 주지 않게 된다.
DSA 체계를 위한 시스템 셋업은 DSA 체계가 아래에 설명된 바와 같이, 어떤 파라미터들(B 및 L)의 길이에 대한 값들을 명시한다는 점을 제외하고는 쉬노르의 체계를 위한 시스셈 셋업과 동일하다.
단계 202에서, B 비트 길이의 소수 q 가 선택된다. DSA 체계에서, B는 160으로 명시되어 있다.
단계 204에서, 정수 k를 랜덤하게 선택한다. 바람직하게는, k는 무허가 사용자에 대한 충분한 보안성을 유지를 위해 750-864 비트의 길이를 갖는다. 그러나, 이것은 처리 급수가 증가함에 따라 증가게 된다.
단계 206에서, L비트 길이의 값 p=kq+1이 연산된다. DSA 체계에서, 0≤i≤8 범위의 정수인 i에 대해 L은 512+i*64로 명시되어 있다.
단계 208에서, p가 소수인지를 판단하기 위해 검수한다.
만일 p가 소수가 아니라면, 상기 과정은 단계 204로 다시 진행되어, 다른 정수 k를 선택하게 된다.
만일, p가 소수라면, 과정은 단계 210으로 진행하여, F(p)*의 요수 h를 무작위로 선택한다.
단계 212에서, F(p)내의 값 g=h(p-1)/q를 연산한다.
단계 214에서, F(p)내에서 g≠1인지를 판단하기 위한 검수를 이행한다. 만일, 아니라면, 즉 g=1이라면, 과정은 단계 210으로 진행하여 값 h로서 F(p)*내의 다른 요소를 선택한다.
만일,F(p)내에서 g≠1라면, 충분히 큰 대수표의 소수 필드 F(p)의 승산 그룹의 작은 서브그룹 G의 생성자 g가 형성된다. F(p)내의 g≠1, gq=1이므로 상기 발생기 g는 차수 q이다. 단계들 202-214의 과정대신에, 발생기 g를 위해 다른 과정을 이용할 수도 있다.
생성자 g를 구한후, 고정은 다계 216으로 진행하여 0≤a≤q-1 범위의 값 a를 랜덤하게 선택한다. 상기 범위를 엘가말 체계에 대한 도 1A의 단계 112에서의 대응 범위보다 작게 하는 것이 바람직하다.
단계 218에서, 과정은 F(p)내의 y=ga를 찾는다. 주언지 y 및 g에서 값 a를 구하는 것은 앞서 언급한 바와 같이, 이산 대수(DL) 문제이다.
시스템 셋업 결과는 공개 키(p,g,y) 및 비밀 키(a)이다. 공개 키는 3L+B 비트의 길이를 갖는다. 비밀 키는 B비트의 길이를 갖는다.
공개키 (p,g,y)로부터 비밀 키(a)를 찾기 위해서는, F(p)필드내에서 DL 문제 및 생성자 g에 의해 발생된 F(p)의 서브구룹 G내에서 DL 문제중 어느 하나를 푸는 것이 필수적이다.
기수 p를 갖는 F(p)내에서 DL 문제는, p가 L 비트의 길이를 갖고, q가 적어도 B 비트의 길이를 갖는 p-1의 소수 인자라는 조건하에서는 현재 실행 불능인것으로 받아들인다.
쉬노르 서명 발생
도 2B는 쉬노르 체계에 따라 특정 문서를 위한 전자 서명을 발생시키는 발생부에 의해 실행되는 단계들을 나타낸 도면이다. 실질적으로, 상기 발생부는 일반 목적의 디지털 컴퓨터의 처리기이다. 몇몇 실시예에서, 상기 처리기는 스마트 카드와 같은 특정 목적의 컴퓨터내의 처리기일 수 있다.
단계 224에서, 2≤k≤q-1 범위의 정수 k가 랜덤하게 선택된다. 엘가말 체계의 도 1B에 도시된 단계 122에 대응하며, 상기 단계는 k의 범위 상위 한계 p-2를 사용한다. p 〉〉q이므로, 쉬노르에 따른 공개 키 암호법은 엘가노에 따른 공개 키 암호법보다 적은 요소들을 갖는다. 예컨데, q가 160비트의 길이를 갖을 때, p는 1024 비트의 길이를 갖는다.
단계 226에서, 1≤r≤p-1 범위내의 r을 가지고, F(p)내에서 값 r=gk을 구한다. p 〉〉q이므로, 단계 226에서의 연산은 도 1B의 단계 126에서의 연산, 즉 엘가말에 따른 공개 키 암호법보다 훨신 빠르다.
단계 228에서, 값 e=H(m∥r) 즉, 메세지 m과 서명 요소 r의 연계에 적용되는 해시 함수를 구한다. 암호 해시 함수 H(·)는 적어도 B 비트으 길이 값을 공급하는 것으로 가정한다.
단계 230에서, 값 s=(ae+k) mod q를 연산하며, s는 0≤s≤q-1 범위에 있다.
서명 생성의 결과물은 디지털 서명(s,e)이다. 서명은 2B 비트의 길이를 갖는다.
쉬노르 서명 검증
도2c는 서명이 유효한지 여부를 결정하기 위해 쉬노르 구조에 따라 전자 서명된 서류를 수신하는 부분에 의해 수행되는 단계를 나타낸다.
수신측은 메세지(m)와, 도2b에서 얻어진 것과 같은 대응 디지털 서명(s,e)과, 도2a에서 얻어진 것과 같고 서명(s,e)를 얻는데 이용되는 공개 키(p,g,y,q)를 갖는 것으로 가정된다. 일부 실시예에서, 처리기가, 스마트 카드와 같은 특수 목적 디지털 컴퓨터에 포함될 수 있다.
단계 236에서, 값 v = gsy-e이 계산된다. 다음, 단계 238에서, 값 e' = H(m∥v)이 계산된다.
단계 240에서, e = e'인지 여부를 결정하기 위한 테스트가 행해진다. e ≠ e'인 경우, 단계 242에서, 서명이 유효하지 않다고 결정된다. e = e'인 경우, 단계 244에서, 서명이 유효하다고 결정한다.
DSA 서명 발생
도2d는 DSA 구조에 따른 특정 서류용 전자 서명을 생성하는 부분에 의해 수행되는 단계를 나타낸다. 실제적으로, 발생 부분은 일반적인 목적의 디지털 컴퓨터 처리기이다. 일부 실시예에서, 처리기가 스마트 카드와 같은 특수 목적 디지털 컴퓨터에 포함될 수 있다.
단계 324에서, 정수 k가 2≤k≤q-1의 범위에서 랜덤하게 선택된다.
단계 326에서, k-1mod q, (k)(k-1)을 만족시키는 값이 밝혀진다.
단계 328에서, g에 의해 생성되는 F(p)*의 서브그룹 G에서의 값 u = gk가 얻어지며, 여기서 u는 1≤u≤p-1의 범위이다.
단계 330에서, 값 r = u mod q 가 계산된다.
단계 332에서, 값 s = k-1(H(m) + ar) mod q 가 계산되며, 여기서 s는 0≤s≤q-1의 범위이다.
단계 333에서, s = 0인지 여부를 결정하기 위하여 테스트가 행해진다. s = 0인 경우, 프로세스는 정수 k용의 새로운 값을 선택하기 위해서 단계 324로 복귀한다. s≠0 인 경우, 단계 334로 진행하여 완결된다.
서명 발생의 결과물은 디지털 서명 (r, s)이다. 서명은 2B 비트의 길이를 갖는다.
DSA 서명 검증
도2e는 서명이 유효한지 여부를 결정하기 위해 DSA 구조에 따라 전자 서명된 서류를 수신하는 부분에서 수행되는 단계들을 나타낸다.
수신측은 메세지(m)와, 도2b에서 얻어진 것과 같은 대응 디지털 서명(r,s)과, 도2d에서 얻어진 것과 같고 서명(r,s)를 얻는데 이용되는 공개 키(p,g,y,q)를 갖는 것으로 가정된다. 실제적으로는, 수신 부분은 일반 목적의 디지털 컴퓨터 처리기이다. 일부 실시예에서, 처리기는 스마트 카드와 같은 특수 목적 디지털 컴퓨터에 포함될 수 있다.
단계 238에서, 프로세스는 값 r이 1≤r≤q-1 범위의 정수인지 여부를 결정한다. r이 이 범위 내가 아닌 경우, 단계 352에서, 서명이 유효하지 않은 것으로 결정한다.
r이 적절한 범위인 경우, 단계 340에서, 프로세스는 값 s가 1≤s≤q-1 범위의 정수인지 여부를 결정한다. s가 이 범위가 아닌 경우, 서명은 유효하지 않은 것으로 결정된다.
s가 적절한 범위인 경우, 단계 342에서, s의 역수인 정수 w, 즉 ws = 1 mod q가 계산되며, 값 u2 = wr mod q가 계산된다. 단계 346에서, g에 의해 생성되는 F(p)*의 서브그룹 G에서의 값 c = gu1yu2가 얻어지며, 여기서 c는 1≤≤p-1의 범위이다.
단계 348에서, 값 v = c mod q 가 계산된다.
단계 350에서, v = r인지 여부를 결정하기 위해서 테스트가 행해진다. v ≠ r인 경우, 단계 352에서, 서명이 유효하지 않은 것으로 결정된다. v = s인 경우, 단계 354에서, 서명이 유효한 것으로 결정된다.
ECDSA 시스템 셋업
도3a는 ECDSA 구조에 따른 전자 서명 시스템 셋업중에 수행되어야 하는 단계들을 나타낸다. 단계 402-416이 전체적으로, 즉 모든 사용자에 대해 수행되며, 단 1회만 수행되는 것이 필요하다. 단계 420-424는 모든 사용자에 의해 수행된다.
ESCAS 시스템은 두 개의 엘리먼트의 대형 확장 필드를 사용하도록 되어 있다. 확장 필드의 최적 정규기 표현(R.C. Mullin 등, "GF(p)에서의 최적 정규기", Discrete Appl. Math., 22, 149-11, 1988/89 참조) 을 가지므로, 곱셈이 매우 빠르고 제곱계산이 원형 시프트에 의해 수행되어 지수계산이 효율적으로 수행된다. 그러나, 하드웨어 장치가 필요하다. 또한, 문자 2 필드가 다른 필적하는 크기의 필드 보다 공격받기 쉽다고 생각된다.
단계 402에서, 정수 t≥ 160이 t F(2t), 즉 t가 160≤t≤250의 범위로 선택된다. ECDSA 구조는 2t엘리먼트의 시스템-광역 유한 필드 F(2t)를 사용하며, 여기서 t = B로 가정된다.
단계 404에서, 곡선 E = Y2+XY = X3+αX2+β용의 계수 α, β F(2t)가 선택된다. ECDSA 구조는 F(2t)의 서브필드에 걸친 F(2t)의 엘리먼트를 나타내는 최적 정규기를 사용하는 것으로 가정된다. 곡선 E를 사용하는 것은 최적 정규기를 사용한다는 것을 의미한다.
단계 406에서, μ가 계산된다. 값 μ은 E를 만족하는 서로 다른 쌍(x,y)의 개수 더하기 1이며, 여기서 x, y F(2t)이다. 즉, E 구룹은 차수 μ를 갖는다. 이에 대해 달리 표현하면, μ는 곡선 그룹의 카디날리티(cardinality)이다.
단계 408에서, 인자 μ가 얻어진다.
단계 410에서, 적어도 140 비트를 갖는 주요 인자 μ가 존재하는지 여부를 결정하는 테스트가 수행된다. 이러한 μ가 존재하지 않는 경우, 프로세스는 단계 404로 돌아가며 새로운 타원곡선 E를 선택한다.
적어도 140 비트를 갖지 않는 주요 인자 μ가 존재하는 경우, 단계
412에서, q는 이 주요 인자와 같도록 설정된다. q는 타원 곡선 E 차수의 주요 약수가 될 것이다. 바람직하게는, q는 적어도 140 비트 길이를 갖는다.
단계 414에서, 곡선 E 상의 점 h, 즉 h(x0, y0)가 (μ/q) h≠I 이도록 선택되며, 여기서 I는 곡선 E상의 고유 엘리먼트이다. 심벌은 곡선 E상의 스칼라 곱을 가리킨다. E 그룹은 차수 μ를 가지며, q는 μ를 나눈다.
단계 416에서, 곡선 E 상의 점 g는 g = (μ/q) h로 선택된다. 곡선 E상의 점 g는 차수 q를 갖는다. 곡선 E 상의 점 g는 곡선 그룹의 서브그룹인 그룹 G를 생성한다.
단계 402-416의 결과물은 전체 공개 키(α,β,t,q,g)이다. 전체 공개 키의 길이는 공지되어 있으므로 중요하지 않으며, 개개의 인코딩 부분 또는 디코딩 부분에 의해 변경되지 않는다.
각 사용자에 대해, 단계 420에서, 값 a가 2≤a≤q-1의 범위에서 랜덤하게 선택된다.
단계 422에서, 곡선 E 상의 점 P, 즉 P(x1, y1)은 곡선 E상에 P = ag 가 되도록 선택된다.
단계 420-422의 결과물은 B+1 비트 길이의 사용자 특정 공개 키(P)와 최대 B 비트 길이의 개인 키(a)이다. 상기 키들이 ECDSA 구조에서 작지만, 이 구조는 컴퓨터 조작에서 비용이 많이 든다.
사용자 특정 공개 키(P)로부터 비밀 키(a)를 선택하기 위해서, 곡선 E와 결합된 그룹의 DL 문제 또는 곡선 E와 결합된 그룹의 서브그룹 G의 DL 문제 중 하나를 해결할 필요가 있다.
카디날리티 2t 필드의 커브 그룹의 DL 문제, 여기서 t≥160, 는 타원 커브 암호해독법의 서포터에 의해 실행불가능한 것으로 현재 믿어진다.
곡선 그룹에서 적어도 140 비트를 갖는 차수 q의 서브그룹 G의 DL 문제는 현재 타원곡선 암호해독법의 서포터에 의해 실행불가능한 것으로 현재 믿어진다.
ECDSA 서명 발생
도3b는 ECDSA 구조에 따른 특정 서류용 전자 서명을 생성하는 부분에 의해 수행되는 단계들을 나타낸다. 실제적으로, 발생 부분은 일반 목적 디지털 컴퓨터의 처리기이다. 일부 실시예에서, 처리기 스마트 카드와 같은 특수 목적 디지털 컴퓨터일 수 있다.
단계 428에서, 정수 k는 2≤k≤q-2의 범위에서 랜덤하게 선택된다.
단계 430에서, k-1mod q, 즉 (k)(k-1) = 1을 만족시키는 값이 밝혀진다.
단계 432에서, 곡선 E 상의 점 u, 즉 u(x2, y2)가 곡선 E상의 u = kg인 것으로 밝혀진다.
단계 434에서, 정수 r = χ(x2) mod q 가 얻어지며, 여기서 r은 0≤r≤q-1이다. 함수 χ(·)는 유한 필드 F(2t)와 정수 집합{0,1,.., 2t-1} 사이의 고정되고 효율적으로 계산가능한 바이젝션이다. 이 바이젝션은 상기 시스템의 모든 유져에게 공지되어 있다.
단계 435에서, r = 0 인지 여부를 결정하기 위한 테스트가 행해진다. r = 0인 경우, 프로세스는 새로운 정수 k 값을 선택하기 위해 단계 428로 돌아간다. r≠0인 경우, 단계 436으로 진행한다.
단계 436에서, 값 s = k-1(H(m) + ar) mod q 가 계산되며, 여기서 s는 0≤s≤q-1이다.
단계 437에서, s = 0 인지 여부를 결정하기 위해 테스트가 행해진다. s = 0 인 경우, 정수 k용의 새로운 값을 선택하기 위해 프로세스는 단계 428로 돌아간다. s≠0 인 경우, 단게 438로 진행하여 완결된다.
서명 발생의 결과물은 디지털 서명(r,s)이다. 서명은 최대 2B 비트의 길이를 갖는다.
ECDSA 서명 검증
도3c는 서명이 유효한지 여부를 결정하기 위해 ECDSA 구조에 따라 전자 서명된 서류를 수신하는 부분에서 수행되는 단계들을 나타낸다.
수신측은 도3b에서 얻어지는 메세지(m) 및 대응 디지털 서명(r,s)과, 도3a 에서 얻어지며 서명 (r,s)를 얻는데 사용되는 (α,β, t, q, g)와 (P)를 포함하는 공개 키를 갖는 것으로 가정된다. 실제적으로, 수신 부분은 일반 목적 디지털 컴퓨터 처리기이다. 일부 실시예에서, 처리기는 스마트 카드와 같은 특수 목적 디지털 컴퓨터에 포함될 수 있다.
단계 442에서는 값 r이 범위 1≤r≤q-1내의 정수인지의 여부를 결정한다. 만약 값 r이 상기 범위내의 정수가 아니라면, 서명은 무효한 것으로 결정된다.
만일 r이 적정 범위내에 있다면, 단계 444에서는 값 s가 1≤s≤q-1 범위내의 정수인지의 여부를 결정한다. 만일 값 s가 상기 범위내의 정수가 아니라면, 서명은 무효한 것으로 결정된다.
만일 s가 정적 범위내에 있다면, 단계 446에서는 s의 역인 정수 w, 즉 ws=1 모드 q가 얻어진다.
단계 448에서는 값 u1이 = wH(m) 모드 q가 계산되며, 값 u2 = wr 모드 q가 계산된다. 단계450에서는 곡선 E상의 점 c, 즉 곡선 E상의 c(x3, y3) = (u1g)(u2P)가 얻어진다. 심볼은 곡선 E상에서 덧셈을 나타낸다.
단계 452에서는 값 v=χ(x3) 모드 q가 계산되며, v는 범위 0≤v≤q-1내에 있다.
단계 454에서는 v=r인지를 결정하기 위하여 테스트가 이루어진다. 만일 v≠r이라면, 단계 456에서는 서명이 무효로 결정된다. 만일 v=r이면, 단계 458에서는 서명이 유효로 결정된다.
원분 시스템 셋업
도 4A는 본 발명의 원분 기술에 따른 전자 서명 시스템의 셋업동안 각각의 사용자에 대해 실행되어야 하는 단계를 도시한다. 도 4A에 도시된 처리의 목적은 L의 선택을 결정하는 적정 이산대수 보안레벨과 B의 선택을 결정하는 적정 서브그룹 이산 대수 보안레벨을 모두 g가 만족하도록 그리고 F(p)에 대한 F(pt')에 대해 최적 정규기가 존재하도록 유한 필드 F(pt')의 승산그룹 F(pt')*에 대한 서브그룹의 생성자 g를 테스트하는 것이다.
원분 기술은 쉬노르 기술을 수행하는 서브그룹을 사용하며, ECDSA 기술을 수행하는 최적 정규기를 사용한다. 서브그룹을 사용하면, 짧은 서명 및 짧은 지수가 유발된다. 최적 정규기를 사용하면, 효율적인 누승법이 유발된다. 결과적으로, 원분기술의 소프트웨어 실행은 쉬노르 기술의 소프트웨어 기술보다 상당히 빠르다.
R를 기수 사이즈로 놓아라. R의 값은 기계에 의존하며 계산 모드 p가 빠르게 처리되도록 충분히 작게 그리고 지수가 빠르게 처리되도록 충분히 크게 선택된다. p의 큰 값은 t'의 작은 값을 야기하며, 필드F(pt')의 승산당 (t')2의 연산이 요구되기 때문에 t'가 보다 작은 것이 바람직하다. 또한, p의 큰 값은 구성될 수 있는 원분 시스템의 선택을 확장시킨다. 현재 이용가능한 32-비트 구조 범용 컴퓨터에 대해서는 R=32가 적절한 값이다. 새로운 64-비트 구조에 대해서는 R=64가 적절한 값이다. 다른 실시예에 있어서, R의 다른 값은 적절하며 본 발명을 실행하는 컴퓨터의 워드길이(비트단위로)와 동일할 필요가 없다.
단계 502에서는 제어 정수 t' 및 정수 t, s가 다음과 같이 선택된다.
i) s는 기껏해야 R이며, S는 0.8R≤s≤R와 같이 R과 거의 유사하다. 큰 s는 고주파수를 야기한다. 정수 s는 소수 p의 크기를 한정하기 위하여 사용된다(이하 참조).
ii) t'>1인 경우에, t'는 t+1이 소수인 인자 t>1를 가지며 t'/t는 예를들어 t'/t<5와 같이 작다. 제어 정수 t'의 사용은 L에 반영된 적정 이산 대수 보안레벨에 관련한 소수 p에서 비트를 최대한으로 선택할 수 있도록 한다. 특히, 소수 p의 값은 전술한 바와같이 기계에 의존하는 R의 값에 따른다. 제어 정수 t'는 소수 p에서 비트의 수에 의해 나누어진 L과 대략 동일하다. 전술한 바와같이, t+1은 소수이어야 한다. 이상적으로, t'=t이다. 그러나, t'에 대한 값은 t+1이 소수인 t>1을 t'가 가지고 t'/t가 작은 경우 t'+1이 소수가 아니도록 사용될 수 있다. 즉, t에 부가하여 t'의 사용은 더 많은 융통성을 제공한다.
iii) t'*s는 L과 유사하다.
iv) ø(t')은 적어도 B이나 B보다 너무 많이 크지 않아서, 소수 인자 q(단계 510 참조)는 구하기가 쉽다. 즉 ø(t')*sB이다. 함수 ø(t)는 오일러의 핀 함수, 즉 t의 공통 소수인 양의 정수 ≤ t의 수이다.
단계 504에서는 홀수 소수 p가 (log2p)+1=s 및 t'((log2p)+1)≥L이도록 선택된다.
단계 506에서는 p가 F(t+1)*의 루트 모드 t+1인지를, 즉 p 모드 t+1이 F(t+1)*를 발생하는지를 결정하기 위하여 테스트가 이루어진다. 특히, 이 테스트는 각 정수 i(1≤i<t)에 대해 pi모드 t+1를 계산함으로써 그리고 다른 수가 얻어지는지를 검사함으로써 실행될 수 있다. 만일 그렇지 않다면, 처리는 다른 소수 p를 선택하기 위하여 단계 504로 리턴한다.
만일 p가 루트 모드 t+1이라면, 단계 508에서는 p, Φt'(p)에서 얻어진 t'번째 원분 다항식이 얻어진다.
Z[X]에서 Xt-1의 약분할 수 없는 인수분해는 Xt-1=Πd│tΦd(X)에 의해 주어진다. 여기서, Φd(X)은 여기에 참조에 의해 통합되는 H. Riesel, Prime Numbers and Computer Methods for Factorixation, Birkhauser, 1985에 개시되어 있는 d차 원분 다항식이다. 인자 Φt(X)은 t의 젯수 s(s>t)에 대한 Xs-1의 인수분해에 나타나지 않는 Xt-1의 단지 약분할 수 없는 인자이다.
Φt(X)을 얻을 수 있는 한 방법은 전술한 바와같이 인수분해 항등함수를 사용하는 것이다. Φt(X)을 얻을 수 있는 다른 방법은 도 4D의 테이블과 같이 Φt(X)=ct-1Xt-1+ ct-2Xt-2+ ... +c1X+ c0의 계수 ci(0≤i≤t-1)를 구하는 것이다. 도 4D의 테이블을 사용하면, 예를들어 Φ18(X)=X6-X3+1 및 Φ54(X)=X18-X9+1이다.
단계 510에서는 Φt'(p)의 큰 소수가 얻어진다. 원분 기술에서 사용되고 이하에 기술된 바와같이 구성되는 서브그룹이 차수 q를 가지고 q가 Φt'(p)의 젯수이기 때문에 대응하는 DL 계산은 비전문가에게는 어렵다.
단계 512에서는 (log2q)+1≥B인지를 결정하기 위하여 테스트가 이루어진다. 이 조건은 F(pt')의 참 서브필드에 삽입될 수 없는 F(pt')의 승산 그룹 F(pt')*의 서브그룹을 충분히 크게 구성하는 것이 가능하게 한다. 다시말해서, DL 문제를 해결하기 위하여, 즉, y 및 g가 주어질 때 값 a를 구하기 위하여, 전체 필드 F(pt') 또는 g에 의해 발생된 서브그룹에서 DL 문제를 해결하는 것이 필요하다. 그러나, DL 문제는 F(pt')의 참 서브필드에서 DL 문제로 감소될 수 있어서, 계산의 어려움이 감소되지 않는다.
또한, ø(t')*sB인 단계 502의 조건과 (log2q)+1≥B인 단계 512의 조건을 결합하면, (log2q) +1B인 상황이 발생한다.
q가 Φt'(p)이고 (log2q)+1≥B인 것은 본 발명의 중요한 특징이다. 만일 (log2q)+1<B이라면, 처리는 다른 소수 p를 선택하기 위하여 단계 504로 리턴한다.
만일 (log2q)+1≥B이라면, F(pt'/t)에 대한 최적 정규기 αi(i=1, 2, ..., t)가 얻어지며, 각각의 αi은 ft(X)=(Xt+1-1)/(X-1)=Xt+Xt-1+...+X+1의 제로이다.
케이스 1: 만일 t가 존재하고 t'=t이라면, F(pt'/t)은 정수 모드 p에 의해 표현되며, F(pt')의 p 제곱은 F(pt')의 임의의 연산을 필요로하며, p 제곱은 기존 요소 αi의 순열과 유사하여 계산이 용이하다. 따라서, F(pt')의 승산 및 제곱은 매우 효율적으로 수행될 수 있다.
케이스 2: 만일 t가 존재하고 t't라면, F(pt'/t)의 요소는 F(p)에 대한 편리한 원리를 사용하여 표현된다. 이 경우에, p 제곱은 F(pt')에서 매우 적은 연산만을 필요로하며, F(pt')의 승산 및 제곱은 매우 효율적으로 수행될 수 있다. 만일 t'/t가 작다면, 원분 시스템 실행에서 F(pt')의 산술 효율의 차이는 케이스 1 및 케이스 2간의 차이로써 무시할 수 있다.
케이스 3: 만일 t가 존재하지 않는다면, F(pt')은 F(pt')에서 승산 및 제곱을 고속으로 하기 위하여 간단한 최소 다항식을 사용하는 임의의 편리한 방식으로 표현된다.
단계 516에서는 F(pt')의 요소 b는 임의대로 선택된다.
단계 518에서는, 값에서가 얻어진다.를 나타내는데 최적 정규기가 사용되기 때문에 g를 계산하는 것은 매우 효과적이다.
단계 520에서,에서 g≠1인지를 결정하는 테스트가 이루어진다. g=1이면, 처리는 단계 516로 되돌아가 다른 요소 b를 선택하게 된다.
g≠1이면, g는 유한필드의 승산 그룹*의 서브그룹 G의 생성자이다. 서브그룹 G는 q차이다. 단계 522에서, a 값이 2≤a≤q-2의 범위에서 랜덤하게 선택된다.
단계 524에서,에서 값 y = ga가 계산된다. y와 g가 주어졌을 때 값 a를 찾는 것이 DL 문제이다.
시스템 셋업의 결과는 공개 키(p, g, y, q, t')와 비밀 키(a)이다. 변수 g와 y는 최적 정규기를 사용하여 표현된다. 공개키는 2L+B+64비트의 길이를 가진다.
보안이 쉬노르 방식에서처럼 p에서의 t'번째 원분 다항식의 적어도 B 비트의 길이를 가지는 소수 인자가 q인 경우에 서브그룹 G가 q차라는 사실에 의해 확보되며, G는의 적당한 서브필드에 효과적으로 끼워질 수 없다.
상기한 바와 같이, 원분 방식에서, p제곱은 계산적으로 용이한데, 이는 그것이 단지 최적 정규기의 요소들의 재배열일 뿐이기 때문이다. 이것이 원분방식의 중요한 계산적 장점이다.
원분 방식에서의 계산은 길이 (log2p)비트의 짧은 행을 포함하는데 이는 소프트웨어로 구현하는데 적합하며, ECDSA 방식은 길이 1비트의 긴 행을 포함하는데 이는 하드웨어로 구현하는데 더 적합하다. 다시 말해, 원분 그라운드필드 F(p)는 길이 (log2p)비트의 요소들을 가지며, ECDSA 그라운드필드 F(2)는 길이 1비트의 요소들을 가진다.
원분 서명 발생
도 4B는 원분 방식에 따라 특정 문서에 대해 전자서명 생성자에 의해 수행되는 단계들을 도시하고 있다. 실제의 경우, 생성자는 범용 디지털 컴퓨터 처리기이다. 어떤 실시예에서는, 처리기가 스마트카드와 같은 전용 디지털 컴퓨터에 장착된 것일 수도 있다.
단계 530에서 정수 k는 2≤k≤q-2의 범위에서 랜덤하게 선택된다.
단계 532에서 klmod q는 (k)(kl) = 1 mod q를 만족시키는 값으로 나타난다.
단계 534에서에서 값 u = gk로 나타난다.
단계 536에서, 정수 r = Χ(u) mod q 가 얻어지며, r의 범위는 0≤r≤q-1이다. 함수 Χ(·)는 유한필드와 정수의 집합{0, 1, ..., pt'-1} 사이에 고정되어 있으며 효과적으로 계산 가능한 바이젝션이다. 이 바이젝션은 시스템의 모든 사용자에게 알려져 있다. 이것이 ECDSA 방식에 대해 도 3b의 단계 434에서 사용된 바이젝션과의 차이점이다.
단계 537에서, r=0인지를 결정하기 위한 테스트가 이루어진다. r=0이면 처리는 단계 530로 되돌아가 정수 k에 대해 새로운 값을 선택한다. r≠0이면, 처리는 단계 538로 진행된다.
단계 538에서, s = k-l(H(m) + ar) mod q가 계산되며, s의 범위는 0≤s≤q-1이다.
단계 539에서, s=0인지를 결정하기 위한 테스트가 이루어진다. r=0이면 처리는 단계 530로 되돌아가 정수 k에 대해 새로운 값을 선택한다. s≠0이면, 처리는 단계 540로 진행하여 완료된다.
서명 발생 결과는 디지털 서명 (r,s)이다. 그 서명은 2B 비트의 길이를 가진다.
원분 서명 검증
도 4C는 서명이 유효한지를 결정하기 위해 원분 방식에 따라 전자적으로 서명된 문서의 수신기에 의해 수행되는 단계들을 도시하고 있다.
수신기는 메세지(m)와 도 4B에서처럼 얻어진 대응 디지털 서명(r,s), 그리고 도 4A에서처럼 얻어져서 서명 (r,s)를 생성하는데 사용된 공개 키(p, g, y, q, t')를 가지는 것으로 본다. 실제의 경우, 수신기는 범용 컴퓨터의 처리기이다. 어떤 실시예에서는, 처리기가 스마트카드와 같은 전용 디지털 컴퓨터에 장착된 것일 수도 있다.
단계 544에서, 처리는 r이 1≤r≤q-1 의 범위에 속하는 정수인지를 결정한다. r이 이 범위에 속하지 않으면, 단계 558에서 서명이 무효로 결정된다.
r이 적당한 범위 내에 있으면, 단계 546에서, 처리는 s가 1≤s≤q-1 의 범위에 속하는 정수인지를 결정한다. s가 이 범위에 속하지 않으면, 단계 558에서 서명이 무효로 결정된다.
s가 적당한 범위 내에 있으면, 단계 548에서 s의 역수인 w 즉, ws = mod q인 정수 w가 얻어진다.
단계 550에서, 값 u1 = wH(m) mod q가 계산되고, 값 u2 = wr mod q가 계산된다. 단계 552에서,에서 값 v' = gu1yu2가 계산된다. 단계 554에서, 값 v = Χ(v') mod q가 얻어지다.
단계 556에서, v=r인지를 결정하는 테스트가 이루어진다. v≠r이면, 단계 558에서 서명이 무효로 결정된다. v=r이면, 단계 560에서 서명이 유효로 결정된다.
원분의 대체적 적용
원분 방식의 적용은 상기한 바와 같이 전자 서명 시스템에만 제한되지 않는다. 원분 방식은 예를 들어, Diffie-Hellman 키 교환 방식, 엘가말 공개키 암호화 방식, 또는 엘가말, 쉬노르, DSA 방식과 같은 디지털 서명 발생 및 확인 방식 등 그 안전성이 DL 문제의 곤란성에 의존하는 어떠한 공개 키 암호시스템에도 사용될 수 있다.
제안된 바 있는 공개 키 부호화 방식에는 National Technical Information Service, Springfield, Virginia의 FIPS 46-1, 1993에 개시된 Data Encryption Standard(DES)와 IEEE Trans. Info. Tech., 31, 469-472, 1985에 개시된 T. ElGamal의 엘가말 방식이 포함된다. 이들 제안된 방식에 대한 원분 방식의 적용이 이하에 설명된다.
하기의 기술을 익히는 사용자들은 이들 기술을 수행하도록 프로그램된 범용 컴퓨터를 가지는 것으로 본다. 대안적으로, 이들 기술들은 범용 컴퓨터와 함께 사용되는 전용 인쇄회로기판 또는 마이크로프로세서를 포함하는 신용카드 크기의 휴대용 장비인 "스마트카드"에 의해 수행될 수 있다.
도 4E는 본 발명에 따른 DES 시스템 셋업을 나타낸 흐름도이다. 특히, 도 4E는 원분 방식의 적용으로 수정된 Diffie-Hellman 키 교환 방식을 도시하고 있다.
단계 600에서, 모든 사용자들은 도 4A의 단계들 500-520에 따라 얻어진 전체적으로 공유되는 공개 키(p, g, q, t')를 소유하는 것으로 본다. 반대로, 전술한 엘가말, 쉬노르, DSA 및 원분 디지털 서명 방식에서는 각 사용자들이 공개키와 사적키를 가지므로, 전체적으로 공유되는 공개 키가 없다.
Δ와 θ가 연락을 원하면, 공유 키를 설정하기 위해 먼저 정보를 교환해야 한다. 도 4E에 도시된 바와 같이, 단계 602에서, Δ가 2≤aΔ≤q-2의 범위에서 랜덤하게 값 aΔ를 선택하고, 단계 604에서,에서가 얻어진다.
단계 606에서, Δ는 yΔ를 θ에게 보낸다. 단계 608에서, Δ는 θ로부터 yΘ를 받는다. 단계 610에서, Δ는에서를 계산한다.
함수 Χ(·)는 유한필드와 도 4B의 단계 536에 사용되었던 정수들의 집합 {0, 1, ..., pt'-1} 사이에 고정되어 효과적으로 계산 가능한 바이젝션이다. 유한필드의 최적 정규기로 표시된 요소들 보통 정수를 변환하기 위해 함수 Χ(·)를 반드시 적용할 필요는 없지만 적용하는 것이 바람직하다.
유사하게, 단계 603에서, θ는 2≤aΘ≤q-2 범위에서 값를 랜덤하게 선택하며, 단계 605에서는 F(pt')에서를 검색한다.
단계 607에서, θ측은 Δ측으로 yθ를 전달한다. 단계 609에서, θ측은 Δ측에서 yΔ을 수신한다. 단계 611에서, θ측은 F(pt')에서를 계산한다.
단계 612에서, Δ 및 θ는 공유된 키(y0)를 정하였다. g 에 의해 발생된 부그룹에서 계산되었다. 검증되지 않은 측은 Δ 및 θ측 사이의 통신을 해독하기 위하여 DL 문제를 해결할 필요가 있다.
도 4f는 본 발명에 따른 DES 시스템 구성을 위한 암호화를 도시한 플로우 챠트이다. 특히, 단계 622에서 Δ 및 θ측 중 하나는 메세지를 암호화하기 위하여 자신의 공유된 키(yo)를 사용한다.
도 4g는 본 발명에 따른 DES 시스템 구성을 위한 암호해독화를 도시한 플로우 챠트이다. 특히, 단계 632에서 Δ 및 θ측들의 다른 측은 단계 622에서 부호화된 상기 메세지를 해독하기 위하여 자신의 공유 키(yo)를 사용한다.
전술한 엘가말 디지털 서명 체계와는 다른 엘가말 공개 키 암호화 체계에 대해, 도 4a 에 도시된 단계 500∼526가 공개 키(p, g, y, q, t') 및 각 사용자를 위한 비밀 키(a)를 얻기위해 수행되었다고 가정한다. 검증되지 않은 사용자는 DL 문제의 해결이 필요한 암호화된 메세지를 해독하기 위하여 상기 비밀 키를 결정할 필요가 있을 것이다.
도 4h는 암호화 체계에 따라 셋업된 상기 엘가말 시스템에 대한 암호화를 도시한 플로우 챠트이다. 단계 702에서, 메세지를 랜덤하게 암호화하기를 원하는 측은 2≤k≤q-2 의 범위내의 정수 k 를 선택한다. 단계 704에서, 값 γ = F(pt)에서의 gk이 얻어진다. 단계 706에서, 값 λ=F(pt)에서의 χ-1(m)*yk이 얻어진다. 상기 함수 χ-1(·)는 도 4b 의 단계 536에서 사용된 χ(·)의 역이다. 단계[708]에서의 결과는 암호화된 메세지(γ,λ)이다.
도 4i 는 암호화 기술에 따라 셋업된 엘가말 시스템을 위한 암호해독화를 도시하는 플로우 챠트이다. 단계 722에서, 암호화된 메세지(γ,λ)를 해독하기를 원하는 측은 값ζ=F(pt')에서의 γq-n, 으로 정하고, 단계 724에서 값η=F(pt')에서의 λζ, 로 정한다. 단계 726에서, 해독된 메세지 m'는 m'= {0, 1,...,pt'}에서의 χ(η)로 구해진다. 모든 지수들은 g에 의해 발생된 서브그룹에서 발생한다.
성능 비교
도 5a 는 공개키 암호화 시스템들에 대한 기술들의 서명 발생 성능을 비교한 결과에 대한 표이다. 비교된 상기 기술들은 엘가말, 쉬노르, DSA 및 소프트웨어 실행을 사용한 암호화이다. 상기 ECDSA 기술은 실행되기 위해 하드웨어적 구현을 필요로 하므로 여기서 평가되지 않았다.
상기 파라미터 B는 상기 엘가말 체계와 관련된 것이 아니므로, "C" 및 "D" 의 경우들은 상기 엘가말 체계에 대해 동일하다. 실제적으로, 상기 DSA 기술은, "A" 및 "C" 경우들에만 해당되는 B=160 및 L=512+i*64, 0≤i≤8 만을 허용한다.
상기 예들에서, 정수 메세지들만이 사용되었으며, 엘가말에 대해서는 mod p-1이, 나머지들에 대해서는 mod q 가 취해졌다. 해싱은 사용되지 않았다. 해싱을 위한 계산 시간은 무시할 정도이므로, 해싱의 생략은 상기 성능 결과에 영향을 크게 미치지 못한다.
특히, 도 5a 는 각 기술에 대해 소프트 웨어 실행을 사용한 166MHz 펜티엄 프로세서에서의 실행 시간(초 단위)을 도시한다.
부그룹들의 사용으로 인한 성능의 향상이 엘가말 기술에서 쉬노르 기술로 가면서 관찰된다. 상기 DSA 기술의 성능은 쉬노르 기술의 성능과 거의 동일하다.
최적 정규기의 사용에 따른 추가적인 성능의 향성이 쉬노르 기술에서 암호화 기술로 가면서 관찰된다. 특히, 도 5a 의 예들에 대해, 상기 암호화 기술은 쉬노르 기술의 성능보다 약 3 배 빠른 성능을 나타낸다.
도 5b 는 도 5a 의 표에 표시된 예들에 대한 공개키 암호화 시스템들에 대한 기술들의 서명 발생 성능을 비교한 결과를 나타낸 표이다. 서명 발생과 함께, 상기 암호화 기술은 쉬노르 기술의 성능보다 약 3 배의 성능을 나타낸다.
도 6 은 도 5a 및 5b의 성능 결과를 얻기 위하여 검증된 서명 및 서명된 메세지를 도시하는 챠트이다.
도 7a∼11d 는 공개 키, 비밀 키, 서명, 및 도 5a 및 5b 의 성능 결과들을 얻기 위해 사용된 예들에서의 비밀 키 암호화 시스템들 각각에 대한 서명 발생 파라미터 k를 도시하는 챠트들이다. 상기 타이밍 결과들은 10 개의 다른 대표 메세지들에 대한 결과들을 평균함으로써 발생되었다. 실제로, 상기 서명 발생 파라미터는 양측간에 교환되지 않는다. 결과들이 간편하게 재생되도록 하기 위해 여기에 포함되었다.
상기 암호화 체계에 대해, g 및 y 의 값들은 F(p)에 걸친 기초 αi,1≤i≤t'에서 주어진다. 다른 모든 기술들에 있어서, 상기 값들은 십진수로 표현된다.
상기 예들을 비교해 보면, 암호화 체계(도 7d, 8d, 9d, 10d, 11d)가 가장 짧은 값들을 사용하는 반면, 상기 엘가말 체계(도 7a, 8a, 9a, 10a, 11a)은 가장 긴 값들을 사용함을 알수 있을 것이다. 더욱이, 도 5a 및 5b 의 "A" 에서 "E"경우로 가면서 데이터 보안이 증가함에 따라, 모든 기술들에서의 값들의 길이는 증가한다.
도 12는 암호화 기술이 구현될 수 있는 환경의 블록 다이어그램을 도시한다. 범용 컴퓨터(10)는 암호 처리기(11), 통신 인터페이스(12), 메인 처리기(13), 메모리(14), 통신 버스(15), 및 통신 라인(16)을 포함한다. 메모리(14)는 RAM, ROM, 자기 디스크, 광디스크, 또는 다른 종류의 기록 매체와 같은 것이다. 통신 라인(16)은 일반 전선, RF 무선 라인, 광통신용 라인, 또는 다른 종류의 통신 매체일 수 있다. 스마트 카드(20)는 처리기(21), 메모리(22), 통신 인터페이스(23), 통신 버스(24), 및 통신 라인(25)를 포함한다. 범용 컴퓨터(10) 및 스마트 카드(20)는 통신 채널(30)로 연결된다. 중앙 설비(40)는 또한 통신 라인(41)을 통해 통신 채널(30)에 연결된다. 중앙 설비(40)는 범용 컴퓨터(10) 및 스마트 카드(20)와 같은, 암호화 기술을 적용하기 위한 적절한 처리용 하드웨어 및 소프트 웨어를 포함한다.
범용 컴퓨터(10)는, 암호화 기술에 따라 동작하기 위해 충분한 메모리를 포함하는 암호화 처리기(11)로 메인 처리기(13)에 의해 향해지는 콜(call)들을 포함하는 메모리(14)에 저장된 소프트웨어를 실행시킨다.
스마트 카드(20)는 상기 암호화 기술에 따라 메모리(22)에 저장된 소프트 웨어를 실행한다.
중앙 설비(40)는 글로벌 정보를 발생시키고 암호화 기술을 사용하여 모든 당사자들에게 상기 정보를 분배하는 역할을 한다. 글로벌 정보의 예는 도 4e 의 단계 600에 도시된 글로벌 공개 키이다.
본 발명의 다양한 실시예 및 변형들이 도면과 함께 본 명세서에서 기술되었지만, 본 발명은 상기 기술된 실시예 및 변형들에 한정되지 않으며, 당업자에 의해 본 명세서에 기술된 발명의 범위내에서 다양한 변화와 변형예들이 실시될 수 있음은 자명한 사실이다.

Claims (25)

  1. 공개 키 암호시스템용 공개 키 및 비밀 키를 결정하기 위한 방법에 있어서,
    제 1소수를 선택하는 단계;
    제 1 소수에서 평가된 원분 다항식을 구하는 단계;
    상기 제 1소수에서 평가된 원분 다항식의 인자인 제 2 소수를 구하는 단계;
    유한 필드의 승산 그룹의 서브그룹의 생성자를 검색하는 단계를 포함하는데, 상기 서브그룹의 차수는 제 2소수이며;
    생성자를 기초로한 공개값 및 선택된 정수를 구하는 단계;
    상기 제 1 및 제 2 소수, 생성자 및 공개값을 포함하도록 공개 키를 형성하는 단계; 및
    상기 선택된 정수를 포함하도록 비밀 키를 형성하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서, 최적 정규기로 유한 필드를 나타내는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서, 상기 제 2소수 q는 (log2q)+1≒B를 만족하며, B는 소정수의 비트인 것을 특징으로 하는 방법.
  4. 제 1항에 있어서, 제어정수 t'을 선택하는 단계를 더 포함하며, 상기 원분 다항식은 t'차 원분 다항식이며, 공개 키는 제어정수 t'를 포함하는 것을 특징으로 하는 방법.
  5. 메세지에 대한 디지털 서명을 발생하는 방법에 있어서,
    제 1소수를 선택하는 단계;
    상기 제 1소수에서 평가된 원분 다항식을 구하는 단계;
    상기 제 1소수에서 평가된 원분 다항식의 인자인 제 2 소수를 구하는 단계;
    유한 필드의 승산 그룹이 서브그룹의 생성자를 검색하는 단계를 포함하는데, 상기 서브그룹의 차수는 제 2소수이며;
    상기 생성자를 기초로한 공개값과 제 1정수를 구하는 단계;
    제 2정수를 선택하는 단계;
    상기 제 2정수 및 생성자를 기초로한 제 1서명값을 구하는 단계;
    제 1서명값 및 메세지를 기초로한 제 2 서명값을 구하는 단계; 및
    상기 제 1 및 제 2 서명값을 포함하도록 디지털 서명을 형성하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제 5항에 있어서, 최적 정규기로 유한 필드를 나타내는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제 5항에 있어서, 상기 제 2소수 q는 (log2q)+1≒B를 만족하며, B는 소정수의 비트인 것을 특징으로 하는 방법.
  8. 제 5항에 있어서, 제어정수 t'을 선택하는 단계를 더 포함하며, 상기 원분 다항식은 t'차 원분 다항식인 것을 특징으로 하는 방법.
  9. 제 5항에 있어서, 상기 제 1서명값은 제 2정수의 누승한 생성자의 바이젝션을 기초로하는 것을 특징으로 하는 방법.
  10. 제 5항에 있어서, 상기 제 2정수값은 상기 제 1정수값과 메세지의 암호 해싱과 결합하는 것을 기초로하는 것을 특징으로 하는 방법.
  11. 청구항 5항의 방법에 따라 형성되는 메세지에 대한 디지털 서명을 검증하는 방법에 있어서,
    제 2서명값의 역수인 반정수를 검색하는 단계;
    상기 반정수 및 메세지를 기초로 제 1중간값을 검색하는 단계;
    상기 반정수 및 제 1서명값을 기초로 제 2 중간값을 검색하는 단계;
    생성자, 공개값, 및 제 1 및 제 2중간값을 기초로 제 3중간값을 검색하는 단계; 및
    상기 제 3중간값이 제 1서명값과 동일한 경우에 서명이 유효한 것을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제 11항에 있어서, 상기 제 3중간값은 제 1중간값의 누승된 생성자의 바이벡션과 제 2중간값의 누승된 공개값을 곱한 것을 특징으로 하는 방법.
  13. 공개 키 암호시스템에 대한 공유 키를 결정하는 방법에 있어서,
    제 1소수를 선택하는 단계;
    상기 제 1소수에서 평가된 원분 다항식을 구하는 단계;
    상기 제 1소수에서 평가된 원분 다항식의 인자인 제 2소수를 구하는 단계;
    유한 필드의 승산 그룹의 서브그룹의 생성자를 검색하는 단계를 포함하는데, 상기 서브그룹의 차수는 제 2소수이며;
    정수를 선택하는 단계;
    생성자를 기초로하는 중간값을 수신하는 단계; 및
    중간값 및 정수의 함수로서 공유 키를 형성하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제 13항에 있어서, 최적 정규기로 유한 필드를 나타내는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제 13항에 있어서, 생성자 및 정수를 기초로 중간값을 결정하는 단계, 및 공유 키를 공유하는 당사자에게 제 2중간값을 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 메세지의 보안 통신을 위한 방법에 있어서,
    제 1소수를 선택하는 단계;
    상기 제 1소수에서 평가된 원분 다항식을 구하는 단계;
    상기 제 1소수에서 평가된 원분 다항식의 인자인 제 2소수를 구하는 단계;
    유한 필드의 승산 그룹의 서브그룹의 생성자를 검색하는 단계를 포함하는데, 상기 서브그룹의 차수는 제 2소수이며;
    정수를 선택하는 단계;
    생성자를 기초로하는 중간값을 수신하는 단계;
    중간값 및 정수의 함수로서 공유 키를 형성하는 단계; 및
    공유 키를 이용하여 메세지를 암호화하는 단계를 포함하는 것을 특징으로 하는 방법.
  17. 제 16항에 있어서, 최적 정규기로 유한 필드를 나타내는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. 메세지의 보안 통신을 위한 방법에 있어서,
    중간값과 선택된 정수의 함수로서 형성된 공유 키를 이용하여 암호화된 메세지를 수신하는 단계를 포함하는데, 상기 중간값은 유한 필드의 승산 그룹의 서브그룹의 생성자를 기초로하고, 상기 서브그룹의 차수는 제 1소수에서 평가된 원분 다항식의 인자인 제 2 소수이며; 및
    공유 키를 이용하여 상기 암호화된 메세지를 해독하는 단계를 포함하는 것을 특징으로 하는 방법.
  19. 메세지의 보안 통신을 위한 방법에 있어서,
    제 1소수를 선택하는 단계;
    상기 제 1소수에서 평가된 원분 다항식을 구하는 단계;
    상기 제 1소수에서 평가된 원분 다항식의 인자인 제 2소수를 구하는 단계;
    유한 필드의 승산 그룹의 서브그룹의 생성자를 검색하는 단계를 포함하는데, 상기 서브그룹의 차수는 제 2소수이며;
    생성자 및 제 1정수를 기초로 공개값을 구하는 단계;
    정수를 선택하는 단계;
    생성자 및 제 2정수를 기초로 제 1암호화된 값을 검색하는 단계;
    메세지, 공개값 및 제 2정수를 기초로 제 2암호화된 값을 검색하는 단계; 및
    상기 제 1 및 제 2암호화된 값으로부터 암호화된 메세지를 형성하는 단계를 포함하는 것을 특징으로 하는 방법.
  20. 제 19항에 있어서, 최적 정규기로 유한 필드를 나타내는 단계를 더 포함하는 것을 특징으로 하는 방법.
  21. 메세지의 보안 통신을 위한 방법에 있어서,
    제 1암호화된 값 및 제 2암호화된 값으로 형성된 암호화된 메세지를 수신하는 단계를 포함하는데, 상기 제 1암호화된 값은 유한 필드의 승산 그룹의 서브그룹의 생성자 및 정수를 기초로하며, 상기 서브그룹의 차수는 제 1소수에서 평가된 원분 다항식의 인자인 제 2소수이고, 상기 제 2 암호화된 값은 메세지를 기초로하고, 제 1 정수 및 공개값은 생성자와 제 2정수를 기초로하며;
    제 1암호화된 값과 비밀 키를 기초로 제 1중간값을 검색하는 단계를 포함하는데, 상기 비밀 키는 생성자를 기초로하며; 및
    상기 제 2 암호화된 값과 제 1중간값을 기초로 암호화된 메세지를 해독하는 단계를 포함하는 것을 특징으로 하는 방법.
  22. 공개 키 암호시스템에 대한 공개 키 및 비밀 키를 결정하는 장치에 있어서,
    제 1소수를 선택하는 수단;
    상기 제 1소수에서 평가된 원분 다항식을 구하는 수단;
    상기 제 1소수에서 평가된 원분 다항식의 인자인 제 2소수를 구하는 수단;
    유한 필드의 승산 그룹의 서브그룹의 생성자를 검색하는 수단을 포함하는데, 상기 서브그룹의 차수는 제 2소수이며;
    생성자 및 선택된 정수를 기초로 공개값을 구하는 수단;
    상기 제1 및 제 2 소수, 생성자 및 공개값을 포함하도록 공개 키를 형성하는 수단; 및
    선택된 정수를 포함하도록 비밀 키를 형성하는 수단을 포함하는 것을 특징으로 하는 장치.
  23. 제 22항에 있어서, 최적 정규기로 유한 필드를 나타내는 수단을 더 포함하는 것을 특징으로 하는 장치.
  24. 제 22항에 있어서, 상기 제 2소수 q는 (log2q)+1≒B를 만족하며, B는 소정수의 비트인 것을 특징으로 하는 장치.
  25. 제 22항에 있어서, 제어정수 t'을 선택하는 수단을 더 포함하며, 상기 원분 다항식은 t'차 원분 다항식이며, 공개 키는 제어정수 t'를 포함하는 것을 특징으로 하는 장치.
KR1019997007364A 1997-02-14 1997-09-26 유한 필드상의 이산 대수 암호시스템의 원분 다항식 구조 KR20000071078A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US80066997A 1997-02-14 1997-02-14
US8/800,669 1997-02-14

Publications (1)

Publication Number Publication Date
KR20000071078A true KR20000071078A (ko) 2000-11-25

Family

ID=25179039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997007364A KR20000071078A (ko) 1997-02-14 1997-09-26 유한 필드상의 이산 대수 암호시스템의 원분 다항식 구조

Country Status (10)

Country Link
US (1) US6665405B1 (ko)
EP (1) EP0963635B1 (ko)
JP (1) JP2001511912A (ko)
KR (1) KR20000071078A (ko)
CN (2) CN101087195A (ko)
AT (1) ATE246418T1 (ko)
AU (1) AU719462B2 (ko)
CA (1) CA2280775C (ko)
DE (1) DE69723872D1 (ko)
WO (1) WO1998036526A1 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7239226B2 (en) 2001-07-10 2007-07-03 American Express Travel Related Services Company, Inc. System and method for payment using radio frequency identification in contact and contactless transactions
US7837116B2 (en) 1999-09-07 2010-11-23 American Express Travel Related Services Company, Inc. Transaction card
US7889052B2 (en) 2001-07-10 2011-02-15 Xatra Fund Mx, Llc Authorizing payment subsequent to RF transactions
US8429041B2 (en) 2003-05-09 2013-04-23 American Express Travel Related Services Company, Inc. Systems and methods for managing account information lifecycles
US8543423B2 (en) 2002-07-16 2013-09-24 American Express Travel Related Services Company, Inc. Method and apparatus for enrolling with multiple transaction environments
US7172112B2 (en) 2000-01-21 2007-02-06 American Express Travel Related Services Company, Inc. Public/private dual card system and method
AU2001243473A1 (en) 2000-03-07 2001-09-17 American Express Travel Related Services Company, Inc. System for facilitating a transaction
US7725427B2 (en) 2001-05-25 2010-05-25 Fred Bishop Recurrent billing maintenance with radio frequency payment devices
US7650314B1 (en) 2001-05-25 2010-01-19 American Express Travel Related Services Company, Inc. System and method for securing a recurrent billing transaction
US8960535B2 (en) 2001-07-10 2015-02-24 Iii Holdings 1, Llc Method and system for resource management and evaluation
US7762457B2 (en) 2001-07-10 2010-07-27 American Express Travel Related Services Company, Inc. System and method for dynamic fob synchronization and personalization
US8635131B1 (en) 2001-07-10 2014-01-21 American Express Travel Related Services Company, Inc. System and method for managing a transaction protocol
US7705732B2 (en) 2001-07-10 2010-04-27 Fred Bishop Authenticating an RF transaction using a transaction counter
US7668750B2 (en) 2001-07-10 2010-02-23 David S Bonalle Securing RF transactions using a transactions counter
US7746215B1 (en) 2001-07-10 2010-06-29 Fred Bishop RF transactions using a wireless reader grid
US7827106B2 (en) 2001-07-10 2010-11-02 American Express Travel Related Services Company, Inc. System and method for manufacturing a punch-out RFID transaction device
US8294552B2 (en) 2001-07-10 2012-10-23 Xatra Fund Mx, Llc Facial scan biometrics on a payment device
US8548927B2 (en) 2001-07-10 2013-10-01 Xatra Fund Mx, Llc Biometric registration for facilitating an RF transaction
US7805378B2 (en) 2001-07-10 2010-09-28 American Express Travel Related Servicex Company, Inc. System and method for encoding information in magnetic stripe format for use in radio frequency identification transactions
US8538863B1 (en) 2001-07-10 2013-09-17 American Express Travel Related Services Company, Inc. System and method for facilitating a transaction using a revolving use account associated with a primary account
US9024719B1 (en) 2001-07-10 2015-05-05 Xatra Fund Mx, Llc RF transaction system and method for storing user personal data
US7119659B2 (en) 2001-07-10 2006-10-10 American Express Travel Related Services Company, Inc. Systems and methods for providing a RF transaction device for use in a private label transaction
US7996324B2 (en) 2001-07-10 2011-08-09 American Express Travel Related Services Company, Inc. Systems and methods for managing multiple accounts on a RF transaction device using secondary identification indicia
US7360689B2 (en) 2001-07-10 2008-04-22 American Express Travel Related Services Company, Inc. Method and system for proffering multiple biometrics for use with a FOB
US7303120B2 (en) 2001-07-10 2007-12-04 American Express Travel Related Services Company, Inc. System for biometric security using a FOB
US7493288B2 (en) 2001-07-10 2009-02-17 Xatra Fund Mx, Llc RF payment via a mobile device
US20040236699A1 (en) 2001-07-10 2004-11-25 American Express Travel Related Services Company, Inc. Method and system for hand geometry recognition biometrics on a fob
US8001054B1 (en) 2001-07-10 2011-08-16 American Express Travel Related Services Company, Inc. System and method for generating an unpredictable number using a seeded algorithm
US9031880B2 (en) 2001-07-10 2015-05-12 Iii Holdings 1, Llc Systems and methods for non-traditional payment using biometric data
US9454752B2 (en) 2001-07-10 2016-09-27 Chartoleaux Kg Limited Liability Company Reload protocol at a transaction processing entity
US8279042B2 (en) 2001-07-10 2012-10-02 Xatra Fund Mx, Llc Iris scan biometrics on a payment device
US7249112B2 (en) 2002-07-09 2007-07-24 American Express Travel Related Services Company, Inc. System and method for assigning a funding source for a radio frequency identification device
US7503480B2 (en) 2001-07-10 2009-03-17 American Express Travel Related Services Company, Inc. Method and system for tracking user performance
US7925535B2 (en) 2001-07-10 2011-04-12 American Express Travel Related Services Company, Inc. System and method for securing RF transactions using a radio frequency identification device including a random number generator
US7281132B2 (en) * 2001-10-19 2007-10-09 Sun Microsystems, Inc. Using token-based signing to install unsigned binaries
GB2391772B (en) * 2002-08-10 2005-05-11 Clive Neil Galley Public-key cryptosystem
US6805287B2 (en) 2002-09-12 2004-10-19 American Express Travel Related Services Company, Inc. System and method for converting a stored value card to a credit card
CA2566830A1 (en) 2003-02-04 2004-08-19 Canonline Global Media, Inc. Method and apparatus for converting objects between weakly and strongly typed programming frameworks
US7590236B1 (en) * 2004-06-04 2009-09-15 Voltage Security, Inc. Identity-based-encryption system
US7318550B2 (en) 2004-07-01 2008-01-15 American Express Travel Related Services Company, Inc. Biometric safeguard method for use with a smartcard
WO2006020238A2 (en) * 2004-07-16 2006-02-23 Ns8 Corporation Method and system for managing the use of electronic works
CN1773905B (zh) * 2004-11-10 2010-08-18 日电(中国)有限公司 在安全通信系统中生成匿名公钥的方法、设备和系统
JP5690465B2 (ja) * 2004-11-11 2015-03-25 サーティコム コーポレーション カスタム静的ディフィ−ヘルマン(Diffie−Hellman)群
JP4548223B2 (ja) * 2005-05-27 2010-09-22 日本電気株式会社 擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システム及び方法
JP5251520B2 (ja) * 2007-02-02 2013-07-31 日本電気株式会社 分散情報生成装置、復元装置、復元結果検証装置、秘密情報分散システム、方法およびプログラム
CN101008937B (zh) * 2007-02-06 2010-05-19 中国科学院研究生院 提高有限域上乘法以及大矩阵消元的计算速度的方法
US8707042B2 (en) * 2008-08-28 2014-04-22 Red Hat, Inc. Sharing keys between cooperating parties
US8200616B2 (en) * 2008-12-31 2012-06-12 Nokia Corporation Method, apparatus, and computer program product for polynomial-based data transformation and utilization
CN102043606B (zh) * 2009-10-20 2013-07-03 瑞昱半导体股份有限公司 处理有限域运算的方法与运算电路
KR101350987B1 (ko) * 2011-10-31 2014-01-16 삼성에스디에스 주식회사 이산 대수 계산을 위한 분산 처리 시스템 및 방법
US20160149708A1 (en) * 2013-07-12 2016-05-26 Koninklijke Philips N.V. Electronic signature system
JP6413598B2 (ja) * 2014-10-10 2018-10-31 富士通株式会社 暗号処理方法、暗号処理装置、及び暗号処理プログラム
US10129026B2 (en) * 2016-05-03 2018-11-13 Certicom Corp. Method and system for cheon resistant static diffie-hellman security
US10951404B1 (en) * 2020-06-09 2021-03-16 Quantropi Inc. Methods and systems for digital message encoding and signing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3963905A (en) * 1974-09-11 1976-06-15 Bell Telephone Laboratories, Incorporated Periodic sequence generators using ordinary arithmetic
GB9510035D0 (en) * 1995-05-18 1995-08-02 Cryptech Systems Inc Strengthened public key protocols
US9836526B2 (en) * 2013-12-17 2017-12-05 International Business Machines Corporation Selecting a structure to represent tabular information

Also Published As

Publication number Publication date
DE69723872D1 (de) 2003-09-04
EP0963635B1 (en) 2003-07-30
CA2280775C (en) 2002-11-19
CN101087195A (zh) 2007-12-12
EP0963635A1 (en) 1999-12-15
AU719462B2 (en) 2000-05-11
CN1326351C (zh) 2007-07-11
US6665405B1 (en) 2003-12-16
WO1998036526A1 (en) 1998-08-20
AU4653097A (en) 1998-09-08
JP2001511912A (ja) 2001-08-14
CA2280775A1 (en) 1998-08-20
CN1251715A (zh) 2000-04-26
ATE246418T1 (de) 2003-08-15

Similar Documents

Publication Publication Date Title
KR20000071078A (ko) 유한 필드상의 이산 대수 암호시스템의 원분 다항식 구조
US6411715B1 (en) Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US6049610A (en) Method and apparatus for digital signature authentication
EP0997016B1 (en) Method and apparatus for fast elliptical encryption with direct embedding
US5799088A (en) Non-deterministic public key encrypton system
US6154541A (en) Method and apparatus for a robust high-speed cryptosystem
US7236589B2 (en) Device for point compression for Jacobians of hyperelliptic curves
US6480605B1 (en) Encryption and decryption devices for public-key cryptosystems and recording medium with their processing programs recorded thereon
US8184803B2 (en) Hash functions using elliptic curve cryptography
EP1528705B1 (en) Use of isogenies for design of cryptosystems
EP0946018B1 (en) Scheme for fast realization of a decryption or an authentication
US7912216B2 (en) Elliptic curve cryptosystem optimization using two phase key generation
JP4137385B2 (ja) 公開鍵および秘密鍵による暗号化方法
CA2470422C (en) Method and apparatus for exponentiation in an rsa cryptosystem
AU7659598A (en) Pseudo-random generator based on a hash coding function for cryptographic systems requiring random drawing
JP3706398B2 (ja) 楕円曲線による署名、認証及び秘密通信方式
Rabah Security of the Cryptographic Protocols Based on Discrete Logarithm Problem
AU2771500A (en) Cyclotomic polynominal construction of discrete logarithm cryptosystems over finite fields
MXPA99007515A (en) Cyclotomic polynomial construction of discrete logarithm cryptosystems over finite fields
Leprévost Public-Key Cryptography: An Overview of some Algorithms

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid