KR100750425B1 - 결과 오퍼랜드의 표시를 계산하기 위한 장치 및 방법과 컴퓨터 판독 가능한 매체 - Google Patents

결과 오퍼랜드의 표시를 계산하기 위한 장치 및 방법과 컴퓨터 판독 가능한 매체 Download PDF

Info

Publication number
KR100750425B1
KR100750425B1 KR1020060019945A KR20060019945A KR100750425B1 KR 100750425 B1 KR100750425 B1 KR 100750425B1 KR 1020060019945 A KR1020060019945 A KR 1020060019945A KR 20060019945 A KR20060019945 A KR 20060019945A KR 100750425 B1 KR100750425 B1 KR 100750425B1
Authority
KR
South Korea
Prior art keywords
operand
operands
auxiliary
gate
logic gate
Prior art date
Application number
KR1020060019945A
Other languages
English (en)
Other versions
KR20060096912A (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 KR20060096912A publication Critical patent/KR20060096912A/ko
Application granted granted Critical
Publication of KR100750425B1 publication Critical patent/KR100750425B1/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
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J37/00Baking; Roasting; Grilling; Frying
    • A47J37/10Frying pans, e.g. frying pans with integrated lids or basting devices
    • A47J37/101Integrated lids
    • A47J37/103Broiling- or heating-lids
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J37/00Baking; Roasting; Grilling; Frying
    • A47J37/06Roasters; Grills; Sandwich grills
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J37/00Baking; Roasting; Grilling; Frying
    • A47J37/10Frying pans, e.g. frying pans with integrated lids or basting devices
    • A47J37/108Accessories, e.g. inserts, plates to hold food down during frying
    • 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
    • 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/7266Hardware adaptation, e.g. dual rail logic; calculate add and double simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Food Science & Technology (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

제 1 오퍼랜드와 제 2 오퍼랜드간의 비선형 논리 연산의 결과 오퍼랜드의 표시를 계산하기 위한 장치는 제 1 논리 게이트와 제 2 논리 게이트를 포함한다. 각각의 오퍼랜드는 2개의 보조 오퍼랜드에 의해 표시되고, 이것은 선형적으로 조합될 때 개개의 오퍼랜드의 결과를 가져온다. 제 1 및 제 2 논리 게이트는 제 1 및 제 2 논리 게이트의 평균 에너지 소모가 제 1 연산 사이클의 시작시와 제 2 연산 사이클의 시작시의 보조 연산자들의 다수의 조합들에 있어서 실질적으로 동일하도록 설계되며, 평균 에너지는 상기 제 1 내지 제 4 보조 오퍼랜드들의 다수의 다른 발생 순서로부터 유도될 수 있다.

Description

결과 오퍼랜드의 표시를 계산하기 위한 장치 및 방법과 컴퓨터 판독 가능한 매체{APPARATUS AND METHOD FOR CALCULATING A REPRESENTATION OF A RESULT OPERAND}
도 1a는 본 발명에 따른 계산용 장치의 개략도,
도 1b는 도 1a로부터 2개의 디바이스의 연결을 도시하는 개략도,
도 1c는 6개의 보조 오퍼랜드에 의해 표시되는 3개의 오퍼랜드를 갖는 논리 연산의 2개의 논리 게이트로의 리프팅 표시를 나타내는 개략도,
도 2a는 제 1 내지 제 4 보조 오퍼랜드의 몇몇 발생 순서 φ를 도시하는 타이밍도,
도 2b는 2회의 연산 사이클에 걸쳐 도 2a의 발생의 순서에 종속적인 여러 글리치들을 도시하는 도 1a내 디바이스의 출력을 나타내는 타이밍도,
제 2c 도는 도 2a 및 도 2b에서의 글리치 상황을 예시적으로 나타내는 테이블,
도 3은 글리치들의 존재시 이론적으로 또한 안정적인 마스크된 게이트의 패밀리를 찾기 위한 철저한 검색을 지원하는 전략을 나타내기 위한 흐름도,
도 4a는 모든 부분적으로 G-등변성인 게이트들의 모든 불 함수들(boolean functions)을 나타내는 테이블,
도 4b는 추가적인 반-G-등변성 게이트들의 모든 불 함수를 나타내는 테이블 들,
도 5는 본 발명의 바람직한 실시예에 따라서 AND 연산을 구현하기 위한 제 1 게이트와 제 2 게이트의 모든 가능한 조합을 나타내는 테이블,
도 6은 본 발명의 바람직한 실시예에 따라서 OR 연산을 구현하기 위한 제 1 게이트와 제 2 게이트의 모든 가능한 조합을 나타내는 테이블,
도 7은 본 발명의 바람직한 실시예에 따른 NAND 연산을 구현하기 위한 제 1 게이트와 제 2 게이트의 모든 가능한 조합을 나타내는 테이블,
도 8은 본 발명의 바람직한 실시예에 따라서 NOR 연산을 구현하기 위한 제 1 게이트와 제 2 게이트의 모든 가능한 조합을 나타내는 테이블,
도 9a도 9b 도의 비선형 게이트의 논리 구현의 일 실시예,
도 9b는 도 1a의 선형 게이트를 구현하는 일반적인 실시예,
도 10은 게이트들의 2개의 마스크된 리프팅의 조합 회로에 대한 일실시예.
본 발명은 논리 게이트들에 관한 것으로, 특히 차분 전력 분석(differential power analysis)에 대한 보안 수준이 향상된 논리 게이트들에 관한 것이다.
부채널 정보(side-channel information)에 기초한 암호해독은 암호 디바이스(cryptographic devices) 공격에 성공적으로 적용되었다. 이러한 공격들은 암호 알고리즘의 계산 동안 디바이스의 타이밍 정보, 전력 소모, 또는 전자기 누설방사와 같은 누설 정보를 이용한다. Kocher의 참고 문헌[13]에는 비보호 암호 디바이스들의 전력 소모가 특별히 간단한 장비에 의해 이용될 수 있는 부채널을 제공하는 것을 제시하고 있다. 차분 전력 분석(DPA)은 공격자로 하여금 관측가능한 순간적인 전력 소모와 비밀을 포함하고 있는 중간값 사이의 상관관계를 이용할 수 있도록 한다. 최근 몇 년 동안 참고 문헌[6, 19, 3, 14]에 대하여 차분 전력 공격들을 방어하기가 극히 어렵다는 것이 보다 더 분명해졌다.
하드웨어 대응책들로 불리우는 애드혹(ad-hoc) 해결책들 중 제 1 클래스는 부채널 누설의 신호대 잡음비(SNR)를 감소시켜 궁극적으로 노이즈에 유용한 정보를 숨기도록 한다. 하드웨어 대응책들은 참고 문헌[22]의 분리형 전원, 전력 잡음 생성기, 또는 공격된 중간값이 난수 지연 삽입 또는 실행 경로의 난수화를 이용하여 처리되는 시간의 개연적인 혼란의 응용과 같은 방법들을 포함한다. 비록 이러한 수단들이 공격자의 실험적이고 계산적인 작업부하를 증가시키는 것은 확실하지만 이 수단들이 공격을 불가능하게 하지는 못한다. 실제로, 전형적인 여러 대응책들은 조합된다(참고 문헌[6, 3, 14]). 이것은 실질적으로 차분 전력 분석을 불가능하게 하는 레벨까지 상관관계를 감소시킬 수 있다. 그렇지만, 보다 고차의 차분 공격들에 의해 또는 부분적인 전자기 누설방사를 관측함으로써 전력 소모의 공간적 분해능(spatial resolution)을 획득할 가능성은 전문적인 공격자들을 위한 백도어(backdoor)를 다시 개방할 수도 있다.
대응책들중 제 2 클래스는 부채널 누설 정보에 대한 핵심적인 원인의 제거를 목표로 한다. 표준 CMOS 스타일 회로들에 있어서, 전력 소모는 처리된 데이터에 밀접히 좌우된다. 차분 연속 전압 스위칭 로직(differential cascade voltage switching logic:DCVLS)를 기초로 하는 감지 증폭기형 로직(sense amplifier based logic:SABL)과 같은 다른 로직 스타일들에 있어서, 전력 소모는 (결합 효과를 무시할 수 있다면) 데이터 독립적이다. 그러나, 이러한 회로 스타일들의 면적과 전력의 관점에서 보면 비보호 CMOS 회로에 비해 2배 이상의 면적과 전력을 필요로 한다. 프리차지(precharge)되고 평가 위상(evaluation phase)을 갖는 논리 스타일들은 또한 매 클럭 사이클마다 연산을 허용하는 표준 CMOS 설계 스타일과 대조적으로 기본적으로 2-사이클 체계이다. 또한 지적되어야 할 점은 현재 이러한 설계 스타일들은 고차 하드웨어 서술 언어와 표준 셀 라이브러리를 기반으로 하는 반주문형 설계 플로우에 적합하지 않아 보인다는 점이다. 파동 차분 로직 스타일(wave dynamic differential logic style:WDDL)은 감지 증폭기형 로직의 아이디어들을 채택하지만 표준 CMOS[25]를 기반으로 한다. 이것은 마지막의 문제점을 극복하지만, 3배의 면적을 소모하고 2-사이클 체계이다.
대응책들중 제 3 클래스는 암호 알고리즘의 실행동안 발생하는 중간값을 난수화함으로써 차분 전력 분석을 좌절시키는 것이다. 이러한 해결책 이면의 아이디어는 난수화된 데이터에 대한 연산의 전력소모가 실제 평문 중간 데이터와 상호관련되지 않도록 하는 것이다. 비밀 공유 체계들에 기초한 대칭 암호들의 문맥에 있어서 알고리즘적인 대응책이 Goubin 과 Paterin[11] 및 Chari와 그리고 다른 사람들에 의해 독자적으로 제안되었다. 거의 동시에 비대칭 암호들을 위한 알고리즘 수 준의 마스킹이 개발되었다(참고 문헌[7, 18]). Messerges(참고 문헌[16])는 암호화 연산동안 모든 데이터와 중간값을 마스킹하는 아이디어를 창안하였다. Akkar와 Giraud(참고 문헌[1])는 비록 완벽하지는 않지만 비선형 부품을 위한 강건한 마스킹의 기본적인 기여를 한 DES와 AES를 위한 마스킹 방법을 창안하였다. 참고 문헌[28]에 제안된 단순화는 1차 차분 전력 분석 공격(참고 문헌[2])에 취약할 수 있다는 것이 최근에 발견되었다. 암호 알고리즘들은 종종 (배타적 논리합 XOR 또는 AND 연산과 같은) 불 함수들과 산술 함수들(arithmetic functions)(2보다 큰 특성을 갖는 필드에서의 연산)을 조합한다. 이들 두 함수 타입에 대한 마스킹 연산들은 각각 불 마스킹과 산술 마스킹으로 불리운다. 이것은 양방향으로 두 마스킹 타입간의 안전한 변환의 문제를 제기한다(참고 문헌[1]). AES에서 배수사적인 마스킹이 영값(zero value)을 갖는 문제, 즉 영 바이트가 마스크되지 않고 또한 S-박스(참고 문헌[10, 28])에 의해 영 바이트로 맵이 될 문제를 야기한다 것이 또한 알려져 있다. 영값 문제는 AES의 본래의 마스크된 버전이 DPA에 의해 쉽게 공격받도록 한다. 결과적으로, 참고 문헌[26, 27]과 참고 문헌[4]가 대응책들로 제안되었으며, 또한 이러한 대응책들은 영값 문제에 대해 보호될 것이다.
주목할 것은 후반의 3가지 제안은 더 이상 알고리즘 수준의 마스킹을 적용하는 것이 아니라, 논리 게이트의 수준의 마스킹을 적용한다. 보다 앞서 Messerges 의 논문(참고 문헌[17])에 이미 게이트 수준의 마스킹의 아이디어가 이미 적용되었고 S-박스들과 같은 비선형 연산들의 구현에 사용되는 다중화기 게이트(MUX)를 마스크된 다중화기 게이트(이는 차례로 3개의 MUX 게이트로 구성됨)로 대체하는 것이 제안되었다. (프로빙에 집중된) 부채널 공격에 대해 게이트 수준의 회로의 안전성을 획득하는 이론이 참고 문헌[12]에 자세히 기술되어 있다. 게이트 수준의 마스킹은 선없이 알고리즘의 중간값에 상호관련된 값을 운반하는 회로를 가져온다. 명백히 이러한 해결책은 알고리즘적인 해결책보다 더 일반적이다. 게이트 수준의 마스킹은 구현된 특정 알고리즘에 독립적이다. 일단 안전한 마스킹 체계가 개발되었다면, 알고리즘으로부터의 마스크된 회로의 생성이 자동화될 수 있고, 컴퓨터 프로그램이 모든 암호화 알고리즘의 디지털 회로를 마스크된 게이트들의 회로로 변환할 수 있다. 또한, 이것은 각각의 새로운 구현 변형 또는 알고리즘에 대한 부채널 누설에 대해 특정 솔루션을 정교하게 하는 복잡한 작업으로 인한 암호화 알고리즘의 저자들 또는 구현자들의 부담을 덜어줄 수 있다. 다양한 일반적인 마스킹 체계들이 제안되었다. 이들은 참고 문헌[8, 9]와 같은 참고 문헌[17]의 MUX 기법에 기초하거나, 예를들면, AND 게이트(참고 문헌[26])를 위해 정정 기간(correction terms)을 이용한다. 참고 문헌[23]의 난수 스위칭 로직(RSL)은 게이트당 난수 입력을 이용하여 이네이블 신호를 유도하며, 이러한 이네이블 신호는 모든 입력 신호가 안정될 때까지 출력이 유한값을 갖도록 강제한다. 따라서, 또한 이것은 숨겨진 2-사이클 체계이지만, 이네이블 신호의 타이밍에 대한 섬세한 조정을 필요로 한다.
조합형 CMOS 회로내의 거의 모든 (마스크된) 게이트의 입력 신호들은 동시에 도착하지 않는다는 일반적으로 지지되고 있지 않은 잠재적인 가정에 기초하여 지금까지 행하여진 마스킹 체계의 보안성 분석들이 Mangard, Popp, 와 Gammel의 최근 출판물(참고 문헌[15])에 제시되었다. 따라서, 게이트의 출력은 1 클럭 사이클동안 수차례 스위치한다. 다음 클럭 에지 직전의 안정 상태에 도달되기 전에 게이트의 출력에서의 전이를 글리치(gligtch)라고 한다. 글리치들은 CMOS 회로에서 전형적인 현상이며 VLSI 설계(예를들면 참고 문헌[21] 참조)에 관한 논문에서 광범위하게 논의된다. 글리치는 게이트의 출력에서 최종값으로의 "고유의" 전이와 같은 풀 스윙 전이를 야기할 수 있기 때문에, 글리치는 고차 영향을 무시할 수 없다. 참고 문헌[15]에 분명하게 제시된 바와 같이, 글리치들은 비상관 스위칭 작용으로 인해 배경 잡음을 단순히 더하지 않는다.
불행히도, 비선형 마스크된 게이트들의 낭비된 에너지는 입력값들이 동시에 도착하지 않는 경우에는 언제나 처리된 값들과 상호관련 된다(게이트의 출력을 강제적으로 수차례 토글시킴). 따라서, 글리치들은 부채널 정보를 운반하며 모든 보안 마스킹 체계의 분석에서 철저하게 고려되어야만 한다.
본 발명의 목적은 한편으로는 적응성이 있고 효율성이 있으며 다른 한편으로는 보안성을 갖는 비선형 논리 연산의 결과를 계산하기 위한 개념을 제공하는데 있다.
본 발명의 제 1 목적에 따르면, 본 발명의 목적은 제 1 오퍼랜드와 제 2 오퍼랜드간의 비선형 논리 연산의 결과 오퍼랜드의 표시를 계산하기 위한 장치에 의해 달성되며, 제 1 오퍼랜드는 제 1 보조 오퍼랜드와 제 2 보조 오퍼랜드에 의해 표시되고, 선형 조합을 이용하여 조합될 때 제 1 및 제 2 보조 오퍼랜드는 제 1 오퍼랜드의 결과를 가져오며, 제 2 오퍼랜드는 제 3 보조 오퍼랜드와 제 4 보조 오퍼랜드에 의해 표시되며, 제 3 및 제 4 보조 오퍼랜드는 선형 조합을 사용하여 조합될 때 제 2 오퍼랜드의 결과를 가져온다. 본 발명은 제 1 및 제 2 보조 오퍼랜드중 하나의 오퍼랜드와 제 3 및 제 4 보조 오퍼랜드중 하나의 오퍼랜드를 포함하는 적어도 2개의 보조 오퍼랜드에 기초한 제 5 보조 오퍼랜드를 계산하기 위한 제 1 논리 게이트와; 제 1 내지 제 4 보조 오퍼랜드에 기초한 제 6 보조 오퍼랜드를 계산하기 위한 제 2 논리 게이트를 포함한다. 여기서, 제 1 및 제 2 논리 게이트는 선형적으로 조합될 때 제 5 및 제 6 보조 오퍼랜드가 결과 오퍼랜드를 가져오도록 설계되며, 제 1 및 제 2 논리 게이트는 제 1 또는 제 2 논리 게이트의 평균 에너지 소모가 제 1 연산 사이클의 시작시와 제 2 연산 사이클의 시작시의 보조 오퍼랜드들의 다수의 조합에 있어서 실질적으로 동일하도록 설계되며, 평균 에너지는 제 1 내지 제 4 보조 오퍼랜드의 다수의 다른 발생 순서로부터 구해진다.
본 발명의 제 2 실시예에 따르면, 본 발명의 목적은 제 1 오퍼랜드와 제 2 오퍼랜드간의 비선형 논리 연산의 결과 오퍼랜드의 표시를 계산하기 위한 방법에 의해 달성되며, 제 1 오퍼랜드는 제 1 및 제 2 보조 오퍼랜드에 의해 표시되고, 제 1 및 제 2 보조 오퍼랜드는 선형 조합을 사용하여 조합될 때 제 1 오퍼랜드의 결과를 가져오며, 제 2 오퍼랜드는 제 3 보조 오퍼랜드 및 제 4 보조 오퍼랜드에 의해 표시되고, 제 3 및 제 4 보조 오퍼랜드는 선형 조합을 이용하여 조합될 때 제 2 오퍼랜드의 결과를 가져온다. 본 발명은 제 1 논리 게이트를 사용하는 제 1 및 제 2 보조 오퍼랜드중 하나의 오퍼랜드와 제 3 및 제 4 보조 오퍼랜드중 하나의 오퍼랜 드를 포함하는 적어도 2개의 보조 오퍼랜드에 기초한 제 5 보조 오퍼랜드를 계산하는 단계와; 제 2 논리 게이트를 이용하는 제 1 내지 제 4 보조 오퍼랜드에 기초한 제 6 보조 오퍼랜드를 계산하는 단계를 포함한다. 여기서, 제 1 논리 게이트와 제 2 논리 게이트는 선형적으로 조합될 때 제 5 및 제 6 보조 오퍼랜드가 결과 오퍼랜드를 가져오도록 설계되고, 제 1 및 제 2 논리 게이트는 제 1 또는 제 2 논리 게이트의 평균 에너지 소모가 제 1 연산 사이클과 제 2 연산 사이클의 초기에 보조 오퍼랜드들의 다수의 조합과 실질적으로 동일하도록 설계되며, 평균 에너지는 제 1 내지 제 4 보조 오퍼랜드의 다수의 다른 발생 순서로부터 구해진다.
본 발명은 글리치들의 존재시 제 1 오퍼랜드와 제 2 오퍼랜드간의 비선형 논리 연산의 결과 오퍼랜드의 표시를 계산함으로써 차분 전력 분석 보안성이 달성될 수 있다는 결과에 기초를 두고 있으며, 제 1 오퍼랜드, 제 2 오퍼랜드와 결과 오퍼랜드가 2개의 보조 오퍼랜드에 의해 각각 표시될 때, 이것은 선형적으로 조합될 때 각각의 오퍼랜드의 결과를 가져온다. 부가적으로, 결과 오퍼랜드를 나타내는보조 오퍼랜드를 계산하기 위해, 2개의 논리 게이트가 사용된다. 각각의 논리 게이트는 이들 논리 게이트들의 출력들이 선형적으로 조합될 때 결과 오퍼랜드를 가져오도록 설계된다.
더욱이, 논리 게이트들은 논리 게이트들의 에너지 소모가 제 1 연산 사이클의 시작 및 제 2 연산 사이클의 시작시에 보조 오퍼랜드들의 다수의 조합들에 있어서 실질적으로 동일하도록 설계되며, 여기서 평균 에너지는 제 1 및 제 2 논리 게이트의 입력시 제 1 및 제 2 오퍼랜드를 표시하는 보조 오퍼랜드들의 다수의 다른 발생 순서로부터 유도된다.
바람직하게, 제 1 논리 게이트는 선형 게이트이고, 이러한 선형 게이트는 단지 XOR 또는 XNOR 연산과 같은 논리적으로 선형인 연산을 구현한다.
또한, 제 2 논리 게이트는 비선형 논리 게이트이고, 이러한 비선형 논리 게이트는 AND, OR, NAND, 또는 OR 연산과 같은 비선형 연산들을 포함한다. 바람직하게, 제 2 논리 게이트는 AND 결합과 XOR 결합을 이용하여 구현된다.
바람직하게, 논리 게이트들은 약간의 트랜지스터들을 이용하여 트랜지스터 수준으로 구현되며, 이들 트랜지스터들은 제 1 논리 게이트와 제 2 논리 게이트의 일부이다.
더욱이, 한편으로는 제 1 및 제 2 보조 오퍼랜드와 다른 한편으로는 제 3 및 제 4 보조 오퍼랜드와 같은 상호관련된 신호들의 쌍이 뒤에 항상 동일한 게이트 심도를 갖도록 2개의 논리 게이트를 구현하는 것이 바람직하다. 이것은 이들 보조 오퍼랜드의 쌍들이 동일한 게이트 지연을 갖도록 제 1 및 제 2 논리 게이트가 트랜지스터 레벨에서 구현된다는 것을 의미하며, 이는 이들이 동일한 게이트들을 통과하기 때문이다.
더욱이, 2개의 상호관련된 신호들이 라우트되도록 논리 게이트들이 트랜지스터 수준으로 구현되도록 하는 것이 바람직하며, 결과적으로 양 신호 경로가 동일한 커패시턴스를 갖게 된다. 따라서, 각각의 상호관련된 신호들의 쌍에서 신호는 각각의 다음 게이트의 입력에 동시에 도착한다.
이러한 구현은 소위 반글리치 등변성 게이트들(semi-glitch-equivariant gates)의 결과를 가져오며, 이러한 반글리치 등변성 게이트들은 2개의 미시적인 오퍼랜드들간의 모든 비선형 논리 연산을 구현하기 위해 사용될 수 있다.
주목되어야 할 것은 글리치의 존재시 이들 반글리치 등변성 게이트는 각각의 모든 회로 기술에 대한 차분 전력 분석에 저항력이 있다는 것이다. 달리 언급된 바와 같이, 이들 게이트에 의해 규정된 논리 함수는 0과 1, 1과 0, 0과 0, 또는 1과 1간의 에너지 전이를 위한 모든 전이 에너지를 갖는 모든 회로 기술에 의해 구현될 수 있다.
일반적으로, 글리치들의 존재시 이들 바람직한 반글리치 등변성 게이트는 게이트 수준으로 그들의 전이 에너지의 실제 값들에 관계없이 차분 전력 분석 저항성을 보증한다.
그러나, 0에서 1로의 전이 에너지가 1에서 0으로의 전이 에너지와 실질적으로 동일하거나, 또는 0에서 0으로의 전이 에너지가 1에서 1로의 전이 에너지와 실질적으로 동일한 것과 같은 소정의 레스-제네럴(less-general) 제한이 이루어질 수 있을 때, 등변성 게이트들의 패밀리가 더욱 더 많아진다.
그러나, 완벽한 적응성을 갖는 라이브러리 지향 구현을 위해, 논리 게이트들의 쌍내 비선형 게이트로서 정확히 8개의 논리 게이트의 결과를 가져오는 아주 일반적인 전이 에너지 정의가 사용되는 것이 바람직하다.
본 발명에 따르면, 마스크된 게이트들의 패밀리가 찾아지면, 또한 이들 패밀리는 글리치의 존재시 이론적으로 안정적이다. 이들 게이트는 보편적인 세트를 형성하며 자동화된 CMOS 회로 합성과 부가적으로 다른 기술들을 위한 자동화된 회로 합성에 있어서 실질적으로 매우 관리하기 좋은 조건하에서 사용될 수 있는데, 이는 사용되는 논리 게이트들이 이들 게이트의 에너지 소모가 제 1 연산 사이클의 초기 및 제 2 연산 사이클의 초기에 보조 오퍼랜드들의 다수의 조합을 위해 실질적으로 동일하기 때문이며, 여기서, 평균 에너지는 제 1 내지 제 4 보조 오퍼랜드의 다수의 다른 발생 순서로 부터 유도된다.
바람직한 실시예의 상세한 설명
본 발명의 바람직한 실시예를 상세히 논하기에 앞서, 글리치들의 문제점이 이론적인 방법으로 설명될 것이다.
이어서, 글리치들의 부채널을 고려하여 CMOS 게이트들의 전력 소모에 대한 모델이 정의된다. 이러한 모델에 기초하여 G-등변성의 개념이 도입되고 전술한 게이트와 G-등변성을 갖는 에너지 모델들이 차분 전력 공격을 방지하기 위해 난수화된 게이트용으로 적합한 조건이라는 것이 제시된다. 불행하게도, 당업자는 구현 이유에 적합한 게이트들의 클래스에서 비선형 논리적 함수를 실현하기 위해 사용될 수 있는 G-등변성 게이트가 존재하지 않는다는 것을 알 수 있다. 그러나, 취약한 조건들을 갖는 바람직한 모델을 위해 당업자는 반-G-등변성 게이트들의 보편적인 집합을 분명히 구성할 수 있다. 게이트 설계 및 신호 라우팅시 필요한 제한들은 실제로 실현가능하며 활용가능한 표준 툴을 이용하여 충족될 수 있다.
글리치 문제의 제기 및 해석
본 장에서는 [15]에서 발견된 글리치 문제가 보다 이론적이며 관념적으로 설명된다. 첫째, 차분 전력 분석 공격의 목표가 되는 단일 게이트의 에너지 소모의 추출이 개괄적으로 설명된다. 통상적으로 사용되는 가장 간단한 에너지 모델이 언급되며 보다 일반적인 정의가 주어진다. 그 다음, 통계적 수단을 이용하여 이러한 게이트에 대한 기초적인 공격이 설명된다. (고전적 의미에 있어서) 난수화된 게이트의 정의가 주어지며 보다 일반적인 에너지 서술이 적용가능한 경우 어떠한 방법으로 차분 전력 분석이 여전히 성공적일 수 있는지가 제시된다.
게이트의 간단한 전력 소모 모델
n 입력들을 갖는 게이트 g와 하나의 출력은 함수
Figure 112007013759747-pat00001
로 해석될 수 있다. 클럭 사이클의 초기에 (회로내에서) 게이트의 동기 설계에 있어서, 이전 값들이 매우 짧은 시간동안 존속한다. 클럭 에지에 뒤이어 입력값들이 변하기 시작하고 출력값이 역시 변하며, 클럭 사이클의 종료시에 안정된다. 전력 분석을 위해 당업자는 이러한 게이트에서 처리되는 논리 값들과 이러한 처리에 의해 사용되는 에너지간의 관계에 관심이 있다. 이것은 공격자가 단일 디지털값을 측정할 수 없기 때문이 아니라 이러한 전이동안 게이트의 전력 소모(전류)를 측정할 수 없기 때문이다. 통상적으로, 예를들어 CMOS에서 2개의 다른 전압 레벨에 의해 디지털값 0과 1이 표시되고 비록 동일한 레벨을 유지하기 위해서는 단지 약간의 전력이 필요하더라도 이들 디지털값 사이의 스위치는 최대 전력을 필요로 한다.
공격자가 1 클럭 사이클동안 하나의 게이트가 필요로 하는 전력의 적분을 측정할 수 있다고 당업자가 정하면, 게이트의 에너지 함수의 뒤이은 정의는 명백하다:
정의 1.
Figure 112006015162140-pat00002
를 게이트라 하자. 클럭 사이클의 상승 에지 혹은 직전의 시간 t0 에서의 입력은
Figure 112006015162140-pat00003
이고 다음 상승 에지 혹은 직전의 시간 t1 에서의 입력은
Figure 112006015162140-pat00004
이다. 그 다음, 이러한 전이동안 게이트의 에너지 소모가 실수 Eg(a,x)∈R로 주어진다. 따라서, 게이트 g의 에너지 함수는 맵
Figure 112006015162140-pat00005
이다.
이러한 정의가 더 일반적이다. 주목할 것은, 비록 회로들이 기능적으로 동일하더라도 게이트의 에너지 함수는 몇몇 회로에서 개별적인 게이트들에 대해 다를 수도 있다.
간단한 에너지 소모 모델에 있어서 당업자는 출력이 토글되면 출력 커패시턴스의 유도를 위해 필요한 에너지를 갖는 게이트의 전력 소모를 식별한다. 따라서, (1 클럭 사이클동안) 게이트의 전력 소모는 게이트의 디지털 출력 행위에 의해서만 서술된다. 따라서, 에너지 소모가 t0 와 t1 에서 g의 출력값과 튜플(Eg,0→0, Eg,0→1, Eg,1→0, Eg,1→1)∈R4로 주어진다. t0에서 g의 출력값이 1이고 t1에서 g의 출력값이 0 이면 이러한 클럭 사이클을 위한 에너지는 Eg ,1→0이다. 따라서, 이러한 모델에서 게이트 g의 에너지 함수는
Figure 112006015162140-pat00006
로 주어진다.
이 모델에 대한 차분 전력 분석
CMOS 회로로 구현된 몇몇 비밀 (키)를 갖는 암호 알고리즘을 가정하자. 이러한 CMOS 회로에서 게이트
Figure 112006015162140-pat00007
가 존재한다고 더 가정하자. 시간 t0에서 g의 입력값들은
Figure 112006015162140-pat00008
이고 뒤 이은 시간 t1에서 g의 입력값은
Figure 112006015162140-pat00009
이다. 공격자가 상이한 메시지들을 갖는 알고리즘의 수차례 실행동안 이러한 게이트의 에너지 소모를 자세히 검사할 것이기 때문에, 이들 값은 몇몇 확률 공간(Ω,A,P)에서 난수 변수 a,b,x,y:Ω→F2로 보여질 수 있다. 이것은 다음의 연관
Figure 112006015162140-pat00010
을 야기한다. 가설로 불리우는 비밀 키(또는 비밀키의 일부)의 지식에 의해, 당업자는 공통원소를 갖지 않는
Figure 112006015162140-pat00011
의 속성을 갖는 Ω=A∪B와 Φ=A∩B와 같은 2개의 측정가능한 서브집합 A와 B로 Ω를 분할할 수 있다. 비록 이러한 구성이 잘못된 가설에 의해 이루어졌다하더라도
Figure 112006015162140-pat00012
를 산출한다.
참고 문헌[13]과 같은 하나의 고전적인 예는
Figure 112006015162140-pat00013
Figure 112006015162140-pat00014
로 Ω를 분할하는 것이다.
간단한 에너지 모델에 의해 당업자는
Figure 112006015162140-pat00015
을 얻는다. 일반적으로 이들 두 기대값은 (가설이 정확하였다면) 동일하지 않다. 이것은 고전적인 차분 전력 분석을 야기한다.
소견 1. Eg,0→0= Eg,0→1= Eg,1→0= Eg,1→1이라면, 가설의 옳고 틀림에 무관하게 실제 2개의 기대값은 항상 동일하다는 것은 분명하다. 따라서, 차분 전력 분석은 불가능하다. 일반적으로, 에너지 함수가
Figure 112006015162140-pat00016
이라면, 이러한 게이트는 정보를 누설하지 않으며 이러한 게이트에 대한 차분 전력 분석은 불가능하다.
실제로 이들 조건은 논리 스타일이 구현을 위해 선택된 경우에만 충족되며, 이것은 에너지, 함수 자체의 불변성을 보증한다. 이것은 도입부의 해결책의 제 2 클래스(예를들면, DCVSL 또는 SABL)에 대응되고 결론적으로 언급된 단점을 야기한다.
이것이 적용될 수 없다면, 당업자는 a,b,x,y에 의해 주어진 추가적인 조건들을 여전히 이용할 수 있다. 당업자는 단지 조건
Figure 112006015162140-pat00017
을 충족시켜야만 하는데 이것은 전의 조건과 같은 취약한 조건이다. 그러나, 당업자가 다용도용 게이트들을 찾고자 하면 당업자는 모든 a,b,x,y에 대해 이러한 조건(**)을 충족시켜야만 한다. 그러나, 불행하게도 이것은 간단한 전력 모델에서 조건(*)에 등변성이다.
난수화된 논리
사실, 비록 Eg가 상수가 아니더라도 εg가 상수일 가능성은 여전히 존재할 수 있다. 변수 a,b,x,y가 소정의 제한을 준수한다면, 이것은 사례가 될 수 있다. 통상적으로, 게이트가 유용한 무엇인가를 일을 하는 경우에 오직 2개의 입력만을 갖는 이러한 종류의 제한은 충족될 수 없다. 그러나, 이것은 지금 논의될 난수화된(마스크된) 게이트들의 클래스에서 가능할 수도 있다.
(본 명세서에서) 신호를 난수화한다는 것은 하나의 디지털 신호 a∈F2를 a와 각각의 ai간에 상관관계가 존재하지 않는 방식으로 a=a1+...+an를 갖는 다수의 신호 a1,....,an∈F2로 대체한다는 것을 의미한다. 실제적인 응용에 있어서, 단지 매우 적은 경우에 있어서만 당업자는 n>2를 선택하기 위해 리소드들을 갖는다. 따라서, 논의는 본 명세서의 전반에 걸쳐서 n=2인 경우로 제한될 것이다.
당업자의 대응 방안은 마스크된 신호의 쌍 am=a1와 이것의 마스크 ma=a2(예를들면 참고 문헌[15]내 주석을 참조)와 같은 난수화된 신호(a1 , a2)를 해석하는 것이다. 그러나, 이것은 단지 용어적인 것이고 당업자는 참고 문헌[15]에서와 같은 난수화된 게이트들을 소개하기 위한 논의내에서만 용어를 따를 것이다. 그러나, 이러한 관점은 난수화된(또는 마스크된) 게이트들에 대한 철학에 영향을 줄 수 있는데, 이는 신호 a,b가 현재 두부분으로 분기되며 당업자가 이전의 게이트
Figure 112006015162140-pat00018
를 새로운 게이트로 대체되어야 하기 때문이다.
첫번째 선택은
Figure 112006015162140-pat00019
2가 될 것이며 결과적으로 a=a1+a2와 b=b1+b2를 갖는 g(a,b)=g'(a1 ,a2 ,b1 ,b2)가 된다. 그러나, 출력이 또한 난수화되어야 하기 때문에 하나의 가능성은 a=am+ma과 b=bm+mb인 g(a,b)=g'(am,ma,bm,mb,mc)+mc의 속성을 갖는
Figure 112006015162140-pat00020
일 것이다. 이러한 속성은 g'를 고유하게 정의한다. 다음의 g'는 g의 마스크된 리프팅으로 불리우며, 이는 g'의 출력이 mc에 의해 마스크된 c:=g(a,b)의 출력이기 때문이다. 도 1은 게이트들의 마스크된 리프팅을 이용하는 회로(좌측 스케치)와 AND 게이트[26, 9]를 통한 리프팅의 실현(우측 스케치)에 대한 예를 도시한다.
다른 선택은 속성 g(a,b)=g1(a1 ,a2 ,b1 ,b2)+g2(a1 ,a2 ,b1 ,b2)를 갖는 2개의 게이트
Figure 112006015162140-pat00021
를 이용한다. 여기서, g1과 g2는 이러한 속성에 의해 고유하게 정의되지 않는다. 그러나, g1이 주어진다면, g2가 당연히 고정된다. 쌍 (g1,g2)은 g의 난수화된 리프팅으로 불리운다.
위로 부터 에너지 소모 모델을 사용하면, 즉
Figure 112006015162140-pat00022
여기서,
Figure 112006015162140-pat00023
는 t0에서의 입력이고,
Figure 112006015162140-pat00024
는 약어
Figure 112006015162140-pat00025
등을 갖는 t1에서의 입력이며, 에너지 소모 Eg((a,b),(x,y))가 기대값
Figure 112006015162140-pat00026
으로 대체되어야 하는데 여기서
Figure 112006015162140-pat00027
는 a=am+ma 등을 갖는 난수 변수들로 해석된다. 공격자는 정확한 (미시적인) 신호들
Figure 112006015162140-pat00028
을 알거나 영향력을 끼칠 수는 없지만 단지 (미시적인) 신호들 a,b,x,y에 대해서만 알거나 영향력을 끼칠 수 있을 것이다. 이것은 (26, 9, 15)의 객체이다. 실제로, mc,m2: Ω→F2가 난수 변수들 g(a,b),g(x,y)에 무관한 균일하게 분산된 난수 변수들이라면, 게이트 g의 마스크된 리프팅 g'는 정보를 누설하지 않는다, 즉,
Figure 112006015162140-pat00029
가 a,b,x,y에 독립적이다.
글리치 존재시 게이트의 전력 소모
앞서
Figure 112006015162140-pat00030
가 존재하는 것으로 제시되었으며, 그 결과 모든 신호들(난수 변수들) am,ma,bm,mb,mc: Ω→F2 및 xm ,mx ,ym ,my,mz: Ω→F2 에 대해 몇몇 신호들이 소정의 독립성과 분산 속성을 갖는 한 기대값
Figure 112006015162140-pat00031
는 신호들에 독립적이다. 즉, 상수이다.
참고 문헌[15]에서 달성된 바와 같이 실제 CMOS 구현들에 있어서 상이한 신호들 xm ,mx ,ym ,my,mz이 동시에 게이트에 도착하지 않을 수도 있다.
도 1의 예시적인 회로에서, g' 1의 게이트 지연으로 인한 신호들 md,cm,mc에 비하여 신호 dm은 게이트 g' 2의 입력시 지연 도착된다. 더욱이, 게이트 g' 2의 모든 입력 신호들은 와이어 커패시턴스들로부터의 전파 지연으로 인해 일반적으로 상이한 추가적인 지연 기여를 갖는다. 이들 지연은 회로가 배치될 때와 신호의 경로에 따라 고정된다.
신호들이 별개의 순서 ym→my→mz→xm→mx 로 도착하는 경우의 예를 가정하여 보자. 이러한 경우에 있어서 게이트 출력값은 클럭 사이클동안 한 차례 변할 뿐 아니라 연속적인 출력 전이들
Figure 112006015162140-pat00032
을 가져오는 다섯 차례 변한다. 따라서, 에너지 소모는 실제
Figure 112006015162140-pat00033
의 전체가 될 것이다.
따라서,
Figure 112006015162140-pat00034
가 위로부터의 합에 의해 주어지도록 새로운 전력 모델이 요구된다. 불행히도, 이러한 모델을 포함하여, 참고 문헌[15]의 저자는
Figure 112006015162140-pat00035
이 더 이상 a,b,x,y에 독립적이지 않다는 것을 제시하였다. AND, OR와 같은 비선형 게이트들의 마스크된 리프팅은 이러한 불행한 속성을 갖는 반면에, 선형 게이트 XOR의 마스크된 리프팅은 상수 기대값을 갖는다. 따라서, (n=2인) 게이트들의 마스크된 리프팅들에서 게이트들의 보편적인 집합은 존재하지 않는다.
당업자는 더욱 나쁜 상황을 생각할 수 있다: 뛰어난 장비를 구비한 공격자가 다섯 전이들의 상이한 부분적인 에너지들을 측정할 수 있다면 차분 전력 분석을 방해할 게이트를 위한 제한들을 충족시키기가 더욱 더 어렵다. 아래, 이러한 상황을 설명할 수 있도록 보다 고차의 전력 모델이 도입된다.
게이트 g'의 마스크된 리프팅은 정상적인 단일 게이트 g의 리프팅이어야 하 는 단점이 있다. 난수화된 리프팅 (g1,g2)를 이용하는 두번째 해결책은 보다 적응성이 있는데, 이는 2개의 게이트 (g1 과 g2)가 함께 정상적인 게이트 g를 달성해야만 하기 때문이다.
이것은 다음 장에 이어지는 전략이다.
Figure 112007013759747-pat00036
형의 난수화된 게이트들의 공간이 게이트들을 찾기위해 조사될 것이며, 이것은 글리치의 존재시 "안전"을 확보한다. "안전을 확보하는 것"의 개념은 정확히 정의될 것이다. 뒤이어 찾아진 게이트들은 난수화된 AND 또는 OR 게이트들과 같은 논리 함수를 달성하기 위해 조합될 수 있다.
문제의 수학적인 추상적 개념
마지막 장은 다음의 전략과 정의들을 자극할 수도 있다. 우선, 이들의 에너지 모델과 함께 게이트들의 추상적인 모델이 정의되어 질 수 있다. 최종적으로, 게이트들에 부여된 조건들은 공식화될 수 있으며, 이것은 차분 전력 공격이 이루어질 수 없게 하는 것을 보증한다.
게이트 모델
정의 2. n 입력을 갖는 게이트 g는 함수
Figure 112006015162140-pat00037
이다. g의 전이 함수
Figure 112006015162140-pat00038
는 맵
Figure 112006015162140-pat00039
이며, 여기서
Figure 112006015162140-pat00040
Figure 112006015162140-pat00041
에 의해 정의되며, 특히
Figure 112006015162140-pat00042
이다.
전이 함수
Figure 112006015162140-pat00043
는 n+1 값을 표시하며, n 입력 신호들을 갖는 경우 게이트의 출정시에 n개의 가능한 상이한 순간에 도착한다. 이것은 φ(j)=1인 경우 신호 j가 첫번째로 변하고 다음로 변하게 될 신호가 φ(j)=2인 1 등과 같은 신호라는 것을 의미한다. 2 또는 보다 많은 신호들이 동시에 도착할 수도 있기 때문에 맵 φ는 치환될 필요가 없다. 게이트의 이전 에너지 기술은
Figure 112006015162140-pat00044
(또는 1과 n 사이의 모든 상수)로 고정함으로써 얻어질 수 있다.
소견 2. 신호들 φ의 순서는 회로내의 각각의 단일 게이트에 연관된 상수이다. 이러한 순서는 회로의 설계시에 고정되고 게이트의 각각의 입력시 논리 트리의 심도와 신호들의 정밀한 경로에 의해 주어진다. 양 요인은 입력 신호들의 도착 신호를 결정한다.
본 모델에 있어서 게이트의 에너지 소모
게이트 g가 1 클럭 주기내에 n번의 횟수만큼 스위치할 수 있고 출력의 매 토글이 전력 Eg,0→0= Eg,0→1= Eg,1→0= Eg,1→1을 소모하기 때문에, 에너지 함수의 개념이 일반화되어야 한다. 또한, 위로부터 4개의 값이 개별적인 게이트와 회로내의 게이트의 위치에 밀접히 좌우될 수도 있기 때문에, 이들 값을 비확정값으로 다루는 것이 사리에 맞다. 따라서, R에서가 아닌 4차원 벡터 공간
Figure 112006015162140-pat00045
에서 에너지 함수를 평가하는 것이 자연스럽다. 소정의 구현을 위해 당업자는 평가 함수 ev :
Figure 112006015162140-pat00046
를 갖는 에너지 함수를 결부시킬 수도 있다.
정의 3. 게이트
Figure 112006015162140-pat00047
의 부분적인(또는 로컬) 에너지 함수는 마지막 정의에서 서술한 바와 같은 i=1,....,n과
Figure 112006015162140-pat00048
에 대한
Figure 112006015162140-pat00049
로 주어진다. 게이트
Figure 112006015162140-pat00050
의 전체적인(또는 글로벌) 에너지 함수 Eg는 부분적인 에너지 함수의 합
Figure 112006015162140-pat00051
이다.
소견 3. 게이트의 에너지 소모의 이러한 정의는 이와같은 게이트의 구현이 모든 유용한 내부적인 측면의 부채널들을 갖지 않는다는 가정을 반영한다. 예를들 면, 이것은 게이트 자체가 본래부터 글리치로부터 자유롭고 하나의 입력 신호가 변하는 경우 출력시 단지 하나의 신호가 변한다는 것을 의미한다. 또한, 출력 지연은 입력값에 좌우되지 말아야 한다. 마스크된 논리 셀이 라이브러리에서 사용하기 위해 제조되는 경우 이들 필요조건들이 실제로 달성될 수 있다는 것이 확실히 간주될 수 있다.
난수화된 신호쌍들
본 명세서에서 난수화는 신호 a를 신호들의 쌍(a1,a2)으로 분할하여, 결과적으로 a=a1+a2와 개별적인 비트들 a1 와 a2는 알수없게, 즉, 난수화되고 균일하게 분산된다는 것을 의미한다. 무엇보다도, 당업자는 AND, OR 등과 같은 (미시적인) 2-1 게이트들의 난수화된 달성에 관심이 있기 때문에, 당업자는 가능한 게이트들을 2개의 (미시적인) 입력들 a,b, 따라서 4개의 실제적인 입력 a1,a2,b1,b2를 갖는 게이트들로 한정할 수 있다. 도 1b는 2개의 정상적인 게이트 g1(a,b)와 g2(d,c)가 회로의 이전의 기능성을 유지하는 2개의 게이트 ((g11(a1,a2,b1,b2),g12(a1,a2,b1,b2))와 ((g21(d1,d2,c1,c2),g22(d1,d2,c1,c2))의 2개의 난수화된 리프팅으로 대체된 것을 묘사한다. 다음의 2개의 정의가 이러한 상황을 서술한다.
정의 4. 난수화된 신호 쌍(RSP)은 난수 변수들 a1,a2,b1,b2:Ω→F2의 4-튜플(a1,a2,b1,b2)이며, 결과적으로 다음의 속성들이 충족된다.
1. a1,a2,b1,b2는 균일하게 분산되는데, 예를 들면, P(a1=0)=P(a1=0)=1/2이다.
2. 변수들 ai,bj의 쌍은 i,j=1,2에도 불구하고 독립적이다.
소견 4. 쌍 a1,a2과 쌍 b1,b2는 독립적이지 않을 수도 있다.
정의 5. 당업자가 a:=a1+a2:Ω→F2와 b:=b1+b2:Ω→F2로 정의한다면,
Figure 112006015162140-pat00052
는 한 쌍의 난수 변수들이고 당업자는
Figure 112006015162140-pat00053
를 (a,b)쌍의 리프팅으로 부르는데, 여기서
Figure 112006015162140-pat00054
이고
Figure 112006015162140-pat00055
이다.
다음의 설명은 이전의 게이트 g의 기능성을 정확히 리프트시키는 단일 게이트 g'를 찾아내려는 것은 아니다. 대신에 리프트된 게이트들의 보편적인 집합을 검색하기 위해 일반적인 전략을 따르기 위한 것이다. 그것은 게이트들의 패밀리인데, 이러한 패밀리는 미시적인 전이(a,b)(x,y)의 에너지가 정보를 누설하지 않는 속성을 가지며 모든 논리적 함수를 달성하기 위해 조합될 수 있다.
이어서, 리프트된 게이트들을 위한 필요한 조건들의 명확한 공식표시가 주어질 것이며, 또한 이것은 글리치들의 존재시 정보를 누설하지 않는다.
게이트들의 글리치 등변성의 기준
글리치-등변성 게이트들의 개념이 지금 도입된다. 글리치-등변성의 기준을 충족시키는 게이트들은 미시적인 전이(a,b) →(x,y)에 관한 정보를 누설하지 않는데, 이는 글리치의 부채널내에 결함을 갖지 않기 때문이다. 마스크된 CMOS 게이트 의 에너지 함수를 위한 모델, 정의 3 과 난수화된 신호쌍의 개념, 정의 4에 기초하여, 다음의 정의들은 글리치들의 존재시 차분 전력 분석 공격에 있어서 마스크된 게이트들의 저항을 위해 필요한 조건들을 서술한다.
정의 6. 모든 φ∈맵({1,...,4},{1,...,4})에 대해 전체 에너지의 기대값
Figure 112006015162140-pat00056
이 난수화된 신호쌍들
Figure 112006015162140-pat00057
의 어떠한 선택에도 독립적인 경우 게이트
Figure 112006015162140-pat00058
는 포괄적으로 G-등변성으로 불리운다.
모든 φ∈맵({1,...,4},{1,...,4})과 i=1,2,3,4,에 대해 부분적인 에너지 기대값
Figure 112006015162140-pat00059
이 난수화된 신호쌍들
Figure 112006015162140-pat00060
의 어떠한 선택에도 독립적인 경우 게이트
Figure 112006015162140-pat00061
부분적으로 G-등변성으로 불리운다.
소견 5. 명백히 모든 부분적으로 G-등변성인 게이트는 또한 포괄적으로 G-등변성이다.
난수화된 신호쌍들
Figure 112006015162140-pat00062
의 패밀리는 매우 클 수 있기 때문에, 당업자는 게이트가 G-등변성인지를 결정하기 위해 보다 간단한 기준을 필요로 한다. 첫번째 명제는 기준을 소정의 난수화된 신호쌍들로 환산한다.
명제 1. 모든 Φ에 대해 값
Figure 112006015162140-pat00063
이 상수 쌍들 (a,b),(x,y)의 리 프팅인 난수화된 신호쌍들
Figure 112006015162140-pat00064
의 어떠한 선택에도 관계없는 경우에 한해 게이트
Figure 112006015162140-pat00065
는 포괄적으로 G-등변성이다.
모든 Φ 및 i에 대해 값
Figure 112006015162140-pat00066
이 상수 쌍들 (a,b),(x,y)의 리프팅인 난수화된 신호쌍들
Figure 112006015162140-pat00067
의 어떠한 선택에도 관계없는 경우에 한해 게이트
Figure 112006015162140-pat00068
는 부분적으로 G-등변성이다.
다음 명제는 기준을 직접 계산가능한 기준으로 환산한다.
명제 2. 모든 Φ에 대해 a,b,x,y∈F2인 24개의 값들
Figure 112006015162140-pat00069
이 동일한 경우에 한해 게이트
Figure 112006015162140-pat00070
는 포괄적으로 G-등변성이다. 모든 Φ 및 i=1,2,3,4,에 대해 a,b,x,y∈F2인 24개의 값들
Figure 112006015162140-pat00071
이 동일한 경우에 한해 게이트
Figure 112006015162140-pat00072
는 부분적으로 G-등변성이다.
G-등변성의 정의로부터 이러한 기준을 충족시키는 게이트들이 글리치들에 의한 부채널 누설의 문제(적어도 정의된 모델에 의해 포착되는 뚜렷한 영향)를 극복할 수 있다는 것이 당장에 분명해진다. 모든 부분적이고 포괄적으로 G-등변성인 게 이트들의 완전한 목록을 얻기 위해 명제 2를 이용하여 전체 216개의 모든 가능한 게이트들
Figure 112006015162140-pat00073
에 대한 철저한 검색을 수행하는 것은 간단한 작업이다.
50개의 포괄적이고 부분적으로 G-등변성인 게이트들이 존재한다. 테이블 1(도 4a)에서 전체 50개의 부분적으로 G-등변성인 게이트들의 대수적인 일반 평균적인 형식이 제공된다. 상수 c는 값{0,1}을 취할 수 있다.
Figure 112006015162140-pat00074
이들 불 함수의 몇몇 암호 속성들이 이하 언급될 것이다. 속성들의 정의는 예를들어 참고 문헌[20]에 잘 제시되어 있으며 확인될 수 있다. 8개 함수들의 제 1 그룹은 균형을 이루며 1차 상관 면역, 즉, CI(1)이지만, 모든 등급까지 전파 기준(PC)을 충족시키기는 않는다. 8개 함수들의 제 2 그룹은 균형을 이루며 상관 면역도 아니며 전파 기준(PC)을 충족시키지 못한다. 잔여 34개 함수들은 균형을 이루지도 못하고 상관 면역(CI)도 아니며 전파 기준(PC)을 충족시키지 못한다.
불행히도, 포괄적으로 G-등변성인 게이트들의 집합에서도 부분적으로 G-등변성인 게이트들의 집합에서도 2개의 게이트들이 존재하지 않으며, 이들 2개의 게이트들은 (AND 또는 OR 같은)모든 비선형 게이트의 리프팅으로 쌍을 이룰 수 있다. 따라서, 다음과 같이 제시되었다:
정리 1. G-등변성 기준을 충족시키는
Figure 112006015162140-pat00075
형식의 마스크된 게이트들의 보편적인 집합이 존재하지 않는다.
반-G- 등변성 게이트들의 논리 패밀리
마지막 장으로부터의 결과는 실제로 G-등변성의 엄격한 조건이 마스크된 CMOS 회로의 달성을 위해 성립될 수 있는지 의문을 야기한다.
입력 ai,bi와 출력 ci를 갖는 아주 간단한 게이트들 gi를 입력
Figure 112007013759747-pat00076
,
Figure 112007013759747-pat00077
와 출력
Figure 112007013759747-pat00078
을 갖는 게이트들로의 교체를 고려하자. 미시적인 신호(ai)의 상관된 신호들(말하자면 ai1,ai2)의 쌍이 이후 항상 동일한 게이트 심도를 갖는다는 것은 명백한데, 이는 이들이 항상 동일한 게이트들을 통과하기 때문이다. 양 출력(ci1,ci2)을 위한 게이트 지연이 동일해야 한다는 마스크된 게이트 gi의 구현 요건은 실제로 약간의 노력에 의해 충족될 수 있다. 이러한 조건하에서 한쌍의 상관된 신호의 각각의 신호에 대한 누적 게이트 지연은 동일하다. 두 상관 신호들의 상이한 전파 시간에 대한 나머지 요인은 상이한 커패시턴스를 갖는 상이한 경로들이다. 그러나, 오늘날의 라우팅 기술에 의해 양 신호 경로들이 동일한 커패시턴스를 갖는 방법으로 라우팅을 제어하는 것이 가능하다. 이들 설계 및 라우팅 제약들이 충족되면, 상관된 신호들의 각각의 쌍은 다음 게이트의 입력 게이트에 동시에 도착한다. CMOS 회로 구현을 위해 실제적으로 달성가능한 이러한 셋업은 특정한 순서에 따라 소정의 조합들을 다스리며, 정의 2에서 조건들은 (a1, a2에 대해) Φ(1)=Φ(2)와 (b1, b2에 대해) Φ(3)=Φ(4)를 갖는 전체 맵 Φ로 환산될 수 있다.
정의 7. Φ(1)=Φ(2)와 Φ(3)=Φ(4)를 갖는 모든 Φ∈맵({1,...,4},{1,....,4})에 대해 전체 에너지의 기대값
Figure 112006015162140-pat00079
이 난수화된 신호쌍들
Figure 112006015162140-pat00080
의 어떠한 선택에도 관계없는 경우 게이트
Figure 112006015162140-pat00081
는 포괄적으로 반-G-등변성으로 불리운다.
Φ(1)=Φ(2)와 Φ(3)=Φ(4)를 갖는 모든 Φ∈맵({1,...,4},{1,....,4})에 대해 부분 에너지의 기대값
Figure 112006015162140-pat00082
이 난수화된 신호쌍들
Figure 112006015162140-pat00083
의 어떠한 선택에도 관계없는 경우 게이트
Figure 112006015162140-pat00084
는 부분적으로 반-G-등변성으로 불리운다.
다시 모든 216 개의 게이트들에 대한 전체 검색은 게이트들의 목록을 산출한다. 이들은 58개의 포괄적으로 반-G-등변성인 게이트들이다. 또한, 이들 전체는 부분적으로 반-G-등변성인 게이트들이다. 따라서, 반-G-등변성에 대해 '부분적' 및 '포괄적'이라는 속성들은 생략될 수 있다. 58개 게이트의 목록은 테이블 1로부터 50개의 게이트를 포함하고 아래 테이블 2(도 4b)에 주어진 8개의 게이트를 추가적으로 포함한다.
Figure 112006015162140-pat00085
이들 8개의 게이트는 균형적이고, 1차 상관 면역,즉, CI(1), 그리고 등급 1의 전파 기준, 즉, PC(1)을 충족시키는 공통 속성을 갖는다.
현재, 8개의 추가적인 반-G-등변성 게이트가 비선형 게이트들의 리프팅들로의 쌍을 허용한다. 예를 들면, 반-G-등변성 AND 게이트는 테이블 1과 테이블 2의 첫번째 엔트리들을 이용하는 리프팅
Figure 112006015162140-pat00086
에 의해 달성될 수 있다. 따라서, 모든 다른 공통적으로 필요한 비선형 게이트들이 유도될 수 있다. 따라서, 게이트들의 보편적인 집합을 찾아낸다면 어떠한 알고리즘도 구현하는 것이 가능하다.
결론
CMOS 게이트들을 위한 새로운 에너지 모델이 개발되었으며, 이것은 실제적인 회로에서 CMOS 게이트들의 작용의 관념적인 서술을 제공한다. 특히, 이러한 모델은 글리치들의 존재를 포착할 수 있다. 최근 글리치들은 부채널로서 식별되며, 이것은 차분 전력 공격들에 이용될 수 있다. 이러한 모델에 기초하여, G-등변성 및 반-G-등변성 게이트들의 개념이 도입되었다. 정의된 게이트와 에너지 모델들내에서 G-등변성은 차분 전력 공격을 견디어내기 위해 (기타 제약없는 CMOS 회로내에서) 난수 화된 게이트들에 필요한 조건이라는 것이 제시되었다. 불행히도, (구현을 위해 적합한) 단지 4개의 입력만을 갖는 게이트들의 클래스에서 게이트들의 쌍이 존재하지 않는데, 이것은 모든 비선형 게이트의 리프팅을 달성한다. 따라서, 난수화된 게이트들의 이러한 클래스에서 G-등변성 게이트들의 보편적인 집합이 존재하지 않는다는 것이 제시되었다. 그러나, CMOS 회로에서 라우팅에 약간의 제약을 가하는 취약한 모델을 채택함으로써 난수화된 게이트들이 존재하며, 차분 전력 분석에 안전한 회로를 설계하는데 이용될 수 있는 반-G-등변성 게이트들의 보편적인 집합이 구성되었다. 게이트 설계 및 신호 라우팅에 대한 제약들은 실제로 달성할 수 있으며 활용가능한 표준 툴들을 이용하여 달성될 수 있다. 제안된 솔루션의 의미있는 장점은 게이트들이 표준 CMOS 스타일에서 구현될 수 있다는 것이다. 확실히, 마스크된 반-G-등변성 게이트들이 이미 내부적인 노드들로부터 누설을 피하여 조심스럽게 구현되도록 보장하는 것이 중요하다. 반-G-등변성 게이트들은 단일-사이클 클러킹 체계의 구현을 여전히 허용하는 반면에, 프리차지와 평가 위상을 갖는 회로 스타일들은 본질적으로 2-사이클 체계이다.
당업자는 반-G-등변성의 기준을 충족시키는 난수화된 게이트들을 이용한 암호 회로들이 글리치들을 인식하지 못하는 종래의 마스킹 체계를 이용하는 회로에 비애 전력 공격에 보다 더 안전해야만 한다고 결론지을 수 있다.
주목해야 할 것은 본 명세서에서 개발된 모델은 불가피하게 스위칭 CMOS 회로에서 에너지 소산의 복잡한 물리적 프로세스들의 조악한 추상적 개념이라는 것이다. 다음의 보다 고차의 영향들은 CMOS 게이트의 스위칭의 과도 전류와 관계될 수 도 있다. 이러한 효과들은 (글리치들이 오버랩되는 경우) 게이트들의 출력들의 부분적인 스윙들을 포함하거나 인접한 와이어들간의 교차결합들을 포함할 수도 있는데, 이것은 상호 정보 누설을 야기한다. 그러나, 이러한 보다 고차의 영향들은 CMOS 회로에 특정되지 않으며, 프리차지 및 평가 위상을 갖는 차분 전력 분석에 이론적으로 저항력이 있는 이중 레일 스타일과 같은 다른 회로 스타일들에도 또한 영향을 끼친다. 그럼에도 불구하고, 에너지 소산에 있어서 다음의 보다 고차의 영향들이 상당히 적은 누설 정보와 관련되어, 성공적인 차분 전력 분석을 위한 노력들을 최고점까지 지원한다.
현재, 입력 신호당 2개 이상의 난수화된 몫들이 인정되거나, 2개 이상의 입력 신호들, 즉,
Figure 112006015162140-pat00087
형식의 게이트들이 존재하는 경우 G-등변성(반-G-등변성 뿐만아니라)의 기준을 충족시키는 비선형 게이트들의 리프팅들이 존재하는지 여부가 알려져 있지 않다.
도 1a는 제 1 오퍼랜드와 제 2 오퍼랜드간의 비선형 논리 연산의 결과 오퍼랜드의 표시를 계산하기 위한 장치를 도시한다. 장치는 일반적으로 참조 번호(10)로 표시된다. 특히, 제 1 오퍼랜드는 제 1 보조 오퍼랜드와 제 2 보조 오퍼랜드에 의해 표현되며, 제 1 및 제 2 보조 오퍼랜드는 선형 조합을 이용하여 조합될 때 제 1 오퍼랜드의 결과를 가져오는 것으로 정의된다. 이러한 선형 조합은 XOR, XNOR, 또는 모든 다른 선형 조합일 수 있다.
또한 제 2 오퍼랜드는 제 3 보조 오퍼랜드와 제 4 보조 오퍼랜드에 의해 표시되며, 여기서 XOR, XNOR, 또는 모든 다른 선형 조합을 이용하여 조합될 때 제 3 및 제 4 보조 오퍼랜드는 제 2 오퍼랜드의 결과를 가져온다. 도 1a의 실시예에서, 제 1 보조 오퍼랜드는 a1, 제 2 보조 오퍼랜드는 a2, 제 3 보조 오퍼랜드는 b1, 그리고 제 4 보조 오퍼랜드는 b2로 표시된다. 더욱이, 제 1 오퍼랜드는 a, 제 2 오퍼랜드는 b, 그리고 결과 오퍼랜드는 c로 표시된다.
도 1a에서 디바이스는 적어도 2개의 보조 오퍼랜드에 기초하여 제 5 보조 오퍼랜드 c1를 계산하기 위한 제 1 논리 게이트(12)를 포함한다. 적어도 2개의 보조 오퍼랜드는 제 1 및 제 2 보조 오퍼랜드로 부터의 하나의 보조 오퍼랜드와 제 3 및 제 4 보조 오퍼랜드로부터의 하나의 보조 오퍼랜드를 포함한다. 따라서, 제 1 논리 게이트는 입력으로서 a1과 b1, 또는 a2와 b1, 또는 a1과 b2, 또는 a2와 b2를 수신한다.
그러나, 제 2 논리 게이트(14)는 자신의 입력에서 모든 보조 오퍼랜드 a1,a2,b1,b2를 수신한다.
제 1 및 제 2 논리 게이트(12, 14)는 제 5 및 제 6 보조 오퍼랜드, 즉, c1, c2가 선형적으로 조합될 때 결과 오퍼랜드 c를 가져오도록 설계된다. 또한, 제 5 보조 오퍼랜드와 제 6 보조 오퍼랜드를 선형적으로 조합하기 위한 조합 규칙은 XOR, XNOR, 또는 모든 다른 선형 조합일 수 있다.
본 발명에 따르면, 제 1 및 제 2 논리 게이트(12,14)는 이들 논리 게이트(12,14)의 평균적인 에너지 소모가 제 1 연산 사이클의 시작시의 보조 오퍼랜드들과 제 2 연산 사이클의 시작시의 보조 오퍼랜드들의 다수의 조합들에 있어서 실질적으로 동일하도록 설계되는데, 여기서 평균 에너지는 제 1 내지 제 4 보조 오퍼랜드의 다수의 상이한 발생 순서로부터 유도될 수 있다.
이러한 목적을 위해, 도 2a에 참조가 이루어져 있다. 도 2a는 모든 논리 게이트의 입력측의 시간 도표를 도시한다. 특히, 도 2a는 i번째 연산 사이클에 뒤이은 (i+1)번째 연산 사이클을 도시한다. 도 2a의 제 1 연산 사이클에서, 보조 오퍼랜드의 발생의 순서는 a2, a1, b1, b2 이다. 다음 연산 사이클에서, 보조 오퍼랜드의 발생 순서는 앞서와는 다르다. 특히, 발생 순서는 b1, a2, b2, 및 a1 이다.
이제, 도 2b에 이러한 게이트의 출력 상태가 도시된다. 게이트의 출력은 게이트 또는 소정의 진리표의 기초를 이루는 논리 규칙을 이용하여 계산될 수 있는데, 이러한 논리 규칙은 게이트를 위해 정의된다. 예시적인 이유로, 진리표가 가정되며, 이것은 도 2b에서 정의된 바와 같이 글리치들을 야기한다. 제 2 보조 오퍼랜드 a2가 게이트의 입력에 도착할 때, 게이트 출력의 제 1 글리치는 도 2b에 '1'로 표시된 바와 같이 발생한다. 제 2 보조 오퍼랜드 a1가 도착할 때, 제 2d 도에 '2'로 표시된 바와 같이 상태의 변경이 발생하지 않는다. 그 다음에, 제 3 보조 오퍼랜드 b1가 입력으로 도착할 때, 글리치 '3'이 더 발생하여 게이트 출력은 포지티브 값으로 복귀한다. 그 다음에, 제 4 보조 오퍼랜드 b2가 게이트의 입력에 도착할 때, 도 2b에 '4'로 표시된 바와 같이 더 이상 출력 변경이 발생하지 않는다. 이들 이벤트 1, 2, 및 4의 에너지 소모는 제 2c 도의 테이블의 좌측 중간에 도시된다. 일반적으로, 당업자는 '1', '2','3', 및 '4'에서 4개의 글리치를 관측할 수 있다. 게이트의 최종 출력값은 마지막 글리치 '4'에 뒤이은 게이트 출력에서의 값이다.
그 다음, 다음 연산 사이클이 개시된다. 다시, 4개의 보조 오퍼랜드가 소정의 순서 Φ로 도착한다. 보조 오퍼랜드 b1의 도착은 도 2b의 '5'에서 제 1 글리치를 야기한다. 보조 오퍼랜드 a2의 도착은 '6'에서 뒤이은 글리치로 도착한다. 또한 다음 보조 오퍼랜드 b2의 도착은 '7'에서 여분의 글리치를 야기하는 반면에, 마지막 보조 오퍼랜드 a1의 도착은 게이트 출력의 상태의 어떠한 다른 변경도 야기하지 않는다.
글리치 '5'―'8'동안 게이트의 에너지 소모는 도 2c의 우측에 표시된다. 여기서 주목해야 할 것은 에너지 소모값 Eg10, Eg00, Eg01 및 Eg11은 소정의 회로 기술들을 위한 소정의 값들을 갖게 될 것이라는 점이다. 그럼에도 불구하고, 창의적인 차분 전력 분석 논리 게이트들을 찾아내기 위해 이러한 실제 값들은 필요하지 않다.
이어서, 전술한 철저한 검색이 수행될 수 있는 방법을 도시하기 위해 도 3에 참조가 이루어진다.
단계(30) 에 도시된 바와 같이, 당업자는 216개의 가능한 게이트들중 하나의 게이트를 선택함으로써 개시하는데, 선택된 게이트는 4개의 보조 오퍼랜드 a1,a2,b1,b2를 조합하기 위해 사용될 수 있다.
그 다음, 제 1 연산 사이클의 시작 및 제 2 연산 사이클의 시작 시에 보조 오퍼랜드들의 소정의 한 조합이 선택된다. 그 다음, 도 3에 단계(32)로 표시된 바와 같이, 에너지 소모, 즉, 제 1 및 제 2 연산 사이클의 시작 시에 보조 오퍼랜드들의 이러한 특별한 조합에 대한 글리치들은 단계(30)에서 선택된 게이트 조합 규칙을 이용하여 결정된다. 추가적으로, 글리치들은 어느 가능한 배치 Φ나, 즉, 보조 오퍼랜드들의 어느 가능한 순서에 대해 결정된다.
중요하게, 오퍼랜드들의 상이한 배치들은 두 연산 사이클에서 보조 오퍼랜드들의 모든 가능한 치환을 제한할 뿐만 아니라, 모든 보조 오퍼랜드들 또는 보조 오퍼랜드들의 서브-그룹이 게이트의 입력에 함께 도착할 때, 즉, 동시에 도착하는 경우를 포함한다.
단계(32)는 제 1 및 제 2 연산 사이클에서 소정의 보조 오퍼랜드 조합의 각각의 발생 배치에 대한 글리치 표시의 결과를 가져온다. 그 다음, 식(21)에 의해 결정된 바와 같이 포괄적인 에너지 측정이 결정된다. 제 2c 도를 참조하면, 이것은 하나의 발생 배치에 대한 전체 에너지 값의 결과를 가져오도록 모든 에너지 파라미터들 Egij가 합산된다는 것을 의미한다. 그 다음, 모든 다른 배치들의 전체 값은 식(21)에 의해 결정된 값의 결과를 가져오도록 합산된다. 이 값은 포괄적인 에너지 측정값이다. 이 값을 가능한 배치들의 수로 나눌 때, 평균 에너지 소모가 얻어진다. 따라서, 단계(30)에서 선택된 하나의 게이트와 제 1 및 제 2 연산 사이클의 시작 시의 보조 파라미터의 소정의 조합에 대해 단계(34)에서 결정된 바와 같은 포괄적인 에너지 측정이 유도된다.
대안적으로, 또는 부가적으로, 에너지의 합산이 완전한 사이클마다 수행되지 않고 개별적으로 글리치마다 수행될 때, 단계(34)는 부분적인 에너지 측정의 결과를 또한 가져온다. 부분적인 에너지 측정은 식(22)에 도시된 바와 같이 유도된다. 이러한 경우, 당업자는 글리치당 하나의 부분적인 에너지, 즉, 본 예에서 4개의 값을 얻는다.
그 다음, 단계(36)에서, 단계(32)와 단계(34)의 절차가 단계(30)에서 선택된 게이트에 대한 모든 상이한 조합들에 대해 반복된다.
더욱이, 단계(32, 34 및 36)에서의 절차들은 216개의 가능한 게이트들 중 서로의 다른 게이트에 대해 수행되어, 단계(36)에 뒤이어 당업자는 보조 오퍼랜드들의 각각의 조합 및 각각의 게이트에 대한 포괄적인 에너지 측정을 한다. 각각의 게이트에 대한 에너지 측정들은 서로 비교된다. 보조 오퍼랜드들의 각각의 조합에 대한 에너지 측정들이 서로 실질적으로 동일할 때, 이러한 게이트는 글리치들의 존재시 어떠한 부채널도 갖지 않는다. 그러나, 당업자가 보조 오퍼랜드들의 소정의 조합에 대한 에너지 측정이 보조 오퍼랜드들의 상이한 조합에 대한 에너지 측정과 다르다는 것을 알게 될 때, 실제로 이러한 특별한 게이트가 부채널을 갖는다는 것을 알게 되었으며, 이러한 부채널은 차분 전력 분석 공격을 위해 사용될 수 있다.
물론, 당업자는 포괄적인 에너지 측정들 뿐만 아니라 부분적인 에너지 측정들을 위해 단계(38)를 수행할 수 있다. 단계(38)가 각각의 게이트에 대해 수행될 때, 당업자는 도 4a 및 도 4b의 논리 함수에 의해 결정되는 게이트들을 출력에서 수신한다.
여기서 주목할 것은 도 4a 및 도 4b에 의해 정의된 논리 게이트들은 전이 에너지 Egij(i,j가 0 또는 1일 수 있는)의 소정 값들에 관계없이 글리치들의 존재시 차분 전력 분석에 안전하다는 점이다.
그러나, 값들 Egij간의 더한 종속상태가 1에서 0까지의 전이 에너지와 같이 주어지거나, 또는 역으로 서로 동일하거나 0과 0 또는 1과 1 사이의 전이 에너지가 서로 동일하게 주어질 수 있는 소정의 회로 기술이 가까운 장래에 존재할 때, 차분 전력 분석에 안전한 논리 게이트들의 수는 심지어 도 4a 및 도 4b에 주어진 것 보다 많은데, 이는 양 논리 게이트들의 평균 에너지 소모가 제 1 연산 사이클의 초기및 제 2 연산 사이클의 초기에 보조 오퍼랜드들의 다수의 조합들과 실질적으로 동일하기 때문이며, 평균 에너지는 제 1 내지 제 4 보조 오퍼랜드들의 다수의 다른 발생 순서들로부터 유도된다.
바람직하게, 제 1 논리 게이트(12)는 2개의 보조 오퍼랜드들간의 선형 조합만을 포함하며, 여기서 2개의 보조 오퍼랜드들은 각각의 본래의 오퍼랜드들로부터 하나의 보조 오퍼랜드를 포함한다. 보조 오퍼랜드들의 선형 조합들이 수행될 때, 글리치들에 관하여 어떠한 차분 전력 분석 문제도 존재하지 않는다는 것이 발견되었다. 그러나, 제 2 논리 게이트는 도 4b의 모든 불 함수를 이용하여 구성된다.
이어서, 비선형 연산 AND, OR, NAND, NOR의 구성이 도 5,6,7, 및 도 8에 관하여 논의될 것이다.
도 5는 마스크된 AND 게이트를 구성하기 위해 도 4b의 불 함수들을 이용하여 제 1 논리 게이트(12) 및 제 2 논리 게이트(14)의 모든 바람직한 가능한 구현을 도시한다. 출력값 c2에 의한 XOR이 게이트 규칙 g2에 의해 결정될 때 논리 게이트 규칙 g1에 의해 결정된 것과 같이 출력값 c1은 결과 오퍼랜드 c의 결과를 가져온 다.
도 6은 OR-게이트의 8가지 가능한 구현을 도시한다. 도 6은 선형 게이트로의 입력 오퍼랜드가 비선형 게이트에서 선형 용어와 상보적이라는 점에서 도 5와 다르다. 예를 들어, 제 1 게이트가 고려될 때, 선형 게이트에서 OR 조합은 "a1+b1"을 용어 "a2+b2"로 대체함으로써 구현될 수 있는 반면에, 비선형 게이트를 변경하지 않는다는 것이 분명해 진다.
도 7 및 도 8이 고려될 때, NAND(도 7) 또는 NOR(도 8)와 같은 상보 게이트는 하나의 게이트의 출력을 역전시킴으로써 얻어진다 것이 분명해 진다. 종래 기술에 잘 알려진 바와 같이, 게이트 출력의 역전은 "1"의 값을 XOR시킴으로써 달성된다. 따라서, 도 7의 제 1 게이트가 고려될 때, 선형 게이트 g1에 대해 변경이 없는 반면에, "1"은 도 5에서 대응하는 비선형 게이트 g2로 XOR된다는 것이 분명해진다.
일반적으로, 도 5 내지 도 8로부터 비선형 게이트 g2가 도 4b에 도시된 게이트들중 하나라는 것이 분명해 진다.
도 9a는 도 4b의 논리 게이트 규칙의 한 구현을 도시하는데, 여기서 4개의 AND 게이트, AND-게이트들의 출력을 수집하는 1개의 XOR-게이트와, 소정의 보조 오퍼랜드 또는 "1"의 값을 더하는 최종 XOR-게이트가 존재한다.
도 1a의 선형 게이트(12)는 도 9b에 도시된 바와 같이 구현될 수 있으며, 실제 보조 오퍼랜드의 사용은 소정의 비선형 조합에 의해 결정된다.
도 1a의 제 1 논리 게이트(12)와 제 2 논리 게이트(14)의 실제적인 구현에 관하여, 주목해야 할 것은 당업자가 양 논리 게이트를 위해 가능한 한 많은 공통 트랜지스터를 사용하여야 한다는 점이다. 이러한 구현은 게이트 지연 필요조건 및 바람직한 실시예에서 라우팅/커패시턴스 필요조건과 같은 반-글리치-등변성을 위한 제약들이 가능한 한 정확히 달성될 수 있다는 것을 분명히 한다.
더욱이, 도 1b에 도시된 바와 같이, 예를 들어, 3개의 오퍼랜드 a,b,c의 조합이 중간 오퍼랜드들(d1,d2)을 얻기 위해 2개의 오퍼랜드들의 조합과 c1와 c2로 표시되는 제 3 오퍼랜드에 대해 이들 중간 오퍼랜드들의 조합으로 쪼개질 수 있기 때문에, 본 발명은 모든 오퍼랜드들의 수의 모든 조합을 수행하기에 특히 적합하다는 점이 주목될 것이다. 다시, 도 1b의 각각의 장치(10)는 제 1 논리 게이트(g11 와 g21)와 제 2 논리 게이트(g12 와 g22)를 구비하며, 바람직하게 여기서 각각의 디바이스(10)의 제 2 논리 게이트는 글리치들의 존재시 차분 전력 분석에 안전하도록 도 4b의 논리 게이트 규칙을 포함한다.
도 1c는 6개의 보조 오퍼랜드 a1,a2,b1,b2,c1,c2에 의해 표시되는 3개의 오퍼랜드를 갖는 논리 연산의 2개의 논리 게이트로 표시되는 리프팅의 개략도이다. 도 4c는 도 1c의 논리 게이트 g1과 g2를 위한 논리 게이트 정의 규칙의 집합을 도시한다. 각각의 제 1 및 제 2 논리 게이트는 도 4c의 테이블로부터 얻어지는 조합 규칙과 a1과 a2를 교환하고, b1과 b2를 교환하고, c1과 c2를 교환하고, 3개의 쌍(a1,a2), (b1,b2) 및 (c1,c2)를 치환하고, a1 또는 a2를 역전시키고, b1 또는 b2를 역전시키고, c1 또는 c2를 역전시키거나 또는 조합 규칙의 결과(규칙 결과)에 (모 듈로 2) "1"을 더함으로써 조합 규칙들의 테이블로부터 유도되는 조합 규칙을 충족시키기 위해 설계된다.
보통은, 회로 설계자는 리프팅 표시, 즉, 게이트 g1과 g2에 의해 수행될 소정의 논리 연산을 선택할 것이다. 그 다음, 회로 설계자는 테이블로 부터의 게이트 규칙 또는 제 1 게이트 g1과 같이 상기 언급된 연산들에 의해 테이블로부터 유도된 게이트 규칙을 선택할 것이다. 그 다음, 설계자는 제 2 게이트 g2를 위해 필요한 논리 규칙을 계산할 것이다. 최종적으로, 설계자는 계산된 제 2 게이트 g2가 테이블내에 포함되는지 여부 또는 상기 언급된 연산에 의해 테이블로부터 유도될 수 있는지 여부를 확인한다. 확인이 포지티브이면, 설계자는 글리치 저항 리프팅 표시를 발견한다. 포지티브가 아니면, 설계자는 게이트 g1을 위해 상이한 게이트 규칙을 이용하여 다시 확인을 시작하여야 하고 글리치 저항 표시가 발견될 때까지 확인을 반복하여야 한다.
본 발명의 소정의 구현 필요조건에 따라서, 본 발명은 하드웨어 또는 소프트웨어적으로 구현될 수 있다. 구현은, 특히, 전자적으로 판독가능한 제어신호들이 저장되어 있는 디스크, DVD 또는 CD와 같은 디지털 저장 매체를 이용하여 수행될 수 있는데, 이것은 본 발명이 수행되도록 프로그램가능한 컴퓨터 시스템을 이용한다. 따라서, 일반적으로, 본 발명은 기계 판독가능한 캐리어상에 저장된 프로그램 코드를 갖는 컴퓨터 프로그램 제품이며, 컴퓨터 프로그램 제품이 컴퓨터상에서 실행될 때 본 발명의 수행을 위해 프로그램 코드가 동작 된다. 따라서, 즉, 본 발명은 컴퓨터 프로그램이 컴퓨터상에서 실행될 때 본 발명의 적어도 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
비록 특별한 실시예를 참조하여 전술한 내용들이 특별히 도시되고 서술되었지만, 당업자라면 본 발명의 사상과 범위를 벗어나지 않고 형식과 세부항목에 있어이루어질 수 있다는 것을 이해할 것이다. 본 명세서에 서술되고 다음의 특허청구범위에 의해 이해되는 보다 넓은 개념을 벗어남이 없이 다양한 변경들이 상이한 실시예들에 적용될 수도 있다는 것이 이해될 것이다.
본 발명에 의하면, 한편으로는 적응성이 있고 효율성이 있으며 다른 한편으로는 보안성을 갖는 비선형 논리 연산의 결과를 계산하기 위한 개념을 제공한다.
참조 문헌
1. M.L. Akkar 와 C. Giraud: An Implementation of DES and AES, Secure against Some Attacks, Cryptographic Hardware and Embedded Systems-CHES 2001,(C.K. Koc, D. Naccache, 와 C, Paar, Eds.), Lecture Notes in Computer Science, vol. 2162, pp.309-318, Springer, 2001.
2. M.L. Akkar, R. Bevan, L.Goubin: Two Power Analysis Attacks against One-Mask Methods, 11th International Workshop on Fast Software Encryption-FSE 2004, (B.K. Roy 와 W. Meier, Eds.), Lecture Notes in Computer Science, vol. 3017, pp.332-347, Springer, 2004.
3. R. Bevan 과 E.Knudsen : Ways to Enhance Differential Power Analysis, ICISC 2002, (P.J. Lee 와 C.H. Lim, Eds.), Lecture Notes in Computer Science, vol. 2587, pp.327-342, Springer, 2003.
4. J. Blomer, J.G. Merchan, 과 V.Krummel : Provably Secure Masking of AES, Selected Areas in Cryptography - SAC 2004, Lecture Notes in Computer Science, vol. 3357, pp.69-83, Springer, 2004.
5. S. Chari, C.S. Jutla, J.R. Rao, 와 P. Rohatgi : Towards Sound Approaches to Counteract Power-Analysis Attacks, Advances in Cryptology-CRYPTO '99, (M.J. Wiener, Ed.), Lecture Notes in Computer Science, vol. 1666, pp.398-412, Springer, 1999.
6. C.Clavier, J.-S. Coron, 과 N. Dabbous : Differential Power Analysis in the Presence of Hardware Countermeasures, Cryptographic Hardware and Embedded Systems_CHES 2000,(C.K. Koc 와 C. Paar, Eds.), Lecture Notes in Computer Science, vol. 1965, pp.252-263, Springer, 2000.
7. J.-S. Coron : Resistance against Differntial Power Analysis for Elliptic Curve Cryptosystems, Cryptographic Hardware and Embedded Systems -CHES 1999, (C.K. Koc 와 C. Paar, Eds.), Lecture Notes in Computer Science, vol. 1717, pp.292-302, Springer, 1999.
8. J.D. Golic : DeKaRT : A New Paradigm for Key-Dependent Reversible Circuits, Cryptographic Hardware and Embedded System _CHES 2003, (C.D. Walter, C.K. Koc 와 C. Paar, Eds.), Lecture Notes in Computer Science, vol. 2779, pp.98-112, Springer, 2003.
9. J.D. Golic 과 R. Menicocci : Universal Masking on Logic Gate Level, Electronics Letters 40(9), pp. 526-527(2004).
10. J.D. Golic 과 C.Tymen : Multiplicative Masking and Power Analysis of AES, Cryptographic Hardware and Embedded Systems - CHES 2002, (B.S. Kaliski Jr., C.K. Koc, 와 C. Paar, Eds.), Lecture Notes in Computer Science, vol. 2535, pp.198-212, Springer, 2003.
11. L. Goubin 과 J. Patarin : DES and Differential Power Analysis - The Duplication Method, Cryptographic Hardware and Embedded Systems - CHES 1999, (C.K. Koc 와 C. Paar, Eds.), Lecture Notes in Computer Science, vol. 1717, pp.158-172, Springer, 1999.
12. Y. Ishai, A. Sahai, 와 D. Wagner : Private Circuits : Securing Hardsare against Probing Attacks, Advances in Cryptology -CRYPTO 2003, (D. Boneh, Ed.), Lecture Notes in Computer Science, vol. 2729, pp.463-481, Springer, 2003.
13. P.C. Kocher, J. Jaffe 와 B. Jun : Differential Power Analysis, Advances in Cryptology -CRYPTO '99, (M.J. Wiener, Ed.), Lecture Notes in Computer Science, vol. 1666, pp.388-397, Springer, 1999.
14. S. Mangard : Hardware Countermeasures against DPA - A Statictical Analysis of Their Effectiveness, Topics in Cryptology - CT-RSA 2004, (T. Okamoto, Ed.), Lecture Notes in Computer Science, vol. 2964, pp.222-235, Springer, 2004.
15. S. Mangard, T. Popp, B.M. Gammel : Side-Channel Leakage of Masked CMOS Gates, Topics in Cryptology - CT-RSA 2005, (A. Menezes, Ed.), Lecture Notes in Computer Science, vol. 3376, pp.351-365, Springer, 2005.
16. T.S. Messerges : Securing the AES Finalists Against Power Analysis Attacks, 7th International Workshop on Fast Software Encryption - FSE 2000,(B. Schneier, Ed.), Lecture Notes in Computer Science, vol. 1978, pp.150-164, Springer, 2001.
17. T.S. Messerges, E.A. Dabbish, 와 L. Puhl : Method and Apparatus for Preventing Information Leakage Attacks on a Microelectronic Assembly, 미국 특허 제 6,295,606 호, Sept. 25, 2001, available at http://www.uspto.gov/.
18. T.S. Messerges, E.A. Dabbish, 와 R.H. Sloan : Power Analysis Attacks of Modular Exponentiation in Smartcards, Cryptographic Hardware and Embedded Systems - CHES 1999, (C.K. Koc 와 C. Paar, Eds.), Lecture Notes in Computer Science, vol. 1717, pp.144-157, Springer, 1999.
19. T.S. Messerges, E.A. Dabbish, 와 R.H. Sloan : Examining Smart-Card Security under the Threat of Power Analysis Attacks, IEEE Transactions on Computers, 51(5), pp.541-552, 2002.
20. B. Preneel, R. Govaerts, J. Vandewalle : Boolean Functions Satisfying Higher Order Propagation Criteria, Advances in Cryptology - EUROCRYPT '91, (D.W. Davies, Ed.), Lecture Notes in Computer Science, vol. 547, pp.141-152, Springer, 1991.
21. J.M. Rabaey : Digital Integrated Circuits, Prentice Hall, 1996, ISBN 0-13-178609-1.
22. A. Shamir : Protecting Smart Cards from Passive Power Analysis with Detached Power Supplies, Cryptographic Hardware and Embedded Systems - CHES 2000, (C.K. Koc 와 C. Paar, Eds.), Lecture Notes in Computer Science, vol. 1965, pp.71-77, Springer, 2000.
23. D. Suzuki, M. Saeki, 와 T. Ichikawa : Random Switching Logic : A Countermeasure against DPA based on Transistion probability, Cryptology ePrint Archive, Report 2004/346(http://eprint.iacr.org/).
24. K. Tiri와 I. Verbauwhede : Securing Encryption Algorithms against DPA at the Logic Level : Next Generation Smart Card Technology, Cryptographic hardware and Embedded Systems - CHES 2003, (C.D. Walter, C.K. Koc, 와 C. Paar, Eds.), Lecture Notes in Computer Science, vol. 2779, pp.137-151, Springer, 2003.
25. K. Tiri와 I. Verbauwhede : A Logic Level Design Methodology for a Secure DPA Resistant ASIC or FPGA Implementation, Proc. of Design, Automation and Test in Europe Conference _ DATE 2004, IEEE Computer Society, pp. 246-251, 2004.
26. E. Trichina : Combinational Logic Design for AES SubByte Transformation on Masked Data, Cryptology ePrint Archive, Report 2003/236 (http://eprint.iacr.org/).
27. E. Trichina 와 T. Korkishko : Small Size, Low Power, Side Channel-Immune AES Coprocessor : Design and Synthesis Results, Proc. of the Fourth Conference on the Advanced Encryption Standard(AES), Bonn, Germany, May 2004.
28. E. Trichina, D. De Seta, 와 L. Germani : Simplified Adaptive Multiplicative Masking for AES, Cryptographic Hardware and Embedded Systems - CHES 2002, (B.S. Kaliski Jr., C.K. Koc, 와 C. Paar, Eds.), Lecture Notes in Computer Science, vol. 2535, pp.187-197, Springer, 2003.

Claims (20)

  1. 적어도 제 1 및 제 2 오퍼랜드간의 비선형 논리 연산의 결과 오퍼랜드의 표시를 계산하기 위한 장치로서,
    상기 제 1 오퍼랜드는 제 1 보조 오퍼랜드와 제 2 보조 오퍼랜드에 의해 표시되고, 상기 제 1 및 제 2 보조 오퍼랜드는 선형 조합에 의해 조합될 때 상기 제 1 오퍼랜드가 되며, 상기 제 2 오퍼랜드는 제 3 및 제 4 보조 오퍼랜드에 의해 표시되고, 상기 제 3 및 제 4 보조 오퍼랜드는 선형 조합에 의해 조합될 때 상기 제 2 오퍼랜드가 되는 상기 장치에 있어서,
    상기 제 1 및 제 2 보조 오퍼랜드중 하나의 오퍼랜드와 상기 제 3 및 제 4 보조 오퍼랜드 중 하나의 오퍼랜드를 포함하는 적어도 2개의 보조 오퍼랜드에 기초하여 제 5 보조 오퍼랜드를 계산하는 제 1 논리 게이트와;
    적어도 상기 제 1 내지 제 4 보조 오퍼랜드에 기초하여 제 6 보조 오퍼랜드를 계산하는 제 2 논리 게이트를 포함하며,
    상기 제 1 및 제 2 논리 게이트는 상기 제 5 및 제 6 보조 오퍼랜드가 선형 조합에 의해 조합될 때 상기 결과 오퍼랜드가 되도록 설계되고,
    상기 제 1 및 제 2 논리 게이트는 상기 제 1 논리 게이트의 평균 에너지 소모 또는 상기 제 2 논리 게이트의 평균 에너지 소모가 제 1 연산 사이클의 시작시의 보조 오퍼랜드들과 제 2 연산 사이클의 시작시의 보조 오퍼랜드들의 다수의 조합들에 있어서 실질적으로 동일하도록 설계되며, 상기 평균 에너지는 상기 제 1 내지 제 4 보조 오퍼랜드들의 다수의 상이한 발생 순서로부터 유도될 수 있는
    장치.
  2. 제 1 항에 있어서,
    상기 제 1 논리 게이트는 적어도 2개의 보조 오퍼랜드들간의 선형 조합들만을 포함하고,
    상기 제 2 논리 게이트는 적어도 2개의 보조 오퍼랜드들의 비선형 조합들을 포함하는 논리 조합 규칙에 따라 설계되는
    장치.
  3. 제 1 항에 있어서,
    상기 제 1 논리 게이트와 상기 제 2 논리 게이트는 다수의 트랜지스터가 상기 제 1 논리 게이트 및 상기 제 2 논리 게이트에 공통으로 사용되도록 트랜지스터 수준으로 구현되는
    장치.
  4. 제 2 항에 있어서,
    상기 제 2 논리 게이트는 각각의 상기 제 1 및 제 2 보조 오퍼랜드와 각각의 상기 제 3 및 제 4 보조 오퍼랜드간의 비선형 연산을 포함하는
    장치.
  5. 제 1 항에 있어서,
    상기 제 2 논리 게이트는 값 "1"의 배타적 논리합(XOR-addition)을 포함하는
    장치.
  6. 제 4 항에 있어서,
    상기 비선형 연산은 AND 조합인
    장치.
  7. 제 1 항에 있어서,
    상기 제 1 오퍼랜드 또는 상기 제 2 오퍼랜드 또는 상기 결과 오퍼랜드에 대한 상기 선형 조합은 XOR 또는 XNOR 조합인
    장치.
  8. 제 1 항에 있어서,
    상기 비선형 논리 연산은 AND, OR, NAND, 또는 NOR 연산인
    장치.
  9. 제 1 항에 있어서,
    상기 제 2 논리 게이트는 다음의 조합 규칙들 :
    Figure 112007013759747-pat00088
    중 하나를 충족시키도록 설계되되, 상기 조합 규칙들에 있어서 c는 0 또는 1이고, a1은 상기 제 1 보조 오퍼랜드이며, a2는 상기 제 2 보조 오퍼랜드이고, b1은 상기 제 3 보조 오퍼랜드이며, b2는 상기 제 4 보조 오퍼랜드이고, "+"는 XOR 조합인
    장치.
  10. 제 1 항에 있어서,
    상기 제 2 논리 게이트는 다음의 조합 규칙들 :
    Figure 112007013759747-pat00089
    중 하나를 충족시키도록 설계되되, 상기 조합 규칙들에 있어서 c는 0 또는 1이고, a1은 상기 제 1 보조 오퍼랜드이며, a2는 상기 제 2 보조 오퍼랜드이고, b1은 상기 제 3 보조 오퍼랜드이며, b2는 상기 제 4 보조 오퍼랜드이고, "+"는 XOR 조합인
    장치.
  11. 제 1 항에 있어서,
    상기 비선형 논리 연산은 3개의 오퍼랜드를 포함하며, 상기 제 3 오퍼랜드는 제 5 보조 오퍼랜드와 제 6 보조 오퍼랜드에 의해 표시되고, 상기 제 5 및 제 6 보조 오퍼랜드는 선형 조합에 의해 조합될 때 상기 제 3 오퍼랜드가 되며,
    ① 각각의 상기 제 1 및 제 2 논리 게이트는 다음의 조합 규칙들의 테이블
    Figure 112007013759747-pat00090
    로부터의 조합 규칙들을 충족시키도록 설계되거나 -여기서, 상기 조합 규칙들의 테이블에 있어서 c1은 상기 제 5 보조 오퍼랜드이고, c2는 상기 제 6 보조 오퍼랜드이며, a1은 상기 제 1 보조 오퍼랜드이고, a2는 상기 제 2 보조 오퍼랜드이며, b1은 상기 제 3 보조 오퍼랜드이고, b2는 상기 제 4 보조 오퍼랜드이며, "+"는 XOR 조합이고, *는 AND 연산임-, 또는
    ② 각각의 상기 제 1 및 제 2 논리 게이트는 다음의 연산들
    a1과 a2의 교환,
    b1과 b2의 교환,
    c1과 c2의 교환,
    상기 3개의 쌍 (a1,a2), (b1,b2) 및 (c1,c2)의 치환,
    a1 또는 a2의 역전,
    b1 또는 b2의 역전,
    c1 또는 c2의 역전,
    규칙 결과에 1의 가산
    중 하나의 연산 또는 이들의 임의의 조합에 의해 상기 조합 규칙들의 테이블로부터 획득된 조합 규칙을 충족시키도록 설계되는
    장치.
  12. 제 1 항에 있어서,
    상기 제 1 논리 게이트는 상기 제 1 논리 게이트의 평균 에너지 소모가 상기 제 1 연산 사이클의 시작에서의 보조 오퍼랜드들 및 제 2 연산 사이클의 시작에서의 보조 오퍼랜드들의 다수의 조합에 있어서 실질적으로 동일하도록 설계되고, 상기 평균 에너지는 상기 제 1 내지 제 4 보조 오퍼랜드들의 다수의 다른 발생 순서로부터 유도될 수 있으며,
    상기 제 2 논리 게이트는 상기 제 2 논리 게이트의 평균 에너지 소모가 상기 제 1 연산 사이클의 시자겡서의 보조 오퍼랜드들 및 제 2 연산 사이클의 시작에서의 보조 오퍼랜드들의 다수의 조합에 있어서 실질적으로 동일하도록 설계되며, 상기 평균 에너지는 상기 제 1 내지 제 4 보조 오퍼랜드들의 다수의 다른 발생 순서로부터 유도될 수 있는
    장치.
  13. 제 1 항에 있어서,
    상기 제 1 및 제 2 논리 게이트는 실질적으로 동일한 용량성 부하(capacitive load)를 갖도록 트랜지스터 수준으로 구현되는
    장치.
  14. 제 1 항에 있어서,
    상기 제 1 및 제 2 논리 게이트는 실질적으로 동일한 게이트 지연을 갖도록 트랜지스터 수준으로 구현되는
    장치.
  15. 제 1 항에 있어서,
    상기 제 1 및 제 2 논리 게이트는 상기 제 1 및 제 2 보조 오퍼랜드, 또는 상기 제 3 및 제 4 보조 오퍼랜드에 대해 실질적으로 동일한 전파 시간을 갖도록 트랜지스터 수준으로 설계되는
    장치.
  16. 제 1 항에 있어서,
    상기 제 1 및 제 2 논리 게이트는 상기 제 1 및 제 2 보조 오퍼랜드의 쌍, 또는 상기 제 3 및 제 4 보조 오퍼랜드의 쌍이 상기 논리 게이트들에서 동일한 게이트 심도를 갖도록 트랜지스터 수준으로 설계되는
    장치.
  17. 제 1 항에 있어서,
    상기 제 1 및 제 2 논리 게이트는 CMOS 회로 기술로 설계되는
    장치.
  18. 제 1 항에 있어서,
    상기 제 1 논리 게이트는 다음의 조합 규칙들
    a1+b1+c
    a1+b2+c
    a2+b1+c
    a2+b2+c
    중 하나를 이용하여 구현되며, 이 조합 규칙들에 있어서 a1은 상기 제 1 보조 오퍼랜드이고, a2는 상기 제 2 보조 오퍼랜드이며, b1은 상기 제 3 보조 오퍼랜드이고, b2는 상기 제 4 보조 오퍼랜드이며, c는 0 또는 1이고, "+"는 XOR 조합인
    장치.
  19. 적어도 제 1 및 제 2 오퍼랜드간의 비선형 논리 연산의 결과 오퍼랜드의 표시를 계산하는 방법으로서,
    상기 제 1 오퍼랜드는 제 1 보조 오퍼랜드와 제 2 보조 오퍼랜드에 의해 표시되고, 상기 제 1 및 제 2 보조 오퍼랜드는 선형 조합에 의해 조합될 때 상기 제 1 오퍼랜드가 되며, 상기 제 2 오퍼랜드는 제 3 및 제 4 보조 오퍼랜드에 의해 표시되고, 상기 제 3 및 제 4 보조 오퍼랜드는 선형 조합에 의해 조합될 때 상기 제 2 오퍼랜드가 되는 상기 방법에 있어서,
    제 1 논리 게이트를 이용하여, 상기 제 1 및 제 2 보조 오퍼랜드중 하나의 오퍼랜드와 상기 제 3 및 제 4 보조 오퍼랜드중 하나의 오퍼랜드를 포함하는 적어도 2개의 보조 오퍼랜드에 기초하여 제 5 보조 오퍼랜드를 계산하는 단계와;
    제 2 논리 게이트를 이용하여, 적어도 상기 제 1 내지 제 4 보조 오퍼랜드에 기초하여 제 6 보조 오퍼랜드를 계산하는 단계를 포함하되,
    상기 제 1 및 제 2 논리 게이트는 상기 제 5 및 제 6 보조 오퍼랜드가 선형적으로 조합될 때 상기 결과 오퍼랜드가 되도록 설계되고,
    상기 제 1 및 제 2 논리 게이트는 상기 제 1 논리 게이트의 평균 에너지 소모 또는 상기 제 2 논리 게이트의 평균 에너지 소모가 제 1 연산 사이클의 시작 시의 보조 오퍼랜드들과 제 2 연산 사이클의 시작 시의 보조 오퍼랜드들의 다수의 조합들에 있어서 실질적으로 동일하도록 설계되며, 상기 평균 에너지는 상기 제 1 내지 제 4 보조 오퍼랜드들의 다수의 상이한 발생 순서로부터 유도될 수 있는
    방법.
  20. 적어도 제 1 및 제 2 오퍼랜드간의 비선형 논리 연산의 결과 오퍼랜드의 표시를 계산하는 방법을 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능한 기록 매체로서,
    상기 제 1 오퍼랜드는 제 1 보조 오퍼랜드와 제 2 보조 오퍼랜드에 의해 표시되고, 상기 제 1 및 제 2 보조 오퍼랜드는 선형 조합에 의해 조합될 때 상기 제 1 오퍼랜드가 되며, 상기 제 2 오퍼랜드는 제 3 및 제 4 보조 오퍼랜드에 의해 표시되고, 상기 제 3 및 제 4 보조 오퍼랜드는 선형 조합에 의해 조합될 때 상기 제 2 오퍼랜드가 되는 상기 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 방법은
    제 1 논리 게이트를 이용하여, 상기 제 1 및 제 2 보조 오퍼랜드중 하나의 오퍼랜드와 상기 제 3 및 제 4 보조 오퍼랜드중 하나의 오퍼랜드를 포함하는 적어도 2개의 보조 오퍼랜드에 기초하여 제 5 보조 오퍼랜드를 계산하는 단계와;
    제 2 논리 게이트를 이용하여, 적어도 상기 제 1 내지 제 4 보조 오퍼랜드에 기초하여 제 6 보조 오퍼랜드를 계산하는 단계를 포함하되,
    상기 제 1 및 제 2 논리 게이트는 상기 제 5 및 제 6 보조 오퍼랜드가 선형적으로 조합될 때 상기 결과 오퍼랜드가 되도록 설계되고,
    상기 제 1 및 제 2 논리 게이트는 상기 제 1 논리 게이트의 평균 에너지 소모 또는 상기 제 2 논리 게이트의 평균 에너지 소모가 제 1 연산 사이클의 시작 시의 보조 오퍼랜드들과 제 2 연산 사이클의 시작 시의 보조 오퍼랜드들의 다수의 조합들에 있어서 실질적으로 동일하도록 설계되며, 상기 평균 에너지는 상기 제 1 내지 제 4 보조 오퍼랜드들의 다수의 상이한 발생 순서로부터 유도될 수 있는
    컴퓨터 판독 가능한 기록 매체.
KR1020060019945A 2005-03-01 2006-03-02 결과 오퍼랜드의 표시를 계산하기 위한 장치 및 방법과 컴퓨터 판독 가능한 매체 KR100750425B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US65768505P 2005-03-01 2005-03-01
US60/657,685 2005-03-01
US11/187,039 2005-07-20
US11/187,039 US7610628B2 (en) 2005-03-01 2005-07-20 Apparatus and method for calculating a representation of a result operand

Publications (2)

Publication Number Publication Date
KR20060096912A KR20060096912A (ko) 2006-09-13
KR100750425B1 true KR100750425B1 (ko) 2007-08-21

Family

ID=36914911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060019945A KR100750425B1 (ko) 2005-03-01 2006-03-02 결과 오퍼랜드의 표시를 계산하기 위한 장치 및 방법과 컴퓨터 판독 가능한 매체

Country Status (4)

Country Link
US (1) US7610628B2 (ko)
KR (1) KR100750425B1 (ko)
DE (1) DE102006009239B4 (ko)
FR (1) FR2884336B1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080091975A1 (en) * 2006-10-17 2008-04-17 Konstantin Kladko Method and system for side-channel testing a computing device and for improving resistance of a computing device to side-channel attacks
BRPI0721441B1 (pt) * 2007-03-12 2018-10-30 Incard Sa método e aparelho para detectar correlações entre padrões de sinal
DE102008032550B4 (de) * 2007-07-12 2022-03-24 Arm Limited Vorrichtung, System und Verfahren zum Verschleiern von in einer integrierten Schaltung verarbeiteten Daten
US8091139B2 (en) * 2007-11-01 2012-01-03 Discretix Technologies Ltd. System and method for masking arbitrary Boolean functions
US8069195B2 (en) * 2008-01-03 2011-11-29 International Business Machines Corporation Method and system for a wiring-efficient permute unit
FR2928060B1 (fr) * 2008-02-25 2010-07-30 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Procede de test de circuits de cryptographie, circuit de cryptographie securise apte a etre teste, et procede de cablage d'un tel circuit.
JP5589083B2 (ja) * 2009-10-14 2014-09-10 ケイオロジクス インク 利用度の高い可変回路トポロジーを有する汎用論理アレー及び定出力の様々な論理ゲートを実現するロジスティク写像回路
KR101362675B1 (ko) * 2012-11-30 2014-02-12 한국전자통신연구원 저전력 암호화 장치 및 방법
US9143325B2 (en) * 2012-12-14 2015-09-22 Microsoft Technology Licensing, Llc Masking with shared random bits
US9959429B2 (en) * 2013-03-15 2018-05-01 Cryptography Research, Inc. Asymmetrically masked multiplication
WO2014205369A1 (en) * 2013-06-21 2014-12-24 Cryptography Research, Inc. Signal transition analysis of a circuit
ES2717999T3 (es) * 2014-12-03 2019-06-26 Nagravision Sa Método criptográfico por bloques para cifrar/descifrar mensajes y dispositivos criptográficos para implementar este método
US10243937B2 (en) * 2016-07-08 2019-03-26 Nxp B.V. Equality check implemented with secret sharing
DE102017002153A1 (de) * 2017-03-06 2018-09-06 Giesecke+Devrient Mobile Security Gmbh Übergang von einer booleschen Maskierung zu einer arithmetischen Maskierung
CN110364210B (zh) * 2019-07-23 2021-01-29 北京智芯微电子科技有限公司 基于lut结构的双轨预充电and-nand单元
EP3798893B1 (en) 2019-09-26 2022-12-14 Rambus Inc. Side-channel attack protected gates having low-latency and reduced complexity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020025630A (ko) * 1999-09-29 2002-04-04 가나이 쓰토무 비밀 정보의 처리 장치, 프로그램 또는 시스템
JP2003208097A (ja) * 2002-01-15 2003-07-25 Fujitsu Ltd サイドチャネルアタック耐性を有する暗号演算装置及び方法
JP2004053814A (ja) * 2002-07-18 2004-02-19 Fujitsu Ltd 楕円曲線暗号装置及び楕円曲線暗号演算方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295606B1 (en) * 1999-07-26 2001-09-25 Motorola, Inc. Method and apparatus for preventing information leakage attacks on a microelectronic assembly
DE10227618B4 (de) * 2002-06-20 2007-02-01 Infineon Technologies Ag Logikschaltung
DE10244738B3 (de) * 2002-09-25 2004-03-04 Infineon Technologies Ag Vorrichtung und Verfahren zum Umsetzen und Addierer
JP3819872B2 (ja) * 2003-05-23 2006-09-13 株式会社東芝 論理演算装置
DE102004018874B4 (de) * 2004-04-19 2009-08-06 Infineon Technologies Ag Verfahren und Vorrichtung zum Bestimmen eines Ergebnisses
US7240304B2 (en) * 2004-05-04 2007-07-03 Freescale Semiconductor, Inc. Method for voltage drop analysis in integreted circuits

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020025630A (ko) * 1999-09-29 2002-04-04 가나이 쓰토무 비밀 정보의 처리 장치, 프로그램 또는 시스템
JP2003208097A (ja) * 2002-01-15 2003-07-25 Fujitsu Ltd サイドチャネルアタック耐性を有する暗号演算装置及び方法
JP2004053814A (ja) * 2002-07-18 2004-02-19 Fujitsu Ltd 楕円曲線暗号装置及び楕円曲線暗号演算方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
공개특허공보 제2002-0025630호 (2002.04.04)
일본공개특허공보 평15-208097호 (2003.07.25)
일본공개특허공보 평16-053814호(2004.02.19)

Also Published As

Publication number Publication date
FR2884336A1 (fr) 2006-10-13
DE102006009239B4 (de) 2012-03-08
KR20060096912A (ko) 2006-09-13
DE102006009239A1 (de) 2006-09-14
FR2884336B1 (fr) 2012-12-14
US20060200514A1 (en) 2006-09-07
US7610628B2 (en) 2009-10-27

Similar Documents

Publication Publication Date Title
KR100750425B1 (ko) 결과 오퍼랜드의 표시를 계산하기 위한 장치 및 방법과 컴퓨터 판독 가능한 매체
Chen et al. Dual-rail random switching logic: a countermeasure to reduce side channel leakage
Fischer et al. Masking at gate level in the presence of glitches
Nikova et al. Secure hardware implementation of non-linear functions in the presence of glitches
Standaert Introduction to side-channel attacks
Nikova et al. Threshold implementations against side-channel attacks and glitches
Gierlichs et al. Mutual information analysis: A generic side-channel distinguisher
Nikova et al. Secure hardware implementation of nonlinear functions in the presence of glitches
Leiserson et al. Gate-level masking under a path-based leakage metric
Bhasin et al. Countering early evaluation: an approach towards robust dual-rail precharge logic
KR101542280B1 (ko) 프로그래머블 암호화 회로를 보호하는 방법, 및 그 방법에 의해 보호된 회로
Regazzoni et al. A simulation-based methodology for evaluating the DPA-resistance of cryptographic functional units with application to CMOS and MCML technologies
Homma et al. Electromagnetic information leakage for side-channel analysis of cryptographic modules
Zhang et al. Power side channels in security ICs: hardware countermeasures
Raghav et al. A balanced power analysis attack resilient adiabatic logic using single charge sharing transistor
Li et al. Revisit fault sensitivity analysis on WDDL-AES
Hassoune et al. Low-swing current mode logic (LSCML): A new logic style for secure and robust smart cards against power analysis attacks
Fadaeinia et al. BSPL: Balanced Static Power Logic
Sundaresan et al. Defense against side-channel power analysis attacks on microelectronic systems
De Mulder et al. Practical DPA attacks on MDPL
Ramakrishnan Sdmlp-secure differential multiplexer logic: Logic design for dpa-resistant cryptographic circuits
Soares et al. Hardware countermeasures against power analysis attacks: a survey from past to present
Bock SCA resistent implementation of the Montgomery kP-algorithm
Bhasin et al. Practical evaluation of fse 2016 customized encoding countermeasure
Tang et al. Polar differential power attacks and evaluation

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130802

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140801

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160729

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170728

Year of fee payment: 11