KR100949199B1 - 이산 로그 함수를 이용하여 비대칭적인 암호 시스템에 대한 암호 유닛을 제조하는 방법 - Google Patents

이산 로그 함수를 이용하여 비대칭적인 암호 시스템에 대한 암호 유닛을 제조하는 방법 Download PDF

Info

Publication number
KR100949199B1
KR100949199B1 KR1020047002450A KR20047002450A KR100949199B1 KR 100949199 B1 KR100949199 B1 KR 100949199B1 KR 1020047002450 A KR1020047002450 A KR 1020047002450A KR 20047002450 A KR20047002450 A KR 20047002450A KR 100949199 B1 KR100949199 B1 KR 100949199B1
Authority
KR
South Korea
Prior art keywords
cryptographic
integer
cryptographic unit
unit
key
Prior art date
Application number
KR1020047002450A
Other languages
English (en)
Other versions
KR20040027928A (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 KR20040027928A publication Critical patent/KR20040027928A/ko
Application granted granted Critical
Publication of KR100949199B1 publication Critical patent/KR100949199B1/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/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Collating Specific Patterns (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Manufacturing Of Micro-Capsules (AREA)

Abstract

본 발명은 암호 유닛을 개발, 제조 및 유지하는 비용을 줄이기 위해 이산 로그 문제를 이용하는 공개키 암호 방식들의 그룹에 관련된다. 엔티티들(10)중 하나는 기껏해야 작은 수의 정수들의 덧셈들, 뺄셈들 및 곱셈들을 포함하는 계산을 수행하는바, 이 계산은 상기 그룹의 모든 방식들에 공통적이다. 상기 언급한 계산은 바람직하게는 문제의 엔티티에 의해 수행되는 주요 계산이며, 대부분의 다른 계산들은 사전에 수행될 수 있다. 특히, 상기 계산은 y=ar+bs이며, 여기서 r는 난수이고, s는 엔티티(10)에 특정한 비밀키이다. 상기 계산은 엔티티 인증, 메세지 인증, 디지털 서명 및 키 교환을 위한 방식들의 그룹에 공통이다.
암호 유닛, 엔티티 인증, 메세지 인증, 디지털 서명, 비밀키, 공개키

Description

이산 로그 함수를 이용하여 비대칭적인 암호 시스템에 대한 암호 유닛을 제조하는 방법{METHOD OF PRODUCING A CRYPTOGRAPHIC UNIT FOR AN ASYMMETRIC CRYPTOGRAPHIC STSTEM USING A DISCRETE LOGARITHM FUNCTION}
본 발명은 암호 분야에 관한 것으로서, 특히 소위 비대칭적인 또는 공개키 암호 기법에 관한 것이다.
이러한 타입의 암호화 기법에서, 각 사용자는 소정의 용도를 위해, 비밀키 및 관련된 공개키로 이루어지는 한 쌍의 키들을 보유한다.
예를 들어, 사용자가 기밀성(confidentiality)을 목적으로 키 쌍을 취급하는 경우, 공개키는 데이터를 암호화하는 데에 이용되고, 비밀키는 이러한 데이터를 해독하는 데에 이용된다. 사용자가 데이터의 신빙성(즉, 확실성)(authenticity)을 목적으로 키 쌍을 취급하는 경우, 비밀키는 데이터를 디지털 방식으로 서명하는 데에 이용되고, 공개키는 디지털 서명을 검증하는 데에 이용된다. 다른 용도들(엔티티 인증, 키 교환 등)이 가능하다.
공개키 암호 기법은, 비밀키 암호 기법과 달리, 관련 당사자들(party)이 안전한 통신을 설정하기 위해 비밀을 공유할 것을 요구하지 않는한 매우 유용하다. 그러나, 이는 보안 측면에서는 장점을 갖지만, 성능 측면에서는 단점들을 수반하는 바, 그 이유는 동일한 자원들에 대해, 공개키 암호 방법들(이는 "공개키 방식(public key scheme)"이라고도 칭해진다)이 비밀키 암호 방법들(이는 "비밀키 방식(secret key scheme)"이라고도 칭해진다) 보다 종종 수백배 또는 수천배 느리기 때문이다. 결과적으로, 적당한 계산 시간을 얻기 위해서는, 이러한 알고리즘들을 구현하는 회로들의 비용이 종종 매우 높아지게 된다.
이는, 소위 RSA 디지털 암호화 및 서명 방식(1978년 2월 R.L. Rivest, A. Shamir 및 L.M. Adleman에 의해 Communications of the ACM, Vol.2, No.2, pp.120-126에 발표된 "디지털 서명들을 얻는 방법 및 공개키 암호 시스템(A Method for Obtaining Digital Signatures and Public-key Cryptosystems)" 참조)의 경우에 특히 그러하다. 이 방식은 정수 인수 분해(integer factorization) 문제의 어려움이 따른다. 즉, 비교 사이즈의 2개 이상의 소인수들(prime factors)의 적(product)과 같은 큰 정수(2진수에서의 그의 표현은 전형적으로 1,000 비트 이상이다)가 주어지면, 이러한 소인수들을 검색하기 위한 어떠한 효율적인 절차도 존재하지 않는다. 따라서, 이 방식에서 수행되는 계산들은 매우 큰 수들에 관련된다. 이들은, 칩 카드가 전문 암호 코프로세서(이는 비용을 상당히 증가시킨다)를 갖추고 있지 않다면, 칩 카드 상에서 1초 이내에 수행될 수 없다. 또한, 인수 분해 절차들의 효율성은 시간이 흐름에 따라 아주 빠르게 증가하기 때문에, 실행을 저지하기 위해, 키의 길이들을 종종 변경해야 한다.
이에 따라, 공개키 방식들을 구현하는 칩들의 비용 감소 문제가 대두되었다.
일반적으로, 이러한 문제를 다루는 2개의 방법들이 있다. 첫 번째 방법은, 바람직하게는(하지만 필연적이지는 않다) 인수 분해가 아닌 다른 문제들에 기초하여 새로운 암호 방식들을 지정하는 것으로, 이는 계산 시간의 속도를 상당히 증가시킬 수 있다. 이 방법은 많이 연구되었으며, 많은 결과들을 산출하였다. 그러나, 대부분의 경우, 이 개선책은 RSA 방식과 비교해볼 때 이 RSA 방식의 대체를 모색할 수 있을 정도로 충분하지 않거나, 보안이 충분히 만족스럽게 이루어지지 않는다.
두 번째 방법은 칩들의 비용이 크게 감소되도록 칩들을 대량으로 제조하는 것이다. 이는, 국제 은행 업무 단체(international banking organizations)가 미래의 칩 기반 은행 카드들용으로 이러한 방식을 채택하는 경우, RSA 방식에서 이루어질 것이다. 그러나, RSA 칩의 비용은 원래가 비싸기 때문에, 아무리 많은 수의 칩들을 생산하더라도 이 비용은 항상 비싸게 유지될 것이다.
주목할 사항으로서, 많은 공개키 암호 방식들은 기본 연산들로서, 모듈러(modular) 곱셈 (ab(modulo n)), 모듈러 나눗셈(a/b (modulo n)), 또는 모듈러 누승법(ab (modulo n))과 같은 정수들에 대한 연산들의 이용을 공통으로 가지며, 여기서 a, b 및 n은 정수들이다. 그러나, 이러한 연산들은 결코 정확히 같지 않다. 결과적으로, 암호 방식이 변경될 때 마다, 암호 계산들을 수행하는 보안 장치의 회로 또는 프로그램을 변경할 필요가 있다.
본 발명의 목적은 상기 2개의 방법들을 결합하여 공개키 암호 유닛들의 비용을 줄이는 것이다.
따라서, 본 발명은 비대칭적인 암호 시스템에서 정수 비밀키(s)가 관련된 암호 유닛을 제조하는 방법을 제시하는바, 상기 암호 유닛은, 상기 암호 시스템과 독립적으로 제조되며 난수(r), 비밀키(s) 및 적어도 1개의 추가적인 오퍼랜드(operand)(a, b)를 포함하는 여러 개의 정수 오퍼랜드들 간의 결합을 통해 정수(y)를 출력하는 데에 적절한 컴포넌트(component)를 구비한다. 곱셈 연산을 구비하는 세트(G)의 제 1 요소(g)를 포함하는 공개키와 비밀키(s)를 결합하여 상기 암호 시스템을 선택한 후, 상기 암호 유닛은 암호 데이터 스위트들(cryptographic data suites)의 발생기를 구비하며, 상기 각 스위트는 상기 컴포넌트에 오퍼랜드로서 전달되는 난수(r), 및 상기 세트(G)의 요소(gr)에 의존하며 정수(y)와 관련하여 상기 암호 유닛에 의해 출력되는 값(x)을 포함한다.
1개 이상의 회로 부분들 또는 1개 이상의 소프트웨어 모듈들로 구성되는 상기 컴포넌트는 매우 빠른 실행의 기본 암호 아이템을 적용하는바, 이는 많은 수의 서로 다른 암호 방식들, 즉 다양한 수학적인 객체(object)들(많은 이산 로그 함수들을 정의할 수 있게 하는 곱셈 연산들 및 세트들(G))을 이용하는 인증, 서명, 키 교환 방식들 등에 공통적으로 될 수 있는 장점을 갖는다.
상기 컴포넌트가 많은 수의 방식들에 공통적이라는 사실은, 산업적 개발 및 제조 비용 절감을 가능하게 한다. 상기 컴포넌트에 설비된 일반적인 유닛들(예를 들어, 칩 카드들)은 이러한 유닛들이 관련 패밀리의 모든 방식들에 적절하고, 이들이 일반적으로 그러한 애플리케이션에 의해 요구되는 성능을 달성할 수 있게 한다면, 매우 많은 양으로 제조될 수 있다.
보다 구체적으로, 공개키는 또한 v=gs 또는 v=g-s이 되는 세트(G)의 요소(v)를 포함한다. 이 방법은 일반화된 이산 로그 문제에 기초하는 방식들의 전체 패밀리에 적용할 수 있는 암호 유닛들을 발생시킨다. 이 문제는 일반적으로 다음과 같이 설명될 수 있다. G가 곱셈 연산(즉, 2개의 요소들(a 및 b)을 가지고, a와 b의 적(product)이라 칭하는 "a.b" 또는 간단히 "ab"로 표시되는 요소를 결합시키는 함수), G의 요소 g, (큰) 정수 u, 및 w=gu(즉, g가 u번 발생하는 곱 gg...g)에 의해 정의되는 G의 요소 w를 구비하는 세트라면, 실제로 g 및 w로부터 u를 검색하는 것은 불가능하다.
유럽 특허 제0 666 664호는 이러한 방식의 예시적인 전자 서명 방식을 개시하는바, 여기서 G는 적어도 0과 같고 n 보다 작은 정수들의 세트이고, 곱셈 연산은 정수들의 보통의 적인 모듈로 n이다.
본 발명에 따른 방법을 이용하여, 소정의 세트(G) 및 특정한 곱셈 연산에 대해, 이전에 알려진 것들 보다 훨씬 더 효율적인 이산 로그 계산 알고리즘들이 발견된다면, 이는 계산들이 수행되는 세트들의 변경 그리고/또는 바람직한 보안 레벨을 검색하기 위한 곱셈 연산을 충분하게 한다.
이산 로그 문제는 연산을 구비하는 어떠한 세트에서 사전에 설명될 수 있다. 그러나, 짧은 시간에 지수 함수의 계산을 수행할 수 있게 하고 작은 규모의 결과를 제공하기 위해서는, 현재 가장 적절한 세트들이 그룹들이 되도록 하는 특정한 특성들이 요구된다. 다른 특성들 중에서, 한 그룹은 항상 중성 요소, 즉 ε(또는 단순히 1)으로 표시되는 요소를 포함하는바, ε.a 및 a.ε의 적들은 모두 a이며, 어떠한 요소 a에 대해서도 그러하다. 또한, 그룹의 모든 요소 a는 a-1로 표시되는 역수(inverse), 즉 a-1.a 및 a.a-1의 적들이 모두 ε이 되게 하는 요소를 갖는다. 암호 기법에 이용되는 전형적인 그룹들의 예로는 정수들 또는 타원형 곡선들의 링들 또는 필드들이다.
따라서, 관련된 그룹 또는 보다 일반적으로는 고려중인 세트(G)에 어떤 식으로든 의존하지 않는 암호 컴포넌트를 정의할 수 있다. 이는 첫 째로, 이 컴포넌트가 세트 자체의 요소들에 대해서는 작용하지 않음을 의미한다. 이는 또한, 이 컴포넌트가 그룹의 특성에도 의존하지 않고, 고려중인 요소 g, 특히 G에서의 g의 순서, 즉 gq=ε을 만족시키는 가장 작은 비제로 정수 q(이것이 존재하는 경우)에도 의존하지 않음을 의미한다.
본 발명의 바람직한 실시예에서, 컴포넌트에 의해 이루어지는 결합은 단지 정수들 간의 적은 수의 덧셈들, 뺄셈들 및 곱셈들로 이루어지는바, 이들중 어느 것도 G 및 g의 특성과 어떠한 관계도 갖지 않는다. 특히, 이러한 결합은 y=ar+bs의 형태가 될 수 있는바, 여기서 a 및 b는 2개의 추가적인 정수 오퍼랜드들이다. a=1 및 b=1을 취함으로써 더 단순화된다.
이러한 컴포넌트 선택의 장점은 그 속도이다. 즉, 단지 소수개(1개 또는 2개)의 곱셈들 만이 수행된다면, 컴포넌트는 고속(몇 밀리초)이 될 것이며, 어떠한 장비, 특히 저비용의 마이크로프로세서 카드 내에 통합될 수 있다.
상기 암호 데이터 스위트들의 발생기는 세트(G)에 대해 지수 함수들을 계산하는 모듈과 난수 발생기를 결합함으로써 구성될 수 있다.
그러나, 본 방법의 바람직한 실시예에서, 암호 데이터 스위트들의 발생기는 사전에 계산된 {r,x} 또는 {r,gr} 쌍들을 수신하는 프로그램가능한 메모리를 포함한다. 이러한 방식으로, 암호 유닛은 채택된 곱셈 연산 및 세트(G)와 무관하게 완전히 제조될 수 있다. 이는 프로그램가능한 메모리에 단지 비밀키(s) 및 사전에 계산된 특정 수의 쌍 {r,x} 또는 {r,gr} 만을 기록하게 한다. 동작시, 공통 컴포넌트는 암호 유닛의 레벨에서 요구되는 단일 계산을 수행할 것이다.
이와같이 상기 유닛이 자율적으로 이용될 수 있다는 사실은, (단지 회로의 동일 부분이라기 보다는) 동일한 회로가 다양한 타겟 애플리케이션들에서 이용될 수 있기 때문에, 개발 및 제조 비용의 절감을 더욱 개선할 수 있다. 또한, 상기 컴포넌트가 실행시 매우 빠르다는 사실은 이를 매우 낮은 비용의 회로들에 설치할 수 있게 하며, 이에 따라 자율적인 방식으로, 컨택들과 함께 또는 컨택들없이 통상의 마이크로프로세서 카드들과 같은 매우 값싼 유닛들에 설치할 수 있게 한다.
이러한 자율성의 다른 장점은 암호 방식을 변경할 수 있는 가능성인데, 이는 예를 들어 다른 회로를 개발 및 제조하지 않으면서, 상기 암호 방식이 깨지기 때문에(즉, 제공하는 보안 레벨을 상당히 감소시키는 공격들이 발견되기 때문이다), 결과적으로 생산성이 절약되기 때문이다.
또한, 상기 유닛이 (예를 들어 gr로부터의 계산이 사전에 정의된 해시 함수(hash function)을 포함하기 때문에) 전체 길이가 시간에 따라 변하는 것으로 의도되지 않은 값(x)을 이용한다면, 동일한 방식을 계속 유지하면서, 다른 회로를 개발 및 제조하지 않고서도 이용되는 다른 키들의 길이들을 변경할 수 있다.
또한, 마지막 2개의 상황들에서는, 다른 회로를 개발하고 제조하는 어떠한 이유도 없을 뿐 아니라, 상기 다른 회로가 적절하게 설계된다면, 이들을 포함하는 보안 장치들(예를 들어, 칩 카드들)을 (이 장치들이 배치된 후에 조차도) 변경할 어떠한 이유도 없게 된다. 이 장점은 매우 중요한데, 그 이유는 이미 유통(circulation)된 보안 장치 내의 회로 또는 회로의 프로그램(또는 보안 장치 그 자체)을 변경하는 것은 항상 고비용이 들기 때문이다.
본 발명은 유익하게는 보안 칩들을 제조하는 반도체 제조업자들, 이러한 칩들로부터 칩 임베더(embedders)들(컨택들을 갖거나 갖지 않는 칩 카드들)과 같은 보안 장치들을 제조하는 산업들, 및 암호 유닛들의 교체가 개발, 제조, 관리 또는 유지에 높은 비용을 야기시키는, 이러한 장치들을 배치하는 조직들(은행들, 원격 통신들, 트럭커(trucker)들 등)에 의해 이용될 수 있다.
요약하여, 본 발명은 이산 로그 문제를 이용하는 공개키 암호 방식들의 패밀리를 발생시키는바, 여기서 엔티티들중 하나는 기껏해야 적은 수의 정수들의 덧셈들, 뺄셈들 및 곱셈들로 이루어지는 계산을 수행하며, 이러한 계산은 패밀리의 모든 방식들에 대해 공통이다. 이러한 계산은 바람직하게는 이 엔티티에 의해 수행될 대부분의 계산들을 나타내는데, 그 이유는 대부분의 다른 계산들은 사전에 수행될 수 있기 때문이다.
본 발명의 다른 특징들 및 장점들은 첨부 도면들을 참조하여 설명되는 하기의 비한정이며 예시적인 실시예들로부터 명확해질 것이다.
도 1 내지 4는 본 발명에 따라 제조되는 암호 유닛들의 개략도들이다.
이하, 모두 공통 컴포넌트를 구현하는, 메세지들의 인증 및 이 메세지들의 디지털 서명으로 확장되는 엔티티 인증 프로토콜들, 및 키들을 교환하는 프로토콜들의 패밀리를 고려한다. 다른 엔티티(B)에 의해 이용되는 엔티티(A)의 공개키의 신빙성은 이 엔티티(B)에 의해 이전에 검증되는 것으로 가정한다.
G는 곱셈 연산을 구비하는 세트이고, g는 G의 요소라고 한다. 엔티티(A)의 비밀키는 정수(s)이다. 주목할 사항으로서, 이 정수(s)의 크기(2진수로 분해한 때의 비트들의 수)는 G 및 g에 독립적이다. 엔티티(A)에 대해 s와 결합되는 공개키는 쌍 {g,v}이며, 여기서 v=gs이다.
본 발명의 예시적인 실시예에서, 엔티티(B)에 의한 엔티티(A)의 인증은 다음과 같이 이루어진다.
1. A가 정수(r)를 임의로 취해, x=gr를 계산한 다음, x를 B에 보낸다.
2. B가 2개의 정수 오퍼랜드들(a 및 b)을 임의로 취한 다음, 이들을 A에 보낸다.
3. A가 y=ar+bs를 계산한 다음, y를 B에 보낸다.
4. B가 gy=xavb임을 검증한다.
메세지 인증 및 디지털 메세지 서명에 적용될 때, 이러한 기본적인 프로토콜들은 다양하게 변형될 수 있다.
- a 또는 b는 비제로 값(예를 들어, a=1)으로 사전에 정해질 수 있는바, 이 경우 이 오퍼랜드는 전송될 필요가 없으며, y=ar+bs의 결합은 이제 단지 하나의 곱셈을 포함한다.
- y=ar+bs는 y=-ar-bs로 대체되고, 검증 방정식은 gyvb=xa로 대체될 수 있다.
- y=ar+bs는 y=bs-ar로 대체되고, 검증 방정식은 gyxa=vb로 대체될 수 있다.
- y=ar+bs는 y=-ar-bs로 대체되고, 검증 방정식은 gyxavb=1로 대체될 수 있다.
- G가 하나의 그룹이라면, 비밀키(s)의 표시는 역으로 될 수 있다. 즉, v=g-s=(gs)-1을 취할 수 있는바, 이 경우 검증 방정식은 gyvb=xa가 되고, 이러한 선택은 물론 상기 변형들중 어느 하나와 결합될 수 있다.
- 검증 방정식이 gyvb=x의 형태를 갖는 각각의 경우에, a=1이고, x=gr이 x=f(gr)로 대체될 수 있다고 가정하면(여기서, f는 예를 들어 암호 해시 함수와 같은 (또는 포함하는) 함수이다), 검증 방정식은 f(gyvb)=x가 된다.
- 또한, 검증 방정식이 gyvb=x의 형태를 갖는 각각의 경우에, a=1이고, M이 A에 의해 인증될 메세지인 경우, x=gr이 x=f(gr, M)으로 대체될 수 있다고 가정하면(여기서, f는 예를 들어 암호 해시 함수와 같은 (또는 포함하는) 함수이다), 검증 방정식은 f(gyvb, M)=x가 되고, 얻어지는 프로토콜은 메세지 인증 프로토콜이다.
- 또한, 검증 방정식이 gyvb=x의 형태를 갖는 각 경우, a=1이고, M이 A에 의해 인증될 메세지인 경우, x=gr이 x=f(gr, M)으로 대체될 수 있다고 가정하면(여기서, f는 예를 들어 암호 해시 함수와 같은 (또는 포함하는) 함수이다), b=h(x)를 계산할 수 있다(여기서, h는 어떠한 특정한 암호 특성들이 아닌 함수, 예를 들어 아이덴티티(identity)이다). 이 경우, 단계 2는 더 이상 엔티티(A)를 포함하지 않고, 검증 방정식은 f(gyvh(x),M)=x가 되며, 얻어지는 프로토콜은 디지털 메세지 서명 프로토콜이다(G가 n 보다 적은 비 음의 정수들의 세트이고 연산이 곱셈 모듈로 n인 특정한 경우, 유럽 특허 제0 666 664호에 개시된 전자 서명 방식을 얻을 수 있다).
주목할 사항으로서, 단계 3에서, 엔티티(A)는 수행할 단지 1개의 정수들의 덧셈과 1개 또는 2개의 곱셈들 만을 갖는다. 또한, 주목할 사항으로서, 이러한 결합은 선택된 세트(G)에 독립적이다. 궁극적으로, 주목할 사항으로서, A가 수행해야 하는 다른 계산(x=gr 또는 f(gr))은 사전에 수행될 수 있다. 따라서, (함수(f)가 적용되거나 또는 적용되지 않는) gr의 값들의 특정한 수를 사전에 계산한 다음, 이들을 대응하는 난수들(r)과 함께 프로그램가능한 메모리에 저장할 수 있다.
동일한 파라미터들을 이용하여, 엔티티(A)와 동일한 룰에 따라 얻어진(g'=g: v'=gs'이다) 엔티티(B)에 대한 관련된 공개키(g',v') 및 개인키(s')를 추가하게 되면, 키 교환 프로토콜은 다음과 같이 정의될 수 있다.
1. A가 정수(r)를 임의로 취해, x=gr을 계산한 다음, x를 B에 보낸다. A는 공통키 K=v'r(=gs'r)을 계산한다.
2. B가 2개의 정수 오퍼랜드들(a 및 b)을 임의로 취한 다음, 이들을 A에 보낸다.
3. A가 y=ar+bs를 계산한 다음, y를 B에 보낸다.
4. B가 gy=xavb임을 검증한다. B는 공통키 K=xs'(=grs' )를 계산한다.
이 프로토콜은, 한편으로는 Diffie-Hellman 방식에 따라 키가 교환될 수 있게 하고, 다른 한편으로는 키 교환이 어느 측에서도 인증될 수 있게 한다. 공통키(K)는 또한 소정의 v'r의 함수로서 계산될 수 있다.
다시 한번 주목할 사항으로서, 단계(3)에서, 엔티티(A)는 수행할 단지 1개의 정수들의 덧셈 및 단지 1개 또는 2개의 곱셈들을 갖는다. 또한, 주목할 사항으로 서, 이러한 결합은 선택된 세트(G)에 독립적이다. 궁극적으로, 주목할 사항으로서, 엔티티(A)가 수행해야 하는 다른 계산들은 사전에 수행될 수 있다. 따라서, x 및 K의 값들의 특정 수를 사전에 계산한 다음, 이들을 프로그램가능한 메모리에 저장할 수 있다.
따라서, 단일 함수 y=ar+bs(또는 상기 설명된 대안들중 하나)를 구현하는 프로그램 또는 회로를 개발함으로써, 인증, 키 교환 등과 같은 서로 다른 임무들을 실행하는 서로 다른 암호 방식들에서 이용될 수 있는 기본적인 소프트웨어 또는 하드웨어 브릭(brick)이 얻어진다. 소정의 임무를 실행하는 방식은 심지어 이러한 프로그램 또는 이러한 회로를 포함하는 보안 장치의 수명 동안 변경될 수 있다. 예를 들어, 인증 방식을 다른 것으로 교체하거나, 또는 동일한 것으로 유지하되, 계산들이 수행되는 세트 또는 그룹(G)을 변경할 수 있다. 실제로, 이러한 변경들은 사전에 계산된 값들에 대해서만 영향을 주며, 컴포넌트 자체에는 영향을 주지 않는다.
도 1은 본 발명에 따라 제조된 예시적인 암호 유닛(A)을 개략적으로 도시한다. 이 유닛은 당업자에게 잘 알려진 기술들에 의해 액세스가 보호되는 영역(10)을 갖는 칩으로 구성된다.
보호 영역(10)은 프로그램가능한 메모리(11)를 포함하는바, 이는 한편으로는 유닛(A)의 비밀키(s)를 수신하도록 지정되고(영역 12), 다른 한편으로는 일단 세트(G) 및 그의 곱셈 연산이 정의된 후 s와 무관하게 결정된 {r,gr} 쌍을 수신하도록 지정된다(영역 13). 보호 영역(10)은 또한 메모리 영역(13)으로부터 수신된 난수(r), 메모리 영역(12)으로부터 수신된 비밀키(s) 및 제어 모듈(16)로부터 제공되는 2개의 추가적인 오퍼랜드들(a, b)의 함수로서 정수 y=ar+bs를 계산하는 컴포넌트(15)를 포함한다.
몇 개의 {r,gr} 쌍들을 영역(13)에 저장하는 많은 방법들이 가능하다. 각각의 r 및 gr 값은, 예를 들어 동일한 쌍의 r 값 및 gr 값 간의 조합 정합(associative matching)과 함께 테이블에 상세히 저장될 수 있다. 유익하게는, 메모리 사이즈가 제한되는 마이크로 회로들에서, gr의 각 값에는 단순한 인덱스가 결합되어 몇 개의 r 값들을 저장하는 데에 필요한 메모리 공간(일반적으로 크다)을 절약한다. 다양한 r 값들이 씨드값(r0) 및 대응하는 인덱스로부터 의사 랜덤 발생기(pseudo-random generator)에 의해 사전에 계산되어, 이 인덱스에 대해 gr의 값을 사전에 계산하고 저장한다. 이렇게 되면, 프로그램가능한 메모리(11)는 의사 랜덤 발생기 및 초기에 씨드값(r0)을 포함함으로써, 인덱스에 의해 gr의 값과 정합시키기 위해 각각의 r 값을 상세히 저장하지 않으면서 의사 랜덤 발생기를 동작시켜 대응하는 인덱스로부터 각각의 r 값을 수신한다.
원격 엔티티(B)에 의해 발행된 인증 요구에 응답하여, 제어 모듈(16)은 메모리 영역(13)에게 컴포넌트(15)로 어드레스되는 정수(r)를 전달할 것을 명령하고, 또한 엔티티(B)로 전송되는 값(x)을 구성하는 세트(G)의 관련된 요소(gr)를 전달할 것을 명령한다. 엔티티(B)로부터 수신된 추가적인 오퍼랜드들(a, b)이 또한 제어 모듈(16)에 의해 컴포넌트(15)에 제공된 다음, 컴포넌트에 의해 리턴된 정수(y)가 제어 모듈(16)에 의해 엔티티(B)로 전달된다. 이렇게 되면, 공개키(g, v)를 알고 있는 엔티티(B)는 검증 방정식 gy=xavb을 이용하여 A를 인증할 수 있게 된다.
도 2의 변형에서, 유닛(A)은 메세지들(M)을 인증한다. 보호 영역(10) 및 제어 모듈(16)은, a=1로 고정시킴으로써, 도 1의 예에서와 본질적으로 같다. 보호 영역(10)에는 소정의 암호 해시 함수(f)를 적용하는 해시 모듈(18)이 추가된다. 이 해시 함수(f)의 인수(argument)는 메모리 영역(13)으로부터 제공되는 요소(gr) 및 제어 모듈(16)에 의해 제공되는 인증될 메세지(M)이다. 결과(x)는 제어 모듈(16)로 송신되며, 제어 모듈(16)은 이 결과를 엔티티(B)에 전달한다.
해시 모듈(18)은 또한 인수(M)없이 (또는 이러한 인수의 디폴트 값을 가지고) 도 1에 따른 실시예에서도 존재할 수 있는바, 이는 세트(G)와 무관하게 사이즈가 지정되는 키 값(x)을 생성한다.
따라서, 동일한 회로가 양쪽 모두의 애플리케이션들에 적절하다는 것을 알 수 있다.
서명을 검사하게 될 엔티티들과 무관하게 메세지들(M)의 서명을 제공하는 도 3에 따른 유닛에 대해서도 동일한 회로가 유지된다. 해시 모듈(18)에 의해 전달되는 결과(x)가 정수의 형태를 취한다면, 이는 컴포넌트(15)에 오퍼랜드(b)로서 제공될 수 있다. 또한, 이전에 나타낸 바와 같이, 함수(h)를 사전에 적용할 수 있다.
도 4에 따른 실시예에서, 메모리 영역(13)은 엔티티(B)의 공개키 g, v'의 함수(이에 따라, 이들은 사전에 알려져야 한다)로서 결정되는 비밀 세션키(K)와 각각의 난수(r)를 추가적으로 관련시킨다. 즉, K=v'r 이다. 이 세션키(K)는 비밀키 암호 유닛(20)으로 송신되는 바, 상기 유닛(20)은 대칭적인 암호 알고리즘에 따라 통상적인 방식으로 동작하여 엔티티(B)와 통신할 수 있다. 비밀키 암호 유닛(20)은 검증 방정식 gy=xavb 또는 이전에 설명된 변형들중 하나를 이용하여 비밀키(K)의 정합성(integrity)을 확인한다.

Claims (12)

  1. 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법에 있어서,
    상기 암호 유닛은, 상기 암호 시스템과 독립적으로 제조되며 난수(r), 비밀키(s) 및 적어도 1개의 추가적인 오퍼랜드(a, b)를 포함하는 여러 개의 정수 오퍼랜드들 간의 결합을 통해 정수(y)를 출력하는 컴포넌트(15)를 구비하고, 그리고
    곱셈 연산을 구비하는 세트(G)의 제 1 요소(g)를 포함하는 공개키와 비밀키(s)를 결합하여 상기 암호 시스템을 선택한 후, 상기 암호 유닛은 암호 데이터 스위트들의 발생기를 구비하며, 상기 각 스위트는 상기 컴포넌트에 오퍼랜드로서 전달되는 난수(r), 및 상기 세트(G)의 요소(gr)에 의존하며 정수(y)와 관련하여 상기 암호 유닛에 의해 출력되는 값(x)을 포함하는 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
  2. 제 1 항에 있어서,
    상기 공개키는 v=gs 또는 v=g-s가 되는 상기 세트(G)의 제 2 요소(v)를 포함하는 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 암호 데이터 스위트들의 발생기는 사전에 계산된 {r,x} 또는 {r,gr} 쌍들을 수신하는 프로그램가능한 메모리(13)를 포함하는 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
  4. 제 1 항에 있어서,
    상기 컴포넌트(15)에 의해 수행되는 결합은 y=ar+bs의 형태이며, 상기 a 및 b는 2개의 추가적인 오퍼랜드들인 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
  5. 제 4 항에 있어서,
    상기 추가적인 오퍼랜드들(a 및 b)은 상기 값(x) 및 상기 정수(y)가 전송되는 검증 유닛으로부터 수신되는 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
  6. 제 4 항에 있어서,
    상기 추가적인 오퍼랜드들중 하나(a)는 1인 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
  7. 제 6 항에 있어서,
    상기 곱셈 연산을 구비하는 상기 세트(G)는 그룹 구조를 갖는 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
  8. 제 7 항에 있어서,
    상기 컴포넌트(15)는 상기 다른 하나의 추가적인 오퍼랜드(b)가 상기 값(x) 및 상기 정수(y)가 전송되는 검증 유닛으로부터 수신되도록 배열되고, 상기 요소(gr)의 함수로서 상기 값(x)을 얻는 것은 해시 함수를 적용하는 것을 포함하는 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
  9. 제 7 항에 있어서,
    메세지 인증 프로토콜을 구현하는 암호 유닛을 제조하기 위해, 상기 컴포넌트(15)는 상기 다른 하나의 추가적인 오퍼랜드(b)가 상기 값(x) 및 상기 정수(y)가 전송되는 검증 유닛으로부터 수신되도록 배열되고, 상기 값(x)은 상기 암호 유닛을 통합하는 장치에 의해 인증되는 메세지(M)의 내용 및 상기 요소(gr)의 함수인 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
  10. 제 7 항 내지 제 9 항 중의 어느 한 항에 있어서,
    디지털 메세지 서명 프로토콜을 구현하는 암호 유닛을 제조하기 위해, 상기 추가적인 오퍼랜드(b)는 상기 값(x)의 함수로서 계산되고, 상기 값(x)은 상기 암호 유닛을 통합하는 장치에 의해 인증되는 메세지(M)의 내용 및 상기 요소(gr)의 함수인 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
  11. 제 1 항에 있어서,
    키 교환 프로토콜을 구현하는 암호 유닛을 제조하기 위해, 상기 암호 유닛은 상기 값(x) 및 상기 정수(y)가 전송되는 다른 암호 유닛과 통신하는 수단을 구비하고, 상기 다른 암호 유닛에는 다른 정수 비밀키(s')가 결합되며, 상기 암호 시스템의 선택은 v'=gs' 가 되도록 상기 세트(G)의 상기 요소(g) 및 다른 요소(v')로 구성된 공개키와 상기 비밀키(s')를 결합하는 것을 포함하고, 상기 발생기에 의해 생성된 상기 각 암호 데이터 스위트는 상기 난수(r) 및 상기 값(x) 외에, 상기 다른 암호 유닛에는 전송되지 않는, 상기 세트(G)의 요소(v'r)에 의존하는 공통키(K)를 포함하는 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
  12. 제 11 항에 있어서,
    상기 암호 데이터 스위트들의 발생기는 사전에 계산된 {r,k,X} 또는 {r,gr,v'r}의 쌍들을 수신하는 프로그램가능한 메모리(13)를 포함하는 것을 특징으로 하는 비대칭적인 암호 시스템에서 정수 비밀키(s)가 결합된 암호 유닛을 제조하는 방법.
KR1020047002450A 2001-08-20 2002-08-16 이산 로그 함수를 이용하여 비대칭적인 암호 시스템에 대한 암호 유닛을 제조하는 방법 KR100949199B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0110938A FR2828780B1 (fr) 2001-08-20 2001-08-20 Procede de realisation d'une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret
FR01/10,938 2001-08-20
PCT/FR2002/002896 WO2003017569A1 (fr) 2001-08-20 2002-08-16 Procede de realisation d'une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret

Publications (2)

Publication Number Publication Date
KR20040027928A KR20040027928A (ko) 2004-04-01
KR100949199B1 true KR100949199B1 (ko) 2010-03-23

Family

ID=8866617

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047002450A KR100949199B1 (ko) 2001-08-20 2002-08-16 이산 로그 함수를 이용하여 비대칭적인 암호 시스템에 대한 암호 유닛을 제조하는 방법

Country Status (11)

Country Link
US (1) US7330549B2 (ko)
EP (1) EP1419610B1 (ko)
JP (1) JP4559072B2 (ko)
KR (1) KR100949199B1 (ko)
CN (1) CN100380861C (ko)
AT (1) ATE450949T1 (ko)
DE (1) DE60234611D1 (ko)
FR (1) FR2828780B1 (ko)
HK (1) HK1069696A1 (ko)
MX (1) MXPA04001588A (ko)
WO (1) WO2003017569A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2850479B1 (fr) 2003-01-24 2005-04-29 France Telecom Procede cryptographique a cle publique pour la protection d'une puce contre la fraude
FR2867335A1 (fr) * 2004-03-02 2005-09-09 France Telecom Procede cryptographique notamment a cle publique
FR2867289A1 (fr) * 2004-03-02 2005-09-09 France Telecom Procede et dispositif pour accomplir une operation cryptographique
CN100459492C (zh) * 2004-12-09 2009-02-04 中国电子科技集团公司第三十研究所 一种适用于同步数字系列的加密方法
JP4548223B2 (ja) * 2005-05-27 2010-09-22 日本電気株式会社 擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システム及び方法
US7649999B2 (en) * 2005-06-08 2010-01-19 Iris Anshel Method and apparatus for establishing a key agreement protocol
WO2009057338A1 (ja) * 2007-10-29 2009-05-07 Nippon Telegraph And Telephone Corporation 署名生成装置、署名検証装置、それらの方法及びプログラム
EP2134027A1 (en) * 2008-06-09 2009-12-16 Thomson Licensing Method and apparatus for generating a signature for a message and method and apparaturs for verifying such a signature
US8621212B2 (en) * 2009-12-22 2013-12-31 Infineon Technologies Ag Systems and methods for cryptographically enhanced automatic blacklist management and enforcement
US8630411B2 (en) * 2011-02-17 2014-01-14 Infineon Technologies Ag Systems and methods for device and data authentication
FR3002350A1 (fr) * 2013-02-15 2014-08-22 France Telecom Procede cryptographique de generation d'une paire de cles utilisateur pour une entite possedant un identifiant public i, et systeme
US10361844B2 (en) 2015-04-20 2019-07-23 Certicom Corp. Generating cryptographic function parameters based on an observed astronomical event
US10079675B2 (en) 2015-04-20 2018-09-18 Certicom Corp. Generating cryptographic function parameters from a puzzle
US10375070B2 (en) 2015-04-20 2019-08-06 Certicom Corp. Generating cryptographic function parameters from compact source code
EP3119031A1 (en) * 2015-07-16 2017-01-18 ABB Schweiz AG Encryption scheme using multiple parties

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0666664B1 (fr) * 1994-02-04 1998-11-04 France Telecom Procédé de signature numérique et d'authentification de messages utilisant un logarithme discret avec un nombre réduit de multiplications modulaires
US5966445A (en) * 1995-05-26 1999-10-12 Korea Telecommunication Authority Identification scheme single or multi-digital signature scheme giving message recovery single or multi-digital signature scheme with appendix key exchange scheme and blind digital signature scheme

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4668103A (en) * 1982-04-30 1987-05-26 Wilson William J Polygraphic encryption-decryption communications system
US5297206A (en) * 1992-03-19 1994-03-22 Orton Glenn A Cryptographic method for communication and electronic signatures
JP3331321B2 (ja) * 1997-07-04 2002-10-07 日本電信電話株式会社 複数のデジタル署名を一括して検証する方法及びそのための装置とその方法を記録した記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0666664B1 (fr) * 1994-02-04 1998-11-04 France Telecom Procédé de signature numérique et d'authentification de messages utilisant un logarithme discret avec un nombre réduit de multiplications modulaires
US5966445A (en) * 1995-05-26 1999-10-12 Korea Telecommunication Authority Identification scheme single or multi-digital signature scheme giving message recovery single or multi-digital signature scheme with appendix key exchange scheme and blind digital signature scheme

Also Published As

Publication number Publication date
US20050018841A1 (en) 2005-01-27
JP2005500743A (ja) 2005-01-06
KR20040027928A (ko) 2004-04-01
CN100380861C (zh) 2008-04-09
ATE450949T1 (de) 2009-12-15
CN1543725A (zh) 2004-11-03
EP1419610A1 (fr) 2004-05-19
FR2828780A1 (fr) 2003-02-21
DE60234611D1 (de) 2010-01-14
MXPA04001588A (es) 2004-07-23
HK1069696A1 (en) 2005-05-27
WO2003017569A1 (fr) 2003-02-27
US7330549B2 (en) 2008-02-12
JP4559072B2 (ja) 2010-10-06
FR2828780B1 (fr) 2004-01-16
EP1419610B1 (fr) 2009-12-02

Similar Documents

Publication Publication Date Title
Okamoto et al. Key distribution system based on identification information
EP1467512B1 (en) Encryption process employing chaotic maps and digital signature process
Caelli et al. PKI, elliptic curve cryptography, and digital signatures
Ge et al. A direct anonymous attestation scheme for embedded devices
EP1582024B1 (en) System, apparatus and method for replacing a cryptographic key
KR100949199B1 (ko) 이산 로그 함수를 이용하여 비대칭적인 암호 시스템에 대한 암호 유닛을 제조하는 방법
US7100051B1 (en) Public-key signature methods and systems
KR101107565B1 (ko) 영 지식 증명 암호화 방법 및 장치
EP0924895A2 (en) Encryption and decryption devices for public-key cryptosystems and recording medium with their processing programs recorded thereon
US20080240443A1 (en) Method and apparatus for securely processing secret data
GB2321834A (en) Cryptographic signature verification using two private keys.
Tian et al. Novel secure outsourcing of modular inversion for arbitrary and variable modulus
US11251970B2 (en) Composite digital signatures
KR20230024369A (ko) 비밀 공유의 생성
US7248692B2 (en) Method of and apparatus for determining a key pair and for generating RSA keys
US20050220298A1 (en) Cryptographic method for distributing load among several entities and devices therefor
Kwon Virtual software tokens-a practical way to secure PKI roaming
KR100899020B1 (ko) 공개키를 이용하여 암호화 작업을 수행하는 방법
Dong et al. A restrained paillier cryptosystem and its applications for access control of common secret
EP0577000B1 (en) Method for performing public-key cryptography
Somsuk The alternative Method to Finish Modular Exponentiation and Point Multiplication Processes
Lee et al. Accelerating key establishment protocols for mobile communication
Daniel et al. An Efficient Forward Secure Authenticated Encryption Scheme with Ciphertext Authentication Based on Two Hard Problems
Baek et al. On the significance of unknown key-share attacks: How to cope with them
Ge A method to implement direct anonymous attestation

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140314

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150309

Year of fee payment: 6