KR101783495B1 - 커스트마이징된 마스킹에 의해 보호된 저-복잡성 전자 회로 - Google Patents
커스트마이징된 마스킹에 의해 보호된 저-복잡성 전자 회로 Download PDFInfo
- Publication number
- KR101783495B1 KR101783495B1 KR1020127015118A KR20127015118A KR101783495B1 KR 101783495 B1 KR101783495 B1 KR 101783495B1 KR 1020127015118 A KR1020127015118 A KR 1020127015118A KR 20127015118 A KR20127015118 A KR 20127015118A KR 101783495 B1 KR101783495 B1 KR 101783495B1
- Authority
- KR
- South Korea
- Prior art keywords
- mask
- circuit
- masks
- processing operations
- rti
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 마스킹-보호된 암호해독 회로에 관한 것이고, 상기 회로는 적어도 하나의 키 의 이용을 통해 바이너리 워드들을 암호화하기 위한 수단, 상기 워드들에 선형 프로세싱 (216) 및 비선형 프로세싱 (226) 을 적용하기 위한 수단, 및 상기 워드들을 마스킹하기 위한 수단을 포함한다. 바이너리 워드들은 마스크 의 이용을 통해 비선형 프로세싱으로부터 상류에서 언마스킹되고 (214), 마스크 의 이용을 통해 상기 프로세싱으로부터 하류에서 마스킹되며 (215), 마스크 및 는 는 회로의 각 경우에 특정되는 마스크들의 세트 내에서 선택된다.
Description
본 발명은 관측에 의한 공격의 범위를 감소시키고 보호를 구현하는 비용을 감소시키도록 회로-특정 커스트마이제이션을 마스킹 및 활용함으로써 보호되는 전자 회로에 관한 것이다. 본 발명은 특히, 암호해독 회로들이 일 예인, 기밀 데이터를 조작하는 회로들의 보호 분야에 적용한다.
전자 회로들의 액티비티는 전력 소모, 연산 시간 또는 전자기 방사와 같은 물리적 양들을 통해 그 연산 동안 관측될 수 있다.
이들 물리적 양들은 회로 내에서 조작된 데이터 및 연산 아키텍처 양자에 의존한다. 따라서, 프로세싱된 데이터에 관한 정보는 은닉 채널들 또는 보조 채널들로 지칭된, 상기 양들의 관측에 의한 회로 밖에서 간접적으로 이용 가능하다.
이들 물리적 양들의 소실은 특히 암호해독 방법들에 의해 보호된 기밀 데이터를 프로세싱하는 시스템들의 보안을 절충할 수 있다. 따라서, 대칭적 암호해독 알고리즘을 이용함으로써 기밀 데이터가 보호되면, 보호의 강건성은 암호 키 기밀을 유지하기 위한 능력에 달려 있다. 물리적 양들의 소실은, 제 3 자가 적합한 공격들을 구현함으로써 상기 키를 획득하고 결과적으로 기밀 데이터에 액세스하는 것을 허용할 수도 있다. 상기 회로에 의해 소실된 물리적 양들의 관측에 의한 공격은 주로, 관측에 의한 공격으로서 간단히 자격을 얻는다. 이하의 상세한 설명에서, 제 3 자에게 의도되지 않은 데이터를 액세스하기 위해 관측 방법들에 의한 공격을 이용하는 그는 공격자로 지칭되고, 소실된 물리적 양들은 누설 (leak) 또는 은닉 채널들로 지칭된다.
오늘날, 보호된 회로들에 의해 프로세싱된 데이터에 액세스하는 것을 가능하게 만드는 파워풀한 관측 공격들이 존재한다.
따라서, 1996 년 스프링거 베르라그 (Springer-Verlag), 페이지 104-113, volume 1109 LNCS, Proceedings of CRYPTO'96 의 Timing Attack on Implementations of Diffie - Hellman , RSA , DSS and Other Systems 이란 제목의 P. C. Kocher, J. Jaffe 및 B. Jun 에 의한 아티클에 설명된 바와 같이 회로의 데이터 프로세싱 시간들을 나타내는 누설의 관측에 의한 공격이 존재한다.
회로들의 소모의 관측에 의한 공격들은 또한, 예를 들어 DPA-유형 방법들을 이용함으로써 공격자에 의해 또한 이용될 수 있는데, 이들 공격들의 유형은 1999 년 스프링거 베르라그, 페이지 388-397, volume 1666 LNCS, Proceedings of CRYPTO'99 의 Differential Power Analysis 란 제목의 P. C. Kocher, J. Jaffe 및 B. Jun 에 의한 아티클에서 설명된다.
이들 방법들은, 암호해독에 의해 수학적 레벨에서 부여된 보안을 피하는 것을 가능하게 한다.
프로세싱 시간의 시간-관련된 알고리즘의 균형을 유지하는 것은 비교적 단순하다. 전기 소모의 파형 형태의 즉각적인 관측에 대해 회로들을 보호하는 것은 더욱 어렵다.
은닉 채널 상의 공격들에 대해 전자 회로를 보호하기 위한 각종 대책 방법들이 존재한다. 이들의 특성들은 특히, 국제적인 레벨에서 또는 예를 들어 미국 FIPS 표준 140 과 같은 표준들에 의해 정의된 공통 기준에 의해 지정되고, 약어 FIPS 은 “Federal Information Processing Standardization”을 의미한다.
일부 대책들은 단지, 연속되는 공격에 대해 필요한 측정들의 수를 증가시킨다. 이러한 것은, 예를 들어 연산 로직과 함께 구현된 넌-함수화 잡음 생성기를 이용하는 대책 방법들에 대한 경우이다. 예를 들어, 랜덤하게 초기화된 의사랜덤 수 생성기 (pseudorandom number generator; PRNG) 가 이 목적을 위해 기능할 수 있다. 이 경우에서, 공격자에 의해 수집된 임의의 측정은 은닉 채널 상에 오버레이되는 잡음에 의해 방해받는다. 공격들은, 실제로 대책 기법이 효율적이도록 예상된 신호 대 잡음 비를 증폭시키기 위해서 더 많은 측정들을 수행하는 것이 필요하기 때문에 더욱 복잡해진다.
다른 대책 기법들은 은닉 채널들을 마스킹함으로써 관측에 의한 공격에 대해 보호하고, 주로 프로세싱 동작 동안 마스크로 지칭된 랜덤 또는 의사랜덤 변수 m 이 보호되는 것을 수반한다. 상기 변수는, 연산의 결과가 상기 마스크에 의존하지 않고 그것에 의존하는 은닉 채널들을 통해 정보의 누설들에 의존하는 그러한 방식에서 이용된다.
따라서, 마스킹 기반 대책 기법들은 마스크 변수 m 으로 암호 해독 회로 내에서 흐르는 민감성 데이터를 인터리빙함으로써 구현되고, 이 인버리빙은 은닉 채널이 공격자에 의해 분석되는 것을 방지하는데 이용된다. 민감성 데이터 또는 변수들 x 는 전체적으로 예측 가능한 변수들에 대응하고, 기밀로 넌-제로의 상호간 정보를 공유한다. 이 기법은 민감성 데이터 x 의 표현을, 배타적 논리합 (exclusive-OR) 유형의 연산을 표기하고 또한 이하의 상세한 설명에서 약어 XOR 로 표기되는 연산 을 이용하여 키 m 을 적용함으로써 x 의 베르남 (Vernam) 암호화에 대응하는 양 x m 으로 변형하는 것이 된다.
마스크는 각각의 회로에 특정된 특징에 의해 컨디셔닝될 수도 있으며, 이 경우에서 키의 누설이 상기 마스크에 의해 암호화되는 것으로 보여진다. 이 특정 피처는 소위 "목록작성 (cataloguing)" 공격들을 방지하고, 여기서 회로 클론들은 누설을 모델링하는데 이용될 수 있다.
랜덤 마스킹을 포함하는 통상의 대책 기법은 예를 들어, DPA 유형의 공격 또는 CPA 유형의 공격과 같은 제 1 차의 공격 레지스터들의 예측으로 직접적인 공격을 견디고, CPA 는 "Correlation Power Analysis" 를 의미한다. 이들은, 예를 들어 회로에서 데이터 프로세싱 경로들을 복제함으로써 구현된다.
이 복제는 마스킹되지 않은 구현에 비해 회로의 복잡성에서의 상당한 증가를 암시한다.
또한, 이들 대책들은 2 이상의 차수의 공격들을 견디는데 있어서 나쁘다. 예로써, 제 2 차의 공격들은 누설의 변화가 민감성 변수 x 에 의존한다는 사실을 활용한다. 변화의 추정은, x m 및 또한 m 이 이용되는 경우 2 개의 경우들에서 정보의 누설을 조합함으로써, 또는 마스크 및 마스킹된 데이터가 동시에 이용되는 경우 조합된 페어 (x m, m) 의 분배를 추정함으로써 수행된다. 변화의 추정에 기초한 2 차의 공격들은 "제로-오프셋 (zero-offset)" 공격들로 지칭되고, 2005 년 스프링거 베르라그, 페이지 309-323, Cryptographic Hardware and Embedded Systems -Proceedings of CHES, volume 3659 LNCS 의 Josyula R. Rao 및 Berk Sunar 편집자들의 Improved Higher Order Side - Channel Attacks with FPGA experiments 란 제목의 E. Peeters, F. Standaert, N. Donckers 및 J-J. Quisquater 에 의한 아티클에서 설명된다.
본 발명의 일 목적은 특히, 언급된 결함들을 극복하는 것이다.
본 발명의 일 양태에 따르면, 비선형 프로세싱 연산들, 비선형 프로세싱 연산들의 상류의 언마스킹 및 선형 프로세싱 연산들의 하류의 마스킹은 ROM 유형 메모리에서 구현된다.
예를 들어, 마스크 는 이고 이도록 프라이머리 마스크 로부터 추정된 세컨더리 마스크이고, 함수 P(x) 는 x 의 엘리먼트들을 치환하기 위한 함수에 대응하고, ROM 메모리들은 변하지 않은 채로 있다.
일 실시형태에서, 함수 P(x) 는 원순열 (circular permutation) 이고, 인덱스 r+1 의 세컨더리 마스크는 비트들의 선택된 수 d 의 마스크 를 원형으로 치환함으로써 인덱스 r 의 세컨더리 마스크로부터 추정된다.
세컨더리 마스크들의 서브마스크들은 예를 들어 다음의 식을 이용함으로써 선택되고:
여기서,
r 은 라운드 수이고;
i 는 랜덤하게 인출된 4 비트 수이고;
S 는 비트로 표현된 서브마스크의 길이이고;
W 는 비트로 표현된 상기 메인 마스크의 길이이며;
mod() 는 mod(a,b) = a modulo b 와 같이 정의된 함수이고, a 및 b 는 정수이다.
본 발명의 다른 양태에 따르면, 회로에 저장된 메인 마스크들의 세트는 일 회로에서 다른 회로까지 상이하다.
메인 마스크들의 세트는 컴포넌트에 고유한 마스크들을 생성하기 위해 회로를 이용하여 획득된다.
본 발명의 일 양태에 따르면, 비선형 프로세싱 연산들은 S-박스들을 이용하여 구현된다.
비선형 프로세싱 연산들은, 예를 들어 레지스터의 결과의 샘플링 직전에 하나 및 동일한 조합 블록에서의 선형 프로세싱 연산들 후에 적용된다.
회로는, 예를 들어 FPGA 로 구현된다.
메인 마스크들의 세트는 FPGA 회로 구성 파일의 변형을 이용하여 획득된다.
회로는, 예를 들어 메인 마스크들의 세트를 업데이트하는 것을 가능하게 하는 동적 재구성 수단 및 비선형 프로세싱 연산들에 대응하는 회로의 부분들을 구현하는 테이블을 포함한다.
일 실시형태에서, 회로는 ASIC 로 구현된다.
본 발명은 특히 비선형 프로세싱 연산들을 핸들링하는 회로의 부분들에 관하여, 마스킹에 의한 보호의 구현을 통해 회로의 복잡성을 상당히 증가시키기 않는 이점을 갖는다. 본 발명은 또한, 감소된 크기의 마스크들의 미리결정된 세트의 이용을 허용하는 이점을 갖고, 상기 세트는 동일한 생성 행으로부터 획득된 회로들 간에 고유한 보호를 제공하도록 일 회로에서 다른 회로까지 상이할 수 있다.
본 발명의 다른 특징 및 이점은, 첨부된 도면을 고려하여 비제한의 예시로서 설명으로부터 명백해질 것이다.
도 1 은 마스킹에 의해 보호된 페이스탈 함수의 예를 나타낸다.
도 2 는 마스킹에 의해 보호된 암호해독 회로의 예를 제공하고, 비선형 부분들은 언마스킹된다.
도 3 은 본 발명에 따른 마스킹에 의해 보호된 AES 알고리즘의 구현을 나타낸다.
도 1 은 마스킹에 의해 보호된 페이스탈 함수의 예를 나타낸다.
도 2 는 마스킹에 의해 보호된 암호해독 회로의 예를 제공하고, 비선형 부분들은 언마스킹된다.
도 3 은 본 발명에 따른 마스킹에 의해 보호된 AES 알고리즘의 구현을 나타낸다.
도 1 은 마스킹에 의해 보호된 파이스텔 함수 (Feistel function) 의 예를 나타낸다.
당업자에게 알려진 마스킹 원리는 민감성 변수들 x 의 표현을 리던던트 표현으로 변형하는 것을 포함한다. 이 표현은 적어도 2 개의 부분들, 일 부분은 x m 로 표기된 마스킹된 민감성 데이터에 대응하고, 일 부분은 마스크 m 에 대응한다. 이들 2 개의 부분들이 정의되는 바이너리 갈르와 필드 (binary Galois field) 에서 이들 2 개의 부분들의 합계는 다음의 특성을 이용함으로써 변수 x 를 취출하는 것을 가능하게 한다:
예로써, DES 또는 AES 와 같은 블록 암호화 알고리즘에서, 데이터의 블록을 암호화하기 위한 연산의 결과는 다수의 라운드들의 반복으로부터 도출된다. "라운드 (round)" 는, 적어도 2 개 유형의 변환들이 실행되었던 연산 사이클인데, 하나는 선형이고 다른 하나는 비선형이며, 또한 대입에 의한 변환으로 지칭된다.
선형 변환의 목적은 다음의 미리정의된 규칙들에 의해 그 입력에서 표현된 심볼들 또는 심볼들의 그룹들을 혼합하여 확산을 생성하기 위한 것이다.
대입에 의한 변환은 주로, S-박스로 지칭되는 대입 테이블들을 이용하여 수행되고, 암호해독 구조의 선형성을 깨뜨리는 것을 돕는다. 이 유형의 변환을 이용함으로써, 심볼들 또는 심볼들의 그룹들은 확산을 생성하기 위해서 다른 심볼들 또는 심볼들의 그룹들로 대체된다.
따라서, 부분들의 쌍 (xm, m) 은 쌍 (라운드(xm'), m') 으로 변환되고, 함수 라운드() 는 라운드의 함수 연산을 지정하는 반면에, m' 은 새로운 라운드 마스크이다.
각 라운드의 선형 부분들은 단순히 복제된다. 상기 부분들의 함수들 L() 의 선형성은 다음을 의미한다:
따라서, 이 선형성은 변환 후에 새로운 마스크로서 마스크 mL=L(m) 을 이용하는 것을 가능하게 한다.
한편, 비선형 부분들, 즉 S-박스들 상에서 마스킹의 구현은 구현 비용 면에서 상당한 증가를 포함한다. 이 변환을 고려하고, S(x) 를 S(xm) 로부터 취출하는 것을 가능하게 하는 마스크 mNL 은 다음과 같이 결정되어야 한다:
이에 대해, mNL 은 다음과 같이 정의된 함수 S'() 를 이용하여 표현될 수 있다:
따라서, 함수 S'() 는 함수 S() 의 2 배 만큼의 많은 입력을 갖는다. 따라서, 비선형 함수들 S() 에 대한 마스킹의 구현은 S 의 복잡성의 제곱을 더한 것에 이른다.
암호해독 회로에서 마스킹의 구현을 예시하기 위해서, 도 1 은 마스킹에 의해 보호된 파이스텔 함수의 예를 나타낸다. 이 유형의 함수는 특히, DES 유형의 블록 암호화에 이용되는데, DES 는 "Data Encryption Block" 을 의미한다.
민감성 데이터 x 의 마스킹의 구현은 전술된 바와 같이 2 개의 부분들 (100, 101) 을 필요로 한다.
민감성 데이터의 암호화는 암호화될 블록에 키 (k) 를 더한 다음에 S() 함수 S-박스 및 선형 함수 (L) 의 애플리케이션을 적용함으로써 수행된다.
회로의 2 개의 경로들 (100, 101) 에 의해 프로세싱될 디지털 신호들은 각각의 경로에 대해 레지스터 (102, 103) 를 이용함으로써 동기화된다.
제 1 경로 (100) 는 마스킹된 민감성 데이터 x, 즉 xm 을 포함하는 부분을 프로세싱한다. 암호화 키 (k) 는 XOR 게이트 (106) 를 이용함으로써 적용된다. 결과의 신호는 xmk 에 대응한다. S-박스 (107) 는 그 후, 선형 함수 L 이 적용되는 (108) 신호 S(xmk)(117) 를 획득하는 것을 가능하게 한다.
제 2 경로 (101) 는 마스크 (m) 에 대응하는 부분을 프로세싱한다. 전술된 바와 같이, 마스킹된 신호에의 비선형 함수 S()(107) 의 적용은 주로, 그것이 제 2 부분의 프로세싱에서 고려되는 것을 의미한다. 따라서, 식 (4) 에 의해 정의된 함수 S'() 는 2 개의 S-박스들 및 2 개의 XOR 게이트들 (109, 112) 을 이용함으로써 구현된다 (113). 함수는 한편으로는 마스크 m (105) 을 입력으로서 취하고, 다른 한편으로는 제 1 경로 (100) 에서 암호화 키 (k) 의 적용에 기인한 신호 (xmk)(115) 를 입력으로서 취한다. 애플리케이션 S'() 의 적용에 기인한 신호 (116) 는 제 1 경로 (100) 의 선형 함수 (108) 를 고려하도록 선형 함수 L()(114) 에 적용되었다. 함수 S'() 는 관측들에 의한 공격들에 대해 보호되도록 ROM 유형의 메모리에서 구현될 수 있다. 특히, 예를 들어 그러한 메모리에서 전기 소모의 변화들을 관측하기가 어려운 것이 사실이다.
그러한 구현이 마스킹에 의해 보호되고 함수 S'() 에 연결된 액티비티의 관측이 관측하기 어렵더라도, 보안 루프홀들은 그것을 2 차의 공격들에 대해 특히 손상되게 한다. 예를 들어, 공격자가 2 개의 별개의 회로 노드들, 예를 들어 각 경로의 2 개의 입력 레지스터들의 출력들 (118, 119) 에서 전기적 소모를 관측하기 위해 2 개의 프로브들을 위치시키는 것이 가능하다. 이 경우에서, 변동, 즉 "제로-오프셋" 유형의 추정에 기초한 공격은 매우 효과적이다.
도 2 는 본 발명이 기초하는 마스킹에 의해 보호된 암호해독 회로의 예를 제공한다. 전술된 바와 같이, 유리하게는 2 차의 공격을 불가능하게 만드는 임의의 마스킹 경로가 더 이상 존재하지 않음이 주목된다.
전술한 바와 같이, 암호화 회로의 마스킹되지 않은 부분들이 메모리에 포함되는 경우, 상기 메모리 내부의 변수들을 공격하기가 어렵다. 다시 말하면, 메모리는 정보의 누설들에 대해 보호된 블랙 박스로서 간주된다. 단지 입력들 또는 출력들 만이 취약하다. 설명된 회로의 목적들 중 하나는 보통의 복잡성의 커스트마이징된 마스킹 방법으로 메모리에서 구현을 활용하기 위한 것이다.
또한, 메모리들의 이용이 적합하지 않은 경우, 연산 엘리먼트들은 레지스터들의 출력으로부터 가능한 멀리 비선형 부분들을 위치시키는 그러한 방식으로 정렬될 수 있다. 예로써, 상관 공격은 모두 회로의 조합 로직에서 깊게 행해지는 경우 덜 효과적이다.
도 2 의 예는 SPN 네트워크의 이용에 기초한 회로에서의 본 발명의 구현의 예를 나타내며, SPN 은 "Substitution Permutation Network" 를 의미한다. 이 회로의 유형은 또한, 새논 (shannon) S-P 네트워크로 지칭된다. 이 예에서, 2 개의 라운드에서의 암호화가 고려된다. 및 로 표기된 인덱스 r 의 바이너리 워드들은 각각, 마스킹 키 및 암호화 키로서 이용된다.
예로서 제시된 회로는 다수의 스테이지들, 즉 입력 스테이지, 제 1 라운드에 대응하는 스테이지, 제 2 라운드에 대응하는 스테이지 및 출력 스테이지로 나누어질 수 있다. 암호화될 데이터는, 예를 들어 4 개의 8 비트 서브워드들로 세분된 32 비트 워드들의 형태로 입력 스테이지에 대한 입력으로서 표현된다. 입력 마스킹은 32 비트의 길이를 갖는 키 을 이용함으로써 적용되고, 상기 키는 4 개의 8 비트 서브마스크들 로 세분되고, 상기 서브마스크들은 4 개의 XOR 게이트들 (200, 201, 202, 203) 을 이용함으로써 4 개의 8 비트 서브워드들에 적용된다.
제 1 라운드의 입력에서, 레지스터 (204) 는 키 에 의한 마스킹에 기인한 4 개의 8 비트 서브워드들을 입력으로서 취한다. 이 레지스터는 상이한 바이너리 플로우들을 동기화하는 것을 가능하게 하고, 플로우는 입력 8 비트 서브워드에 대응한다. , 로 표기된 4 개의 8 비트 서브키들로 세분된 제 1 암호 키 는 4 개의 XOR 게이트들 (205, 206, 207, 208) 에서 상기 레지스터 (204) 의 출력으로서 표현된 마스킹된 서브워드들 상에 적용된다. 키 는 제 1 암호화 라운드와 연관된다. 에 의해 마스킹되고 에 의해 암호화된 데이터의 4 개의 서브워드들은 그 후, 예를 들어 ROM 유형의 메모리에서 구현된 4 개의 프로세싱 블록들 (209, 210, 211, 212) 에 의해 각각 프로세싱된다. ROM 메모리에서의 함수들, 특히 비선형 함수들의 구현의 복잡성은 입력들의 수로 기하급수적으로 증가한다는 것이 주목된다. 암호해독 알고리즘은 이 제약을 통합하고 구현의 복잡성을 최소화하기 위해서 비선형 함수 레벨에서 보다 작은 크기의 서브워드들로서 암호화될 워드들을 프로세싱한다.
각각의 프로세싱 블록의 입력에서, 8 비트 서브워드들은 XOR 게이트들 (214) 을 이용하여 4 개의 8 비트 서브마스크들 을 적용함으로써 언마스킹된다. 비선형 함수가 그 후 적용되고, S-박스 (213) 는 그것을 구현하는데 이용될 수 있다.
각 프로세싱 블록의 출력의 상류에서, XOR 게이트 (215) 가 이용되어 출력에서 데이터를 마스킹하므로, 민감성 데이터는 4 개의 서브마스크들 , 로 세분된 마스크 에 의해 제 1 라운드 스테이지의 출력에서 마스킹된다. 라운드 출력에서 선형 변환 L0() 가 적용되고, 이는 프로세싱 블록들에서 마스킹이 고려되도록 한다. 이를 위해, 마스크 의 변형된 마스크 를 이용함으로써 마스킹이 수행된다. 이는 4 개의 8 비트 변형된 서브마스크들 로 세분되고, 변환 은 선형 변환 L0()(216) 의 역에 대응한다.
프로세싱 블록들 (209, 210, 211, 212) 의 출력에서, 변환 L0() 는 상기 블록들로부터의 출력으로서 표현된 바이너리 워드들에 적용된다. 제 1 암호화 라운드의 결과는 선형 변환 (216) 의 출력에서의 바이너리 서브워드들에 대응하고, 상기 서브워드들은 마스크 에 의해 마스킹되고 따라서 관측에 의한 공격에 대해 보호된 민감성 데이터에 대응한다.
제 2 라운드의 입력은 제 1 라운드의 출력이고, 제 1 라운드의 선형 변환 (216) 에서 기인한 4 개의 8 비트 서브워드들에 대응한다. 이들 4 개의 서브워드들은 상이한 바이너리 플로우들을 동기화하는 것을 가능하게 하는 레지스터 (217) 에 대한 입력으로서 표현된다.
로 표기된 4 개의 8 비트 서브키들로 세분된 제 2 라운드에 특정된 제 2 암호화 키 는 4 개의 XOR 게이트들 (218, 219, 220, 221) 에서 레지스터 (217) 로부터의 출력으로서 표현된 마스킹된 서브워드들에 적용된다.
에 의해 마스킹되고 에 의해 암호화된 4 개의 데이터 서브워드들은 그 후, 예를 들어 ROM 유형의 메모리에서 구현된 4 개의 프로세싱 블록들 (222, 223, 224, 225) 에 의해 각각 프로세싱된다. 각 블록의 입력에서, 데이터는 XOR 게이트들을 이용하여 키 를 적용함으로써 언마스킹된다.
비선형 함수가 그 후 적용되고, S-박스는 그것을 구현하기 위해 각 블록에서 이용될 할 수 있다. 각 프로세싱 블록의 출력에서, XOR 게이트가 이용되어 출력에서 데이터를 마스킹하므로, 민감성 데이터는 마스크 에 의해 제 2 라운드 스테이지의 출력에서 마스킹된다. 이를 위해, 변형된 마스크 를 이용함으로써 마스킹이 수행되고, 변환 은 선형 변환 L1()(226) 의 역에 대응한다.
변환 L1() 은 프로세싱 블록들 (209, 210, 211, 212) 로부터의 출력으로서 표현된 바이너리 서브워드들에 적용된다. 제 2 암호화 라운드의 결과는 선형 변환 (226) 의 출력에서의 바이너리 서브워드들에 대응하고, 상기 서브워드들은 마스킹되고 따라서 관측에 의한 공격들에 대해 보호된 민감성 데이터에 대응한다.
이 유형의 구현의 이점은 라운드 1 에 대해 에 의한 암호화 및 에 의한 마스킹 뿐만 아니라 라운드 2 에 대해 에 의한 암호화 및 에 의한 마스킹을 인버팅하는 것을 가능하게 한다는 것이다.
구현의 복잡성을 감소시키고 동일한 ROM 메모리들을 항상 이용하도록, 메인 마스크의 치환에 의해 일 스텝에서 다른 스텝까지 이용된 구현 마스크들을 추정하는 것이 제안되었다. 예를 들어, 이 메인 마스크이면, 세컨더리 마스크들 및 은 다음과 같이 메인 마스크로부터 추정될 수 있다:
함수 P(bin) 은 치환 함수, 예를 들어, 바이너리 워드 빈의 원형 치환을 나타낸다. 또한, 메인 마스크 는 메인 마스크들의 미리정의된 세트로부터 랜덤으로 인출될 수 있다. 메인 마스크에 기초한 마스크 치환의 일 예는 도 3 을 이용한 설명에서 제공된다.
작은 크기의 메인 마스크들의 세트는 컴포넌트에 특정된, 즉 회로의 각 경우에 특정된 커스터마이징된 마스크들을 이용하는 것을 가능하게 한다. 이 특징의 적용은 "목록작성" 유형의 공격들의 범위를 감소시키는 것을 가능하게 하는데, 이는 누설들이 회로에 그리고 더 이상 회로 유형에 특정되지 않기 때문이다. 예를 들어, "제로-오프셋" 유형과 같은, 표현 "higher-order differential power analysis" 로부터 나오는 약어인, 높은 차수의 공격들 HO-DPA 는 더 이상 어떤 특정의 마스크 경로도 존재하지 않기 때문에 도전된다. 따라서, 쌍 (마스킹된 변수, 마스크) 을 고려하는 것이 더 이상 가능하지 않다.
도 3 은 마스킹에 의해 보호된 AES 알고리즘의 구현을 나타낸다.
AES 블록 암호화 알고리즘은, 특히 바이너리 메시지들을 기밀로 유지하는데 파워풀하며, AES 는 "Advanced Encryption Standard" 를 의미한다. 보호될 이 메시지는 고정된 크기의 바이너리 워드들에 의해 프로세싱되고, 상기 워드들은 128, 192 또는 256 비트일 수 있다. 암호화 키들은 길이 W 이고, W 는 프로세싱될 워드들의 길이와 동일하다. 알고리즘은 3 개의 프로세싱 페이즈들을 포함하고, 각 페이즈는 하나 이상의 라운드들로 이루어진다. 제 1 페이즈 R1 은 초기 라운드에 대응하고, 제 2 페이즈 R2 는 동일한 구조를 반복적으로 이용하는 N 개의 라운드들에 대응하며, 제 3 페이즈는 최종 라운드에 대응한다. AES 알고리즘에 특정된 이들 3 개의 페이즈들의 원리는 당업자에게 알려져 있다.
회로는, 예를 들어 FPGA 또는 ASIC 회로이다.
본 발명에 따른 마스킹에 의한 보호는, 은닉 채널들의 관측에 의한 공격들에 대해 3 개의 페이즈들 R1, R2 및 R3 를 구현하는 AES 암호해독 회로를 보호하도록 도입될 수 있다.
랜덤 수 생성기 (300) 는, 예를 들어 n 비트들의 바이너리 워드들 i 를 생성하는데 이용되고, n 은 마스킹의 엔트로피를 나타낸다. 이하 상세한 설명에서 설명된 예에서, n 은 4 비트로 표현된다.
카운터 CRT (301) 는 현재 라운드 수에 대응하는 변수 r 을 증분한다.
보호된 회로는, 특히 암호화될 워드들의 것과 동일한 길이, 또는 예를 들어 본 예에서 128 비트의 일정한 마스크들의 세트를 저장하는 것을 가능하게 하는 메모리 영역 (303) 을 포함한다.
랜덤하게 생성된 (300) 수 i 는 저장된 마스크들의 세트 (303) 로부터 메인 마스크 를 선택하는 것을 가능하게 한다. 그 결과, n = 4, 16 에 대해 상이한 메인 마스크들 이 랜덤하게 선택될 수 있다.
또한, 차별된 보호를 획득하고 "목록작성에 의한 공격" 을 방지하도록 컴포넌트에 저장된 메인 마스크들은 하나의 제품 컴포넌트에서 다른 컴포넌트까지 상이할 수도 있다.
길이 W 의 메인 마스크 는 길이 S 의 서브마스크들의 정수로 구성되고, W 는 S 의 배수이다. 예를 들어, 길이 W=128 비트의 마스크 는 예를 들어 16 개의 S=8 비트의 서브마스크들을 포함하고, 상기 서브마스크들은 , 로 표기된다.
메인 마스크로부터, 예를 들어 메인 마스크를 구성하는 서브마스크들을 치환하기 위해 세컨더리 마스크들이 생성될 수 있다. 따라서, 단일의 메인 마스크로부터, 각각의 라운드에 대해 상이한 세컨더리 마스크가 이용될 수 있다.
공격들에 대한 강건성을 증가시키도록, 상기 컴포넌트들 간의 차별화된 마스킹 보호를 구현하기 위해서 일 컴포넌트에서 다른 컴포넌트까지 상이한 메인 마스크 의 세트가 존재한다. 변수 i 는 랜덤하고, 각각의 암호화 전에 생성될 수 있다.
일단 메인 마스크 가 선택되면, 치환 P, 선택된 수의 비트들 d 의 마스크 를 갖고, 원형으로 치환함으로써 인덱스 r 의 세컨더리 마스크로부터 인덱스 r+1 의 세컨더리 마스크가 추정되고, 인덱스 0 의 마스크는 이도록 초기화된다.
d 는, 예를 들어 d=s 비트, 즉 서브마스크에 대응하는 길이 이도록 선택될 수 있다.
여기서,
r 은 라운드 수이고;
i 는 생성기 (300) 에 의해 랜덤하게 인출된 4 비트의 수이고;
S 는 비트로 표현된 서브마스크의 길이이고;
mod() 는, mod(a, b)=a modulo b 이도록 정의된 함수이고, a 및 b 는 정수들이다.
메인 마스크는, 예를 들어 i 의 새로운 값을 랜덤하게 인출함으로써 암호화 절차 동안 변형될 수 있다.
유리하게, 관측에 의한 공격들에 대한 저항은, 예를 들어, 과 간의 해밍 거리 (Hamming distance) 가 실질적으로 S/2 와 동일하다는 것을 보장함으로써 세컨더리 마스크들이 서로 독립적이도록 메인 마스크들 을 선택함으로써 최적화될 수 있다.
마스크들의 평균 밸런싱은 또한, 보호를 보강하는 것을 가능하게 하고, 상기 밸런싱은 세컨더리 마스크 및 이에 따라 메인 마스크의 해밍 웨이트 (Hamming weight) 가 실질적으로 W/2 와 동일하다는 것을 보장함으로써 획득된다.
도면의 예에서, 암호화될 워드들은 128 비트 워드들이고, 레지스터 베이스 (302) 의 코더에 입력으로서 표현된다. 프로세싱될 워드는 그 후, XOR 게이트 (304) 를 이용하여 비-치환된 키 의 적용에 의해 마스킹된다. 마스킹의 결과는 그 후, 제 2 XOR 게이트 (305) 를 이용하여 로 표기된 길이 W 의 암호화 키의 적용에 의해 암호화된다.
에 의해 마스킹되고 에 의해 암호화된 워드는 레지스터 (306) 에 저장되고, 상기 레지스터는 제 2 프로세싱 페이즈 R2 를 수행하는 회로 부분의 입력에 대응하고, 상기 페이즈는 반복적인 암호화 루프에 대응하고, 반복은 프로세싱 라운드에 대응한다. 레지스터 (306) 에 저장된 워드는 128 비트의 워드를 16 개의 8 비트 서브워드들로 세분하는 제어 모듈 (307) 에 의해 프로세싱된다. 제어 모듈의 다른 기능은 라운드의 시작에서 데이터를 언마스킹하는데 이용될 마스크 를 선택하는 것이고, 라운드는 인덱스 r 의 각 반복에 적용된다. 16 개의 8 비트 서브워드들은 비선형 함수 모듈 (308) 을 이용하여 프로세싱되고, 상기 모듈은 예를 들어 ROM 유형의 메모리에서 구현된다. 이들 모듈들은 그 입력에 표현된 서브워드들을 언마스킹하고 (309), 예를 들어 S-박스를 이용함으로써 비선형 프로세싱에 그들을 적용하고 (310) 상기 프로세싱의 결과를 마스킹한다 (311). 프로세싱될 각각의 8 비트 서브워드에 대해 비선형 함수 모듈 (308) 이 존재한다. 결과적으로, 도 3 의 예에 대해 16 개의 비선형 함수 모듈이 존재한다.
인덱스 r 의 라운드에 대해, 이들 모듈들은 입력 언마스킹 (309) 을 위해 서브마스크들 을 이용하고, 출력 마스킹 (311) 을 위해 서브 마스크들 을 이용한다. 예를 들어, 16 개의 S-박스들은 서브마스크들 에 의해 마스킹되고 그 후 서브마스크 에 의해 언마스킹되기 위해서 미리연산될 수 있다.
비선형 프로세싱 모듈들의 출력에서 16 개의 서브워드들은 그 후, 제 2 제어 모듈 (312) 을 향하고, 이 함수는 특히 상기 워드들을 128 비트 워드로 연결시킨다.
128 비트 워드는 그 후, 2 개의 선형 프로세싱 모듈들에 의해 프로세싱되는데, 제 1 프로세싱 모듈은 주로 표현 "시프트 행 (row)" 에 의해 설명된 열들의 혼합을 수행하고 (313), 제 2 프로세싱 모듈은 주로 표현 "시프트 열 (column)" 에 의해 설명된 행들의 혼합을 수행한다 (314). 이들 2 개의 선형 프로세싱 연산들은 함수 Lr() 에 의해 모델링될 수 있다.
일 라운드에서 다른 라운드까지 동일한 S 박스들을 이용할 수 있도록, 128 비트 마스크 는 에 의한 암호화에 기인한 워드에 적용된다 (316). 마스크들 은 다음의 식을 이용함으로써 미리연산된 후에 저장된다 (303):
페이즈 R2 의 프로세싱 연산들은 N 번 반복적으로 실행된다. 제 2 페이즈 R2 의 N 개의 라운드들이 실행된 경우, 최종 페이즈 R3 는 선형의 행 혼합 프로세싱 연산 (313) 과 선형의 열 혼합 프로세싱 연산 (314) 사이에서 추출된 128 비트 워드 상에서 실행된다.
추출된 워드에 XOR 함수 (317) 에 의해 적용된 키 를 이용하는 최종 암호화 후에, XOR 함수 (318) 를 이용하여 128 비트 마스크 를 적용함으로써 최종 언마스킹이 수행된다.
최종 행의 엔드, 즉 프로세싱 페이즈 R3 의 엔드에서 획득된 워드는 AES 암호화의 최종 결과에 대응한다. 획득된 암호화된 메시지는 출력 레지스터에 기입된다 (319).
도 4 는 비선형 프로세싱 연산들이 라운드의 엔드에 위치하는 마스킹에 의해 보호된 암호해독 회로의 예를 제공한다.
비선형 프로세싱 연산들에 대응하는 회로의 부분들이 메모리가 아닌 로직 게이트에서 구현되는 경우, 상기 프로세싱 연산들의 상류 언마스킹 및 하류 마스킹은 공격들의 대상이 될 수도 있다.
이들 공격들에 대해 회로를 보호하기 위해서, 하나의 해결책은 로직 콘 (cone) 의 엔드, 즉 결과의 레지스터링된 샘플링 직전에 라운드의 비선형 프로세싱 연산들을 배치하는 것이다. 연산들은 그 후, 그 시간 확산 덕택으로 분산되고 공격의 유효성이 그 후 제한된다.
도 4 의 예는 이 원리를 구현하는 마스킹에 의해 보호된 암호해독 회로의 예를 제공한다.
이 예시적인 회로는 도 2 에 의해 제시된 것과 유사하다. 암호화는 파이스텔 아키텍처를 이용하여 수행되고 하나의 입력 스테이지, 라운드 1 및 라운드 2 로 지칭된 2 개의 라운드 스테이지들, 그 후 하나의 출력 스테이지에 의해 수행된다.
도 2 의 예로서 제공된 회로와는 달리, S-박스들을 갖는 예에서 구현된 비선형 프로세싱 연산들은 로직 콘의 엔드에 배치된다. 비선형 프로세싱 연산들은 따라서, 라운드의 시작에 배치된다. 따라서, 제 1 라운드에 대응하는 스테이지에서, 초기 확산 함수 L-1() 에 대응하는 선형 프로세싱 연산이 적용된다 (401). 제 2 라운드에 대응하는 스테이지에서, 확산 함수 L0() 에 대응하는 선형 프로세싱 연산이 적용된다 (402).
초기 확산 함수의 역 L-1 -1() 은 입력 스테이지의 출력에서 적용되고 (400), 최종 확산 함수 L1() 은 출력 스테이지의 입력에서 적용된다 (403).
라운드의 시작에서 전기 소모는 모델링하기 어려운 반면에, 그것은 라운드의 엔드에서 환경 조건들에 더욱 의존한다.
Claims (17)
- 마스킹에 의해 보호된 암호해독 회로로서,
상기 회로는 적어도 하나의 키 를 이용하여 복수의 바이너리 워드들을 암호화하기 위한 수단, 상기 복수의 바이너리 워드들에 선형 프로세싱 연산들 (216) 및 비선형 프로세싱 연산들 (213) 을 적용하기 위한 수단, 및 상기 복수의 바이너리 워드들을 마스킹하기 위한 수단을 포함하고,
상기 회로는,
상기 복수의 바이너리 워드들이 각각의 마스크들 을 이용함으로써 상기 비선형 프로세싱 연산들의 상류에서 언마스킹되고 (214), 각각의 마스크들 을 이용함으로써 상기 비선형 프로세싱 연산들의 하류에서 마스킹되고 (215), 상기 마스크 및 는 상기 회로의 각 경우에 특정된 마스크들의 세트의 부분을 형성하고, 각 상기 마스크 는 이고 이도록 프라이머리 마스크 로부터 추정된 세컨더리 마스크이고, 상기 함수 P(x) 는 x 의 엘리먼트들을 치환하기 위한 함수에 대응하고, 상기 프라이머리 마스크들 은 동일한 길이의 서브마스크들 중 하나보다 큰 정수 (integer number) 로 구성되며, 상기 세컨더리 마스크들 은 상기 서브마스크들의 치환에 의해 생성되는 것을 특징으로 하는 암호해독 회로. - 제 1 항에 있어서,
상기 비선형 프로세싱 연산들, 상기 비선형 프로세싱 연산들의 상류에서의 상기 언마스킹 (214) 및 상기 비선형 프로세싱 연산들의 하류에서의 상기 마스킹 (215) 은 ROM 유형 메모리들 (209) 에서 구현되는 것을 특징으로 하는 암호해독 회로. - 삭제
- 삭제
- 제 7 항에 있어서,
상기 회로에 저장된 상기 프라이머리 마스크들의 세트 (303) 는 일 회로에서 다른 회로까지 상이한 것을 특징으로 하는 암호해독 회로. - 제 8 항에 있어서,
상기 프라이머리 마스크들의 세트는 내부 마스크 생성 회로를 이용하여 획득되는 것을 특징으로 하는 암호해독 회로. - 제 1 항 또는 제 2 항에 있어서,
상기 비선형 프로세싱 연산들은 S 박스들 (213, 310) 을 이용하여 구현되는 것을 특징으로 하는 암호해독 회로. - 제 1 항 또는 제 2 항에 있어서,
상기 비선형 프로세싱 연산들은, 레지스터에서의 결과의 샘플링 직전에 동일한 조합 블록에서의 상기 선형 프로세싱 연산들 이후에 적용되는 것을 특징으로 하는 암호해독 회로. - 제 1 항 또는 제 2 항에 있어서,
상기 회로는 FPGA 로 구현되는 것을 특징으로 하는 암호해독 회로. - 제 13 항에 있어서,
프라이머리 마스크들의 세트는 FPGA 회로 구성 파일의 변형을 이용하여 획득되는 것을 특징으로 하는 암호해독 회로. - 제 13 항에 있어서,
프라이머리 마스크들의 세트를 업데이트하는 것을 가능하게 하는 동적 재구성 수단 및 상기 비선형 프로세싱 연산들에 대응하는 상기 회로의 부분들을 구현하는 테이블을 포함하는 것을 특징으로 하는 암호해독 회로. - 제 1 항 또는 제 2 항에 있어서,
상기 회로는 ASIC 로 구현되는 것을 특징으로 하는 암호해독 회로.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0958030 | 2009-11-13 | ||
FR0958030A FR2952773B1 (fr) | 2009-11-13 | 2009-11-13 | Circuit electronique de faible complexite protege par masquage personnalise |
PCT/EP2010/067064 WO2011057991A1 (fr) | 2009-11-13 | 2010-11-08 | Circuit electronique de faible complexite protege par masquage personnalise |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120109501A KR20120109501A (ko) | 2012-10-08 |
KR101783495B1 true KR101783495B1 (ko) | 2017-09-29 |
Family
ID=42244180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127015118A KR101783495B1 (ko) | 2009-11-13 | 2010-11-08 | 커스트마이징된 마스킹에 의해 보호된 저-복잡성 전자 회로 |
Country Status (9)
Country | Link |
---|---|
US (1) | US9197412B2 (ko) |
EP (1) | EP2499773B1 (ko) |
JP (1) | JP5987250B2 (ko) |
KR (1) | KR101783495B1 (ko) |
CN (1) | CN102648600B (ko) |
CA (1) | CA2780719C (ko) |
ES (1) | ES2571225T3 (ko) |
FR (1) | FR2952773B1 (ko) |
WO (1) | WO2011057991A1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8958550B2 (en) * | 2011-09-13 | 2015-02-17 | Combined Conditional Access Development & Support. LLC (CCAD) | Encryption operation with real data rounds, dummy data rounds, and delay periods |
JP5612007B2 (ja) * | 2012-03-15 | 2014-10-22 | 株式会社東芝 | 暗号化鍵生成装置 |
JP6089668B2 (ja) * | 2012-12-13 | 2017-03-08 | 日本電気株式会社 | 暗号化処理回路及び復号処理回路とその方法並びにそのプログラム |
WO2015059845A1 (ja) * | 2013-10-24 | 2015-04-30 | 日本電気株式会社 | 暗号化処理回路及び復号処理回路並びにその方法 |
EP3475825B1 (en) | 2016-06-23 | 2023-01-25 | Cryptography Research, Inc. | Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks |
US10530567B2 (en) * | 2016-10-05 | 2020-01-07 | Megachips Corporation | Encryption device and memory device |
DE102017002153A1 (de) * | 2017-03-06 | 2018-09-06 | Giesecke+Devrient Mobile Security Gmbh | Übergang von einer booleschen Maskierung zu einer arithmetischen Maskierung |
EP3422176A1 (en) * | 2017-06-28 | 2019-01-02 | Gemalto Sa | Method for securing a cryptographic process with sbox against high-order side-channel attacks |
US11562101B2 (en) * | 2017-11-13 | 2023-01-24 | Intel Corporation | On-device bitstream validation |
US11372983B2 (en) | 2019-03-26 | 2022-06-28 | International Business Machines Corporation | Employing a protected key in performing operations |
US11201730B2 (en) * | 2019-03-26 | 2021-12-14 | International Business Machines Corporation | Generating a protected key for selective use |
FR3096206A1 (fr) * | 2019-05-17 | 2020-11-20 | Stmicroelectronics (Grenoble 2) Sas | Dispositif de protection de donnees masquees et procede associe |
US11700111B2 (en) * | 2019-06-26 | 2023-07-11 | Cryptography Research, Inc. | Platform neutral data encryption standard (DES) cryptographic operation |
CN113343175B (zh) * | 2021-05-31 | 2022-05-27 | 中国电子科技集团公司第三十研究所 | 一种自动化搜索spn型轻量级分组密码活跃s盒的快速方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070195949A1 (en) * | 2006-02-22 | 2007-08-23 | Toshio Okochi | Encryption processing method and encryption processing device |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5652796A (en) * | 1994-06-21 | 1997-07-29 | Pitney Bowes Inc. | Data encryption control system |
US6205249B1 (en) * | 1998-04-02 | 2001-03-20 | Scott A. Moskowitz | Multiple transform utilization and applications for secure digital watermarking |
CA2333095C (en) * | 1998-06-03 | 2005-05-10 | Cryptography Research, Inc. | Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
JP3600454B2 (ja) * | 1998-08-20 | 2004-12-15 | 株式会社東芝 | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
US6578061B1 (en) * | 1999-01-19 | 2003-06-10 | Nippon Telegraph And Telephone Corporation | Method and apparatus for data permutation/division and recording medium with data permutation/division program recorded thereon |
US7142670B2 (en) * | 2001-08-14 | 2006-11-28 | International Business Machines Corporation | Space-efficient, side-channel attack resistant table lookups |
KR100605813B1 (ko) * | 2003-02-28 | 2006-08-01 | 삼성전자주식회사 | 초 광대역 통신시스템에서 헤더정보 전송장치 및 방법 |
US7899190B2 (en) * | 2004-04-16 | 2011-03-01 | Research In Motion Limited | Security countermeasures for power analysis attacks |
US7848514B2 (en) * | 2004-05-24 | 2010-12-07 | Research In Motion Limited | Table masking for resistance to power analysis attacks |
FR2873523B1 (fr) | 2004-07-22 | 2007-08-10 | Sagem | Procede et dispositif d'execution d'un calcul cryptographique |
EP1722502B1 (en) * | 2005-05-10 | 2007-09-05 | Research In Motion Limited | Key masking for cryptographic processes |
US7720225B2 (en) * | 2006-03-07 | 2010-05-18 | Research In Motion Limited | Table splitting for cryptographic processes |
JP4936996B2 (ja) * | 2007-05-24 | 2012-05-23 | 株式会社東芝 | 非線形データ変換器、暗号化装置、および復号装置 |
CN101542558A (zh) * | 2007-05-30 | 2009-09-23 | 松下电器产业株式会社 | 加密装置、解密装置、加密方法及集成电路 |
WO2009043139A1 (en) * | 2007-10-01 | 2009-04-09 | Research In Motion Limited | Substitution table masking for cryptographic processes |
US7995749B2 (en) * | 2007-10-30 | 2011-08-09 | Harris Corporation | Cryptographic system configured for extending a repetition period of a random sequence |
WO2009074728A1 (fr) * | 2007-12-13 | 2009-06-18 | Oberthur Technologies | Procede de traitement cryptographique de donnees, notamment a l'aide d'une boite s, dispositif et programme associes |
DE102008033962B4 (de) * | 2008-07-21 | 2011-11-24 | Siemens Aktiengesellschaft | Verfahren und Prozessor-Einrichtung zum Implementieren einer Charakteristik-2-Multiplikation |
FR2952256B1 (fr) * | 2009-11-04 | 2011-12-16 | St Microelectronics Rousset | Protection d'une cle de chiffrement contre des attaques unidirectionnelles |
-
2009
- 2009-11-13 FR FR0958030A patent/FR2952773B1/fr not_active Expired - Fee Related
-
2010
- 2010-11-08 CN CN201080056401.9A patent/CN102648600B/zh active Active
- 2010-11-08 US US13/509,494 patent/US9197412B2/en active Active
- 2010-11-08 JP JP2012538299A patent/JP5987250B2/ja active Active
- 2010-11-08 CA CA2780719A patent/CA2780719C/en active Active
- 2010-11-08 WO PCT/EP2010/067064 patent/WO2011057991A1/fr active Application Filing
- 2010-11-08 KR KR1020127015118A patent/KR101783495B1/ko active IP Right Grant
- 2010-11-08 ES ES10773354T patent/ES2571225T3/es active Active
- 2010-11-08 EP EP10773354.5A patent/EP2499773B1/fr active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070195949A1 (en) * | 2006-02-22 | 2007-08-23 | Toshio Okochi | Encryption processing method and encryption processing device |
Also Published As
Publication number | Publication date |
---|---|
US9197412B2 (en) | 2015-11-24 |
CN102648600A (zh) | 2012-08-22 |
EP2499773A1 (fr) | 2012-09-19 |
CA2780719C (en) | 2019-08-20 |
JP5987250B2 (ja) | 2016-09-07 |
KR20120109501A (ko) | 2012-10-08 |
CN102648600B (zh) | 2014-12-24 |
FR2952773A1 (fr) | 2011-05-20 |
FR2952773B1 (fr) | 2012-07-20 |
EP2499773B1 (fr) | 2016-02-17 |
US20130129081A1 (en) | 2013-05-23 |
CA2780719A1 (en) | 2011-05-19 |
ES2571225T3 (es) | 2016-05-24 |
WO2011057991A1 (fr) | 2011-05-19 |
JP2013511057A (ja) | 2013-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101783495B1 (ko) | 커스트마이징된 마스킹에 의해 보호된 저-복잡성 전자 회로 | |
US6295606B1 (en) | Method and apparatus for preventing information leakage attacks on a microelectronic assembly | |
Petit et al. | A block cipher based pseudo random number generator secure against side-channel key recovery | |
Shanmugam et al. | Differential power analysis attack on SIMON and LED block ciphers | |
EP1234403A2 (en) | Cryptographic isolator using multiplication | |
US20170366339A1 (en) | Method of encryption with dynamic diffusion and confusion layers | |
Razaq et al. | A novel technique for the construction of safe substitution boxes based on cyclic and symmetric groups | |
Vliegen et al. | Maximizing the throughput of threshold-protected AES-GCM implementations on FPGA | |
Lavanya et al. | Enhancing the security of AES through small scale confusion operations for data communication | |
Debraize et al. | Fault analysis of the stream cipher snow 3G | |
Huang et al. | Low area-overhead low-entropy masking scheme (LEMS) against correlation power analysis attack | |
Hajra et al. | DRECON: DPA resistant encryption by construction | |
Gandh et al. | FPGA implementation of enhanced key expansion algorithm for Advanced Encryption Standard | |
Zeng et al. | Improvement on masked S-box hardware implementation | |
Chou et al. | A high performance, low energy, compact masked 128-bit AES in 22nm CMOS technology | |
Gupta et al. | Correlation power analysis on KASUMI: attack and countermeasure | |
Ha et al. | Differential power analysis on block cipher ARIA | |
Taha et al. | Keymill: Side-channel resilient key generator | |
Montoya et al. | Energy-efficient masking of the trivium stream cipher | |
Lewandowski et al. | Enhancing PRESENT-80 and Substitution-Permutation Network Cipher Security with Dynamic" Keyed" Permutation Networks | |
Kushwah et al. | Chaotic Map based Block Encryption | |
Marpaung et al. | Higher-Order Countermeasures against Side-Channel Cryptanalysis on Rabbit Stream Cipher | |
Boey et al. | How resistant are sboxes to power analysis attacks? | |
Saini et al. | Performance Comparison of Cryptosystems in Context to Internet of Things | |
Cretu et al. | A modified version of Rijndael algorithm implemented to analyze the cyphertexts correlation for switched S-Boxes |
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 |