KR101391216B1 - 타원형 곡선들을 사용한 암호화 방법 - Google Patents

타원형 곡선들을 사용한 암호화 방법 Download PDF

Info

Publication number
KR101391216B1
KR101391216B1 KR1020087025841A KR20087025841A KR101391216B1 KR 101391216 B1 KR101391216 B1 KR 101391216B1 KR 1020087025841 A KR1020087025841 A KR 1020087025841A KR 20087025841 A KR20087025841 A KR 20087025841A KR 101391216 B1 KR101391216 B1 KR 101391216B1
Authority
KR
South Korea
Prior art keywords
elliptic curve
coordinate
processed
twisted
curve
Prior art date
Application number
KR1020087025841A
Other languages
English (en)
Other versions
KR20080111089A (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 KR20080111089A publication Critical patent/KR20080111089A/ko
Application granted granted Critical
Publication of KR101391216B1 publication Critical patent/KR101391216B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 암호화 방법에 적당한 타원형 곡선을 결정하기 위한 방법에 관한 것이고, 상기 방법은 (a) 검사될 타원형 곡선이 제공되는 단계; (b) 검사될 타원형 곡선과 연관된 트위스트된 타원형 곡선의 순서가 결정되는 단계; (c) 트위스트된 타원형 곡선의 순서가 강한 소수인지를 자동으로 검사하는 단계; 및 (d) 만약 트위스트된 타원형 곡선의 순서가 강한 소수이면, 검사될 타원형 곡선은 암호화 방법에 적당한 타원형 곡선으로서 선택되는 단계를 포함한다.

Description

타원형 곡선들을 사용한 암호화 방법{CRYPTOGRAPHIC METHOD WITH ELLIPTICAL CURVES}
본 발명은 타원형 곡선, 특히 암호화 데이터 처리에 적당한 타원형 곡선들을 결정하기 위한 방법에 관한 것이다. 게다가, 본 발명은 이전에 선택된 타원형 곡선들을 바탕으로 하는 암호화 방법 및 설비에 관한 것이다.
암호화 방법들은 여러 목적들 중에서, 도큐먼트들을 사인하고 개인들 또는 객체들을 인증하는 암호화 메시지들에 사용된다. 특히 이 목적에는 소위 비대칭 인크립션 방법들이 적당하고, 여기서 관계자들에게는 비밀로 유지되는 개인 키 및 또한 공개 키 모두가 제공된다.
메시지를 인크립트할 때, 전송자는 목표된 수신인의 공개 키를 이용하고, 상기 공개 키를 이용하여 메시지를 인크립트한다. 그 후, 수신인만이 그에게만 공지된 개인 키를 사용하여 메시지를 다시 디크립트하기 위한 위치에 있다.
도큐먼트를 사인할 때, 서명자는 그의 개인 키를 이용하여 도큐먼트로부터 전자 서명을 계산한다. 다른 사람들은 서명인의 공개 키를 사용하여 서명을 직접 검증할 수 있다. 그러나, 연관된 개인 키를 사용하여 형성된 서명들만이 공개 키를 사용하여 검증될 수 있다. 이런 유일한 할당의 결과로서, 그리고 개인 키가 서명인에 의해 비밀로 유지되는 것을 가정하여, 서명인 및 도큐먼트에 대한 서명의 유일한 할당이 존재한다.
도전 응답 프로토콜을 사용한 인증의 경우, 검사 스테이션은 개인 키를 사용하여 계산을 바라는 개인에게 하나의 요청을 통신하고 다시 응답을 전송한다. 실제적인 인증은 만약 검사 스테이션이 검사될 개인의 공개 키를 사용하여 다시 전송되는 응답을 검증할 수 있으면 발생한다.
상기 설명된 바와 같이, 비대칭 암호화 방법들은 개인 키 및 공개 키를 바탕으로 한다. 여기서, 공개 키는 미리 정의된 알고리듬에 의해 개인 키로부터 일반화된다. 암호화 방법들에 중요한 것은 공개 키로부터 개인 키의 결정인 반대(reverse)가 이용 가능한 컴퓨팅 능력들을 가지고 한정 시간 내에서 관리될 수 없는 것이다. 이것은 개인 키의 키 길이가 최소 길이보다 큰 경우이다. 키에 대한 이런 최소 길이는 인크립션에 사용되는 알고리듬들 및 공개 키의 결정에 따른다.
공개 키 또는 개인 키를 사용한 동작들은 특정 양의 계산 노력을 요구한다. 이것은 사용된 알고리듬들 및 또한 사용된 키들의 길이에 따른다. 이런 상황에서 알고리듬들이 짧은 키 길이들에 높은 보안성을 제공하기 때문에, 타원형 곡선들을 바탕으로 하는 인크립션 알고리듬들을 사용하는 것이 바람직한 것으로 증명되었다. 타원형 곡선들을 바탕으로 하는 암호화 방법 방법들의 경우, 다른 방법들과 달리 키 길이가 증가할 때 계산 노력이 지수적으로 보다는 느리게 증가하는 공개 키로부터 개인 키를 결정하는 공지된 방법이 없다. 다른 말로, 사용된 키에 대한 길이의 부가적인 비트당 보안 이득은 다른 방법들보다 높다. 따라서 상당히 짧은 키 길이들은 실제 애플리케이션들에 사용될 수 있다.
타원형 곡선(E)은 일반적으로 다음 세제곱 방정식으로 기입된 바이어슈트라스(Weierstrass) 방정식에 의해 정의된다.
Figure 112008073360247-pct00001
여기서, a1, a2, a3, a4, a6는 필드(K)의 일정하게 선택된 엘리먼트들이고 쌍들(x,y)은 타원형 곡선(E)상 포인트들이고 바이어슈트라스 방정식을 만족시킨다. 암호화 방법들을 위하여, 한정된 필드(K)는 선택된다. 따라서, 타원형 곡선(E)상 포인트들의 숫자는 한정되고, 곡선(E)의 차수(ord(E))로서 하기 참조된다. 게다가, 하나의 기하학적 포인트는 무한하게 도입된다.
아벨군 구조(G)는 타원형 곡선상 포인트들 세트상에 정의될 수 있다. 아벨군 그룹 구조의 동작은 추가적으로 하기에 참조되고, 추가적으로 기입된다. 타원형 곡선상 두 개의 임의의 포인트들의 부가는 이런 타원형 곡선상에 유일한 제 3 포인트를 제공한다. 게다가, 이런 방식으로 그 자체에 포인트의 다수의 부가로서 정의되는 스칼라 곱셈을 정의하는 것은 가능하다. P가 타원형 곡선(E)상 포인트이고, S가 정수이고 Q=sP이고, 포인트(P)의 s배이라고 하자. Q는 또한 타원형 곡선상 포인트이다. 주어진 포인트들(P 및 Q)에 대한 스칼라(s)의 결정은 타원형 곡선들에 대한 이산 로가리듬 문제라 불린다. 필드(K) 및 타원형 곡선(E) 파라미터들의 적당한 선택을 위하여, 현재 이용할 수 있는 컴퓨팅 설비들을 이용하여 합리적 인 시간 내에 이산 로가리듬 문제를 해결하는 것은 가능하지 않다. 타원형 곡선들을 사용한 암호화 방법들의 보안성은 이런 어려움을 기초로 한다.
통신 참가자는 이런 개인 키로서 스칼라(s)를 선택하고, 이를 비밀로 유지한다. 게다가, 시작 포인트(P)로부터, 그는 시작 포인트의 스칼라 배수로서 공개 키(Q)를 생성한다. 시작 포인트(P)와 관련하여, 통신 참가자들 사이에 협약이 있다. 이산 로가리듬 문제의 높은 계산 비용으로 인해, 타원형 곡선들의 보안성을 사용하여 암호화 방법들을 제공하는 것인 공개 키(Q)로부터 개인 키(s)를 결정하는 것은 가능하지 않다. 타원형 곡선들에 의해 충족될 다른 요구조건은 그 차수가 큰 소수이거나 큰 소수 및 작은 수의 곱이어야 하는 것이다.
암호화 방법들은 데이터를 인크립트하기 위한 보안성의 예상 레벨 및 통신 비용 사이의 협약을 나타낸다. DE 101 61 138 A1에는 y 좌표들을 포함하지 않고 x 좌표들에 대한 기준으로써 포인트의 스칼라 곱을 결정하는 것이 가능하다는 것이 도시된다. 적당한 계산 법치들은 DE 101 61 138 A1의 임의의 필드들에 기술된다. 이들은 달성될 포인트 계산의 상당히 효율적인 실행, 예를들어 스칼라 곱셈에 대한 몽고매리 래더(Montgomery ladder), 포인트 가산 당 작은 수의 필드 곱셈 및 포인트 표현 및 중간 결과들을 위한 작은 수의 레지스터들 실행을 가능하게 한다. 그러나, 이런 방법에서 포인트가 진정으로 타원형 곡선상 엘리먼트인지에 대한 검사가 이루어지지 않는다.
이것은 사이드 채널 공격을 수행할 가능성을 형성한다. 이것은 인크립션 설비에 대한 통신 및 타원형 곡선상에 놓이지 않는 포인트에 대한 x 좌표를 포함한다. 이런 접속에서, DE 10161138 A1은 인크립션 설비의 개인 키의 부분 재구성을 달성하는 것은 이런 수단에 의해 가능하다는 사실을 기술한다. 상기 사이드 채널 공격을 방지하기 위하여, DE 10161138 A1은 특정하게 선택된 타원형 곡선들을 사용한다. 이렇게 함으로써, 타원형 곡선들과 연관된 트위스트된 타원형 곡선들은 기준으로서 사용되었다. 연관된 트위스트된 타원형 곡선은 다음과 같이 정의된다:
Figure 112008073360247-pct00002
여기서 파라미터들 a1, a2, a3, a4, a6는 타원형 곡선들의 파라미터들이다. 파라미터들(v)은 만약 필드(K)의 특성이 홀수이면 필드(K)의 모든 비제곱들, 또는 트레이스(1)를 가진 필드(K)의 엘리먼트이다. DE 10161138 A1에 따라, 모든 이들 트위스트 타원형 곡선들은 큰 소수이거나 또한 작은 수와 큰 소수의 곱셈인 차수를 가져야 한다.
논문 "The Static Diffie-Hellman Problem"에서, 저자들 Daniel R. L. Brown and Robert P. Gallant는 완전하게 또는 부분적으로 개인 키를 조사하기 위한 사이드 채널 공격에 대한 다른 가능성을 기술한다.
본 발명의 목적은 사이드 채널 공격을 당할 때 개인 키에 관한 임의의 결론들이 유도되지 못하는 타원형 곡선들을 선택하는 방법을 제공하는 것이다.
본 발명에 따라, 이 목적은 청구항 제 1 항의 특징부들을 가진 방법에 의해 달성된다. 청구항 제 4 항의 특징부들을 가진 데이터를 암호화 처리하기 위한 방법, 및 청구항 제 6 항의 특징부들을 가진 개인 또는 객체의 신원을 확인하기 위한 설비는 사이드 채널 공격들에 의해 개인 키의 결정 또는 부분 결정을 방지한다.
따라서, 다음이 제공된다:
암호화 방법들에 적당한 타원형 곡선을 결정하기 위한 방법은 다음 단계들을 가진다:
(a) 검사될 타원형 곡선을 제공하는 단계;
(b) 검사될 타원형 곡선에 할당되는 트위스트된 타원형 곡선의 차수를 결정하는 단계;
(c) 트위스트된 타원형 곡선의 차수가 강한 소수인지를 자동으로 검사하는 단계; 및
(d) 만약 트위스트된 타원형 곡선의 차수가 강한 소수이면, 암호화 방법에 적당한 타원형 곡선으로서 검사될 타원형 곡선을 선택하는 단계.
다음 단계들을 가진 데이터를 암호화 처리하는 방법은:
청구항 제 1 항 내지 제 3 항에 따른 방법을 사용하여 결정된 타원형 곡선을 제공하는 단계;
포인트의 단지 하나의 x 좌표를 제공하는 단계;
개인 키를 제공하는 단계;
인크립트된 x 좌표를 결정하기 위하여 제공된 타원형 곡선 및 개인 키를 사용하여 x 좌표에 암호화 인크립션 방법을 자동으로 제공하는 단계; 및
인크립트된 x 좌표를 바탕으로 하나의 값을 출력하는 단계를 포함한다.
개인 또는 객체의 신원을 확인하기 위한 설비는,
- 하나의 좌표를 수신하기 위하여 사용된 수신 장치,
- 개인 또는 객체에 대한 개인 키를 제공하는 저장 장치,
- 개인 키를 사용하여 수신되었던 좌표를 처리하기 위해 사용된 처리 장치 - 여기서 상기 처리는 방법들 1 내지 3 중 하나에 따라 선택된 타원형 곡선을 바탕으로 함 -, 및
- 처리된 좌표를 출력하기 위하여 설정된 출력 장치를 가진다.
타원형 곡선에 대한 트위스트된 타원형 곡선이 강한 소수인 차수를 가질때만 본 발명이 바탕으로 하는 생각이 암호화 방법을 위한 타원형 곡선으로 구성된다. 강한 소수(P)는 다음 방정식에 의해 정의된다:
P = 1 + r·q,
여기서 r은 통상적으로 255까지 범위의 작은 수이고, q는 큰 소수이다. 이상적으로, 강한 소수는 소위 소피 제르멩 소수일 것이고, 즉 r은 2이다. 타원형 곡선들 및 연관된 트위스트된 타원형 곡선들은 상기된 정의들을 증명한다. 본 발명은 잘못되게 통신되는 x 좌표들 또는 부당한 의도로 잘못되게 통신되는 x 좌표들을 바탕으로 하는 사이드 채널 공격들을 방지하고, 여기서 이들 x 좌표들은 선택된 타원형 곡선상 임의의 포인트에 대응하지 않는다. 본 발명에 따른 방법은 상기 x 좌표들의 경우에서도 외부 장치가 개인 키를 발견하거나 부분적으로 결정하게 하지 못한다는 측면에서 강건하다.
바람직한 개선들 및 실시예들은 다른 종속항들의 주제이거나 도면과 함께 취해진 상세한 설명으로부터 유도된다.
일 실시예 형태에 따라, 트위스트된 타원형 곡선의 차수는 트위스트된 타원형 곡선상에 놓이는 다수의 포인트들을 카운팅함으로써 결정된다. 선택적으로, 트위스트된 타원형 곡선의 차수는 또한 타원형 곡선의 차수 및 필드 특성의 결정을 바탕으로 결정될 수 있다. 이런 목적을 위하여, 다른 차수들 사이의 유일한 수리적 관계들은 사용될 수 있다. 포인트들의 카운팅은 일반적으로 당업자에게 공지된 방법들을 사용하여 이루어진다.
일 실시예 형태에서, 자동 검사는 검사될 타원형 곡선의 차수가 강한 소수인지에 대해 이루어지고, 검사될 타원형 곡선은 만약 검사될 타원형 곡선의 차수가 강한 소수이면 암호화 방법들을 위해 선택된다.
본 발명은 도면들의 개략 도면들에 지정된 예시적인 실시예들을 참조하여 하기에 설명된다.
도 1은 본 발명에 따른 방법의 실시예 형태의 흐름도이다.
도 2는 본 발명에 따른 설비의 실시예 형태의 블록도이다.
도 3은 도 2에 도시된 설비에 의해 실행되는 본 발명에 따른 방법의 실시예 형태의 흐름도이다.
도 1은 본 발명에 따른 방법의 실시예 형태를 도시하기 위한 흐름도를 도시한다. 제 1 단계에서, 타원형 곡선들(E)의 풀은 제공된다(S1). 타원형 곡선들(E) 은 유한 필드(K)상에서 정의된다. 따라서, 곡선(E)은 유한 수의 포인트들(P)을 포함한다. 이미 기술된 바와 같이, 타원형 곡선은 바이어슈트라스 방정식 및 파라미터들(a1,a2,a3,a4,a6)에 의해 정의된다. 파라미터화에 대한 적당한 제한들 또는 변화들은 개별 파라미터들을 영으로 감소시킬 수 있다. 파라미터들은 타원형 곡선들이 유일하지 않도록 선택된다.
이 후, 타원형 곡선의 차수는 결정된다(S2). 용어 타원형 곡선의 차수는 바이어슈트라스 방정식을 만족시키는 필드(K)에서 포인트들의 수로서 이해된다. 이런 기하학적 해석은 타원형 곡선(E) 상에 놓이는 모든 포인트들(p)이다.
축약하여 ord(E)(차수)인 타원형 곡선의 차수는 소수이어야 한다. 만약 소수가 아닌 것이 검사되면, 다른 곡선(E)은 풀로부터 선택된다(S8). 만약 타원형 곡선(E)의 차수가 소수로서 확인되면, 타원형 곡선 차수가 강한 소수인지에 대한 검사가 이루어진다(S3). 강한 소수의 정의는 상기 주어졌다.
다음 단계(S4)에서, 타원형 곡선(E)에 대한 트위스트된 타원형 곡선들(E)은 검사된다. 트위스트된 곡선들(E')의 정의는 이미 상기되었다. 제곱에 대응하지 않거나 트레이스(1)를 가진 엘리먼트인 모든 트위스트 곡선들(E'), 즉 모든 가능한 파라미터들(v)에 대한 검사가 이루어진다. 트위스트 곡선들(E')의 차수는 개별적으로 결정된다(S5). 트위스트 곡선(E')의 차수는 또한 타원형 곡선과 같이 소수이어야 한다. 만약 이런 조건이 만족되지 않으면, 다른 타원형 곡선(E)은 선택된다.
부가적으로 타원형 곡선(E')의 차수가 강한 소수인지에 대해 검사가 이루어 진다(E6).
만약 단계들(S2,S3,S5 및 S6)의 모두 4개의 조건들이 만족되면, 타원형 곡선(E)은 암호화 방법을 위하여 선택된다.
타원형 곡선의 차수는 공지된 계산 방법을 사용하여 결정될 수 있다. 선택적으로, 관계
Figure 112008073360247-pct00003
로부터 차수를 결정하는 것은 가능하고, 여기서 |K|는 필드(k)의 특성이다.
도 2는 검사 객체(A) 및 검사 장치(B)의 블록도를 도시한다. 검사 객체는 예를들어 스마트 카드 또는 RFID 칩일 수 있다. 검사 장치(B)는 적당한 판독기이다. 검사 객체(A)는 개인 키(KP)가 저장된 메모리 장치(1)를 가진다. 이런 개인 키(KP)는 비밀로 유지되고 외부 장치에 의해 임의의 방식으로 판독될 수 있다. 다른 메모리 장치(2)에는 타원형 곡선(E)을 파라미터화하기 위하여 제공된 파라미터들이 저장된다. 데이터 처리 장치(3)는 파라미터들에 의해 정의되고 메모리 장치(2)에 홀딩되는 타원형 곡선 및 개인 키를 바탕으로 인크립션 알고리듬을 실행한다. 적당할 때 파라미터들 또는 타원형 곡선은 본 발명에 따른 방법, 예를들어 도 1에 도시된 예시적인 실시예에 의해 결정된다. 게다가 검사 객체는 포인트의 x 좌표를 수신할 수 있는 수신 장치(4)를 가진다. 이 x 좌표는 이전에 정의된 방법을 실행하는 데이터 처리 장치(3)에 공급된다. 이 방법의 특정 특징들은 x 좌표에만 적용되고 또한 포인트의 x 좌표만을 요구한다는 것이다. 처리되거나 인크립트된 x 좌표는 전송 장치(5)에 의해 출력된다. 검사 객체(A)는 통신된 x 좌표가 유효 x 좌표일지에 대해 검사하지 않는다. 검사 객체(A)는 이 x 좌표가 타원형 곡선상 포인트(P)에 할당되는지 검사하지 않는다. 그러나, 메모리 장치(2)에 홀딩된 선택된 타원형 곡선들은 x 좌표를 사용하여 개인 키를 발견하거나 부분적으로 발견하는 것이 가능하지 않은 것을 보장한다.
검사 장치(B)는 타원형 곡선으로부터 임의의 포인트(PO)를 선택하는 랜덤화기(10)를 가진다. 이것은 전송 장치(11)에 의해 검사 객체(A)에 통신된다. 검사 장치(B)는 추가로 처리된 x 좌표(Q(x))를 수신하기 위한 수신 장치를 가진다. 데이터 처리 장치(13)는 검사 객체(A)에 대한 공개 키를 사용하여 처리된 x 좌표를 검사한다. 이런 공개 키는 검사 장치(B)에 저장되거나, 외부 소스로부터 얻어질 수 있다. 만약 인크립트된 값이 이전에 임의로 생성된 x 좌표에 대응하면, 인터페이스(14)의 출력은 검사 객체(A)의 신원이 확인되었다는 것을 가리킨다.
도 3은 다시 개략적으로 흐름도로서, 검사 객체(A)의 식별을 위한 활동들의 시퀀스를 도시한다. 제 1 단계(S10)에서, 랜덤화기는 타원형 곡선(E)상에 포인트(PO)를 생성하고 상기 포인트의 x 좌표를 요청으로서 검사 객체(A)에 통신한다. 이것은 x 좌표로부터 응답을 계산하기 위하여 개인 키(KP)를 사용한다. 이 다음, 검사 객체는 응답(Q(x))을 통신하고 만약 필요하면 공개 키(KO)를 통신한다. 상기 응답은 공개 키(KO)에 의해 검사 스테이션(B)에 의해 검사된다(S12). 이것이 응답을 확인하는 경우, 신호는 개인(A)이 인증되거나 식별되는 효과로 출력된다(S13,S14).
적당한 타원형 곡선은 예를들어 하기에 예시된다. 사용된 유한 필드(K)는 형태(z/pZ)를 가지며, 타원형 곡선(E)의 방정식은 y2 = x3 + ax + b로 제공된다. 타원형 곡선(E)의 대응 파라미터들은 하기와 같다:
Figure 112008073360247-pct00004
Figure 112008073360247-pct00005
타원형 곡선의 차수, ord(E) =
Figure 112008073360247-pct00006
이고 타원형 곡선(E)에 대한 트위스트 타원형 곡선(E')은 소수 차수 ord(E') =
Figure 112008073360247-pct00007
이다. 기본 포인트 P = (x,y)는 좌표들에 의해 제공된다.
Figure 112008073360247-pct00008
그리고 타원형 곡선(E) 상에 놓이고 이 경우 포인트들의 완전한 그룹을 생성한다. 즉 타원형 곡선(E)상 각각의 포인트는 기본 포인트(P)의 스칼라 배수로서 표현될 수 있다. 게다가, 곡선(E) 및 트위스트 곡선(E')의 차수들은 다음 값들을 가진다:
Figure 112008073360247-pct00009
따라서 암호화 방법에 대한 타원형 곡선에 요구된 모든 특성들은 충족된다.

Claims (8)

  1. 데이터의 암호화 처리를 위한 방법으로서, 검사 객체에 의해 수행되는 하기의 단계들:
    (a) 타원형 곡선 ― 상기 타원형 곡선에 대한 트위스트된 타원형 곡선은 강한 소수(strong prime number)인 차수(order)를 가짐 ― 을 제공하는 단계;
    (b) 하나의 포인트의 하나의 x 좌표만를 수신하는 단계;
    (c) 개인 키(private key)를 제공하는 단계;
    (d) 제공된 상기 타원형 곡선 및 상기 개인 키를 사용하여 상기 x 좌표에 암호화 방법을 자동으로 적용함으로써, 처리된 x 좌표를 결정하는 단계; 및
    (e) 상기 처리된 x 좌표를 기초로 하나의 값을 출력하는 단계
    를 포함하는,
    데이터의 암호화 처리를 위한 방법.
  2. 데이터의 암호화 처리를 위한 방법으로서, 검사 장치에 의해 수행되는 하기의 단계들:
    (a) 타원형 곡선 ― 상기 타원형 곡선에 대한 트위스트된 타원형 곡선은 강한 소수인 차수를 가짐 ― 을 제공하는 단계;
    (b) 하나의 포인트의 하나의 x 좌표만을 검사 객체에 전송하는 단계;
    (c) 상기 검사 객체로부터 처리된 x 좌표를 수신하는 단계 ― 상기 검사 객체는 제공된 상기 타원형 곡선 및 개인 키를 사용하여 암호화 방법을 적용함으로써, 통신된 상기 x 좌표로부터 처리된 x 좌표를 결정함 ―;
    (d) 제공된 상기 타원형 곡선 및 공개 키를 사용하여 암호화 방법을 적용함으로써 상기 처리된 x 좌표를 검사하는 단계; 및
    (e) 상기 검사가 상기 처리된 x 좌표가 유효하다고 나타내면 상기 검사 객체의 신원을 확인하는 단계
    를 포함하는,
    데이터의 암호화 처리를 위한 방법.
  3. 데이터의 암호화 처리를 위한 방법으로서,
    검사 객체 및 검사 장치 중 적어도 하나에 의해, 타원형 곡선 ― 상기 타원형 곡선에 대한 트위스트된 타원형 곡선은 강한 소수인 차수를 가짐 ― 을 제공하는 단계;
    상기 검사 장치로부터 상기 검사 객체로 하나의 포인트의 x 좌표를 전송하는 단계;
    상기 검사 객체에 의해, 개인 키를 제공하는 단계;
    상기 검사 객체에 의해, 처리된 x 좌표를 결정하는 단계;
    상기 검사 객체로부터 상기 검사 장치로 상기 처리된 x 좌표를 통신하는 단계;
    상기 검사 장치에 의해, 상기 검사 객체에 대한 공개 키를 제공하는 단계;
    상기 검사 장치에 의해, 상기 처리된 x 좌표를 상기 공개 키를 사용하여 검사하는 단계; 및
    상기 검사가 상기 처리된 x 좌표가 유효하다고 나타내면, 상기 검사 장치에 의해, 상기 검사 객체에 대한 신원의 확인을 출력하는 단계
    를 포함하는,
    데이터의 암호화 처리를 위한 방법.
  4. 암호화 방법들을 위한 타원형 곡선을 결정하기 위한 방법으로서, 검사 객체 및 검사 장치 중 적어도 하나에 의해 수행되는 하기의 단계들:
    검사될 타원형 곡선을 제공하는 단계;
    상기 검사될 타원형 곡선에 할당되는 트위스트된 타원형 곡선의 차수를 결정하는 단계;
    상기 트위스트된 타원형 곡선의 차수가 강한 소수인지를 자동으로 검사하는 단계; 및
    상기 트위스트된 타원형 곡선의 차수가 강한 소수이면 암호화 방법들에 적당한 타원형 곡선으로서 검사될 타원형 곡선을 선택하는 단계
    를 포함하는,
    데이터의 암호화 처리를 위한 방법.
  5. 제 4 항에 있어서,
    상기 트위스트된 타원형 곡선의 차수는 상기 트위스트된 타원형 곡선 상에 놓이는 다수의 포인트들을 카운팅하여 결정되는,
    데이터의 암호화 처리를 위한 방법.
  6. 제 4 항에 있어서,
    상기 검사될 타원형 곡선은 공지된 특성을 가진 필드 상에서 정의되고, 상기 트위스트된 타원형 곡선의 차수는 상기 필드의 특성 및 상기 타원형 곡선의 차수의 결정을 기초로 결정되는,
    데이터의 암호화 처리를 위한 방법.
  7. 제 4 항에 있어서,
    부가적으로 상기 검사될 타원형 곡선의 차수가 강한 소수인지에 대한 검사가 자동으로 이루어지고, 상기 검사될 타원형 곡선 차수 또한 강한 소수이면 상기 검사될 타원형 곡선이 암호화 방법을 위해 선택되는,
    데이터의 암호화 처리를 위한 방법.
  8. 개인 또는 객체의 신원을 확인하기 위한 장치로서,
    하나의 좌표만을 수신하기 위하여 제공되는 수신부;
    상기 개인 또는 객체를 위한 개인 키를 준비하여 유지하는 제 1 메모리부;
    타원형 곡선 ― 상기 타원형 곡선에 대한 트위스트된 타원형 곡선은 강한 소수인 차수를 가짐 ― 의 파라미터들을 저장하기 위한 제 2 메모리부;
    저장된 상기 타원형 곡선 및 상기 개인 키를 사용하여 암호화 방법을 적용함으로써, 수신된 상기 좌표를 처리하고, 처리된 x 좌표를 결정하는 처리부; 및
    처리된 좌표를 출력하기 위하여 배열된 출력부
    를 포함하는,
    개인 또는 객체의 신원을 확인하기 위한 장치.
KR1020087025841A 2006-03-23 2008-10-22 타원형 곡선들을 사용한 암호화 방법 KR101391216B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102006013515.6 2006-03-23
DE102006013515A DE102006013515A1 (de) 2006-03-23 2006-03-23 Kryptographisches Verfahren mit elliptischen Kurven
PCT/EP2007/052075 WO2007107450A1 (de) 2006-03-23 2007-03-06 Kryptographisches verfahren mit elliptischen kurven

Publications (2)

Publication Number Publication Date
KR20080111089A KR20080111089A (ko) 2008-12-22
KR101391216B1 true KR101391216B1 (ko) 2014-05-02

Family

ID=38190860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087025841A KR101391216B1 (ko) 2006-03-23 2008-10-22 타원형 곡선들을 사용한 암호화 방법

Country Status (7)

Country Link
US (1) US8582761B2 (ko)
EP (1) EP1997000A1 (ko)
JP (2) JP2009531726A (ko)
KR (1) KR101391216B1 (ko)
CN (1) CN101410792B (ko)
DE (1) DE102006013515A1 (ko)
WO (1) WO2007107450A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009118224A1 (de) * 2008-03-25 2009-10-01 Siemens Aktiengesellschaft Verfahren zum rechnergestützten ermitteln einer elliptischen kurve für kryptographische anwendungen
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
CN102231666A (zh) * 2011-06-29 2011-11-02 电子科技大学 基于强素数的零知识身份认证方法
US9590805B1 (en) * 2014-12-23 2017-03-07 EMC IP Holding Company LLC Ladder-based cryptographic techniques using pre-computed points

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101233682B1 (ko) 2010-09-15 2013-02-15 고려대학교 산학협력단 타원곡선암호를 위한 연산 장치 및 방법

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272755A (en) * 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
US5271061A (en) * 1991-09-17 1993-12-14 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
JP3835896B2 (ja) * 1997-07-30 2006-10-18 富士通株式会社 素数生成装置,B−smooth性判定装置及び記録媒体
JPH11234259A (ja) 1998-02-13 1999-08-27 Hitachi Ltd 相手認証と鍵配送方法とそれを用いた装置、および、暗号通信方法と暗号通信システム
CA2252078C (en) * 1998-10-28 2009-02-17 Certicom Corp. Power signature attack resistant cryptographic system
FR2791497B1 (fr) * 1999-03-26 2001-05-18 Gemplus Card Int Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique
FR2791496B1 (fr) * 1999-03-26 2001-10-19 Gemplus Card Int Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique
US6829356B1 (en) * 1999-06-29 2004-12-07 Verisign, Inc. Server-assisted regeneration of a strong secret from a weak secret
JP2002099211A (ja) * 2000-09-21 2002-04-05 Sony Corp 公開鍵証明書発行要求処理システムおよび公開鍵証明書発行要求処理方法
DE10161137B4 (de) * 2001-12-12 2008-02-14 Siemens Ag Verfahren und System zum kryptographischen Bearbeiten von Daten
DE10161138B4 (de) 2001-12-12 2008-02-14 Siemens Ag Verfahren und Vorrichtung zum Ermitteln einer elliptischen Kurve, Verfahren und Vorrichtung zum Multiplizieren eines Punktes mit einem Skalar
JP2003255831A (ja) 2002-02-28 2003-09-10 Hitachi Ltd 楕円曲線スカラー倍計算方法及び装置
US7302056B2 (en) * 2003-06-30 2007-11-27 Lucent Technologies Inc. Method and system for determining sequence parameters to limit cycle attacks in timed release cryptography
JP4611305B2 (ja) * 2003-10-03 2011-01-12 パナソニック株式会社 情報伝達システム、暗号装置及び復号装置
US7647498B2 (en) * 2004-04-30 2010-01-12 Research In Motion Limited Device authentication
JP2005321719A (ja) 2004-05-11 2005-11-17 Ntt Docomo Inc 通信システム、復号装置、復元装置、鍵生成装置及び通信方法
CN101099328B (zh) * 2004-11-11 2011-05-18 塞尔蒂卡姆公司 定制的静态Diffie-Helman群
US20060153369A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Providing cryptographic key based on user input data
US7693277B2 (en) * 2005-01-07 2010-04-06 First Data Corporation Generating digital signatures using ephemeral cryptographic key
US7490239B2 (en) * 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
US20060153370A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Generating public-private key pair based on user input data
US20060156013A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature software using ephemeral private key and system
EP1844392B1 (en) * 2005-01-21 2012-07-04 Certicom Corp. Elliptic curve random number generation
US7864951B2 (en) * 2006-07-10 2011-01-04 King Fahd University Of Petroleum And Minerals Scalar multiplication method with inherent countermeasures

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101233682B1 (ko) 2010-09-15 2013-02-15 고려대학교 산학협력단 타원곡선암호를 위한 연산 장치 및 방법

Also Published As

Publication number Publication date
US8582761B2 (en) 2013-11-12
KR20080111089A (ko) 2008-12-22
JP2009531726A (ja) 2009-09-03
US20090285388A1 (en) 2009-11-19
WO2007107450A1 (de) 2007-09-27
JP2012123426A (ja) 2012-06-28
CN101410792A (zh) 2009-04-15
EP1997000A1 (de) 2008-12-03
DE102006013515A1 (de) 2007-10-04
CN101410792B (zh) 2013-03-06

Similar Documents

Publication Publication Date Title
US8300811B2 (en) Method and device for processing data
US20130326602A1 (en) Digital Signatures
CN109818730B (zh) 盲签名的获取方法、装置和服务器
US8958563B2 (en) Method of generating a public key for an electronic device and electronic device
KR101391216B1 (ko) 타원형 곡선들을 사용한 암호화 방법
US20130294601A9 (en) Efficient Multivariate Signature Generation
US7313697B2 (en) Method for authentication
CN106034122A (zh) 一种信息处理方法、电子设备及服务器
CN111245626B (zh) 零知识证明方法、装置及存储介质
Ding et al. Study on secret sharing for SM2 digital signature and its application
CN115694822A (zh) 基于零知识证明的验证方法、装置和系统、设备及介质
Kumar et al. Analysis and design of protocol for enhanced threshold proxy signature scheme based on RSA for known signers
Oswald Introduction to elliptic curve cryptography
Chande et al. An improvement of a elliptic curve digital signature algorithm
US10924287B2 (en) Digital signature technique
KR102070061B1 (ko) 묶음 검증 방법 및 장치
Pan et al. Research on Batch Verification Schemes for Identifying Illegal Signatures.
CN115118433A (zh) 客户授权方法及装置、隐私保护集合交集计算方法及装置
Xi et al. Direct anonymous attestation in practice: Implementation and efficient revocation
JP2003507761A (ja) 擬似乱数の形成方法および電子署名方法
Malina et al. Evaluation of anonymous digital signatures for privacy-enhancing mobile applications
CN112541197B (en) Result verification method and device
US11438146B1 (en) System and method for performing key exchange while overcoming a malicious adversary party
Valisireddy et al. Novel Digital Signature scheme on Non-Commutative Rings using Differential Polynomials in conjugacy problem
Kim et al. Self proxy signature scheme

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180309

Year of fee payment: 5