KR20080039497A - 역 연산을 수행하는 회로 장치와 이를 포함하는 마이크로제어기, 데이터 처리 장치, 역 연산 수행 방법 및 컴퓨터 판독가능한 저장 매체 - Google Patents

역 연산을 수행하는 회로 장치와 이를 포함하는 마이크로제어기, 데이터 처리 장치, 역 연산 수행 방법 및 컴퓨터 판독가능한 저장 매체 Download PDF

Info

Publication number
KR20080039497A
KR20080039497A KR1020087006544A KR20087006544A KR20080039497A KR 20080039497 A KR20080039497 A KR 20080039497A KR 1020087006544 A KR1020087006544 A KR 1020087006544A KR 20087006544 A KR20087006544 A KR 20087006544A KR 20080039497 A KR20080039497 A KR 20080039497A
Authority
KR
South Korea
Prior art keywords
phi
cryptographic
circuit arrangement
algorithm
inverse operation
Prior art date
Application number
KR1020087006544A
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 KR20080039497A publication Critical patent/KR20080039497A/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
    • G06F7/721Modular inversion, reciprocal or quotient calculation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

홀수 역 모듈러(inversion modulo an odd number)만이 허용되는 암호화 계산시에 역 연산을 수행하는 회로 장치와 역 연산을 수행하는 방법을 제공하기 위해, 적어도 하나의 짝수 모듈러에 수행되는 역 연산이 제안된다.

Description

역 연산을 수행하는 회로 장치와 이를 포함하는 마이크로제어기, 데이터 처리 장치, 역 연산 수행 방법, 컴퓨터 프로그램 제품, 컴퓨터 프로그램 제품의 전자적 배포 및 역 연산을 수행하는 회로 장치의 사용 및/또는 역 연산 수행 방법의 사용{CIRCUIT ARRANGEMENT FOR AND METHOD OF PERFORMING AN INVERSION OPERATION IN A CRYPTOGRAPHIC CALCULATION}
본 발명은 회로 장치에 관한 것으로, 구체적으로 적어도 하나의 암호화 계산시에 적어도 하나의 역 연산을 수행하는 수학적 코프로세서(coprocessor)와 같은 집적 회로에 관한 것이다.
본 발명은 적어도 하나의 암호화 계산시에 적어도 하나의 역 연산을 수행하는 방법에 관한 것이기도 하다.
타원 곡선 암호화(ECC:Elliptic Curve Cryptography)는 GF(p) 또는 GF(2n) 상의 타원 곡선 관계에 입각한 계산의 이용을 수반한다. 이러한 관계에 있어서, 구조가 소수(p) 확대체(extension field)와 2진수(2n) 확대체 양자 모두에서 피연산자로 작용할 수 있으면 통일된다고 한다.
만일 p가 소수이면, 모듈러 p를 행한 정수는 GF(p)로 나타내는 p 원소를 가 진 체를 형성한다. 유한체(finite field)는 유한체 위수(order), 즉, 갈루아체(Galois filed) 또는 GF로도 지칭되는 유한 개수의 요소를 가진 체이다. 유한체의 위수는 항상 소수 또는 소수의 거듭제곱이다. 소수 거듭제곱마다, 정확히 하나("정확히 하나"가 "동형성까지 정확히 하나"를 의미하는 통상적인 경고를 가짐)의 유한체 GF()가 존재한다. GF(p)는 위수 p의 소수체로 지칭되고, 모듈러 p를 행한 나머지 집합의 체이다.
n > 1이면, GF()는 계수가 GF(p)에 속하는 다항식의 동치류(equivalence class)의 체로서 나타낼 수 있다. 임의의 약분할 수 없는 n 차 다항식은 동형성까지 동일한 체를 산출한다.
타원 곡선 암호화(ECC) 계산은, 예컨대, 암호화 프로세서 내 공개 키 알고리즘의 구현 동안 반복하여 수행되는 긴 정수(long integer)의 곱셈도 필요로 한다.
전형적으로, 암호화 연산 또는 복호화 연산을 완료하기 위해 곱셈 연산이 수 백번 수행되어야 하므로, 이들 연산을 수행하는 암호화 장치가 고속 곱셈기를 사용하여 빠르게 긴 곱셈을 실행하는 것이 중요하다.
타원 곡선 암호화(ECC) 계산은 곱 Z·Z-1 = 1 mod N이 되는 역 계산, 즉, Z-1의 계산도 필요로 한다. 모든 소수점 덧셈 및 모든 소수점 배가 계산은 이러한 계산을 필요로 한다. 본 알고리즘은 컴퓨터 집약적이다.
갈루아체 GF(p)를 사용하는 산술 역을 이용한 몇몇 암호화 알고리즘이 존재한다. 이러한 알고리즘의 예는 GF(p) 상의 타원 곡선 전자 서명 알고리 즘(ECDSA:Elliptic Curve Digital signature Algorithm)이다. ECDSA는 DSA(Digital signature Algorithm) 표준과 유사한 타원 곡선이다.
RSA(Rivest Shamir Adleman) 방식에 비해 ECDSA의 장점은 키 길이가 더 짧고 서명 및 복호화가 더 빠르다는 것이다. 예컨대, 160 (210) 비트 ECC 키는 1024 (2048) 비트 RSA 키와 동일한 보안을 제공할 것으로 예상되고, 보안 레벨이 향상됨에 따라 이러한 장점은 증가한다.
ECDSA 애플리케이션은 홀수 역 모듈러(inversion modulo an odd number)만을 필요로 한다. 이러한 특성은 칼리스키 역(Kaliski inversion)과 같은 특정 전문 역 알고리즘을 사용하는 것을 가능하게 한다. 이들 역 알고리즘의 특성은 빠르지만 모든 입력이 처리될 수 있는 것은 아니라는 단점이 있다.
이는 특정 코프로세서에서 단지 역이 홀수 모듈러에 실행될 수 있는 경우를 야기한다. 이러한 코프로세서의 예는 다수의 칩 카드 또는 스마트 카드에서 광범위하게 사용중이며 RSA 및 ECC와 같은 공개 키 알고리즘을 고속으로 계산하는 용도로 전문화된 암호화 코프로세서인 이른바 "FameXE"인데, 이러한 코프로세서는 동일한 스마트 카드 집적 회로(IC) 상의 주요 중앙 처리 장치(CPU)와 독립적으로 동작하고, 고속으로 실행하여, 이러한 코프로세서는 GF(p) 및 GF(2n)에 기반한 ECC 및 RSA 키 길이 증가로의 경향을 지원한다.
특정 코프로세서에서 단지 역이 홀수 모듈러에 실행될 수 있다는 사실은 불행히도 하드웨어가 RSA 키 생성에 (직접) 사용될 수 없음을 의미한다. 이러한 가 능한 애플리케이션이 적어도 타원 곡선만큼 중요하다는 것이 드러난다.
본 발명의 배경 기술과 관련하여, 공개 키 암호화를 실행하는 방법을 개시하는 종래 기술 문서 EP 0577000 A1을 참조할 수 있다. 이에 있어서, RSA 알고리즘은 알려진 공개 키 방법이며, 디지털 계산 수단을 사용하여 큰 합성수를 인수분해하는 데 있어서 가정한 어려움에 기초한 블록 암호이다.
암호 키는 2 개의 큰 소수 p와 q를 사용하여 수학적으로 유도되는데, 이들 소수 p와 q는 소정의 특성을 만족해야 하지만, 시간 소모적인 모듈러 거듭제곱법(modular exponentiation)이 필요하다. 종래 기술 문서 EP 0577000 A1에 따르면, 몽고메리형(Montgomery-like) 곱셈 리소스와, 변형된 제곱 및 곱셈 절차가 사용될 수 있는 방식으로 암호문의 정의를 변경함으로써 속도가 향상된다.
종래 기술 문서 US 4870681은 메시지를 암호화하고 해독하기 위해 RSA 방법(=리베스트, 셰미르 및 아델만의 공개 키 코드 방법)을 이용하는 암호화 방법뿐만 아니라 암호화 프로세서도 언급한다.
종래 기술 문서 WO 02/11360 A2는 최대 인증서 폐지 트리(CRT:Certificate Revocation Tree) 파라미터 세트보다 좁은 저장 공간을 사용하는 비밀 키의 파라미터화를 제공함으로써 암호화 시스템 내에 비밀 키를 저장하고 복구하는 시스템 및 방법을 개시한다.
종래 기술 문서 WO 02/11360 A2에는 최대 비CRT 파라미터 세트보다 좁은 저 장 공간을 사용하는 비밀 키의 파라미터화를 제공하고 최소 파라미터 세트보다 좋은 연산 효율을 제공함으로써 암호화 시스템 내에 비밀 키를 저장하고 복구하는 시스템 및 방법도 개시되어 있다.
Chenghuai Lu, Andre L. M. dos Santos 및 Francisco R. Pimentel의 종래 기술 논문 "Implementation of Fast RSA Key Generation on Smart Cards"(Symposium on Applied Computing, Proceedings of the 2002 ACM Symposium on Applied Computing, Madrid, Spain, ISBN 1-58113-445-2, page: 214 to 220; cf. http://portal.acm.org/citation.cfm?id=508791.508837)은 현재 광범위하게 사용되고 있는 암호화 알고리즘, 즉, RSA의 키 생성 단계를 구현할 때 고려될 필요가 있는 문제점 및 고려 사항을 설명한다.
이 논문에서는, 간단하지만 상당히 비효율적인 알고리즘 외에, 2 개의 간단하지만 효율적인 키 생성 알고리즘이 평가된다. 논문은 암호화 코프로세서를 가진 스마트 카드를 사용하여, 3 개의 알고리즘의 고속 구현을 이루는 방법을 논의한다.
요약하자면, 보다 강력한 칩 카드 또는 스마트 카드를 사용할수록, 공개 키 기반 암호화가 점점 더 중요해 진다. 현재, 사실상 RSA 시스템이 이러한 암호화에 대한 표준이다.
일부분은 보다 뛰어난 보안의 결과로서, 일부분은 편의성의 이유로 칩 카드 또는 스마트 카드는 그들 자신의 키를 연산할 필요가 있다. RSA 키의 연산은 소프트웨어 풋프린트의 관점과 연산 시간의 관점 양자 모두에서 상당히 리소스 집약적이다.
따라서, 리소스의 강도를 감소시키는 방법에 상당한 관심이 있다. 하드웨어 역을 사용하는 것이 가능하다면, 기록되는 데 필요한 소프트웨어의 양이 강당히 감소할 것이므로, 시간도 절감된다.
전술한 단점으로부터, 구체적으로 몇몇 인버터가 홀수 역 모듈러만을 허용한다는 사실로부터, 논의된 종래 기술을 고려하면, 본 발명의 목적은 본 기술 분야에서 설명된 것과 같은 종류의 방법과 기술 분야에서 설명된 것과 같은 종류의 회로 장치를 제공하는 것이다.
본 발명의 목적은 제 1 항의 특징을 포함하는 회로 장치뿐만 아니라 제 5 항의 특징을 포함하는 방법에 의해서도 달성된다. 본 발명의 이로운 실시예 및 편리한 개선은 각각의 종속항에 개시된다.
본 발명은 주로, 홀수뿐만 아니라 짝수에도 관한 역 하드웨어를 이용하는 고안, 즉, 홀수뿐만 아니라 짝수도 허용하는 적어도 하나의 모듈러 인버터를 이용하는 고안에 기반한다. 제 1 공개 키 알고리즘인 RSA 키 생성에 있어서, 본 발명의 교시는 짝수 역 모듈러도 허용하므로, (종래 기술의) RSA 키 생성 홀수 모듈러에 대한 역이 (새로운) RSA 키 생성 짝수 모듈러에 대한 역으로 확장된다.
본 발명은 인버터가 짝수 모듈러를 역산하는 데 사용됨으로써 RSA 암호 알고리즘 연산 속도를 더할 수 있는 방법을 설명한다. 바람직한 실시예에 따르면, 본 발명은 홀수 역 모듈러를 수반하는 일련의 산술 단계를 수행함으로써 실시된다. 알고리즘은 최종 결과가 보다 강력한 하드웨어가 산출할 수 있는 것과 동일한 방식으로 설계된다.
본 발명은 또한 이상에 설명된 유형의 적어도 하나의 회로 장치, 특히, 적어도 하나의 수학적 코프로세서와 같은 적어도 하나의 집적 회로를 포함하는 마이크로제어기, 특히, 내장형 보안 제어기와 관련된다. 따라서, 이상에 설명된 방법은 예컨대, 모든 칩카드 또는 스마트 카드 개발물 내에 바람직하게 통합될 수 있다.
본 발명은 또한 이상에 설명된 유형의 적어도 하나의 회로 장치, 특히, 암호화 계산을 수행하는 적어도 하나의 수학적 코프로세서와 같은 적어도 하나의 집적 회로를 포함하는 데이터 처리 장치, 특히, 예컨대, 칩카드 또는 스마트 카드와 같은 내장형 시스템에 관한 것이다.
본 발명은 또한 적어도 하나의 컴퓨터의 메모리로 직접 로딩 가능한 컴퓨터 프로그램 제품에 관한 것으로, 컴퓨터 프로그램 제품이 컴퓨터에서 실행되는 경우 이상에 설명된 유형의 방법을 수행하는 적어도 하나의 소프트웨어 코드 부분을 포함한다.
본 발명은 또한 이상에 설명된 유형의 적어도 하나의 컴퓨터 프로그램 제품의 전자적 배포에 관한 것이다.
마지막으로 본 발명은 은행업무, 온라인 쇼핑, 보안 등과 같은 공개 키 암호화 분야에서 이상에 설명된 유형의 적어도 하나의 데이터 처리 장치, 특히, 예컨대, 적어도 하나의 칩카드 또는 스마트 카드와 같은 적어도 하나의 내장형 시스템에서 이상에 설명된 유형의 적어도 하나의 회로 장치, 특히, 적어도 하나의 수학적 코프로세서와 같은 적어도 하나의 집적 회로의 이용 및/또는 이상에 설명된 유형의 방법의 이용에 관한 것이다.
간단한 알고리즘은 칩카드 또는 스마트 카드와 같은 제한된 환경에 특히 적합하다.
이상에 이미 설명된 바와 같이, 본 발명의 교시를 이로운 방식으로 구현할 뿐만 아니라 개선할 몇몇 선택사항이 존재한다. 이를 위해, 제 1 항 및 제 5 항의 각 종속항들을 참조하며, 본 발명의 다른 개선점, 특징 및 이점이 바람직한 실시예를 예로써 참조하고 후속하는 도면을 참조하여 이하에 보다 상세히 설명된다.
도 1은 본 발명에 따른 방법이 수행될 수 있는 본 발명에 따른 회로 장치를 포함하는 데이터 처리 장치의 실시예의 블록도를 개략적으로 도시한다.
데이터 처리 장치(100)의 실시예, 즉, 암호화 연산을 수행하는 집적 회로(IC)를 포함하는 칩 카드 또는 스마트 카드 형태의 내장형 시스템은 공개 키 기반구조(PKI:Public Key Infrastructure) 시스템을 지칭하고, 본 발명의 방법에 따라 동작한다.
갈루아체 GF(p) 또는 GF(2n)에 대한 몇몇 하드웨어 인버터가 홀수 역 모듈러 만을 허용한다는 사실로부터 및 최신 칩 카드 또는 스마트 카드도 하드웨어가 RSA 키 생성에 적합하지 않게 하는 이러한 특성을 가진다는 점을 고려하면, 본 발명은 홀수 역 모듈러만을 허용하는 하드웨어 인버터에 의해 짝수 모듈러를 가진 비밀 키의 RSA 생성 해독 지수 d를 계산하는 산술 단계를 수행함으로써 이러한 하드웨어가 그 체까지 확장하는 것을 가능하게 한다. 이에 있어서, RSA 키 생성에 대한 것과 같은 기수법이 사용될 수 있다.
파이(phi)가 소수 p와 q의 오일러 토티언트 함수(Euler totient function), 즉, phi=(p-1)·(q-1) 이라고 하자. 이에 있어서, 파이는 항상 짝수일 수 있음을 알아야 한다. e는 선택된 암호화 지수라고 하는데, RSA 알고리즘의 작용 때문에 이러한 수 e는 항상 홀수이다.
수 d, 즉, 복호화 지수의 발견은 식 d = e-1 mod(phi)을 풂으로써 계산될 수 있다. 바꾸어 말하면, d는 모듈러 파이의 역수이다. 따라서, d를 계산하기 위해 홀수 모듈러에 역수가 취해져야 한다.
이러한 문제를 풀기 위해, 다음 단계가 수행된다.
(i) a = phi-1mod(e) 계산
(ii) y = (a.phi-1)/e 계산
(iii) y mod(e) 환산
(iv) d = phi - y 설정
이것이 정확한 결과를 산출할 것임이 수학적으로 증명될 수 있다. 또한 어 떠한 음수도 필요하지 않을 것이라는 것도 증명될 수 있다. 또한 중간 결과에 대한 상계(upper bound)도 계산될 수 있다.
마지막으로, 도 1은 데이터 처리 장치의 하드웨어 구현, 즉, 본 발명에 따른 방법이 수행될 수 있는 본 발명에 따른 회로 장치를 포함하는 스마트 카드(100)의 블록도를 도시한다.
스마트 카드(100)는 예컨대, ISO-7816-3 표준에 따라, 인터페이스(12)를 통해 외부 세계와 통신하도록 제어하고, RAM/ROM 내의 데이터에 대한 포인터를 설정하고 코프로세서(20)를 시동하는 마이크로제어기(10)와, 마이크로제어기(10)의 프로그램용 ROM(30)과, 데이터 및/또는 프로그램의 비휘발성 저장용 프로그램가능한 ROM(플래시 메모리 또는 EEPROM)(40)과, 예를 들면, 계산 동안 중간 결과의 저장을 위한 데이터의 휘발성 저장용 RAM(50)과, ECC 계산, 특히 ECDSA 계산 또는 RSA 계산을 위한 특정 고속 태스크를 수행하는 데 전용인 코프로세서(20)와 같은 부품을 포함한다.
태스크가 준비되면, 제어는 마이크로프로세서(10)로 리턴된다.
변형으로서, 본 발명은 적어도 하나의 마이크로프로세서 산술 논리 장치(ALU:Arithmetic Logical Unit)를 사용하여 덧셈 연산, 뺄셈 연산 및/또는 제어 로직을 제공하도록 제어기를 프로그래밍하는 시프트 연산 및 시프트 레지스터에 의한 차수 검출을 제공하는 소프트웨어로 구현된다.

Claims (10)

  1. 적어도 하나의 암호화 계산(cryptographic calculation)에서 적어도 하나의 역 연산(inversion operation)을 수행하는 회로 장치 -특히 수학적 코프로세서와 같은 집적 회로- 에 있어서,
    상기 역 연산은 적어도 하나의 짝수 모듈러(modulo at least one even number)에 수행되는
    역 연산을 수행하는 회로 장치.
  2. 제 1 항에 있어서,
    (i) phi = (p-1)·(q-1)이 소수 p와 q의 오일러 토티언트 함수(Euler totient function)인 적어도 하나의 제 1 보조 변수(auxiliary variable) a = phi-1 mod(e)를 계산하고,
    (ii) e가 선택된 암호화 지수인 적어도 하나의 제 2 보조 변수 y = (a·phi-1)/e를 계산하며,
    (iii) y mod(e)를 환산하고,
    (iv) 복호화 지수인 d = phi - y를 설정하는
    역 연산을 수행하는 회로 장치.
  3. 제 1 항 또는 제 2 항에 따른 적어도 하나의 회로 장치 -특히 적어도 하나의 수학적 코프로세서와 같은 적어도 하나의 집적 회로- 를 포함하며, 특히 내장형 보안 제어기인
    마이크로제어기.
  4. 암호화 계산을 수행하는 제 1 항 또는 제 2 항에 따른 적어도 하나의 회로 장치 -특히, 적어도 하나의 수학적 코프로세서와 같은 적어도 하나의 집적 회로- 를 포함하며, 특히, 칩카드 또는 스마트 카드와 같은 내장형 시스템인
    데이터 처리 장치(100).
  5. 적어도 하나의 암호화 계산시에 적어도 하나의 역 연산을 수행하는 방법에 있어서,
    상기 역 연산은 적어도 하나의 짝수 모듈러에 수행되는
    역 연산 수행 방법.
  6. 제 5 항에 있어서,
    (i) phi = (p-1)·(q-1)이 소수 p와 q의 오일러 토티언트 함수인 적어도 하나의 제 1 보조 변수 a = phi-1 mod(e)를 계산하는 단계와,
    (ii) e가 선택된 암호화 지수인 적어도 하나의 제 2 보조 변수 y = (a·phi-1)/e를 계산하는 단계와,
    (iii) y mod(e)를 환산하는 단계와,
    (iv) 복호화 지수인 d = phi - y를 설정하는 단계를 포함하는
    역 연산 수행 방법.
  7. 제 5 항 또는 제 6 항에 있어서,
    상기 계산은 리베스트-셰미르-아델만(RSA:Rivest-Shamir-Adleman) 알고리즘 및/또는 타원 곡선 암호화(ECC:Elliptic Curve Cryptography) 알고리즘, 특히, 타원 곡선 전자 서명 알고리즘(ECDSA:Elliptic Curve Digital signature Algorithm)에 기초하는
    역 연산 수행 방법.
  8. 적어도 하나의 컴퓨터의 메모리로 직접 로딩 가능한 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터 프로그램 제품이 상기 컴퓨터에서 실행되는 경우, 제 5 항 내지 제 7 항 중 적어도 한 항에 따른 방법을 수행하는 적어도 하나의 소프트웨어 코드 부분을 포함하는
    컴퓨터 프로그램 제품.
  9. 제 8 항에 따른 적어도 하나의 컴퓨터 프로그램 제품의 전자적 배포(electronic distribution).
  10. 은행업무, 온라인 쇼핑, 보안 등과 같은 공개 키 암호화 분야에서 제 4 항에 따른 적어도 하나의 데이터 처리 장치(100) -특히 적어도 하나의 칩카드 또는 스마트 카드와 같은 적어도 하나의 내장형 시스템- 로 제 1 항 또는 제 2 항에 따른 적어도 하나의 회로 장치 -특히 적어도 하나의 수학적 코프로세서와 같은 적어도 하나의 집적 회로- 의 사용 및/또는 제 5 항 내지 제 7 항 중 어느 한 항에 따른 방법의 사용.
KR1020087006544A 2005-08-19 2006-08-09 역 연산을 수행하는 회로 장치와 이를 포함하는 마이크로제어기, 데이터 처리 장치, 역 연산 수행 방법 및 컴퓨터 판독가능한 저장 매체 KR20080039497A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05107614.9 2005-08-19
EP05107614 2005-08-19

Publications (1)

Publication Number Publication Date
KR20080039497A true KR20080039497A (ko) 2008-05-07

Family

ID=37620003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087006544A KR20080039497A (ko) 2005-08-19 2006-08-09 역 연산을 수행하는 회로 장치와 이를 포함하는 마이크로제어기, 데이터 처리 장치, 역 연산 수행 방법 및 컴퓨터 판독가능한 저장 매체

Country Status (6)

Country Link
US (1) US8023645B2 (ko)
EP (1) EP1920324A1 (ko)
JP (1) JP2009505148A (ko)
KR (1) KR20080039497A (ko)
CN (1) CN101243388A (ko)
WO (1) WO2007020566A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9982493B2 (en) * 2012-07-22 2018-05-29 Vanguard Oil Tools & Services Llc Thermally expandable casing collar
CN103793199B (zh) * 2014-01-24 2016-09-07 天津大学 一种支持双域的快速rsa密码协处理器
IL231550A0 (en) 2014-03-17 2014-08-31 Nuvoton Technology Corp Saving secure information in external memory
CN107368477B (zh) * 2016-05-11 2021-02-26 北京京东尚科信息技术有限公司 基于HBase协处理器的类SQL查询的方法和系统
GB2565947B (en) * 2016-07-14 2021-07-28 Halliburton Energy Services Inc Alignment sub with deformable sleeve
CN116186794B (zh) * 2022-12-30 2024-04-16 海光信息技术股份有限公司 密码协处理器、密码处理方法、芯片和计算机设备

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4471164A (en) * 1981-10-13 1984-09-11 At&T Bell Laboratories Stream cipher operation using public key cryptosystem
EP0239749B1 (de) 1986-03-05 1990-07-25 Holger Sedlak Kryptographie-Verfahren und Kryptographie-Prozessor zur Durchführung des Verfahrens
CA1321649C (en) * 1988-05-19 1993-08-24 Jeffrey R. Austin Method and system for authentication
US5289542A (en) * 1991-03-04 1994-02-22 At&T Bell Laboratories Caller identification system with encryption
IL101623A (en) 1992-04-16 1997-06-10 Fortress U & T 2000 Ltd Digital signature device
DE69320715T2 (de) 1992-06-29 1999-01-21 Thomson Multimedia Sa Verfahren zur Ausführung einer Geheimübertragung mit öffentlichem Schlüssel
US5299263A (en) * 1993-03-04 1994-03-29 Bell Communications Research, Inc. Two-way public key authentication and key agreement for low-cost terminals
US20020013898A1 (en) * 1997-06-04 2002-01-31 Sudia Frank W. Method and apparatus for roaming use of cryptographic values
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5764772A (en) * 1995-12-15 1998-06-09 Lotus Development Coporation Differential work factor cryptography method and system
US6072876A (en) * 1996-07-26 2000-06-06 Nippon Telegraph And Telephone Corporation Method and system for depositing private key used in RSA cryptosystem
JPH1165439A (ja) * 1996-08-09 1999-03-05 Nippon Telegr & Teleph Corp <Ntt> N進表現暗号による通信および認証方法、ならびにそれらの装置、およびn進表現暗号による通信および認証プログラムを格納した記憶媒体
US5937066A (en) * 1996-10-02 1999-08-10 International Business Machines Corporation Two-phase cryptographic key recovery system
US6724893B1 (en) * 1996-10-11 2004-04-20 The United States Of America As Represented By The National Security Agency Method of passing a cryptographic key that allows third party access to the key
JP3656688B2 (ja) * 1997-03-31 2005-06-08 栄司 岡本 暗号データ回復方法及び鍵登録システム
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US6411715B1 (en) * 1997-11-10 2002-06-25 Rsa Security, Inc. Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US6567793B1 (en) * 1997-12-22 2003-05-20 Christian Bielefeldt Hicks Remote authorization for unlocking electronic data system and method
AU2557399A (en) * 1998-01-02 1999-07-26 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
FR2804561B1 (fr) * 2000-01-31 2002-03-01 France Telecom Procede de communication avec sequestre et recuperation de cle de chiffrement
JP3926532B2 (ja) * 2000-03-16 2007-06-06 株式会社日立製作所 情報処理装置、情報処理方法、及びカード部材
US6959091B1 (en) 2000-07-28 2005-10-25 Atmel Corporation Cryptography private key storage and recovery method and apparatus
US6609141B1 (en) 2000-10-13 2003-08-19 Motorola, Inc. Method of performing modular inversion
US6769062B1 (en) * 2000-10-25 2004-07-27 Ericsson Inc. Method and system of using an insecure crypto-accelerator
US7149311B2 (en) * 2001-02-08 2006-12-12 Lucent Technologies Inc. Methods and apparatus for providing networked cryptographic devices resilient to capture
DE10114157A1 (de) * 2001-03-22 2002-09-26 Deutsche Telekom Ag Verfahren zur rechnergestützten Erzeugung von öffentlichen Schlüsseln zur Verschlüsselung von Nachrichten und Vorrichtung zur Durchführung des Verfahrens
IL142962A (en) * 2001-05-03 2006-07-05 Nds Ltd OSS signing program
FR2828608B1 (fr) * 2001-08-10 2004-03-05 Gemplus Card Int Procede securise de realisation d'une operation d'exponentiation modulaire
US7191333B1 (en) * 2001-10-25 2007-03-13 Cisco Technology, Inc. Method and apparatus for calculating a multiplicative inverse of an element of a prime field
CA2369304A1 (en) * 2002-01-30 2003-07-30 Cloakware Corporation A protocol to hide cryptographic private keys
US7149763B2 (en) * 2002-09-09 2006-12-12 Gemplus Method for generating a random prime number within a predetermined interval
FR2858496B1 (fr) * 2003-07-31 2005-09-30 Gemplus Card Int Procede pour la mise en oeuvre securisee d'un algorithme de cryptographie de type rsa et composant correspondant
US7840993B2 (en) * 2005-05-04 2010-11-23 Tricipher, Inc. Protecting one-time-passwords against man-in-the-middle attacks
US8332921B2 (en) * 2007-01-12 2012-12-11 Wmware, Inc. Enhanced security for user instructions

Also Published As

Publication number Publication date
WO2007020566A1 (en) 2007-02-22
CN101243388A (zh) 2008-08-13
EP1920324A1 (en) 2008-05-14
US20090028325A1 (en) 2009-01-29
US8023645B2 (en) 2011-09-20
JP2009505148A (ja) 2009-02-05

Similar Documents

Publication Publication Date Title
EP1708081B1 (en) Method and device for calculating a Montgomery conversion parameter
JP5182364B2 (ja) サイドチャネル攻撃に対する耐タンパ性を有する暗号処理方法
EP2334006B1 (en) Side-channel resistant modular exponentiation
KR20080039497A (ko) 역 연산을 수행하는 회로 장치와 이를 포함하는 마이크로제어기, 데이터 처리 장치, 역 연산 수행 방법 및 컴퓨터 판독가능한 저장 매체
JP4559072B2 (ja) 離散的な対数関数を用いた非対称暗号システムのための暗号ユニットを製造する方法
EP1600852B1 (en) Method and apparatus for calculating a modular inverse
Harb et al. FPGA implementation of the ECC over GF (2m) for small embedded applications
Batina et al. Flexible hardware design for RSA and elliptic curve cryptosystems
Aigner et al. A low-cost ECC coprocessor for smartcards
Moon et al. Fast VLSI arithmetic algorithms for high-security elliptic curve cryptographic applications
Järvinen et al. High-speed elliptic curve cryptography accelerator for Koblitz curves
JP2005195829A (ja) 復号または署名作成におけるべき乗剰余算の計算方法
Morales-Sandoval et al. On the hardware design of an elliptic curve cryptosystem
Tamura et al. Montgomery multiplier design for ECDSA signature generation processor
JP3904421B2 (ja) 剰余乗算演算装置
Choi et al. Analysis of hardware modular inversion modules for elliptic curve cryptography
John et al. A novel high performance ECC processor architecture with two staged multiplier
JP5179933B2 (ja) データ処理装置
Wolkerstorfer et al. A PCI-card for accelerating elliptic curve cryptography
Dan et al. Design of highly efficient elliptic curve crypto-processor with two multiplications over GF (2163)
KR100451570B1 (ko) 에스피에이에 견디는 타원 곡선 암호화 알고리즘을구현하는 방법 및 장치
Somsuk The alternative Method to Finish Modular Exponentiation and Point Multiplication Processes
Antao et al. Efficient FPGA elliptic curve cryptographic processor over GF (2 m)
Eberle et al. A cryptographic processor for arbitrary elliptic curves over GF (2m)
Kakde et al. Performance analysis of Montgomery multiplier for public key cryptosystem

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application