KR20050106416A - 암호화 시스템 내의 모듈러 멱승 결과 결정 장치 및 방법 - Google Patents

암호화 시스템 내의 모듈러 멱승 결과 결정 장치 및 방법 Download PDF

Info

Publication number
KR20050106416A
KR20050106416A KR1020057014395A KR20057014395A KR20050106416A KR 20050106416 A KR20050106416 A KR 20050106416A KR 1020057014395 A KR1020057014395 A KR 1020057014395A KR 20057014395 A KR20057014395 A KR 20057014395A KR 20050106416 A KR20050106416 A KR 20050106416A
Authority
KR
South Korea
Prior art keywords
key
modular power
result
randomization
modulus
Prior art date
Application number
KR1020057014395A
Other languages
English (en)
Other versions
KR100731387B1 (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 KR20050106416A publication Critical patent/KR20050106416A/ko
Application granted granted Critical
Publication of KR100731387B1 publication Critical patent/KR100731387B1/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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
    • 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/723Modular exponentiation
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7257Random modification not requiring correction
    • 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/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

모듈러 멱승의 결과를 결정하기 위해서, 공개 키와 개인 키의 곱에서 1을 뺀 값에 기초한 지수의 랜덤화를 위해 랜덤화 보조수가 사용된다. 이 랜덤화 보조수는 특정 기능 없이 개인 RSA 데이터 기록으로부터 유도될 수 있다. 이로써, 각각의 보안 프로토콜에 대해서 전체적으로 저부하 지수 랜덤화가 수행되어서 부채널 공격에 대해 디지털 서명을 보안시킬 수 있다.

Description

암호화 시스템 내의 모듈러 멱승 결과 결정 장치 및 방법{MODULAR EXPONENTIATION WITH RANDOMIZED EXPONENTS}
본 발명은 암호화 시스템에 관한 것이고, 더 상세하게는 암호화 시스템 내의 모듈러 멱승의 결과를 결정하는 장치 및 방법에 관한 것이다.
디지털 서명 또는 다른 암호화 애플리케이션의 알고리즘에서, RSA 알고리즘의 개인키와 같은, 비밀 데이터를 이른바 부채널 공격(side channel attacks)으로부터 보호할 필요가 있다. 이러한 공격은 알고리즘을 처리하는 회로의 전류, 전력 또는 방사 프로필을 분석한 결과에 기초하고 있다. 회로의 전력 프로필 등의 측정에 기초해서 비밀 키에 관해 말할 수 있다.
Menezes, van Oorschot, Vanstone의 "Handbook of Applied Cryptography" CRC 판, 1996년, 11.3장에 개시된 바와 같은 RSA 알고리즘에 기초하는 디지털 서명의 기본 개념이 도 6에 기초해서 설명되고 있다. 디지털 서명(60)을 수행하기 위해서, 하나의 개체(A)는 메시지(m)를 서명한다. 따라서, 각각의 개체(B)는 개체(A)의 서명을 확인해서 이 서명으로부터 메시지(m)를 복구할 수 있다.
도 6의 60에 설명되는 바와 같이 서명 생성시에, 개체(A)는 블록(60)에 표시된 식에 따라서 비밀 키 d와 모듈러스 N와 함께, 서명의 베이시스(basis)(m)를 사용해서 모듈러 멱승을 계산한다. 알려진 바와 같이, 확인을 위해 개체(B)가 요구하는 공개 키(e)는 도 6에 62에 나타난 바와 같이 비밀 키 d에 속한다. 개체(B)는 d에 속하는 이 공개 키(e)를 지수로 취해서 개체(A)가 생성한 서명을 이 공개 키를 가지고 멱승한다. 모듈러스 N와 관련된 마지막 리덕션 이후에, 확인된 메시지 m'가 나온다. 서명되지 않은 메시지라는 것이 개체(B)에 알려지면, m'과 m을 비교해서 실제로 개체(A)로부터 생성된 서명인지 여부를 판정할 수 있다. 즉, 이는 개체(B)는 서명에 사용되는 개인키(d)가 실제로 공개 키(e)에 속하는지 판정할 수 있다는 것을 의미한다. 다른 이유로, 개체(B)는 개체(A)가 인가받았다는 것을 아는 경우에, 공개 키를 지수로 사용해서 서명의 모듈러 멱승을 수행해서 메시지 m를 즉시 구하고, 이는 도 6의 62에 나타난 제 2 조건을 정확하게 만족시키기 때문이다.
공격자는 도 6의 60에서 서명에 사용되는 개체(A)의 비밀 키(d)를 알아내려 할 것이다. 이를 위해서, 공격자는 전력 분석 또는 유사한 부채널 공격을 수행할 수 있다. 통계형 부채널 공격(DPA, EMA)에 기초한 이러한 공격을 막기 위해서, 통상적으로 RSA 설정에 예컨대 지수의 암호화가 사용된다. s=md mod N은 s=md' mod N로 대치되어야 하며, 그 결과는 같지만, 같은 키 d를 사용하는 각각의 계산에서 지수 d'가 다르다. 일반적으로, RSA 알고리즘의 비밀 키는 쌍(d, N)으로 이루어진다. 공개 키는 쌍(e, N)으로 이루어진다. 전형적으로, 비밀 정보만이 지수(d)가 되도록 모듈러스가 알려진다. 또한, d와 e의 곱이 다음 식을 만족시킨다.
d×e=1 mod λ(N)
λ(N)은 기존의 카마이클 함수(carmichael function)이다. 따라서, 랜덤화된 지수는 임의의 수가 될 수 없다. 따라서, 통상적으로 카마이클 함수(λ(N))의 배수가 지수를 랜덤화하는 데 필요하다. 그러나 이는 통상적으로 제공되지 않는다.
또한, 서명 성립을 위해서 CRT(Chinese remainder theorem)를 사용한다는 것이 알려져 있으며 이는 Handbook of Applied Cryptography의 14.5장에도 설명된다. 특히, 특정 형태의 CRT가 사용되며, 이는 가너의 알고리즘(garner's algorithm)의 지정에 의해 알려진다. CRT는 전체 멱수를 2개의 멱수 모듈러스 p 및 q에 대입하는 역할을 한다. CRT는 2개의 멱수가 원래의 지수(d 또는 e)의 길이의 반만을 가진 지수를 사용해서 형성되기 때문에 흥미롭다. 그러나, CRT는 추가 파라미터 p, q가 제공될 때만 적용될 수 있다는 단점이 있으며, p와 q를 곱해서 모듈러스 N을 생성한다. CRT의 안전성을 사용해서 서명을 계산하기 위해서, 두 멱승을 안전하게 할 필요가 있으며, 즉 이들에게 랜덤화를 제공해서 부채널 공격을 차단해야 한다. 카마이클 함수는 λ(p)=p-1 및 λ(q)=q-1를 판독한다. 그러나, 이들 2개의 카마이클 함수는 특별하게 계산되어야 한다.
RSA 알고리즘이 CRT와 함께 사용되는 지 여부에 무관하게, 지수의 랜덤화를 사용하지 않는 것은 바람직하지 않으며, 이는 보안 문제가 발생할 수 있기 때문이다. 이 때문에, 오일러 파이 함수 phi(N)를 사용해서 지수의 랜덤화를 수행하는 것이 제안되었다. 그러나 오일러의 파이 함수를 사용해서 랜덤화하는 것은 phi(N)의 이해를 필요로 한다. 통상적으로, 파이는 주어지지 않으며, 따라서 이 랜덤화 방법이 사용되어야 할 때 특별하게 계산되어야 한다.
다른 과정은 오일러의 파이 함수 대신에 카마이클 λ함수 λ(N)를 사용해서 이루어지며, 이는 수치면에서 더 작다. 이 방법은 보안성이 동일한 경우 랜덤화된 지수가 더 짧아져서 오일러의 파이 함수를 사용할 때에 비해서 계산 시간 면에서 장점을 갖는다. 이 방법에서의 단점은 역시 λ(N)가 필요하다는 점이다. 카마이클 함수 λ(N)는 특별하게 계산되어야 하며, 이는 미리 주어지지 않는다.
다른 랜덤화는 랜덤화된 지수가 2개의 지수로 나누어지는 것으로 이루어진다. 이는 추가 정보가 필요없다는 이점을 갖는다. 반면에 단점은 오일러의 파이 함수 또는 카마이클 λ함수를 사용하는 다른 방안에 비해서 계산 시간이 2배가 걸린다는 점이다.
도 1은 CRT를 사용하지 않는 새로운 지수의 랜덤화의 블록 회로도,
도 2는 도 1의 개념에 대한 본 발명의 바람직한 실시예에 따른 단계의 순서를 도시하는 도면,
도 3은 CRT가 사용되는 본 발명에 따른 다른 실시예를 도시하는 도면,
도 4는 제 1 및/또는 제 2 부분 키를 사용해서 모듈러 멱승하는 수단의 상세도,
도 5a는 도 3에 따른 제 1 부분키를 사용해서 모듈러 멱승을 구현하는 상세도,
도 5b는 제 2 부분키를 사용해서 모듈러 멱승을 구현하는 상세도,
도 5c는 도 3의 CRT에 따른 결과를 결합하는 수의 상세도,
도 6은 기존의 서명 알고리즘 및 기존의 인증 알고리즘을 설명하기 위한 개념도.
본 발명의 목적은 보안되며, 효율적인 암호화 시스템 내의 모듈러 멱승 결과를 결정하는 개념을 제공하는 것이다.
이 목적은 청구항 1 또는 6의 결과 결정 장치, 청구항 12 또는 13의 결과 결정 방법 또는 청구항 14의 컴퓨터 프로그램에 의해 달성된다.
본 발명은 지수를 랜덤화하는 데, 공개 키와 개인키의 곱에서 1을 뺀 값 즉 e×d-1이 항상 카마이클 함수 λ(N)의 배수이며 따라서 랜덤화에 사용될 수 있다는 개념에 기초하고 있다. 식 e×d-1이 카마이클 함수의 배수라는 것만을 이해하면 된다. 그러나, 식 e×d-1의 몇배인지는 몰라도 된다. 그러나, 지수의 랜덤화에는 필요하지 않다. 이는 새로운 랜덤화 예비 수에서 식 e×d-1은 다음과 같이 이 식의 계산을 위해서 미리 알려진 양만이, 즉 공개 키와 개인키만이 필요하다는 이점이 있다. 오일러의 파이 함수 또는 카마이클 파이 함수가 계산될 필요가 없다. 대신에, CRT를 사용하지 않는 애플리케이션의 경우에 간단한 공개 키와 개인키의 승산 또는 공개 키와 제 1 또는 제 2 개인 보조키 dp 및 dq 사이의 간단한 승산이 각각 수행되고, 이 값으로부터 "1"을 빼서 랜덤화 보조수를 구하기만 하면 된다.
이론상으로는 다목적 컴퓨터 또는 다기능 암호화 CPU에서 특히 예컨대 서명 CPU에서 오일러의 파이 함수 또는 카마이클 파이 함수를 계산할 수는 있지만, 이들이 예컨대 칩 카드에 사용될 때는, 이러한 특정 함수는 특별한 노력없이 계산할 수 있다. 본 발명에 따라서, 이러한 장점은 랜덤화를 위해 개인키와 공개 키의 곱에서 "1"을 빼서 계산된 랜덤화 보조수를 사용해서 처리된다.
지수의 랜덤화를 사용해서 모듈러 멱승의 결과를 계산하는 새로운 개념은 랜덤화로 인해서 높은 정확도가 달성되며, 큰 노력없이 구현될 수 있으며, 오일러의 파이 함수 또는 카마이클 파이 함수를 사용할 수 없는 프로토콜에 특히 적절하다.
본 발명의 바람직한 실시예가 첨부 도면을 참조로 이하 설명될 것이다.
도 1은 제 1 키 및 첨부 제 2 키를 사용해서 암호화 시스템 내에서 모듈러 멱승의 결과를 결정하는 장치의 개략 블록도를 도시하고 있다. 이 장치는 암호화 파라미터 m, e, d 및 N이 제공되는 입력 수단을 포함한다. 입력단은 도 1에서 10으로 표시된다. 여기서 m은 서명된 메시지를 나타내며, 예컨대 e는 제 1 키를 나타내고, 이하 공개 키라고 불린다. d는 암호화 시스템의 제 2 키를 나타내고, 이하 비밀키라고 불린다. 마지막으로, N은 모듈러 멱승이 수행되는 것과 관련된 모듈러스를 나타낸다. 여기서, RSA 알고리즘으로부터 알려진 바와 같이, 모듈러스 N은 2개의 수 p와 q의 곱으로부터 구해질 수 있다는 것에 주의한다. 도 1에 도시된 개념에 대해서, 그러나 이들 2개의 보조수 p 및 q는 필요없다. 전체 계산은 입력 파라미터 m, e, d 및 N를 사용해서 배타적으로 계산될 수 있다.
입력 스테이지(10)의 하단에서, 제 1 키 e와 제 2 키의 곱에서 1을 뺀 것에 기초해서 랜덤화 보조수를 계산하는 수단(12)이 도시된다. 바람직하게는 랜덤화 보조수는 식 e×d-1에 정확하게 대응한다. 다른 방안으로, 이 식의 곱이 사용될 수 있지만, 식 e×d-1의 곱은 동시에 카마이클 파이 함수의 곱기도 하며, 랜덤화 보조수로서 사용될 수도 있다는 것이 확실하다.
계산 수단(12)의 하단에는 랜덤수를 획득하고 랜덤화된 지수를 계산하는 수단(14)이 배치되며, 이는 다음 식을 수행한다.
d'=d+R×(e×d-1)
즉, 획득 수단(14)은 랜덤수 및 랜덤 보조 수로부터의 곱을 바람직하게는 다른 방식으로 지수 d와 결합한다. 수단(14)의 출력단에는 랜덤화된 지수가 존재한다. 수단(14)에 의해 계산된 랜덤화된 지수를 사용해서, 모듈러 멱승을 계산하는 수단(16)은 모듈러 멱승의 결과(s)를 획득하고, 이는 전형적으로 디지털 서명이 될 수 있다. 마지막으로, 출력단(18)이 제공되어서 서명을 임의의 형태로 예컨대 도식적으로, 2진으로 혹은 다른 방식으로 출력한다.
도 1에 도시된 실시예에서, 지수만이 랜덤화된다. 그러나 도 2에 기초해서 설명될 바와 같이, 지수가 아닌 서명될 혹은 암호화될 메시지 m가 랜덤화될 수 있다. 도 2의 기호를 참조하면, 이는 이미 레지스터 적합 구현이다(register-adapted implementation). 서명될 메시지 m의 추가 랜덤화와 더불어 도 1에 도시된 알고리즘을 수행하기 위해서, 레지스터 R, X, D, m, N' 및 S가 필요하다. 도 2의 단계의 순서의 좌측열에는 이들 레지스터가 나열된다. 반면에 도 2의 단계의 순서의 우측열에는 이러한 연산 결과를 좌측 화살표의 좌측에 표시된 레지스터에 기록하기 위한 수학적 연산이 있다.
도 2에 도시된 알고리즘은 이하에서 단계의 순서로 표시되며, 이는 동일하게 다양한 수단의 집합으로 해석될 수 있다. 입력단(20)에서, 데이터 m, e, d 및 N이 제공된다. 단계(21)에서, 우선 랜덤화 보조수 e×d-1이 계산되고 레지스터 X에 기록된다. 단계(22)에서, 16과 32 사이의 길이를 사용해서 랜덤수가 선택되고, 레지스터(X)의 컨텐츠는 레지스터(R)의 컨텐츠에 의해 곱해지며, 그 곱의 결과는 다시 레지스터 X에 기록된다. 도 1의 14에 표시된 바와 같이 단계(24)에서 지수의 랜덤화가 수행된다. 특히, 이는 레지스터 X의 컨텐츠를 제 2 키에, 즉 개인 키 d에 더함으로써 발생되며, 여기서 이 합산의 결과는 레지스터(D)에 다시 기록된다. 단계(25)에서 바람직하게는 16 또는 32비트의 길이를 가진 랜덤수가 선택되어서 레지스터 R에 기록되나. 단계(26)에서, 레지스터(R)의 컨텐츠는 모듈러스 N과 곱해지며, 여기서 서명될 메시지 m는 이 승산 결과에 합산된다.
이 합산의 전체 결과는 메시지가 서명되는 레지스터에 다시 기록되며, 이는 m으로 표시되어 있다. 단계(26)는 추가 보안을 위해서 처리될 값의, 즉 서명될 메시지의 추가 랜덤화를 나타낸다. 단계(27)에서 예컨대 16 또는 32 비트의 길이를 가진 랜덤수가 선택되어서 레지스터(R)에 기록된다. 단계(28)에서, 모듈러 랜덤화가 모듈러스 N을 레지스터 R에서 미리 선택된 랜덤수와 곱함으로써 수행된다. 이러한 승산의 결과가 레지스터 N'에 기록된다. 단계(29)에서, 모듈러 멱승이 수행되며, 여기서 랜덤화된 메시지에 대응하는 레지스터 m의 컨텐츠가 기본으로 사용되며, 랜덤화된 지수를 포함하는 레지스터 D의 컨텐츠가 지수로서 사용되고, 랜덤화된 모듈러스를 포함하는 레지스터 N'의 컨텐츠는 단계(29)에서 모듈러 멱수의 모듈러스로서 사용된다. 이 모듈러 멱승의 결과는 레지스터 S에 기록된다. 마지막 리덕션 단계(30)에서, 최종적으로 탐색된 결과를 획득해서 레지스터에 기록하기 위해서 레지스터(S)의 컨텐츠는 입력 단계(20)에서 제공된 모듈러스를 사용해서 모듈 리덕션된다. 출력 단계(31)에서, 모듈러 멱승과 같은 레지스터(S)의 컨텐츠가 출력되고, 이는 입력 단계(20)에서 제공된 비랜덤화된 파라미터에 기초해서도 획득된다.
도 2에 도시된 실시예에서, 총 3개의 랜덤화, 즉 랜덤화 보조수 e×d-1(단계 24)를 이용한 모듈러스의 랜덤화, 단계(26)의 메시지의 랜덤화 및 단계(28)의 모듈러스의 랜덤화가 사용된다. 개선된 랜덤화 보조수만을 사용해서, 서명될 메시지의 랜덤화와 결합해서 및/또는 모듈러스 N의 랜덤화와 결합해서 지수를 선택적으로 랜덤화할 수 있다는 점에 주의한다.
또한, 도 1의 블록(14)에서의 식 R×(e×d-1)의 합산으로 인해서, 랜덤화된 지수는 최초에 사용된 지수 d(또는 이론적으로는 e도) 보다 더 크다는 것에 주의한다. 그러나, 이 키가 예컨대 1024 또는 2048 2진수와 같이 큰 크기를 이미 취할 수 있기 때문에, 랜덤수(R)정도로 비교적 작은 수를 취하는 것이 바람직하다. 한편, 너무 작은 랜덤수는 랜덤화의 효과를 파괴시킬 수도 있다. 따라서, 지수의 랜덤화를 위해서 0비트 이상 128 비트 이하의 랜덤수를 사용하는 것이 바람직하다. 바람직하게는, 도 2에 도시된 바와 같이 16과 32 사이의 랜덤수의 길이가 사용된다. 또한, 도 2의 단계(22, 25, 27)에서 선택된 랜덤수에 대해서, 동일한 랜덤수가 사용될 수 있으며 혹은 다른 랜덤수가 사용될 수 있다는 것이 밝혀졌다. 랜덤수가 항상 사용될 때, 이 랜덤수는 한 번만 생성되어야 하고, 자체의 랜덤수 레지스터에 저장될 수 있다. 이러한 방식은 랜덤수가 한 번만 생성되어야 한다는 점에서 바람직하다. 한편, 자체의 랜덤수 레지스터가 필요하다. 다른 한편으로는 각각 다른 단계에서 생성된 랜덤수와는 다른 자체의 랜덤수가 단계(22, 25, 27)에서 생성되는 경우에, 자체의 랜덤수 레지스터가 필요하며, 이는 공격받을 수 있다. 따라서, 이 후자의 실시예는 충분히 강력한 랜덤수 생성기를 사용할 수 있는 경우에 바람직하다.
단계(22, 25, 27)에서 선택된 개개의 랜덤수에 대해서, 각각의 단계에서 같은 길이를 가질 필요는 없다는 것이 더 이해될 것이다. 단계(22)에서 지수의 랜덤화를 위해서 선택된 랜덤수의 길이에 대해서, 위의 설명을 참조한다. 단계(25, 27)에서 선택된 랜덤수는 더 작거나 더 클 수 있으며, 더 작은 랜덤수가 전체 계산을 감소시키는데 기여하지만, 랜덤수의 최소량은 전체적인 랜덤화의 개념을 파괴하지 않도록 맞춰져야 한다. 따라서 단계(25, 27)에서 선택된 랜덤수는 8비트 이상이 되어야 한다.
도 3은 새로운 개념으로, CRT를 사용하지 않는 원리적인 블록 회로도이다. 입력단(100)은 암호화 입력 파라미터를 나타내지만 그러나, 이는 도 1에 도시된 실시예보다 더 많은 입력 파라미터를 포함하며, 그 이유는 CRT가 적용되어야 하기 때문이다. 특히 서명될 메시지 m, 공개 키(e), 제 1 개인 부분키 dp, 제 2 개인 부분 키 dq, 수 p, q 및 파라미터 qinv가 제공된다. 도 3에서, 수 dp, 수 dq 및 qinv는 양 d, p 및 q로부터 계산될 수 있다.
입력단(100)은 제 1 키 d로부터 유도된 제 1 부분키를 사용해서 제 1 모듈러 멱승(102A)을 수행해서 중간 결과를 획득하며, 제 1 키로부터 유도된 제 2 부분키를 사용해서 제 2 모듈러 멱승(102B)을 수행해서 제 2 중간 결과를 획득하는 수단(102)을 제공한다. 제 1 부분 키 dp를 사용하는 수행 수단의 기능이 도 3에 102A로 표시되고, 반면에 제 2 부분 키 dp를 사용해서 모듈러 멱승을 수행하는 수단의 기능이 102B로 표시된다. 이들 두 수단(102A, 102B)이 모여서, 각각의 부분 키(dp, dq)를 사용해서 제 1 및 제 2 모듈러 멱승을 수행하는 수단(102)을 이룬다. 블록(102A)은 출력 신호로서 제 1 중간 결과(Sp)를 제공한다. 블록(102B)은 결과로서 제 2 중간 결과(Sq)를 제공한다. 수단(104)에서, 2개의 중간 결과(Sp 및 Sq)가 CRT에 따라 바람직하게는 가너의 알고리즘에 따라서 결합되어서 최종적으로 서명과 같은, 모듈러 멱승의 결과를 파라미터 S의 형태로 출력하며, 이는 도 3의 블록(106)에 도시되어 있다.
도 3의 102에 도시된 수행 수단은 각각의 블록(102A, 102B)의 서브 유닛으로 나누어지고, 이들 서브 유닛은 블록(102A) 및 블록(102B) 모두로 도 4에 개략적으로 도시되어 있다. 특히 블록(102A)은 식 e×dp-1에 기초해서 랜덤 보조 수를 계산하는 수단(110)을 포함한다. 유사하게, 블록(102B)은 식 e×dq-1에 기초해서 랜덤 보조 수를 계산하는 수단을 포함한다. 수단(110)의 아래에는, 블록(102A)의 경우에는 식 dp+R×(e×dp-1)에 기초해서 블록(102B)의 경우에는 식 dq+R×(e×dq-1)에 기초해서 랜덤수를 획득해서, 랜덤화된 지수를 계산하는 수단(112)이 존재하며, 여기서 R은 도 4의 블록(112)에 의해 획득된 랜덤이다.
마지막으로, 블록(102A, 102B)에서 모듈러 멱승이 수행되어서, 블록(114) 내의 랜덤화된 지수를 사용해서 각각의 중간 결과(Sp, Sq)를 획득한다.
후속해서, 도 3의 수단(102)의 블록(102A)의 기능이 도 5a에 기초해서 설명될 것이다. 제 1 단계(120)에서, 랜덤화 보조수 e×dp-1가 계산되어서 레지스터 X에 저장된다. 단계(122)에서 랜덤수가 선택되어서 레지스터(R)에 저장된다. 단계(124)에서 레지스터(X)의 컨텐츠와 레지스터(R)의 컨텐츠는 서로 곱해지며, 여기서 이 곱의 결과는 다시 레지스터(X)에 저장된다. 이후에 단계(126)에서, 지수 즉, 개인키로부터 유도된 제 1 부분키 dp의 실제 랜덤화가 수행되고, 여기서 그 결과는 레지스터 D에 저장된다. 단계(128)에서 다시 랜덤수가 선택되어서 레지스터 R에 저장된다. 단계(130)에서, 현재의 메시지가 도 2의 단계(126)와 유사하게 랜덤화되지만, 도 2의 모듈러스 N 대신에 도 5a의 제 1 보조 모듈러스 p를 사용한다. 이후에 단계(132)에서 다시 랜덤수가 선택되어서 단계(134)의 보조 모듈러스 p과 곱해진다. 레지스터 p'에 저장된 이 현재의 랜덤화된 보조 모듈러스는 도 5a의 단계(136)에 나타난 모듈러 멱승에 사용된다. 단계(136)에서 레지스터 Sp에 기록된 중간 결과가 마지막 단계(138)에서 원래의 보조 모듈러스 p을 고려해서 감소되어서 제 1 중간 결과 Sp를 획득한다.
도 5b에는, 도 3의 블록(102B)에 따라서 제 2 부분 키를 사용하는 모듈러 멱승과 유사한 단계가 도시되어 있으며, 여기서 도 5b에 도시된 단계는 이론적으로는 도 5a의 대응하는 단계와 정확하게 일치하지만, 도 5a의 제 1 부분 키 dp대신에, 도 5b에서는 제 제 부분 키 dq가 취해졌으며, 여기서 도 5a의 제 1 보조 모듈러스 p 대신에 도 5b에서는 제 2 보조 모듈러스 q가 사용된다. 또한 도 5a 및 도 5b에서 선택된 랜덤수는 서로 독립적으로 사용될 수 있다는 점에 주의한다. 그러나 다른 방안으로 같은 랜덤수가 각각의 대응하는 단계에서 랜덤수 레지스터로부터 판독될 수도 있다. 이에 대해서, 도 2를 기초로 설명된 바와 같은 경계 조건이 랜덤수에 적용될 수 있다.
도 5c는 제 1 중간 결과(Sp) 및 제 2 중간 결과(Sq)로부터의 결과를 신호 S의 형태로 획득하기 위해서, 도 3에서 104로 표시된 결합 수단에 의해 수행되는 구현을 도시하고 있다.
새로운 개념은 지수의 랜덤화는 모듈러스 N, 공개 키(e) 및 개인 키 d - CRT는 사용되지 않음 - 로 이루어진 최소 개인 RSA 데이터 세트로부터 - 추가 입력 파라미터 없이 - 설정될 수 있다는 점이다. 따라서 보안 프로토콜이 오일러의 파이 함수, 카마이클 λ함수 또는 다른 유사한 함수를 제공하는지 여부에 무관하게 랜덤화가 항상 수행될 수 있다. 승간 및 가산의 형태로 랜덤화 보조수를 계산하는 데 필요한 기능이 암호화 프로세서의 형태 등으로 모든 통상의 암호화 칩에 존재한다. 또한, 랜덤화는 독립적인(neutral) 동작으로, 랜덤수의 생성 또는 결정 단계와는 별개이고, 그리고 지수의 길이가 약간 길어지는 것과는 별개이다. 즉, 전체 계산 및 계산 시간의 실질적으로 증가가 일어나지 않으며, 동시에 랜덤수의 길이에 따라서 크기가 조절될 수 있는 상당한 범위의 보안이 회득된다는 것을 의미한다.
상황에 따라서, 모듈러 멱승의 결과를 측정하는 개선된 방법은 하드웨어 또는 소프트웨어로 구현될 수 있다. 이 구현은 디지털 저장 매체에서, 프로그래밍 가능 컴퓨터 시스템과 함께 동작해서, 대응하는 방법을 수행할 수 있는 특히 전자적으로 판독가능한 제어 신호를 가진 플로피 디스크 또는 CD에서 발생할 수 있다. 일반적으로, 본 발명은, 컴퓨터에서 수행될 때 개선된 방법을 수행하기 위해, 머신 판독가능 이동체에 저장된 프로그램 코드를 가진 컴퓨터 프로그램 제품도 포함한다. 즉, 본 발명은 컴퓨터에서 수행될 때, 방법을 수행하는 프로그램 코드를 구비한 컴퓨터 프로그램도 포함한다.
도면의 주요 부분에 대한 부호의 설명
10 : 입력단 12 : 랜덤화 보조수를 계산
14 : 랜덤수를 획득하고 랜덤화된 지수를 계산
16 : 랜덤화된 지수를 사용해서, 모듈러 멱승을 계산
18 : 출력단 20 : 입력단
21 내지 30 : CRT를 사용하지 않는 알고리즘의 순차적인 단계
60 : 서명 식 62 : 확인 식
100 : 입력단 102 : 수행 수단
102A : 제 1 부분키를 사용한 제 1 모듈러 멱승
102B : 제 2 부분키를 사용한 제 2 모듈러 멱승
104 : CRT에 따라 결과를 합산
106 : 출력단 110 : 랜덤화 보조수를 계산
114 : 랜덤수를 획득하고 랜덤화된 지수를 계산
120 내지 138 : CRT를 사용해서 제 1 중간 결과의 계산을 수행하는 알고리즘의 순차적인 단계
140 내지 158 : CRT에 따라 제 2 중간 결과의 계산을 수행하는 알고리즘의 순차적인 단계

Claims (14)

  1. 제 1 키(e) 제 2 키(d)를 사용해서 암호화 시스템 내에서 모듈러 멱승(modular exponentiatoin)의 결과를 결정하는 장치에 있어서,
    상기 제 1 키(e)와 상기 제 2 키(d)의 곱에서 1을 뺀 값에 기초해서 랜덤화 보조수(randomization auxiliary number)를 계산하는 수단(12)과,
    랜덤수를 획득하고, 상기 랜덤수와 상기 랜덤화 보조수의 곱과 상기 제 1 또는 상기 제 2 키를 합해서 랜덤화된 지수(randomized exponent)를 획득하는 수단(14)과,
    상기 랜덤화된 지수를 사용해서 상기 모듈러 멱승의 결과를 계산하는 수단(16)을 포함하는
    암호화 시스템 내의 모듈러 멱승 결과 결정 장치.
  2. 제 1 항에 있어서,
    식 m'=m+N×R
    을 사용해서 상기 모듈러 멱승의 베이시스(basis)(m)를 랜덤화하는 수단(25, 26)을 더 포함하되,
    여기서 m'은 랜덤화된 베이시스이고, m은 랜덤화 이전의 베이시스이며, N은 상기 모듈러 멱승의 모듈러스이고, R은 상기 랜덤수인
    암호화 시스템 내의 모듈러 멱승 결과 결정 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 모듈러스를 랜덤화하는 수단(27, 28)을 더 포함하되,
    상기 랜덤화 수단은
    식 N'=N×R
    의 방정식을 수행하며,
    여기서 상기 N'은 랜덤화된 모듈러스이고, 상기 N은 랜덤화 이전의 모듈러스이며, 상기 R은 랜덤수인
    암호화 시스템 내의 모듈러 멱승 결과 결정 장치.
  4. 제 3 항에 있어서,
    상기 모듈러 멱승 계산 수단(16)은
    식 S=S' mod N
    에 따라서 최종 리덕션(final reduction:30)을 수행하도록 형성되며,
    여기서 상기 S는 최종 리덕션 이후의 상기 모듈러 멱승의 결과이고, 상기 S'는 상기 최종 리덕션 이전의 상기 랜덤화된 모듈러스 및 상기 랜덤화된 지수를 사용해서 상기 모듈러 멱승한 결과이며, 상기 N은 상기 모듈러 랜덤화 이전의 모듈러스인
    암호화 시스템 내의 모듈러 멱승 결과 결정 장치.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    디지털 서명(60)을 수행하도록 형성되며,
    상기 m은 서명될 간단한 텍스트 메시지이고, 상기 d는 비밀키이며, 상기 e는 공개 키이고, 상기 N는 모듈러스인
    암호화 시스템 내의 모듈러 멱승 결과 결정 장치.
  6. CRT(Chinese remainder theorem)를 사용해서 제 1 키(e) 및 이에 따른 제 2 키(d)를 가지고 암호화 시스템 내에서 모듈러 멱승의 결과를 결정하는 장치에 있어서,
    상기 제 2 키로부터 유도된 제 1 부분 키(dp)를 사용해서 제 1 모듈러 멱승을 수행해서 제 1 중간 결과(Sp)를 획득하고, 상기 제 2 키로부터 유도된 제 2 부분 키(dq)를 사용해서 제 2 모듈러 멱승을 수행해서 제 2 중간 결과(Sq)를 획득하는 수단(102)과,
    상기 CRT에 따라서 상기 제 1 및 상기 제 2 중간 결과를 합산해서 상기 모듈러 멱승의 결과를 획득하는 수단(104)을 포함하되,
    상기 수단(102)은
    부분키(dp;dq)와 상기 제 1 키(e)의 곱에서 1을 뺀 값에 기초해서 랜덤화 보조수를 계산하는 수단(110)과,
    랜덤수를 획득하고, 상기 랜덤수와 상기 랜덤화 보조수의 곱과 상기 부분키를 합해서 랜덤화된 지수를 획득하는 수단(112)을 포함하며,
    상기 수단(102)은 상기 랜덤화된 지수를 사용해서 상기 제 1 또는 제 2 중간 결과를 계산하는
    암호화 시스템 내의 모듈러 멱승 결과 결정 장치.
  7. 제 6 항에 있어서,
    식 m'=m+p×R 또는 m'=m+q×R
    에 따라서 랜덤수를 사용해서 모듈러 멱승의 베이시스를 랜덤화하는 수단(128, 130; 148, 150)을 더 포함하되,
    상기 m'은 랜덤화된 베이시스이고, 상기 m은 랜덤화 이전의 베이시스이며, 상기 p는 제 1 보조 모듈러스이고, 상기 q는 제 2 보조 모듈러스이며, 상기 R은 랜덤수이고,
    상기 p 및 상기 q는, 이 둘을 곱하면 상기 모듈러 멱승의 상기 모듈러스(N)가 나오도록 선택되는
    암호화 시스템 내의 모듈러 멱승 결과 결정 장치.
  8. 제 6 항 또는 제 7 항에 있어서,
    제 1 및 제 2 모듈러 멱승을 수행하는 수단(102A, 102B)이 제 1 및 제 2 보조 모듈러스(p, q)를 각각 사용해서 상기 모듈러 멱승을 수행하도록 형성되고,
    상기 결과 결정 장치는
    식 p'=p×R 또는 q'=q×R
    을 만족시키도록 형성된 모듈 랜덤화 수단을 포함하도록 더 형성되며,
    상기 p'는 랜덤화된 제 1 서브 모듈러스이고, 상기 p는 랜덤화 이전의 제 1 서브 모듈러스이며, 상기 R은 상기 랜덤수이고, 상기 q'는 랜덤화된 제 2 서브 모듈러스이고, 상기 q는 랜덤화 이전의 제 2 서브 모듈러스인
    암호화 시스템 내의 모듈러 멱승 결과 결정 장치.
  9. 제 8 항에 있어서,
    상기 제 1 및 상기 제 2 중간 결과가 서로 합산되기 전에, 상기 제 1 서브 모듈러스(p)를 사용하거나 혹은 상기 제 2 서브 모듈러스(q)를 사용해서 최종 리덕션의 결정을 수행해서, 상기 제 1 및 제 상기 2 중간 결과를 획득하도록 더 구성되는
    암호화 시스템 내의 모듈러 멱승 결과 결정 장치.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 수단(14, 112)은 8비트와 128비트 사이의 길이인 랜덤수를 획득하도록 형성된
    암호화 시스템 내의 모듈러 멱승 결과 결정 장치.
  11. 제 6 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 모듈러 멱승의 결과는 메시지의 서명을 나타내고,
    상기 m은 상기 서명 이전의 메시지, 상기 d는 비밀 키, 상기 e는 공개 키, 상기 N은 모듈러스를 나타내는
    암호화 시스템 내의 모듈러 멱승 결과 결정 장치.
  12. 제 1 키(e) 및 제 2 키(d)를 가지고, 암호화 시스템 내에서 모듈러 멱승의 결과를 결정하는 방법에 있어서,
    상기 제 1 키(e)와 상기 제 2 키(d)의 곱에서 1을 뺀 값에 기초해서 랜덤화 보조수를 계산하는 단계(12)와,
    랜덤수를 획득하고, 상기 랜덤수와 상기 랜덤화 보조수의 곱과 상기 제 1 또는 상기 제 2 키를 합해서 랜덤화된 지수를 획득하는 단계(14)와,
    상기 랜덤화된 지수를 사용해서 상기 모듈러 멱승의 결과를 계산하는 단계(16)를 포함하는
    암호화 시스템 내의 모듈러 멱승 결과 결정 방법.
  13. CRT를 사용해서 제 1 키(e) 및 이에 따른 제 2 키(d)를 가지고 암호화 시스템 내에서 모듈러 멱승의 결과를 결정하는 방법에 있어서,
    상기 제 2 키로부터 유도된 제 1 부분 키를 사용해서 제 1 모듈러 멱승을 수행해서 제 1 중간 결과(Sp)를 획득하고, 상기 제 2 키로부터 유도된 제 2 부분 키를 사용해서 제 2 모듈러 멱승을 수행해서 제 2 중간 결과(Sq)를 획득하는 단계(102)와,
    상기 CRT에 따라서 상기 제 1 및 상기 제 2 중간 결과를 합산해서 상기 모듈러 멱승의 결과를 획득하는 단계(104)을 포함하되,
    상기 단계(102)는
    부분키(dp;dq)와 상기 제 1 키(e)의 곱에서 1을 뺀 값에 기초해서 랜덤화 보조수를 계산하는 단계(110)와,
    랜덤수를 획득하고, 상기 랜덤수와 상기 랜덤화 보조수의 곱과 상기 부분키를 합해서 랜덤화된 지수를 획득하는 단계(112)를 포함하며,
    상기 단계(102)는 상기 랜덤화된 지수를 사용해서 상기 제 1 또는 제 2 중간 결과를 계산하는
    암호화 시스템 내의 모듈러 멱승 결과 결정 방법.
  14. 컴퓨터에서 수행될 때, 제 12 항 또는 제 13 항의 방법을 수행하는 프로그램 코드를 가진
    컴퓨터 프로그램.
KR1020057014395A 2003-02-04 2004-01-22 암호화 시스템 내의 모듈러 멱승 결과 결정 장치 및 방법 KR100731387B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10304451A DE10304451B3 (de) 2003-02-04 2003-02-04 Modulare Exponentiation mit randomisiertem Exponenten
DE10304451.5 2003-02-04

Publications (2)

Publication Number Publication Date
KR20050106416A true KR20050106416A (ko) 2005-11-09
KR100731387B1 KR100731387B1 (ko) 2007-06-21

Family

ID=32797314

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057014395A KR100731387B1 (ko) 2003-02-04 2004-01-22 암호화 시스템 내의 모듈러 멱승 결과 결정 장치 및 방법

Country Status (5)

Country Link
US (1) US7908641B2 (ko)
EP (1) EP1590731A2 (ko)
KR (1) KR100731387B1 (ko)
DE (1) DE10304451B3 (ko)
WO (1) WO2004070497A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100953716B1 (ko) * 2008-02-28 2010-04-19 고려대학교 산학협력단 Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체
WO2015174696A1 (ko) * 2014-05-12 2015-11-19 주식회사 키페어 공인인증을 위한 보안 토큰 및 그 구동 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090957B2 (en) * 2005-10-19 2012-01-03 Panasonic Corporation Information security device, information security method, computer program, computer-readable recording medium, and integrated circuit
EP1840732A1 (en) * 2006-03-31 2007-10-03 Axalto SA Protection against side channel attacks
US8670557B2 (en) * 2007-09-10 2014-03-11 Spansion Llc Cryptographic system with modular randomization of exponentiation
KR20110014630A (ko) * 2008-05-07 2011-02-11 이르데토 비.브이. 지수 불명료화
KR101334040B1 (ko) * 2010-01-20 2013-11-28 한국전자통신연구원 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치
KR101344402B1 (ko) * 2010-08-12 2013-12-26 한국전자통신연구원 Rsa 서명 방법 및 장치
DE102010039273B4 (de) * 2010-08-12 2014-12-04 Infineon Technologies Ag Kryptographie-Prozessor, Chipkarte und Verfahren zur Berechnung eines Ergebnisses einer Exponentiation
FR3010210B1 (fr) * 2013-08-29 2017-01-13 Stmicroelectronics Rousset Protection d'un calcul contre des attaques par canaux caches
WO2015088525A1 (en) * 2013-12-12 2015-06-18 Empire Technology Development, Llc Randomization of processor subunit timing to enhance security
US9444623B2 (en) * 2013-12-20 2016-09-13 Cryptography Research, Inc. Modular exponentiation optimization for cryptographic systems
US10181944B2 (en) 2015-06-16 2019-01-15 The Athena Group, Inc. Minimizing information leakage during modular exponentiation and elliptic curve point multiplication
US10367637B2 (en) * 2016-07-22 2019-07-30 Qualcomm Incorporated Modular exponentiation with transparent side channel attack countermeasures
US11902420B2 (en) * 2021-11-23 2024-02-13 Theon Technology Llc Partial cryptographic key transport using one-time pad encryption

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4611307A (en) * 1964-06-26 1986-09-09 Hewlett-Packard Company Function analyzing
US4499551A (en) * 1982-09-27 1985-02-12 At&T Bell Laboratories Rapid generation of discrete random variates from general distributions
US5046094A (en) * 1989-02-02 1991-09-03 Kabushiki Kaisha Toshiba Server-aided computation method and distributed information processing unit
US5208490A (en) 1991-04-12 1993-05-04 Hewlett-Packard Company Functionally complete family of self-timed dynamic logic circuits
US5369708A (en) * 1992-03-31 1994-11-29 Kabushiki Kaisha Toshiba Fast server-aided computation system and method for modular exponentiation without revealing client's secret to auxiliary device
WO1997039410A1 (en) * 1996-04-02 1997-10-23 The Regents Of The University Of California Data embedding
US6282290B1 (en) * 1997-03-28 2001-08-28 Mykotronx, Inc. High speed modular exponentiator
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
AU2557399A (en) * 1998-01-02 1999-07-26 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
US6957341B2 (en) * 1998-05-14 2005-10-18 Purdue Research Foundation Method and system for secure computational outsourcing and disguise
DE19828936A1 (de) * 1998-05-29 1999-12-02 Siemens Ag Verfahren und Vorrichtung zum Verarbeiten von Daten
FR2780177B1 (fr) * 1998-06-17 2001-10-05 Schlumberger Ind Sa Systeme de protection d'un logiciel
DE69939118D1 (de) * 1998-07-02 2008-08-28 Sharp Kk Verwaltungssystem elektronischer erzeugnisse, in dem folgende geräte über kommunikationsleitungen miteinander verbunden sind: gerät zum verwalten von urheberrechten, verkaufsgerät für elektronische erzeugnisse, einrichtung zum anzeigen elektronischermationen
RU2153191C2 (ru) * 1998-09-29 2000-07-20 Закрытое акционерное общество "Алкорсофт" Способ изготовления вслепую цифровой rsa-подписи и устройство для его реализации (варианты)
US6298135B1 (en) * 1999-04-29 2001-10-02 Motorola, Inc. Method of preventing power analysis attacks on microelectronic assemblies
US6928163B1 (en) * 1999-07-20 2005-08-09 International Business Machines Corporation Methods, systems and computer program products for generating user-dependent RSA values without storing seeds
US6886098B1 (en) * 1999-08-13 2005-04-26 Microsoft Corporation Systems and methods for compression of key sets having multiple keys
JP2001117823A (ja) * 1999-10-15 2001-04-27 Fuji Xerox Co Ltd アクセス資格認証機能付きデータ記憶装置
FR2800478B1 (fr) * 1999-10-28 2001-11-30 Bull Cp8 Procede de securisation d'un ensemble electronique de cryptographie a base d'exponentiation modulaire contre les attaques par analyse physique
DE10042234C2 (de) * 2000-08-28 2002-06-20 Infineon Technologies Ag Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor
US6914983B2 (en) * 2000-12-19 2005-07-05 International Business Machines Corporation Method for checking modular multiplication
JP4199937B2 (ja) * 2001-03-06 2008-12-24 株式会社日立製作所 耐タンパー暗号処理方法
DE10143728B4 (de) * 2001-09-06 2004-09-02 Infineon Technologies Ag Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
JP3896047B2 (ja) * 2002-07-26 2007-03-22 株式会社豊田中央研究所 モータ駆動制御装置
EP1467512B1 (en) * 2003-04-07 2008-07-23 STMicroelectronics S.r.l. Encryption process employing chaotic maps and digital signature process

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100953716B1 (ko) * 2008-02-28 2010-04-19 고려대학교 산학협력단 Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체
WO2015174696A1 (ko) * 2014-05-12 2015-11-19 주식회사 키페어 공인인증을 위한 보안 토큰 및 그 구동 방법
US10063381B2 (en) 2014-05-12 2018-08-28 Keypair Co., Ltd. Security token for certificate authentication and driving method therefor

Also Published As

Publication number Publication date
KR100731387B1 (ko) 2007-06-21
EP1590731A2 (de) 2005-11-02
US7908641B2 (en) 2011-03-15
US20070064930A1 (en) 2007-03-22
DE10304451B3 (de) 2004-09-02
WO2004070497A3 (de) 2005-01-06
WO2004070497A2 (de) 2004-08-19

Similar Documents

Publication Publication Date Title
US7908641B2 (en) Modular exponentiation with randomized exponent
EP1729442B1 (en) An authentication system executing an elliptic curve digital signature cryptographic process
JP5001176B2 (ja) 署名生成装置、署名生成方法及び署名生成プログラム
JP4668931B2 (ja) 電力解析攻撃に対する耐タンパ性を持った暗号化処理装置
TWI448963B (zh) 用於密碼系統之以中國餘數定理為基礎之計算方法
KR100891323B1 (ko) 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치
JP4086503B2 (ja) 暗号演算装置及び方法並びにプログラム
JP2008252299A (ja) 暗号処理システム及び暗号処理方法
WO2007046402A1 (ja) 情報セキュリティ装置、情報セキュリティ方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体及び集積回路
US7286666B1 (en) Countermeasure method in an electric component implementing an elliptical curve type public key cryptography algorithm
KR100652377B1 (ko) 모듈라 지수승 알고리즘, 기록매체 및 시스템
JP2009500710A (ja) 攻撃又は解析に対してデータ処理装置を保護するための装置及び方法
US6480606B1 (en) Elliptic curve encryption method and system
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
US8014520B2 (en) Exponentiation ladder for cryptography
JP4626148B2 (ja) 復号または署名作成におけるべき乗剰余算の計算方法
US7454625B2 (en) Method and apparatus for protecting a calculation in a cryptographic algorithm
US20040260931A1 (en) Method and apparatus for protecting an exponentiation calculation by means of the chinese remainder theorem (CRT)
CN1985458A (zh) 增强的自然蒙哥马利指数掩蔽
KR20170113268A (ko) 논-모듈러 승산기, 논-모듈러 승산 방법 및 계산 장치
KR100953716B1 (ko) Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체
Hanley et al. Exploiting collisions in addition chain-based exponentiation algorithms using a single trace
KR20090080842A (ko) Crt-rsa 모듈라 지수승 알고리즘을 이용한 디지털서명 방법, 그 장치 및 이를 기록한 컴퓨터 판독가능 저장매체
JP5010508B2 (ja) 楕円曲線暗号演算装置、方法及びプログラム並びに楕円曲線暗号演算システム及び方法
JP2001134178A (ja) メッセージ回復型署名システム及びそのプログラム記録媒体

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130607

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140610

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150605

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160603

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170602

Year of fee payment: 11