KR20040013152A - 공개키를 이용하여 암호화 작업을 실행하는 방법 - Google Patents

공개키를 이용하여 암호화 작업을 실행하는 방법 Download PDF

Info

Publication number
KR20040013152A
KR20040013152A KR10-2004-7000800A KR20047000800A KR20040013152A KR 20040013152 A KR20040013152 A KR 20040013152A KR 20047000800 A KR20047000800 A KR 20047000800A KR 20040013152 A KR20040013152 A KR 20040013152A
Authority
KR
South Korea
Prior art keywords
integer
entity
public key
digital processing
signature
Prior art date
Application number
KR10-2004-7000800A
Other languages
English (en)
Other versions
KR100899020B1 (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 프랑스 텔레콤
Publication of KR20040013152A publication Critical patent/KR20040013152A/ko
Application granted granted Critical
Publication of KR100899020B1 publication Critical patent/KR100899020B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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/3249Cryptographic 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 RSA or related signature schemes, e.g. Rabin scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • 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/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 공개키를 이용하여 암호화 작업을 실행하는 방법에 관한 것이다. 상기 독창적인 방법은 메시지 인증, 신원확인 또는 전자 서명 메커니즘을 통합한 보안 전자 트랜잭션에서, 상기 엔티티(B)로 구성된 상기 검증자의 계산상의 부하를 경감시키는데 이용될 수 있다. 상기 방법은 상기 검증자의 상기 검증 단계에서 얻은 확신 레벨을 감소시킴이 없이, 반드시 신뢰할 수 있지 않아도 되는, 외부 엔티티(C)에게 이 계산들의 일부를 위임하는 것으로 이루어진다. 더 특정하게는, 상기 방법은 상기 검증 작업을 적어도 단계(6, 15)가 상기 외부 엔티티(C)에 의해 실행될 수 있도록 적어도 2개의 단계(6, 15) 및 (8, 17)로 분리하는 것으로 이루어진다. 특히, 상기 방법은 RSA(Rivest, Shamir, Adleman) 전자 서명 시스템 및 이산 대수에 기초한 어떠한 메시지 인증 프로토콜들에 적용될 수 있다.

Description

공개키를 이용하여 암호화 작업을 실행하는 방법{METHOD OF CARRYING OUT A CRYPTOGRAPHIC TASK USING A PUBLIC KEY}
소위 영 지식(zero knowledge) 암호화 방법들에서, 검증된 방식으로 그리고 과학 공동체에 의해 완전히 합당한 것으로 인정된다는 가정하에서, 상기 개인키에 대해 어떤 것도 누설하지 않는 프로토콜에 따라 검증이 진행된다.
본 발명이 적용되는 공지된 방법들 중에는, RSA(Rivest, Shamir, Adleman) 알고리즘 또는 소위 이산 대수 문제(discrete logarithm problem)에 기초한 방법들이 언급될 수 있다.
공개키 암호화는 예를 들면, 은행 카드 또는 전자 지갑에 의한 전자 지불에 특히 유용하다. 근접 지불의 경우, 지불 단말기는 공공장소에 동시에 위치해야 하기 때문에 공개키 암호화 방법들의 이용을 촉구하고, 값이 싸야 하기 때문에 한정된 계산 능력을 갖는 칩들의 이용을 촉구한다. 온라인 지불의 경우, 거래자의 서버 또는 지불 서버(또는 중개 서버)는 어느 때라도 다수의 검증들을 동시에 실행하지 않으면 안된다. 두 경우들에서, 검증 작업 즉, 공개키를 이용한 암호화 작업을 경감시킬 수 있는 해결책을 찾는 것이 바람직하다.
공지된 방식에서, 공개키 암호화는 매우 큰 정수들의 처리로부터 역함수를검색함에 있어서 정수 이론에 따른 어려움에 근거한다. 이것의 결점으로는, 충분한 보안성을 보증하기 위해서는 상기 공개키의 이용이 일반적으로 동작들이 대응하는 수량으로 계산 자원을 소비하는 상당량의 곱셈들 및 큰 수에 의한 상당량의 유클리드 나눗셈들을 필요로 한다는 점이다.
상기 검증자의 더 많거나 더 적은 작업 부하의 평가와 같은 다양한 평가 기준에 따라 검증 레벨의 변조를 상상할 수 있다. 이러한 해결책이 갖는 문제점은 이러한 검증에 따른 확신이 동일한 비율로 변조된다는 점이다. 그러나, 어떤 적용들은 상기 검증에 대한 강한 확신을 따르는 능력을 필요로 한다.
본 발명은 암호화 분야에 관한 것이다. 암호화는 2 또는 그 이상의 엔티티들 간의 트랜잭션들의 보안에 적용된다. 이러한 적용들 중에는 메시지 암호화, 신원확인, 전자서명 또는 그 밖의 메시지 인증 방법들에서 찾아볼 수 있다. 암호화 방법은 본질적으로 오직 수신자만이 암호를 해독하여 그것을 읽을 수 있는 방식으로 메시지를 암호화하는 것으로 이루어진다. 신원확인 방법은 본질적으로 송신 엔티티의 식별자를 검증하는 것으로 이루어진다. 전자서명 방법은 본질적으로 메시지가 그것을 발생시킨 엔티티에 의해 서명된 것임을 검증하는 것으로 이루어진다. 메시지 인증 방법은 본질적으로 수신된 메시지가 공지된 식별자의 송신 엔티티에 의해 실제로 전송되었음을 검증하는 것으로 이루어진다.
더 정확하게는, 본 발명은 소위 공개키 암호화 분야에 관한 것이다. 암호화 방법들은 예를 들면, 제 1 엔티티(종종 프로버(prover)라고도 칭해짐)가 은밀하게 공개키가 조합되어 있는 개인키에 의하여 제 1 디지털 동작들을 수행함에 있어서 공지되어 있다. 이들 동작들의 하나 또는 그 이상의 결과들이 제 2 엔티티(종종 검증자(verifier)라고도 칭해짐)에 전송된다. 그 다음, 상기 검증자는 상기 공개키에 의하여 상기 제 1 동작들이 실제로 상기 개인키에 의하여 실행되었음을 검증하는제 2 동작들을 실행한다. 이 방법들은 서명 또는 메시지 인증에 유용하거나 혹은 상기 제 1 엔티티의 인증에 유용하며, 후자의 경우 식별이라 일컬어진다. 반대로, 상기 제 2 엔티티가 상기 공개키에 의하여 메시지를 암호화함으로써 시작하는 암호화 방법들이 또한 공지되어 있다. 그러면, 관련 개인키를 보유한 상기 제 1 엔티티만이 상기 메시지를 암호해독할 수 있다.
본 발명의 다른 세부사항들 및 장점들은 첨부 도면들을 참조로 한 상세한 설명이 뒤따르는 실시예들로부터 더 잘 이해할 수 있을 것이다.
도 1은 전자 서명 방법에 대한 본 발명의 일 실시예를 도시하고;
도 2 내지 도 4는 신원확인 방법에 대한 본 발명의 실시예들을 도시하고;
도 5는 인증 방법에 대한 본 발명의 일 실시예를 도시한다.
본 발명의 제 1 목적은 비록 송신 엔티티의 인증 또는 이 엔티티에 의해 전송된 데이터에 관한 후자의 확신 레벨을 줄이지 않더라도, 실행될 계산량을 줄임으로써 검증 프로토콜들에서 상기 검증자의 작업을 명백하게 하는 것이다.
본 발명의 제 2 목적은 한정된 계산 능력을 갖는 마이크로회로들에 의한 감소된 시간안에 트랜잭션들을 수행할 수 있게 하는 것이다.
이렇게 하기 위해서, 본 발명은 개인키를 부여받은 제 1 엔티티와 제 2 엔티티 간에 교환된 적어도 하나의 디지털 데이터 아이템에 대해 공개키에 의하여 암호화 작업을 실행하는 방법에 관한 것이다. 본 발명은 상기 암호화 작업이
상기 데이터 아이템을 상기 공개키의 전체 또는 부분에 의하여 개방 디지털 처리(open digital processing)하여 상기 데이터 아이템의 부분적인 이미지를 획득하는 중재 엔티티에 의해 수행되는 제 1 단계와;
상기 부분적인 이미지를 상기 공개키의 전체 또는 부분에 의하여 공개 디지털 처리(public digital processing)하여 상기 데이터 아이템에 대한 상기 암호화 작업을 완료하는 상기 제 2 엔티티에 의해 수행되는 제 2 단계의 적어도 2개의 단계들로 분리된다.
이러한 방법은 상기 제 2 엔티티로 구성되는 상기 검증자로 하여금 상기 검증자에게 이용가능한 것보다 더 많은 계산 수단을 부여받거나 상기 검증자에 비해 거의 트랜잭션들에 참여하지 않는 상기 중재 엔티티에 그의 부분을 위임함으로써 자신의 작업부하를 줄일 수 있게 해준다.
상기 디지털 처리는 그것이 자유롭게 액세스가능하다는 점에서 개방적이다. 상기 중재 엔티티는 후자의 엔티티가 상기 공개키에 의한 암호화 작업에 오직 부분적으로만 개입하기 때문에 상기 검증자가 관계하는 한 반드시 신뢰할 수 있는 엔티티일 필요는 없으며, 상기 중재 엔티티가 부분 이미지를 변조시키고 상기 제 2 엔티티가 암호화 작업을 종료시켰더라면 상기 중재 엔티티는 상기 암호화 작업을 실패로 이끌었을 것이다. 상기 암호화 작업이 검증일 때, 이 암호화 작업은 상기 검증이 승인되는지 혹은 거절되는지에 따라서 "예" 혹은 "아니오"로 끝낸다. 이 경우, 상기 중재 엔티티는 "아니오"를 "예"로 변환할 수 없다. 상기 중재 엔티티에 의한 교환들은 개방계(open world) 내에서 이루어질 수 있는데, 그 이유는 상기 제 1 단계가 상기 공개키의 전체 또는 부분에 의하여 수행되고, 상기 개방 디비털 처리를 거친 데이터 아이템은 상기 제 1 엔티티에 의해 보안 디지털 처리(secret digital processing)를 또한 거치기 때문이다.
장점적으로, 상기 방법은 상기 중재 엔티티는 상기 제 2 엔티티가 존재하는 물리적 어플라이언스(physical appliance)와 별개의 물리적 어플라이언스에 존재하는 것을 특징으로 한다.
그 다음, 상기 제 2 엔티티는 상기 중재 엔티티를 호스팅하는 임의의 강력한 컴퓨팅 어플라이언스(computing appliance)에 상기 제 1 엔티티로부터 수신된 데이터 아이템을 재전송할 수 있다. 상기 컴퓨팅 어플라이언스는 상기 제 2 엔티티에 상기 부분 이미지를 리턴한다. 개방 네트워크에서, 상기 중재 엔티티는 상기 제 1 엔티티로부터 직접 상기 데이터 아이템을 수신하는 델리게이트 서버(delegated server)(프록시 서버)에서 호스트팅된다.
장점적으로 또한, 상기 제 2 엔티티가 여러개의 제 1 엔티티들에 대하여 여러가지 암호화 작업들을 수행하는데 적용될 때, 상기 방법은 상기 중재 엔티티가 상기 제 1 엔티티가 존재하는 물리적 어플라이언스에 존재한다는 점을 특징으로 한다.
보안 특성들을 손상시킴이 없이 상기 검증자로부터 상기 프로버로의 작업 부하 부분의 전송은 초기 프로토콜의 특정한 변형을 특정하게 된다.
보다 특별하게는, 상기 방법은 상기 암호화 작업이 상기 제 2 엔티티에 의한 상기 제 1 엔티티의 신원확인으로 이루어지는 것에 특징이 있는 것으로, 상기 디지털 데이터 아이템은 제 1 정수이고, 상기 제 1 정수는 상기 제 1 엔티티에서 보안 디지털 처리를 거쳐서 제 2 정수를 제공하여 이를 제 2 엔티티에 전송하고, 상기 개인키 및 상기 제 2 정수를 수신한 상기 제 2 엔티티로부터 수신된 제 3 정수에의하여, 제 4 정수를 제공하며,
상기 개방 디지털 처리는 본질적으로 상기 제 4 정수를 상기 공개키의 제 1 부분에 의하여 제 5 정수로 변환하는 것으로 이루어지고;
상기 공개 디지털 처리는 본질적으로, 그 값이 상기 제 2 정수와 동일할 때 상기 제 1 엔티티의 신원확인이 정상인 것으로 결론짓는 값을 획득하기 위하여 상기 공개키의 제 2 부분에 의하여 상기 제 5 정수를 변환하는 것으로 이루어지는 것을 특징으로 한다.
다른 한편으로, 상기 방법은 특히 상기 암호화 작업이 전자 서명의 검증으로 이루어지는 것에 특징이 있는 것으로, 상기 디지털 데이터 아이템은 숫자이고, 이 숫자는 상기 제 1 엔티티가 상기 개인키에 의하여 서명을 제공하는 보안 디지털 처리를 거치고,
상기 개방 디지털 처리는 본질적으로 상기 공개키의 제 1 부분에 의하여 상기 서명을 서명 부분 이미지로 변환하는 것으로 이루어지고;
상기 공개 디지털 처리는 본질적으로, 그 값이 상기 숫자와 동일할 때 유효 서명인 것으로 결론짓는 값을 획득하기 위하여 상기 공개키의 제 2 부분에 의하여 상기 서명 부분 이미지를 변환하는 것으로 이루어지는 것을 특징으로 한다.
다른 한편으로, 상기 방법은 특히 상기 암호화 작업이 상기 제 1 엔티티에 의해 전송된 메시지에 대한 상기 제 2 엔티티의 메시지 인증으로 이루어지는 것에 특징이 있는 것으로, 상기 디지털 데이터 아이템은 제 1 정수이고, 상기 제 1 정수는 상기 제 1 엔티티에서 보안 디지털 처리를 거쳐서 제 2 정수를 제공하고, 상기제 2 정수는 제 3 정수를 획득하기 위하여 상기 메시지와 결합하여 해시 함수(hash function)를 거치며, 상기 메시지 및 상기 제 3 정수는 제 2 엔티티에 전송되고, 상기 제 1 정수는 상기 개인키 및 상기 제 3 정수를 수신한 상기 제 2 엔티티로부터 수신된 제 4 정수에 의하여 상기 제 1 엔티티에서 보안 디지털 처리를 거쳐서 제 5 정수를 제공하고,
상기 개방 디지털 처리는 본질적으로 상기 공개키의 전체 또는 부분에 의하여 상기 제 5 정수를 제 6 정수로 변환하는 것으로 이루어지고;
상기 공개 디지털 처리는 본질적으로, 제 1 값을 획득하기 위하여 상기 공개키의 전체 또는 부분에 의하여 상기 제 6 정수를 변환하는 것으로 이루어지며, 상기 제 1 값은 상기 메시지와 결합하여 해시 함수를 거쳐서 제 2 값을 제공하고, 상기 제 2 값은 상기 제 2 값이 상기 제 3 정수와 동일할 때 유효 메시지 인증인 것으로 결론지어지는 것을 특징으로 한다.
도 1은 전자 서명 방법에 대한 본 발명의 제 1 실시예를 도시한다. 상기 전자 서명 방법은 예를 들면, Rivest, Shamir 및 Adleman에 의해 기술된 RSA 서명 알고리즘("A method for obtaining digital signatures and public-key cryptosystems", CACM, Vol.21, No.2, 1978년 2월, pp.120-126)을 이용한다. 공지된 방식에서, 상기 RSA 알고리즘은 한쌍(n, v)으로 형성된 개인키 및 공개키의 이용에 따른다. 여기서, n은 일반적으로 보안 유지되는 2개의 소수들(p 및 q)의 곱이고, v는 곱 (p-1)(q-1)에 대한 소수이다.
디지털 형태에서, 2진 스트링(string)으로 이루어진 메시지(m)는 이와 관련하여 정수인 것으로 생각된다. 메시지(m)의 전자 서명 단계(1)에서, 제 1 엔티티(A)는 일반적으로 상기 메시지(m)에 해시 함수(H)를 적용하고 나서, 상기 해시 함수의 결과를 포매팅(formatting)하여 n보다 작은 정수(m*)를 얻는다. 상기 포매팅은 일반적으로 상기 정수가 상기 수(n)를 부호화한 수와 동일한 다수의 비트들과 부호화되는 방식으로, 상기 해시 함수의 결과로 생긴 2진 워드(word)에 비트들(모두 0은 아님)을 첨가하는 것이다.
그 다음, 상기 엔티티(A)는 상기 정수(m*)를 s 제곱한 수에 모듈로(modulo) n 한 값과 동일한 전자 서명(z)을 발생시킨다. 따라서, 상기 전자 서명(z)은 s 제곱한 상기 정수(m*)를 상기 수(n)로 유클리드 나눗셈한 나머지와 동일한 정수이다. 상기 수(n)는 매우 큰 수이고, 오직 상기 엔티티(A)만이 그 값(s)을 알고 있기 때문에, A 이외의 엔티티가 다음의 공식
z = (m*)s(modulo n)
을 만족하는 정수(z)를 발생시키는 것은 실제로 불가능하다. 단계(1)는 상기 메시지(m) 및 그의 전자 서명(z)을 전송함으로써 끝난다.
단계(2)에서는, 제 2 엔티티(B)가 상기 메시지(m) 및 그의 서명(z)을 수신함으로써 단계(3)를 활성화시킨다. 단계(3)에서, 상기 엔티티(B)는 상기 메시지(m)에 해시 함수(H)를 적용하여 상기 수(m*)를 국부적으로 재획득한다.
본 발명에 따라, 단계(4)에서는 공개키의 값(v)을 a·b + c = v 의 형태로 분해한다. 여기서, 상기 정수들(a 및 b)은 엄격하게 1보다 더 크다. 상기 정수(c)는 예를 들면, b에 의한 v의 유클리드 나눗셈의, 나머지가 존재하는 경우, 나머지이다.
단계(5)에서는, 중재 엔티티(C)가 상기 서명(z)을 수신함으로써 단계(6)를 활성화시킨다. 단계(6)에서, 상기 엔티티(C)는 상기 서명(z)을 a 제곱한 수에 모듈로 n 한 값과 동일한 서명 부분값(z')을 발생시킨다. 단계(6)는 상기 서명 부분값(z')의 전송 및 필요한 경우 정수들(b 및 c)의 값들의 전송으로 끝난다.
단계(7)에서는, 상기 엔티티(B)가 상기 서명 부분값(z') 및 상기 값들(b 및 c)을 수신함으로써 단계(8)를 활성화시킨다. 단계(8)에서, 상기 엔티티(B)는 상기 서명 부분값(z')을 b 제곱한 값과 상기 서명값(z)을 c 제곱한 값의 곱에 모듈로 n 한 값과 동일한 정수(z'')를 발생시킨다. 여기서, 1과 동일한 영지수(zero exponent)로 제곱하는데에 통상적인 방법이 이용된다.
그 다음, 상기 엔티티(B)는 단계(8)에서 상기 정수(z'')가 상기 정수(m*)와 동일한지 여부를 시험한다. 동일하다면, 수신된 상기 메시지(m)는 실제로 상기 엔티티(A)가 서명한 것이다.
특정하게는, 2개의 정수들을 n으로 나눗셈한 2개의 나머지들의 곱을 n으로 나눗셈한 나머지가 이 2개의 정수들의 곱을 n으로 나눗셈한 나머지와 동일하다고 주어질 때,
[(z')b·(z)c](modulo n) = [(z')b(modulo n)·(z)c(modulo n)](modulo n)
= [(z)a·b(modulo n)·(z)c(modulo n)](modulo n)
= [(z)a·b(z)c](modulo n)
= [(z)a·b+c](modulo n)
이다. 이에 따라, z'' = (z)v(modulo n) 이다.
상기 중재 엔티티(C)는 상기 보안이 단계(6)에 의해 손상될 가능성이 거의 희박하거나 전혀 없기 때문에 신뢰할 수 있는 엔티티일 필요는 없다. 특히, m*의 값에 대하여, 서명값(z)을 a 제곱한 수에 모듈로 n 하는 것 외에, 그 값을 b 제곱함으로써 m*과 동일한 z''의 값을 계산할 수 있도록 하는 수(z')를 찾는 것은 실제로 불가능하다.
도 1을 참조하여 설명된 실시예에 있어서, 상기 엔티티(B)의 책임하의 암호화 작업은 상기 수신된 메시지(m)가 실제로 상기 엔티티(A)에 의해 서명되었다는 사실의 검증이다. 상기 서명(z)을 v 제곱한 값에 모듈로 n 한 값이 상기 수(m*)와 동일하다면 상기 검증은 긍정이다. v 제곱을 행하는 계산 시간은 실질적으로 비트형태의 v의 크기에 비례한다. 상기 암호화 작업과, 특히 v 제곱의 계산은 본원에서 단계(6) 및 단계(8)에 배분되어 있다.
상기 중재 엔티티(C)는 단계(6)에서 상기 서명(z)을 v 제곱하는 계산 부분을 실행한다. 상기 엔티티(B)는 단계(8)에서 상기 서명(z)을 v 제곱하는 계산의 보충 부분을 실행한다. 상기 엔티티(B)에 의해 실행되는 계산 시간은 실질적으로 b+c에 비례한다. 따라서, 상기 엔티티(B)에 의해 요구되는 계산력(computational power)은 실질적으로 인수(a)로 나눗셈함으로써 감소된다. 상기 엔티티(B)에 의해 요구되는 계산력은 또한 상기 수(c)가 0인 경우 감소된다. 이러한 경우가 상기 수(v)를 2개의 정수들(a 및 b)의 곱으로 분해할 수 있는 경우이다.
도 1에 표시된 상기 엔티티(C)는 단계(4)를 실행하고 나서, 단계(5)를 실행한 후에 단계(6)를 실행한다. 메시지(m)와 함께 그의 서명(z)을 각각 전송하고 나서 단계(4)가 실행될 필요는 없다. 주어진 v의 값에 대하여, 상기 수들(a, b 및 c)은 c가 0이 아닌 경우, 가능하게는 상기 엔티티들(A, B 및 C)과 독립적으로 한번만 계산될 수 있다. 그 다음, 상기 엔티티(C)는 단순히 상기 수(a)를 알고 있어야 한다. 그 다음, 상기 엔티티(B)는 단순히 후자가 0이 아닌 경우 상기 수(b)와 상기 수(c)를 알고 있어야 한다. 이 경우, 상기 수들(b 및 c)은 단계(6)에서 전송되지 않고, 단계(7)에서 서명 부분값(z')을 간단히 수신한다.
장점적으로, 상기 엔티티(C)는 상기 엔티티(B)가 존재하는 것과 별개의 물리적 어플라이언스에 존재한다. 따라서, 상기 엔티티(B)가 존재하는 상기 물리적 어플라이언스는 상기 엔티티(B)가 상기 암호화 작업 전반을 실행했더라면 구비되어있었을 수단과 비교하여 감소된 계산 수단을 구비할 수 있다.
상기 엔티티(C)는 상기 엔티티(A)가 존재하는 것과 별개의 물리적 어플라이언스에 존재하거나 상기 엔티티(A)와 동일한 물리적 어플라이언스에 존재할 수 있다.
상기 엔티티들(A 및 C)이 동일한 물리적 어플라이언스에 존재하는 경우에, 상기 수들(a, b 및 가능하게는 c)의 값들은 이 물리적 어플라이언스에 저장된다. c가 0이 아닌 경우, 상기 엔티티들(A 및 C)이 존재하는 상기 물리적 어플라이언스는 메시지(m), 서명(z), 부분 서명(z') 및 수들(b 및 c)을 전송한다. c가 0인 경우, 상기 엔티티들(A 및 C)이 존재하는 상기 물리적 어플라이언스는 메시지(m), 부분 서명(z') 및 수(b)를 전송한다.
도 1을 참조하여 단지 설명된 상기 실시예는 임의의 엔티티에 의해 서명된 임의의 메시지의 검증에 적용한다.
또한, 프로버의 공개키 검증(n, v)의 검증을 가속화하는 것이 장점이다. 증명서는 상기 프로버의 신원확인 및 공개키와 관련하여 검증 당국(certifying authority)에 의해 계산된 전자 서명이므로, 후자가 상기 검증 당국의 공개 검증키를 보유한다면 임의의 다른 엔티티에 의해 검증될 수 있는 방식으로 그것들을 연결시킬 수 있다.
이 증명서가 또한 상기 RSA 알고리즘으로 계산된다면, 상기 증명서를 검증하기 위해 암호화 작업에 대하여 상기에 설명된 분해는 상기 증명서를 수신하는 상기 엔티티(B)에서의 검증 계산을 가속화시킨다. 더 일반적으로, 상기 증명서가 본 발명이 적용하는 시그널링 방식으로 계산된다면, 전자 서명을 검증하는데 이 증명서를 이용하는 검증자에 의한 상기 증명서의 검증에 본 발명을 적용하는 것은 이득이 있다.
도 2는 신원확인 방법에 대한 본 발명의 제 2 실시예를 도시한다. 상기 신원확인 방법은 예를 들면, 각각 1995년 8월 11일과 1998년 2월 6일에 공개된 특허 출원들 FR2716058과 FR2752122에 설명된 것과 같은, 이산 대수에 근거한 영지식 프로토콜을 이용한다. 상기 이산 대수 프로토콜은 정수(s)로 구성된 개인키 및 3개의 정수들(n, v, g)로 구성된 공개키의 이용에 따른다. 상기 개인키(s)는 그의 신분을 검증해야 하는 엔티티(A)에 의해 보안 유지된다. 상기 공개키(n, v, g)는 상기 엔티티(A)의 신분을 검증해야 하는 임의의 엔티티(B)에 전송된다. 상기 공개키의 전송은 예를 들면, 본 발명에 따른 방법에 의하여 이전에 장점적으로 검증될 수 있는 증명서에 의하여 실행된다. 상기 공개키에서, 계수(modulus)라 칭해지는 상기 정수(n)는 기존의 인수분해 알고리즘들과 관련하여, 그의 인수분해를 사실상 불가능하게 하기에 충분히 큰 소수들의 곱이다. 기수(base)라 칭해지는 상기 정수(g)는 x가 구간 [0, n-1]에 있을 때, gx모듈로 n으로 구성되는 수들의 집합이 이 구간의 결과적인 크기의 부분집합이 되게 하는 수이다. 상기 정수(v)는 v, g 및 n을 알고 있지만 s의 값의 검색이 사실상 불가능하도록 다음의 관계
v = g-s(modulo n)
를 만족시키는 보안 파라미터이다.
그 자체를 식별하기 위해서, 상기 엔티티(A)는 단계(9)를 활성화한다. 단계(9)에서, 상기 엔티티(A)는 상기 수(s)보다 훨씬 더 큰 랜덤 또는 의사 랜덤 수(pseudo-random number)를 발생시킨다. 상기 정수(r)는 상기 엔티티(A)에 의해 보안 유지된다. 그 다음, 상기 엔티티(A)는 g를 r 제곱한 수에 모듈로 n한 값과 동일한 정수 x를 발생시킨다. 단계(9)는 상기 정수(x)의 전송으로 끝난다.
단계(10)에서는, 상기 엔티티(B)가 상기 수(x)를 수신함으로써 단계(11)를 활성화시킨다.
단계(11)에서는, 상기 엔티티(B)가 구간 [0, u-1]에서 정수(e)를 발생시키고 나서 상기 수(e)를 전송한다.
단계(12)에서는, 상기 엔티티(A)가 상기 수(e)를 수신함으로써 단계(13)를 활성화시킨다.
단계(13)에서, 상기 엔티티(A)는 상기 수(s)와 상기 수(e)의 곱과 상기 수(r)의 합과 동일한 수(y)를 발생시킨다. 그 다음, 상기 엔티티(A)는 상기 수(y)를 상기 수들(r, s 및 e)과 다른 정수들의 선형 결합 형태로 분해한다. 예를 들면, 상기 엔티티(A)는 1보다 엄격하게 더 큰 정수(b)에 의한 상기 수(y)의 나눗셈을 실행한다. 그 몫(a) 및 그 나머지(c)는 선형 결합 y = a·b + c 을 획득할 수 있게 한다. 그 다음, 상기 엔티티(A)는 상기 정수들(a, b, c)을 전송한다.
상기 나눗셈은 예를 들면, 유클리드 나눗셈이다. 상기 수(b)는 항상 상기 수(a)로 구성되는 상기 몫이 엄격하게 1보다 더 크도록 하는 방식으로 선택된다. 상기 수(y)의 나눗셈은 상기 엔티티(A)에서 반드시 행해질 필요는 없으며, 예를 들면, 상기 엔티티(C) 또는 상기 엔티티(B)에서와 같이 다른 곳에서도 행해질 수 있다.
단계(14)에서는, 중재 엔티티(C)가 상기 수(a)를 수신함으로써 단계(15)를 활성화시킨다.
단계(15)에서는, 상기 엔티티(C)가 기수(g)에 a 제곱한 후에 모듈로 계수(n) 함으로써 상기 수(y)의 부분 이미지인, 정수(y')를 발생시키고, 그의 지수는 상기 정수(a)이다. 그 다음, 상기 엔티티(C)는 상기 정수(y')를 전송한다.
단계(16)에서는, 상기 엔티티(B)가 상기 정수(y')와 상기 정수들(b 및 c)을 수신함으로써 단계(17)를 활성화시킨다.
단계(17)에서는, 상기 엔티티(B)가 상기 수(y')를 b 제곱하고, 상기 기수(g)를 c 제곱하고, 상기 보안 파라미터(v)를 e 제곱하여, 구해진 이 3개의 제곱수들의 곱을 모듈로 n함으로써 정수(y'')를 발생시킨다. 항들의 곱에 모듈로 n 한 값은 각각 모듈로 n 한 항들의 곱을 모듈로 n 한 값과 같다는 사실을 이용할 수 있다.
그 다음, 상기 엔티티(B)는 상기 수(y'')가 이전에 수신된 상기 수(x)와 같은지 여부를 검증한다. 동일한 경우, 상기 엔티티(B)는 상기 수(x)를 전송한 엔티티가 상기 엔티티(A)라고 확실하게 식별한다.
특정하게는, 상기 엔티티(A)가 상기 수(x)를 전송한 경우,
y'' = y'b·gc·ve(modulo n)
y'' = ga·b·gc·ve(modulo n)
y'' = ga·b+c·ve(modulo n)
y'' = gr+s·e·ve(modulo n)
y'' = gr·gs·e·ve(modulo n)
y'' = gr·(gs·v)e(modulo n)
그러나, (gs·v) (modulo n) = 1 이므로,
y'' = gr(modulo n) = x
상기 보안은 단계(15)가 상기 엔티티(A)에 의해 보안 유지되는 상기 개인키(s)가 대응하는 n의 인수분해를 알고 있지 않고서, y'b·gc·ve(modulo n) 이 x와 같도록 n, v, g 및 가능하게는 c, a로부터 수(y')를 찾는 것은 사실상 불가능하기 때문에 반드시 신뢰할 수 있는 엔티티가 아닌 외부 엔티티(C)에 의해 실행되었다는 사실에 의해 손상을 입지 않는다.
정수를 부호화하는 비트들의 정규량(k) 즉, 상기 정수를 2진 기수로 분해하는데 요구되는 비트들의 최소량을 고려하여, 그의 지수가 이 정수인, a 제곱하여 모듈로 n 하는 통상의 공지된 절차들은 비트들의 양(k)에 비례하는 다수의 곱셈들에 모듈로 n을 실행한다.
상기 중재 엔티티(C)가 없이도, 상기 엔티티(B)는 r+s·e 와 동일한 상기 수(y)를 수신하여 다음의 공식을 통해 y''를 계산한다.
y'' = gy·ve(modulo n)
g에 y 제곱하기 위해 상기 엔티티(B)에 의해 실행된 상기 다수의 곱셈들에 모듈로 n 한 값은 상기 수 r+s·e 를 정규 형태 즉, a·b+c 로 부호화하는데 요구되는 다수의 비트들에 비례하였다.
상기 엔티티(C)에서 상기 수(a)를 정규 형태로 부호화하는데 요구되는 다수의 비트들에 비례하는 다수의 곱셈들에 모듈로 n 을 실행함으로써, 상기 엔티티(B)는 오직 상기 수(b)를 정규 형태로 부호화하는데 요구되는 다수의 비트들에 비례하는 다수의 곱셈들에 모듈로 n을 행하고, 이 값에 가능하게는 상기 수(c)를 정규 형태로 부호화하는데 요구되는 다수의 비트들에 비례하는 다수의 곱셈들에 모듈로 n 한 값을 추가시킬 수 있다. 따라서, 상기 엔티티(B)에서 달성되는 곱셈들에 모듈로 n 한 값의 세이빙(saving)은 상기 엔티티(B)에서의 신분 검증을 가속화시킨다.
도 3은 상기 엔티티(B)에서 상기 암호화 작업의 수행을 더 가속화시키기 위한 도 2를 참조하여 설명된 방법의 변형을 도시한다.
단계(18)에서는, 상기 엔티티(B)가 상기 수들(b 및 c)을 수신함으로써 단계(19)를 활성화시킨다.
단계(19)에서, 상기 엔티티(B)는 상기 기수(g)에 c 제곱한 수와 상기 보안 파라미터(v)에 e 제곱한 수의 곱에 모듈로 n 한 값과 동일한 수(z)를 발생시킨다.
그 다음에 단계(16)에서, 상기 엔티티(B)는 상기 수(y')를 수신한다. 단계(17)에서, 상기 엔티티(B)는 상기 수(y')에 b 제곱한 수와 상기 수(b)의 곱에모듈로 n 한 값과 동일한 수(y'')를 발생시킨다.
상기 수(y')를 수신하기 전에 단계(19)를 실행하면, 단계들(15 및 19)을 동시에 실행할 수 있게 된다.
도 4는 상기 엔티티(B)가 다수의 엔티티들(A)을 식별해야 할 때 특히 유용한, 도 2를 참조하여 설명된 방법의 다른 변형을 도시한다. 그 다음, 상기 엔티티(C)는 상기 엔티티(A)로서 동일한 물리적 어플라이언스에 존재한다. 상기 엔티티(A)를 이루는 이러한 총계(amount)들은 단계(13) 다음에, 바로 단계(15)를 실행한다. 단계(13)에서, 상기 엔티티(A)는 오직 상기 수들(b 및 c)만을 전송한다. 단계(15)에서, 상기 엔티티(A)는 상기 수(y')를 바로 전송한다.
도 5는 메시지 인증 방법에 대한 본 발명의 제 3 실시예를 도시한다. 상기 메시지 인증 방법은 예를 들면, 도 2 내지 도 4를 참조하여 설명된 방법에 이용된 것과 유사한 프로토콜을 이용한다.
상기 엔티티(B)는 상기 메시지(M)가 상기 엔티티(A)에 의해 전송된 인증 메시지임을 검증할 수 있도록 상기 엔티티(B)에 메시지(M)를 전송하기 위해서, 상기 엔티티(A)는 단계(20)를 활성화한다.
단계(20)에서, 상기 엔티티(A)는 상기 수(s)보다 훨씬 더 큰 랜덤 또는 의사 랜덤 수(r)를 발생시킨다. 상기 정수(r)는 상기 엔티티(A)에 의해 보안 유지된다. 상기 엔티티(A)는 g에 r 제곱한 수에 모듈로 n 한 수와 동일한 정수(x)를 발생시킨다. 상기 엔티티(A)는 상기 정수(x)와 상기 메시지(M)에 대한 해시 함수(H)와 동일한 수(m)를 발생시켜, 정수(m)를 획득한다. 그 다음, 상기 엔티티(A)는 상기정수(m) 및 상기 메시지(M)를 전송한다.
단계(21)에서는, 상기 엔티티(B)가 상기 수(m) 및 상기 메시지(M)를 수신함으로써 단계(11)를 활성화시킨다. 상기 방법은 도 2 내지 도 4를 참조하여 설명된 것들 중 하나와 동일한 방식으로 구동 및 실행하는 일련의 단계들(11 내지 16)을 포함한다.
그 다음, 단계(16)가 실행됨으로써 단계(22)가 활성화된다. 단계(22)에서, 상기 엔티티(B)는 도 2 내지 도 4 중 하나를 참조하여 설명된 단계(17)와 동일한 방식으로 상기 정수(y'')를 발생시킨다. 그 다음, 상기 엔티티(B)는 상기 수(y')와 상기 메시지(M)에 대한 해시 함수(H)에 모듈로 n 한 값과 동일한 수(x')를 발생시키고 나서, 상기 수(x')와 상기 수(m)를 비교한다. 상기 수(x')와 상기 수(m)가 동일하면, 오직 상기 엔티티(A)만이 y''와 동일한 수(x)를 발생시켜서 H(x, M)이 H(y'', M)과 동일하게 하기 때문에 상기 엔티티(B)로 하여금 상기 메시지(M)를 전송한 엔티티가 정말로 상기 엔티티(A)임이 보증된다.
요약해보면, 상기 방법은 메시지 인증, 신원확인 또는 전자 서명 메커니즘을 통합한 보안 전자 트랜잭션에서, 상기 엔티티(B)로 구성된 상기 검증자의 계산상의 부하를 감소시킬 수 있게 해준다.
상기 방법은 상기 검증자가 상기 검증 단계에서 얻은 확신을 감소시킴이 없이, 반드시 신뢰할 수 있지 않아도 되는, 외부 엔티티(C)에게 이 계산들의 부분을 위임하는 것으로 이루어진다. 더 정확하게는, 상기 방법은 상기 검증 작업을 적어도 단계(6, 15)가 상기 외부 엔티티(C)에 의해 실행될 수 있는 방식으로 적어도 2개의 단계들(6, 15) 및 (8, 17)로 분리하는 것으로 이루어진다. 상기 방법은 특히 RSA(Rivest, Shamir, Adleman) 및 이산 대수에 기초한 어떠한 메시지 인증 프로토콜들에 적용한다.

Claims (9)

  1. 개인키를 부여받은 제 1 엔티티(A)와 제 2 엔티티(B) 간에 교환되는 적어도 하나의 디지털 데이터 아이템에 대해 공개키에 의하여 암호화 작업을 실행하는 방법으로서,
    상기 암호화 작업은 적어도 다음의 두 단계 즉,
    상기 데이터 아이템을 상기 공개키의 전체 또는 부분에 의하여 개방 디지털 처리하여 상기 데이터 아이템의 부분 이미지를 획득하는 중재 엔티티(C)에 의해 실행되는 제 1 단계(6, 15)와;
    상기 부분 이미지를 상기 공개키의 전체 또는 부분에 의하여 공개 디지털 처리하여 상기 데이터 아이템에 대한 상기 암호화 작업을 완료하도록 상기 제 2 엔티티(B)에 의해 실행되는 제 2 단계(8, 17)로 분리되는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 중재 엔티티(C)는 상기 제 2 엔티티(B)가 존재하는 물리적 어플라이언스와 별개의 물리적 어플라이언스에 존재하는 것을 특징으로 하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 중재 엔티티(C)는 상기 제 1 엔티티(A)가 존재하는 물리적 어플라이언스에 존재하는 것을 특징으로 하는 방법.
  4. 선행하는 청구항들 중 어느 한 항에 있어서,
    상기 암호화 작업은 상기 제 2 엔티티(B)에 의한 상기 제 1 엔티티(A)의 신원확인으로 이루어지는 것에 특징이 있는 것으로, 상기 디지털 데이터 아이템은 제 1 정수(r)이고, 상기 제 1 정수(r)는 상기 제 1 엔티티(A)에서 보안 디지털 처리를 거쳐서 제 2 정수(x)를 제공하여 이를 제 2 엔티티에 전송하고, 상기 개인키 및 상기 제 2 정수(x)를 수신한 상기 제 2 엔티티(B)로부터 수신된 제 3 정수(e)에 의하여 제 4 정수(y)를 제공하며,
    상기 개방 디지털 처리는 본질적으로 상기 제 4 정수(y)를 상기 공개키의 전체 또는 부분에 의하여 제 5 정수(y')로 변환하는 것으로 이루어지고;
    상기 공개 디지털 처리는 본질적으로, 그 값이 상기 제 2 정수(x)와 동일할 때 신원확인이 정상인 것으로 결론짓는 값(y'')을 획득하기 위하여 상기 공개키의 전체 또는 부분에 의하여 상기 제 5 정수(y')를 변환하는 것으로 이루어지는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서,
    상기 공개키가 계수(n), 기수(g) 및 보안 파라미터(v)로 구성되는 3개의 정수들이고, 상기 개인키가 제 6 정수(s)일 때, 상기 보안 디지털 처리는 상기 공개키에 제 1의 r 제곱한 수에 모듈로 상기 계수(n) 하고 나서, 상기 제 1 정수(r)에 상기 제 6 정수(s)와 상기 제 3 정수(e)의 곱을 더하여 상기 제 4 정수(y)를 획득하고,
    1보다 엄격하게 더 큰 제 7 정수(b)로 나누어진 상기 제 4 정수(y)의 정수 몫(a)은 상기 기수(g)에 제 2의 a 제곱한 수에 모듈로 상기 계수(n)하는 상기 개방 디지털 처리에 이용되고;
    상기 제 7 정수(b)는 상기 제 5 정수(y')에 제 3의 b 제곱한 수에 상기 기수(g)에 제 4의 e 제곱한 수를 곱하여 모듈로 상기 계수(n) 하는 상기 공개 디지털 처리에 이용되는 것을 특징으로 하는 방법.
  6. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 암호화 작업은 전자 서명의 검증으로 이루어지는 것에 특징이 있는 것으로, 상기 디지털 데이터 아이템은
    상기 제 1 엔티티(A)가 상기 개인키에 의하여 서명(z)을 제공하는 보안 디지털 처리를 거치는 수(m*)이고,
    상기 개방 디지털 처리는 본질적으로 상기 공개키의 제 1 부분에 의하여 상기 서명(z)을 서명 부분 이미지(z')로 변환하는 것으로 이루어지고;
    상기 공개 디지털 처리는 본질적으로, 그 값이 상기 수(m*)와 동일할 때 유효 서명인 것으로 결론짓는 값(z'')을 획득하기 위하여 상기 공개키의 제 2 부분에 의하여 상기 서명 부분 이미지를 변환하는 것으로 이루어지는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서,
    상기 공개키가 한 쌍의 정수들(n, v)이고, 상기 개인키가 제 3 정수(s)일 때, 상기 보안 디지털 처리는 상기 수(m*)에 제 1의 s 제곱한 수에 모듈로 상기 공개키의 제 1 정수(n) 하는 것으로 이루어지고,
    1보다 엄격하게 더 크고 상기 공개키의 상기 제 2 정수보다 엄격하게 더 작은 제 4 정수(a)는 상기 서명(z)을 제 2의 a 제곱한 수에 모듈로 상기 제 1 정수(n) 하는 상기 개방 디지털 처리에 이용되고;
    상기 제 4 정수(a)에 의한 상기 제 2 정수(v)의 유클리드 나눗셈의 몫과 동일한 제 5 정수(b)는 상기 서명 부분 이미지(z')에 제 3의 b 제곱한 수에 모듈로 상기 제 1 정수(n) 하는 상기 공개 디지털 처리에 이용되는 것을 특징으로 하는 방법.
  8. 제 1 항 내지 제 3 항 중 한 항에 있어서,
    상기 암호화 작업은 상기 제 1 엔티티(A)에 의해 전송된 메시지(M)에 대한 상기 제 2 엔티티(B)의 인증으로 이루어지는 것에 특징이 있는 것으로, 상기 디지털 데이터 아이템은 제 1 정수(r)이고, 상기 제 1 정수(r)는 상기 제 1 엔티티(A)에서 보안 디지털 처리를 거쳐서 제 2 정수(x)를 제공하고, 상기 제 2 정수(x)는 제 3 정수(m)를 획득하기 위해 상기 메시지(M)와 결합하여 해시 함수(H)를 거치며, 상기 메시지(M) 및 상기 제 3 정수(m)는 제 2 엔티티에 전송되고, 상기 제 1 정수(r)는 상기 개인키 및 상기 제 3 정수(m)를 수신한 상기 제 2 엔티티(B)로부터수신된 제 4 정수(e)에 의하여 상기 제 1 엔티티(A)에서 보안 디지털 처리를 거쳐서 제 5 정수(y)를 제공하고,
    상기 개방 디지털 처리는 본질적으로 상기 공개키의 전체 또는 부분에 의하여 상기 제 5 정수(y)를 제 6 정수(y')로 변환하는 것으로 이루어지고;
    상기 공개 디지털 처리는 본질적으로, 제 1 값(y'')을 획득하기 위하여 상기 공개키의 전체 또는 부분에 의하여 상기 제 6 정수(y')를 변환하는 것으로 이루어지며, 상기 제 1 값(y'')은 상기 메시지(M)와 결합하여 해시 함수(H)를 거쳐서 제 2 값(x')을 제공하고, 상기 제 2 값(x')은 상기 제 2 값이 상기 제 3 정수(m)와 동일할 때 유효 메시지 인증인 것으로 결론지어지는 것을 특징으로 하는 방법.
  9. 제 8 항에 있어서,
    상기 공개키가 계수(n), 기수(g) 및 보안 파라미터(v)로 구성되는 3개의 정수들이고, 상기 개인키가 제 7 정수(s)일 때, 상기 보안 디지털 처리는 상기 공개키에 제 1의 r 제곱한 수에 모듈로 상기 계수(n) 하고 나서, 상기 제 1 정수(r)에 상기 제 7 정수(s)와 상기 제 4 정수(e)의 곱을 더하여 상기 제 5 정수(y)를 획득하고,
    1보다 엄격하게 더 큰 제 8 정수(b)에 의해 나누어진 상기 제 5 정수(y)의 정수 몫(a)은 상기 기수(g)에 제 2의 a 제곱한 수에 모듈로 상기 계수(n)하는 상기 개방 디지털 처리에 이용되고;
    상기 제 8 정수(b)는 상기 제 6 정수(y')에 제 3의 b 제곱한 수에 상기기수(g)에 제 4의 e 제곱한 수를 곱하여 모듈로 상기 계수(n) 하는 상기 공개 디지털 처리에 이용되는 것을 특징으로 하는 방법.
KR1020047000800A 2001-07-18 2002-07-02 공개키를 이용하여 암호화 작업을 수행하는 방법 KR100899020B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR01/09611 2001-07-18
FR0109611A FR2827723B1 (fr) 2001-07-18 2001-07-18 Procede pour effectuer une tache cryptographique au moyen d'une cle publique
PCT/FR2002/002302 WO2003009522A1 (fr) 2001-07-18 2002-07-02 Procede pour effectuer une tache cryptographique au moyen d'une cle publique

Publications (2)

Publication Number Publication Date
KR20040013152A true KR20040013152A (ko) 2004-02-11
KR100899020B1 KR100899020B1 (ko) 2009-05-27

Family

ID=8865668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047000800A KR100899020B1 (ko) 2001-07-18 2002-07-02 공개키를 이용하여 암호화 작업을 수행하는 방법

Country Status (9)

Country Link
EP (1) EP1407575B1 (ko)
JP (1) JP4354808B2 (ko)
KR (1) KR100899020B1 (ko)
AT (1) ATE366008T1 (ko)
DE (1) DE60220918T2 (ko)
ES (1) ES2289147T3 (ko)
FR (1) FR2827723B1 (ko)
HK (1) HK1064826A1 (ko)
WO (1) WO2003009522A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1670172A1 (fr) * 2004-12-10 2006-06-14 Nagra France Sarl Procédé et système d'encryption par un proxy.
WO2007006798A1 (fr) * 2005-07-13 2007-01-18 Gemplus Procede et systeme d'authentification de puces electroniques
GB2444286B (en) 2006-12-01 2011-06-08 Advanced Risc Mach Ltd Improving processing efficiency on secure systems having a host processor and smart card
US8594329B2 (en) 2010-12-17 2013-11-26 Microsoft Corporation Non-interactive verifiable, delegated computation
FR3013477B1 (fr) * 2013-11-21 2017-06-09 Oberthur Technologies Procede et systeme pour la verification de la validite d'une signature numerique de message

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100340102B1 (ko) * 2000-11-30 2002-06-10 조휘갑 알에스에이 공개키 암호 고속화 장치 및 방법

Also Published As

Publication number Publication date
EP1407575B1 (fr) 2007-06-27
KR100899020B1 (ko) 2009-05-27
EP1407575A1 (fr) 2004-04-14
DE60220918D1 (de) 2007-08-09
ES2289147T3 (es) 2008-02-01
DE60220918T2 (de) 2008-02-28
FR2827723A1 (fr) 2003-01-24
WO2003009522A1 (fr) 2003-01-30
FR2827723B1 (fr) 2003-10-10
HK1064826A1 (en) 2005-02-04
JP2005508514A (ja) 2005-03-31
JP4354808B2 (ja) 2009-10-28
ATE366008T1 (de) 2007-07-15

Similar Documents

Publication Publication Date Title
US9800418B2 (en) Signature protocol
KR20020025630A (ko) 비밀 정보의 처리 장치, 프로그램 또는 시스템
US20150006900A1 (en) Signature protocol
US7248692B2 (en) Method of and apparatus for determining a key pair and for generating RSA keys
Kumar et al. Cryptanalysis and performance evaluation of enhanced threshold proxy signature scheme based on RSA for known signers
KR100899020B1 (ko) 공개키를 이용하여 암호화 작업을 수행하는 방법
US7382875B2 (en) Cryptographic method for distributing load among several entities and devices therefor
JP4772965B2 (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
US6976169B1 (en) Undeniable digital signature scheme based on quadratic field
Michels et al. GOST 34.10—a brief overview of Russia's DSA
WO2016187689A1 (en) Signature protocol
Paar et al. Digital Signatures
US7760884B2 (en) Cryptographic method and devices for facilitating calculations during transactions
Boussif Scalable Implementation of Array of 8-bit-Based RSA With Large Key Size
AU7659598A (en) Pseudo-random generator based on a hash coding function for cryptographic systems requiring random drawing
EP1185025A1 (en) Undeniable digital signature scheme based on quadratic field
Salome et al. Pairing free identity-based blind signature scheme with message recovery
JP3435472B2 (ja) 秘密保持認証方法及びシステム
CA2892318C (en) Signature protocol
Foster Study and Implementation of Algorithms for Digital Signatures in Network Security
Camenisch Protecting (anonymous) credentials with the trusted computing group’s trusted platform modules v1. 2
Kumar et al. Research Article Cryptanalysis and Performance Evaluation of Enhanced Threshold Proxy Signature Scheme Based on RSA for Known Signers
US20060147039A1 (en) Data encryption method cryptographic system and associated component
Delfs et al. Public-Key Cryptography
Just et al. An Assessment of Attacks Strategies on the RSA Public-Key Cryptosystem

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: 20130513

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140512

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150511

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180510

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190430

Year of fee payment: 11