KR20120127235A - 부-채널 공격에 내성이 있는 모듈러 지수화 방법 및 디바이스 - Google Patents

부-채널 공격에 내성이 있는 모듈러 지수화 방법 및 디바이스 Download PDF

Info

Publication number
KR20120127235A
KR20120127235A KR1020120047481A KR20120047481A KR20120127235A KR 20120127235 A KR20120127235 A KR 20120127235A KR 1020120047481 A KR1020120047481 A KR 1020120047481A KR 20120047481 A KR20120047481 A KR 20120047481A KR 20120127235 A KR20120127235 A KR 20120127235A
Authority
KR
South Korea
Prior art keywords
modulus
modular
mod
values
operands
Prior art date
Application number
KR1020120047481A
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 톰슨 라이센싱
Priority to KR1020120047481A priority Critical patent/KR20120127235A/ko
Publication of KR20120127235A publication Critical patent/KR20120127235A/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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/40Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
    • G06F7/44Multiplying; Dividing

Landscapes

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

Abstract

본 발명은 반복적인 모듈러 곱셈 단계를 포함하고, 입력으로, 제 1 모듈러스(N), 비밀 지수(d) 및 기수(x)를 취하는 모듈러 지수화에 관한 것이다. 방법은 2개의 값(a, b) 및 제 1 모듈러스(N)로부터 결과(c)를 계산하여 c = a?b mod N이 되도록 겨냥하는 적어도 하나의 모듈러 곱셈 단계 동안, 처리기는 입력으로 2개의 값(a, b)과 제 1 모듈러스(N)를 취하고, 2개의 값(a, b) 및 제 1 모듈러스(N)로부터 2개의 피연산자(a', b') 및 제 2 모듈러스(N')는 기껏해야 선형인 복잡도를 갖는 연산을 사용하여 획득되며, 상기 획득을 통해, 2개의 피연산자(a', b') 중 적어도 하나는 2개의 값(a, b)과 다르고, 2개의 피연산자(a', b')는 a가 b와 동일할 때 다르며, 부-채널 관점으로부터 모듈러 곱셈 c = a?b mod N은 a'가 b'와 같을 때를 제외하고, 모듈러 제곱처럼 작용하게 된다. 중간 결과 c' = a'?b' mod N'가 계산되고, 결과(c)가 기껏해야 선형인 복잡도를 갖는 연산을 사용하여 중간 결과(c')로부터 도출되며, 결과(c)는 모듈러 지수화에서 사용된다.

Description

부-채널 공격에 내성이 있는 모듈러 지수화 방법 및 디바이스{MODULAR EXPONENTIATION METHOD AND DEVICE RESISTANT AGAINST SIDE-CHANNEL ATTACKS}
본 발명은 일반적으로 암호 방식에 관한 것이고, 더 구체적으로, 특정 부-채널(side-channel) 공격에 내성이 있는 모듈러 지수화 알고리즘에 관한 것이다.
이 섹션은 아래에 서술되고 및/또는 청구되는 본 발명의 다양한 양상에 관련될 수 있는 기술의 다양한 양상을 독자에게 소개하려는 것이다. 본 논의는 독자에게, 본 발명의 다양한 양상에 대해 더 나은 이해를 돕기 위한 배경 정보를 제공하는데 도움이 된다고 믿어진다. 따라서, 이들 설명은 종래 기술의 인정으로서가 아닌, 이러한 관점으로 읽혀야 한다.
공개 키 암호 방식에서의 기본 동작은 모듈러 지수화이다. 입력(N, x 및 d)에 대해, y=xd mod N이 계산된다. 자연히, 다수의 종래 기술의 모듈러 지수화 알고리즘이 존재하고, 이들 중 2가지 예시가 아래에 주어진다.
알고리즘 1 - 좌측에서 우측으로의 2진법
Figure pat00001
알고리즘 2 - 우측에서 좌측으로의 2진법
Figure pat00002
이 2개의 방법 모두가 효율적이지만, 당업자라면, 이들 방법이 부-채널, 구체적으로 단순 전력 분석(SPA: Simple Power Analysis) 공격을 당할 수 있다는 것을 인식할 것이다. Paul Kocher, Joshua Jaffe 및 Benjamin Jun의 "Differential Power Analysis{M. Wiener(편집자)의 "Advances in Cryptology - CRYPTO’99(volume 1666 of Lecture Notes in Computer Science, 페이지 388-397, Springer-Verlag, 1999)"}", 및 Paul C. Kocher의 "Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems{N. Koblitz(편집자)의 Advances in Cryptology - CRYPTO’96(volume 1109 of Lecture Notes in Computer Science, 페이지 104-113, Springer-Verlag, 1996년)"}"을 참조하라.
주요 문제점은 조건부 갈림(branch)의 존재, 즉, "if"문의 존재에 있다.
이러한 문제점을 극복하기 위한 하나의 방식은 순환의 매 루프에서 곱셈을 실행하는 것, 즉, dj = 0일 때마다, 페이크(fake) 곱셈을 수행하는 것이다. Jean-Sebastien Coron의 "Resistance Against Differential Power Analysis for Elliptic Curve Cryptosystems{C.K. Koc 및 C. Paar(편집자)의 "Cryptographic Hardware and Embedded Systems - CHES’99(volume 1717 of Lecture Notes in Computer Science, 페이지 292-302, Springer-Verlag, 1999년)"}"를 참조하라. 하지만, 결과적인 구현은 느리고, 비용은 비트당 약 1.5개의 곱셈으로부터 비트당 2배의 곱셈으로 증가시킨다. 추가적인 단점은, 이러한 구현이 세이프 에러(safe error) 공격에 약점이 있다는 것이다. Sung-Ming Yen 및 Marc Joye의 "Checking before output may not be enough against fault-based cryptanalysis(IEEE Transactions on Computers, 49(9): 967-970, 2000년)", 및 Sung-Ming Yen, Seung-Joo Kim, Seon-Gan Lim, 및 Sang-Jae Moon의 "A Countermeasure Against One Physical Cryptanalysis May Benefit Another Attack{K. Kim(편집자)의 "Information Security and Cryptology - ICISC 2001(volume 2288 of Lecture Notes in Computer Science, 페이지 417-427, Springer-Verlag, 2002)"}"을 참조하라.
SPA-타입 공격을 막기 위한 더 나은 방식은 소위 부-채널 원자성(atomicity)을 사용하는 것이다. Benoit Chevallier-Mames, Mathieu Ciet, 및 Marc Joye의 "Low-Cost Solutions for Preventing Simple Side-channel Analysis: Side-Channel Atomicity(IEEE Transactions on Computers, 53(6):760-768, 2004년)"을 참조하라. 대응하는 알고리즘은 다음과 같다:
알고리즘 3 - 좌측에서 우측으로의 2진법(원자)
Figure pat00003
알고리즘 4 - 우측에서 좌측으로의 2진법(원자)
알고리즘 3 및 알고리즘 4에서,
Figure pat00005
는 XOR(배타적 OR) 연산자를 나타내고, ┐는 부정 연산자(즉, b = 0이라면, ┐b = 1이고, b = 1이라면, ┐b = 0이다)를 나타낸다.
비용이 증가하진 않지만, 비트당 약 1.5배로 유지된다는 것이 인식될 것이다. 부-채널 원자성이 2진 지수화 방법에 제한되지 않는다는 것이 더 인식될 것이다. 추가의 알고리즘은 Chevallier-Mames, Ciet 및 Joye의 전술한 논문에서 발견될 수 있다.
부-채널 원자성이 매우 뛰어난 알고리즘을 초래하지만, 방법은 곱셈 동작이 원자라고 가정한다는 것이 강조되어야 한다. 더 명백하게, 적합한 부 채널을 관찰함으로써, 모듈러 제곱(sqaring)과 모듈러 곱셈 사이를 구별하는 것은 가능하지 않다고 가정된다. 이러한 가정이 항상 충족되는 것은 아니다. 구체적인 공격은 Frederic Amiel, Benoit Feix, Michael Tunstall, Claire Whelan 및 William P. Marnane의 "Distinguishing Multiplications from Squaring Operations{R. Avanzi, L. Keliher, 및 F. Sica(편집자)의 "Selected Areas in Cryptography - SAC 2008, volume 5394 of Lecture Notes in Computer Science, 페이지 346-360. Springer-Verlag, 2009)"}"에서 보고된다.
따라서, 부-채널 관점으로부터 모듈러 곱셈이 모듈러 제곱처럼 작용하는 솔루션에 대한 필요성이 존재한다는 것이 인식될 것이다. 본 발명은 이러한 솔루션을 제공한다.
제 1 양상에서, 본 발명은 반복적인 모듈러 곱셈 단계를 포함하고, 입력으로 제 1 모듈러스(N), 비밀 지수(d) 및 기수(x)를 취하는 모듈러 지수화를 수행하는 방법에 관한 것이다. 2개의 값(a, b) 및 제 1 모듈러스(N)로부터 결과(c)를 계산하여 c = a?b mod N이 되도록 겨냥하는, 적어도 하나의 모듈러 곱셈 단계 동안, 처리기는 입력으로 2개의 값(a, b)과 제 1 모듈러스(N)를 취하고, 2개의 값(a, b) 및 제 1 모듈러스(N)로부터 2개의 피연산자(a', b') 및 제 2 모듈러스(N')를 획득하는데, 상기 획득을 통해, 2개의 피연산자(a', b') 중 적어도 하나는 2개의 값(a, b)과 다르고, 2개의 피연산자(a', b')는 a가 b와 동일할 때 다르며, 부-채널 관점으로부터 모듈러 곱셈 c = a?b mod N은 a'가 b'와 같을 때를 제외하고, 모듈러 제곱처럼 작용하게 되는데, 여기서 피연산자(a')는 값(a)으로부터 획득되고, 피연산자(b')는 값(b)으로부터 획득되며, 제 2 모듈러스(N')는 기껏해야 선형의 복잡도를 갖는 연산을 이용하여, 제 1 모듈러스(N)로부터 획득되고, 처리기는 중간 결과 c' = a'?b' mod N'를 계산하고, 중간 결과(c')로부터 결과(c)를 도출하는데, c는 기껏해야 선형인 복잡도를 갖는 연산을 이용하여 c'로부터 획득되며, 이후 처리기는 모듈러 지수화에 그 결과(c)를 사용한다.
제 1 바람직한 실시예에서, a' = 2a, b' = b + N 및 N' = 2N이고, c' = c/2이다.
제 2 바람직한 실시예에서, a' = N - a, b' = b 및 N' = N이고, c' = N - c이다. 제 1 모듈러스(N)가 홀수인 것이 유리하다.
제 2 양상에서, 본 발명은 반복적인 모듈러 곱셈 단계를 포함하고, 입력으로 제 1 모듈러스(N), 비밀 지수(d) 및 기수(x)를 취하는 모듈러 지수화를 수행하는 처리기에 관한 것이다. 처리기는 2개의 값(a, b) 및 제 1 모듈러스(N)로부터 결과(c)를 계산하여 c = a?b mod N이 되도록 겨냥하는 적어도 하나의 모듈러 곱셈 동안, 입력으로 2개의 값(a, b)과 제 1 모듈러스(N)를 취하는 수단, 2개의 값(a, b) 및 제 1 모듈러스(N)로부터 2개의 피연산자(a', b') 및 제 2 모듈러스(N')를 획득하는 수단으로서, 상기 수단을 통해, 2개의 피연산자(a', b') 중 적어도 하나는 2개의 값(a, b)과 다르고, 2개의 피연산자(a', b')는 a가 b와 동일할 때 다르며, 부-채널 관점으로부터 모듈러 곱셈 c = a?b mod N은 a'가 b'와 같을 때를 제외하고, 모듈러 제곱처럼 작용하게 되는데, 피연산자(a')는 값(a)으로부터 획득되고, 피연산자(b')는 값(b)으로부터 획득되며, 제 2 모듈러스(N')는 기껏해야 선형의 복잡도를 갖는 연산을 이용하여, 제 1 모듈러스(N)로부터 획득되는, 획득 수단, 중간 결과 c' = a'?b' mod N'를 계산하는 수단, 중간 결과(c')로부터 결과(c)를 도출하는 수단로서, c는 기껏해야 선형인 복잡도를 갖는 연산을 이용하여 c'로부터 획득되는, 결과(c)를 도출하는 수단을 포함하고, 처리기는 모듈러 지수화에서의 상기 결과(c)를 사용하는 수단을 더 포함한다.
제 1 바람직한 실시예에서, a' = 2a, b' = b + N 및 N' = 2N이고, c' = c/2이다.
제 2 바람직한 실시예에서, a' = N - a, b' = b 및 N' = N이고, c' = N - c이다. 제 1 모듈러스(N)가 홀수인 것이 유리하다.
제 3 양상에서, 본 발명은 처리기에 의해 실행될 때, 제 1 양상의 방법을 수행하는 지령을 저장하는 컴퓨터 프로그램 제품에 관한 것이다.
첨부 도면을 참조로 제한적이지 않은 예시를 통해, 본 발명의 바람직한 특성이 서술된다.
본 발명은 부-채널 공격에 내성이 있고, 더 효율적인 모듈러 지수화 방법 및 디바이스를 제공한다.
도 1은 본 발명의 바람직한 실시예에 따라, 특정 부-채널 공격에 내성이 있는 지수화를 수행하는 장치를 도시하는 도면.
본 발명의 메인 아이디어는 이미 언급된 것처럼, 모듈러 곱셈을, 부-채널 관점으로부터 모듈러 제곱처럼 작용하게 하는 것이고, 이는 특정 부-채널 공격에 내성이 있는 모듈러 지수화 알고리즘을 제공하기 위해 사용될 수 있다.
이는 a = b일 때, 모듈러 곱셈에서 나타난 2개의 피연산자의 값이 다르도록, a 및 b mod N의 모듈러 곱셈을 평가함으로써 달성될 수 있다.
바람직한 제 1 실시예는 임의의 요소 a, b
Figure pat00006
에 대한 관찰을 기초로 한다:
a?b mod N = [(a + a)?(b + N) mod 2N]/2.
증명: 정수 T = (a + a)?(b + N)이고, S = T/2 라고 정의한다.
Figure pat00007
를 얻는다. 그러므로, (T mod 2N)/2 ≡ S ≡ ab (mod N) 이다. 이제, 결과는 (T mod 2N)/2가 {0,…,N-1}내에 있음을 인식함으로써, 결과가 뒤따른다.
a = b일 때, (a + a)?(b + N) = (2a)?(a + N)이고 2a ≠ a + N인데, 왜냐하면 그렇지 않을 경우, a = N일 것이고, 이는 a가
Figure pat00008
내에(즉, 세트{0, 1, ..., N - 1} 내에) 있을 때 가능하지 않기 때문임을 주목할만한 가치가 있다. 즉, a = b일 때, 모듈러 곱셈 (a + a)?(b + N) mod 2N에서 나타나는 2개의 피연산자의 값은 다르다.
바람직한 제 2 실시예는 항등원에 의존한다:
a?b mod N = N - [(N - a)?b mod N].
증명: 정수 S = N - [(N - a)?b mod N] 인 것을 정의한다. (-1)2 = 1이기에, 명백히 S ≡ a?b (mod N)이다. 추가로, S ∈ {0,…,N-1}이다.
다시, N이 홀수라면, a = b일 때, 모듈러 곱셈(N - a)?b mod N에서 나타나는 2개의 피연산자의 값이 다르다는 것은 주목할만한 가치가 있다. 더욱이, a = b일 때, (N - a)?b = (N - a)?a 이고, N이 홀수일 때, (N - a) ≠ a는 항상 만족된다.
a' 및 b'이 피연산자이고, N'이 수정된 모듈러 곱셈에서의 모듈러스이며, c'이 올바른 출력(c)을 획득하기 위해 조정될 필요가 있는 수정된 모듈러 곱셈의 결과라면, 피연산자(a' 및 b') 및 모듈러스(N')가 기껏해야 선형인 복잡도를 갖는 연산을 이용하여 획득된다는 것이 인식될 것이고, 당업자라면, c'로부터 c를 획득하기 위해 사용되는 연산의 경우, N' = 2N이 정상적으로 추가 또는 비트 시프트로 구현되고, "나눗셈"은 비트 시프트로 구현된다는 것을 인식할 것이다.
그러면, 실시예는 배경 기술에서 서술된 알고리즘 3 및 알고리즘 4에서 사용될 수 있고, 다음의 알고리즘을 초래한다.
알고리즘 3' - 제 1 실시예를 구현하는 L에서 R로의 이진법(원자)
Figure pat00009
알고리즘 4' - 제 2 실시예를 구현하는 R에서 L로의 이진법(원자)
Figure pat00010
재기록된 수식이 모듈러 제곱을 산출하는 예시가 존재한다는 것이 주목되어야 한다. 이 예시는 N = 120인, 70 및 20의 모듈러 곱셈이고, 제 1 실시예의 수학식을 사용한다:
((70+70)?(20+120) mod 240)/2 = (140?140 mod 240)/2 = (19600 mod 240)/2 = 160/2 = 80. 제 2 실시예의 수학식을 통한 이 예시는 N = 121인, 70 및 51의 모듈러 곱셈이다:
121 - ((121-70)?51 mod 121) = 121 - (51?51 mod 121) = 121 - (2601 mod 121) = 61.
하지만, 이들 발생은 전혀 발생하지 않는 것보다 더 자주 발생하기 때문에, 원래의 원자 방식에서의 제곱보다 더 드물다는 것이 인식될 것이다. 게다가, 특정 랜덤화 기법과 결합될 때, 이러한 충돌 값을 생성하는 것이 어려울 수 있다. 이는 예를 들어, 모듈러 지수화(y = xd mod N)가 y = [(x + r?N)d mod t?N] mod N로 계산될 때 발생하는데, 여기서 t는 일부 보안 파라미터(k)를 위한 k비트의 정수이고, r은 {0, ..., t - 1}내에 있는 랜덤 정수이다.
도 1은 본 발명의 바람직한 실시예에 따른 디바이스를 도시한다. 디바이스(100)는 다른 디바이스(미도시)와 통신하기 위한 적어도 하나의 인터페이스 장치(110), 적어도 하나의 처리기(120), 및 누산기와 중간 계산 결과와 같은 데이터를 저장하기 위한 적어도 하나의 메모리(130)를 포함한다. 처리기(120)는 이전에 명세서에서 언급한 바와 같이, 본 발명의 방법의 실시예 중 어느 하나에 따라, 모듈러 곱셈을 계산하고, 또한, 이러한 곱셈을 구현하는 모듈러 지수화 알고리즘을 실행하기 위해 적응된다. CD-ROM 또는 DVD와 같은 컴퓨터 프로그램 제품(140)은 처리기(120)에 의해 실행될 때, 본 발명의 실시예 중 어느 하나에 따른 방법을 수행하는 저장된 지령을 포함한다.
본 곱셈 방법이 부 채널 공격에 대해 증가된 보호를 제공하는 모듈러 지수화 알고리즘을 제공할 수 있다는 것이 인식될 것이다.
본 서술 및 (적합하다면) 청구항 및 도면에 개시된 각 특징은 독립적으로 또는 임의의 적합한 조합으로 제공될 수 있다. 하드웨어로 구현되는 것으로 서술된 특징은 또한 소프트웨어, 그리고 역으로 구현될 수 있다. 청구항에 나타나는 참조 번호는 오직 설명의 목적이고, 청구항의 범주에 제한적인 영향을 미치지 않아야 한다.
100 : 디바이스 110 : 인터페이스 장치
120 : 처리기 130 : 메모리

Claims (9)

  1. 반복적인 모듈러 곱셈 단계를 포함하고, 입력으로, 제 1 모듈러스(N), 비밀 지수(d) 및 기수(x)를 취하는 모듈러 지수화를 수행하는 방법으로서, 상기 방법은 처리기(100)에서 수행되고, 2개의 값(a, b) 및 상기 제 1 모듈러스(N)로부터 결과(c)를 계산하여 c = a?b mod N이 되도록 겨냥하는 적어도 하나의 모듈러 곱셈 단계 동안,
    - 입력으로 상기 2개의 값(a, b)과 제 1 모듈러스(N)를 취하는 단계,
    - 상기 2개의 값(a, b) 및 상기 제 1 모듈러스(N)로부터 2개의 피연산자(a', b') 및 제 2 모듈러스(N')를 획득하는 단계로서, 상기 단계를 통해 상기 2개의 피연산자(a', b') 중 적어도 하나는 2개의 값(a, b)과 다르고, 상기 2개의 피연산자(a', b')는 a가 b와 동일할 때 다르며, 부-채널 관점으로부터 모듈러 곱셈 c = a?b mod N은 a'가 b'와 같을 때를 제외하고, 모듈러 제곱처럼 작용하고, 상기 피연산자(a')는 상기 값(a)으로부터 획득되고, 상기 피연산자(b')는 상기 값(b)으로부터 획득되며, 상기 제 2 모듈러스(N')는 기껏해야 선형의 복잡도를 갖는 연산을 이용하여, 상기 제 1 모듈러스(N)로부터 획득되는, 2개의 피연산자(a', b') 및 제 2 모듈러스(N')를 획득하는 단계,
    - 중간 결과 c' = a'?b' mod N'을 계산하는 단계,
    - 상기 중간 결과(c')로부터 결과(c)를 도출하는 단계로서, c는 기껏해야 선형인 복잡도를 갖는 연산을 이용하여 c'로부터 획득되는, 결과(c)를 도출하는 단계, 및
    - 상기 모듈러 지수화에서의 상기 결과(c)를 사용하는 단계를
    포함하는, 모듈러 지수화를 수행하는 방법.
  2. 제1항에 있어서, a' = 2a, b' = b + N 및 N' = 2N이고, c' = c/2인, 모듈러 지수화를 수행하는 방법.
  3. 제1항에 있어서, a' = N - a, b' = b 및 N' = N이고, c' = N - c인, 모듈러 지수화를 수행하는 방법.
  4. 제3항에 있어서, 상기 제 1 모듈러스(N)는 홀수인, 모듈러 지수화를 수행하는 방법.
  5. 반복적인 모듈러 곱셈을 포함하고, 입력으로, 제 1 모듈러스(N), 비밀 지수(d) 및 기수(x)를 취하는 모듈러 지수화를 수행하는 처리기(100)로서, 상기 처리기(120)는, 2개의 값(a, b) 및 상기 제 1 모듈러스(N)로부터 결과(c)를 계산하여 c = a?b mod N이 되도록 겨냥하는 적어도 하나의 모듈러 곱셈 동안,
    - 입력으로 상기 2개의 값(a, b)과 제 1 모듈러스(N)를 취하기 위한,
    - 상기 2개의 값(a, b) 및 상기 제 1 모듈러스(N)로부터 2개의 피연산자(a', b') 및 제 2 모듈러스(N')를 획득하기 위한 것으로서, 상기 획득을 통해 상기 2개의 피연산자(a', b') 중 적어도 하나는 2개의 값(a, b)과 다르고, 상기 2개의 피연산자(a', b')는 a가 b와 동일할 때 다르며, 부-채널 관점으로부터 모듈러 곱셈 c = a?b mod N은 a'가 b'와 같을 때를 제외하고, 모듈러 제곱처럼 작용하고, 상기 피연산자(a')는 상기 값(a)으로부터 획득되고, 상기 피연산자(b')는 상기 값(b)으로부터 획득되며, 상기 제 2 모듈러스(N')는 기껏해야 선형의 복잡도를 갖는 연산을 이용하여, 상기 제 1 모듈러스(N)로부터 획득되는, 2개의 피연산자(a', b') 및 제 2 모듈러스(N')를 획득하기 위한,
    - 중간 결과 c' = a'?b' mod N'을 계산하기 위한, 및
    - 상기 중간 결과(c')로부터 결과(c)를 도출하기 위한 것으로서, c는 기껏해야 선형인 복잡도를 갖는 연산을 이용하여 c'로부터 획득되는, 결과(c)를 도출하기 위한
    수단(120)을 포함하며, 상기 처리기는 상기 모듈러 지수화에서의 상기 결과(c)를 사용하기 위한 수단(120)을 더 포함하는, 모듈러 지수화를 수행하는 처리기.
  6. 제5항에 있어서, a' = 2a, b' = b + N 및 N' = 2N이고, c' = c/2인, 모듈러 지수화를 수행하는 처리기.
  7. 제5항에 있어서, a' = N - a, b' = b 및 N' = N이고, c' = N - c인, 모듈러 지수화를 수행하는 처리기.
  8. 제7항에 있어서, 상기 제 1 모듈러스(N)는 홀수인, 모듈러 지수화를 수행하는 처리기.
  9. 컴퓨터 프로그램 제품(140)으로서, 처리기에 의해 실행될 때, 제1항 내지 제4항 중 어느 한 항에 따른 방법을 수행하는 지령을 구비하는, 컴퓨터 프로그램 제품.
KR1020120047481A 2011-05-11 2012-05-04 부-채널 공격에 내성이 있는 모듈러 지수화 방법 및 디바이스 KR20120127235A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120047481A KR20120127235A (ko) 2011-05-11 2012-05-04 부-채널 공격에 내성이 있는 모듈러 지수화 방법 및 디바이스

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11305568.5 2011-05-11
EP11176404.9 2011-08-03
KR1020120047481A KR20120127235A (ko) 2011-05-11 2012-05-04 부-채널 공격에 내성이 있는 모듈러 지수화 방법 및 디바이스

Publications (1)

Publication Number Publication Date
KR20120127235A true KR20120127235A (ko) 2012-11-21

Family

ID=47512441

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120047481A KR20120127235A (ko) 2011-05-11 2012-05-04 부-채널 공격에 내성이 있는 모듈러 지수화 방법 및 디바이스

Country Status (1)

Country Link
KR (1) KR20120127235A (ko)

Similar Documents

Publication Publication Date Title
Yen et al. Power analysis by exploiting chosen message and internal collisions–vulnerability of checking mechanism for RSA-decryption
US8913739B2 (en) Method for scalar multiplication in elliptic curve groups over prime fields for side-channel attack resistant cryptosystems
CN107040362B (zh) 模乘设备和方法
EP1946204B1 (en) A method for scalar multiplication in elliptic curve groups over binary polynomial fields for side-channel attack-resistant cryptosystems
Itoh et al. A practical countermeasure against address-bit differential power analysis
JP5977996B2 (ja) サイドチャンネル攻撃に対する抵抗力のあるモジュラー累乗法及び装置
US20170180114A1 (en) Countermeasure method for an electronic component implementing an elliptic curve cryptography algorithm
US20100287384A1 (en) Arrangement for and method of protecting a data processing device against an attack or analysis
Hedabou et al. Countermeasures for preventing comb method against SCA attacks
Abarzúa et al. Survey on performance and security problems of countermeasures for passive side-channel attacks on ECC
Kim et al. Practical second‐order correlation power analysis on the message blinding method and its novel countermeasure for RSA
CN101971138A (zh) 用于计算椭圆曲线上的点的倍数的设备和方法
Hedabou et al. A comb method to render ECC resistant against Side Channel Attacks
Yin et al. A randomized binary modular exponentiation based RSA algorithm against the comparative power analysis
Mishra Pipelined computation of scalar multiplication in elliptic curve cryptosystems
Fournaris Fault and power analysis attack protection techniques for standardized public key cryptosystems
Zhang et al. Efficient elliptic curve scalar multiplication algorithms resistant to power analysis
Reddy Elliptic Curve Cryptosystems and Side-channel Attacks.
Feng et al. Efficient comb elliptic curve multiplication methods resistant to power analysis
KR20120127235A (ko) 부-채널 공격에 내성이 있는 모듈러 지수화 방법 및 디바이스
Takemura et al. ECC Atomic Block with NAF against Strong Side-Channel Attacks on Binary Curves
Hedabou et al. Some ways to secure elliptic curve cryptosystems
Miyaji et al. How to enhance the security on the least significant bit
Kim New fault attacks using Jacobi symbol and application to regular right-to-left algorithms
TWI529615B (zh) 進行模組式取冪之方法及其處理器和電腦程式產品

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid