KR101334040B1 - 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치 - Google Patents

대칭키 암호화 시스템의 마스킹 연산 방법 및 장치 Download PDF

Info

Publication number
KR101334040B1
KR101334040B1 KR1020100005175A KR20100005175A KR101334040B1 KR 101334040 B1 KR101334040 B1 KR 101334040B1 KR 1020100005175 A KR1020100005175 A KR 1020100005175A KR 20100005175 A KR20100005175 A KR 20100005175A KR 101334040 B1 KR101334040 B1 KR 101334040B1
Authority
KR
South Korea
Prior art keywords
masking
box
symmetric key
encryption system
algorithm
Prior art date
Application number
KR1020100005175A
Other languages
English (en)
Other versions
KR20110085403A (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 한국전자통신연구원
Priority to KR1020100005175A priority Critical patent/KR101334040B1/ko
Priority to US12/872,953 priority patent/US8681985B2/en
Publication of KR20110085403A publication Critical patent/KR20110085403A/ko
Application granted granted Critical
Publication of KR101334040B1 publication Critical patent/KR101334040B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/043Masking or blinding of tables, e.g. lookup, substitution or mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Abstract

마스킹 기법을 사용하기 위한 대칭키 암호화 알고리즘, 예를 들어 ARIA나 SEED 암호화 알고리즘에서는, 대칭키 암호화 시스템 내의 마스킹 룩-업(look-up) 테이블인 S-박스(S-box) 테이블을 적어도 2개 이상 생성 및 저장해야만 하는 바, 마스킹 연산에 필요한 자원들, 예를 들면 연산 시간, 메모리 용량 등이 과도하게 소모되는 문제가 있다. 이에 본 발명에서는, 최초 생성된 마스킹 S-박스(masking S-box) 테이블을 참조하여 하나의 마스킹 S-박스를 연산한 후, 추가적인 마스킹 S-박스 테이블을 참조하지 않고 상기 최초 생성된 마스킹 S-박스 테이블을 참조하여 나머지 다른 마스킹 S-박스를 연산함으로써, 마스킹 연산에 필요한 연산 시간, 메모리 용량 등을 줄일 수 있는 대칭키 암호화 시스템의 마스킹 연산 기술을 제안하고자 한다.

Description

대칭키 암호화 시스템의 마스킹 연산 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING MASKING OPERATIONS IN ENCRYPTION SYSTEM}
본 발명은 부채널 공격에 강인한 대칭키 암호화 기술에 관한 것으로, 특히, 대칭키 암호화 기술에 적용되는 마스킹 S-박스(S-box) 테이블 생성에 필요한 자원(예컨대, 시간 및 메모리 용량)을 줄이는데 적합한 대칭키 암호화 시스템의 마스킹 연산 방법에 관한 것이다.
본 발명은 지식경제부의 IT원천기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[2009-F-055-01, 부채널 공격 방지 원천 기술 및 안전성 검증 기술 개발].
부채널 공격은 암호화 알고리즘에 대한 강력한 공격 기법 중의 하나로서, 이러한 부채널 공격 기술은 점차 보안 제품에 대한 커다란 위협 요소가 되고 있다. 특히, 전력/전자파 부채널 분석은 암호 알고리즘 구동 시 소비되는 소비전력이나 발생하는 전자기파를 수집하여 이를 통계적인 분석을 통해 암호 알고리즘의 비밀정보(주로, 키 정보)를 분석해 내는 공격 방법이다.
이러한 전력/전자파 부채널 분석 공격을 막기 위해, 다양한 방지 기법이 제시되고 있는데, 그 중 마스킹(masking) 기법은, 알고리즘 레벨에서 부채널 분석 공격을 방지하는 대표적인 방법이다. 마스킹 기법은 원래의 암호화 되야 하는 데이터들에 랜덤(random)한 데이터를 더하거나, 논리연산, 예를 들면 XOR(eXclusive OR) 연산하여, 수집된 전력파형이나 전자기파 데이터의 통계적인 분석을 통한 비밀정보 추출을 어렵게 하는(예측할 수 없게 하는) 방법이다.
그런데, 이러한 마스킹 기법을 사용하기 위한 대칭키 암호화 알고리즘, 예를 들어 ARIA나 SEED 암호화 알고리즘에서는, 대칭키 암호화 시스템 내의 마스킹 룩-업(look-up) 테이블인 S-박스(S-box) 테이블을 적어도 2개 이상 생성 및 저장해야만 하는 바, 마스킹 연산에 필요한 자원들, 예를 들면 연산 시간, 메모리 용량 등이 과도하게 소모되는 문제가 있다.
이에 본 발명에서는, 최초 생성된 마스킹 S-박스(masking S-box) 테이블을 참조하여 하나의 마스킹 S-박스를 연산한 후, 추가적인 마스킹 S-박스 테이블을 참조하지 않고 상기 최초 생성된 마스킹 S-박스 테이블을 참조하여 나머지 다른 마스킹 S-박스를 연산함으로써, 마스킹 연산에 필요한 연산 시간, 메모리 용량 등을 줄일 수 있는 대칭키 암호화 시스템의 마스킹 연산 기술을 제안하고자 한다.
본 발명의 과제를 해결하기 위한 대칭키 암호화 시스템의 마스킹 연산 방법에 따르면, a) 적어도 둘 이상의 S-박스(S-box)가 입력되면, 입력되는 하나의 S-박스에 대한 마스킹 S-박스 테이블(masking S-box table)을 생성하는 과정과, b) 생성되는 상기 마스킹 S-박스 테이블을 참조하여 하나의 마스킹 S-박스를 연산하는 과정과, c) 상기 마스킹 S-박스 테이블을 참조하여, 입력되는 다른 하나의 S-박스에 대한 다른 하나의 마스킹 S-박스를 연산하는 과정을 포함할 수 있다.
여기서, 상기 과정 c)는, 상기 하나의 S-박스와 상기 다른 하나의 S-박스 간의 관계식의 분석 결과에 따라 상기 다른 하나의 마스킹 S-박스를 연산하는 과정일 수 있다.
또한, 상기 관계식은,
Figure 112010003844037-pat00001
이며, 상기 S1[x]은 상기 다른 하나의 S-박스, 상기 S2[x]은 상기 하나의 S-박스일 수 있다.
또한, 상기 관계식의 마스킹 S-박스 적용 후의 관계식은,
Figure 112010003844037-pat00002
일 수 있다.
또한, 상기 마스킹 연산 방법은, 상기 마스킹 S-박스 테이블을 저장하는 과정을 더 포함할 수 있다.
또한, 상기 적어도 둘 이상의 S-박스는, 8-비트 입력 값일 수 있다.
또한, 상기 대칭키 암호화 시스템은, SEED 암호화 시스템일 수 있다.
또한, 상기 대칭키 암호화 시스템은, ARIA 암호화 시스템일 수 있다.
또한, 상기 마스킹 연산 방법은, 논리 마스킹 연산을 포함할 수 있다.
또한, 상기 논리 마스킹 연산은, XOR 마스킹 연산을 포함할 수 있다.
본 발명의 과제를 해결하기 위한 대칭키 암호화 시스템의 마스킹 연산 장치에 따르면, 입력되는 적어도 둘 이상의 S-박스에서 하나의 S-박스에 대한 마스킹 S-박스 테이블을 생성하는 마스킹 S-박스 테이블 생성부와, 상기 마스킹 S-박스 테이블 생성부를 통해 생성되는 상기 마스킹 S-박스 테이블을 참조하여 상기 하나의 S-박스에 대한 하나의 마스킹 S-박스 및 상기 적어도 둘 이상의 S-박스에서 다른 하나의 S-박스에 대한 다른 하나의 마스킹 S-박스를 연산하는 마스킹 S-박스 연산부를 포함할 수 있다.
여기서, 상기 마스킹 연산 장치는, 상기 하나의 S-박스와 상기 다른 하나의 S-박스 간의 관계식을 분석하는 S-박스 관계식 분석부를 더 포함할 수 있다.
또한, 상기 마스킹 S-박스 연산부는, 상기 S-박스 관계식 분석부의 상기 관계식의 분석 결과에 따라 상기 다른 하나의 마스킹 S-박스를 연산할 수 있다.
또한, 상기 관계식은,
Figure 112010003844037-pat00003
이며, 상기 S1[x]은 상기 다른 하나의 S-박스, 상기 S2[x]은 상기 하나의 S-박스일 수 있다.
또한, 상기 관계식의 마스킹 S-박스 적용 후의 관계식은,
Figure 112010003844037-pat00004
일 수 있다.
또한, 상기 적어도 둘 이상의 S-박스는, 8-비트 입력 값일 수 있다.
또한, 상기 대칭키 암호화 시스템은, SEED 암호화 시스템일 수 있다.
또한, 상기 대칭키 암호화 시스템은, ARIA 암호화 시스템일 수 있다.
또한, 상기 마스킹 연산 장치는, 논리 마스킹 연산을 포함할 수 있다.
또한, 상기 논리 마스킹 연산은, XOR 마스킹 연산을 포함할 수 있다.
본 발명에 의하면, 국내 표준 대칭키 암호화 알고리즘, 예를 들면 SEED 암호화 알고리즘에 대한 마스킹 S-박스 테이블의 사용 효율성에 기반한 마스킹 연산 기술을 마련하여, 마스킹 연산에 필요한 연산 시간, 메모리 사용량 등을 최소 50% 이상 줄일 수 있는 바, 대칭키 암호화 알고리즘이 적용되는 제품들, 예를 들면 스마트 카드 등의 연산 효율과 신뢰성을 높일 수 있다.
도 1은 본 발명의 실시예에 따른 대칭키 암호화 시스템의 마스킹 연산 장치에 대한 개략적인 블록 구성도,
도 2는 본 발명의 실시예에 따른 대칭키 암호화 시스템의 마스킹 연산 방법을 설명하는 흐름도.
본 발명은, 적어도 2개의 S-박스(S-box)를 사용하는 대칭키 암호화 알고리즘, 예를 들면, SEED, ARIA 등의 대칭키 암호화 알고리즘에서, S-박스의 연산을 효율적으로 수행하기 위한 것으로, 최초 생성된 마스킹 S-박스 테이블을 참조하여 하나의 마스킹 S-박스를 연산한 후, 추가적인 마스킹 S-박스 테이블을 참조하지 않고 상기 최초 생성된 마스킹 S-박스 테이블을 참조하여 나머지 다른 마스킹 S-박스를 연산함으로써, 마스킹 연산에 필요한 연산 시간, 메모리 용량 등을 줄일 수 있도록 한 것을 특징으로 한다.
이하의 실시예에서는, 이러한 대칭키 암호화 알고리즘들 중 SEED 암호화 알고리즘이 적용되는 대칭키 암호화 시스템의 마스킹 연산 기술에 대해 예시적으로 다루기로 하며, 여기서의 마스킹 연산은, 예를 들면 산술 마스킹 연산, 또는 논리 마스킹 연산, 구체적으로 XOR 마스킹 연산을 예시하기로 한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 도면부호는 동일 구성 요소를 지칭한다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대해 구체적으로 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 대칭키 암호화 시스템의 마스킹 연산(예컨대, XOR 마스킹 연산) 장치에 대한 구성 블록도로서, 마스킹 S2-박스 테이블 생성부(100), 마스킹 S-박스 연산부(102), S-박스 관계식 분석부(104) 등을 포함할 수 있다.
먼저, 본 실시예는 대칭키 암호화 시스템 중 SEED 암호화 시스템에서의 마스킹 연산 장치를 예시하는 것으로, 이러한 SEED 암호화 시스템에서는 아래 [수학식 1]과 같은 2개의 S-박스(제1 S-박스(S1[x]), 제2 S-박스(S2[x]))가 사용될 수 있다.
Figure 112010003844037-pat00005
여기서, A1 및 A2는 다음 [수학식 2]와 같은 8-비트 값으로서, 이를 유한체 의 원소로 간주하여 연산할 수 있다(이때, 유한체의 원시(primitive) 다항식은, 예컨대 p(x)=x8+x6+x5+x+1일 수 있다.).
Figure 112010003844037-pat00006
SEED 암호화 시스템의 마스킹 연산을 구현하기 위해서는, 대부분 S-박스의 값들은 룩-업 테이블(look-up table) 형태로 사전에 계산해 놓은 후, 이 룩-업 테이블 형태의 S-박스 테이블을 참조하는 형태를 취할 수 있다.
이러한 가정 하에, 도 1의 대칭키 암호화 시스템의 마스킹 연산 장치를 예시적으로 설명하기로 한다.
도 1의 실시예의 주요 특징은, 종래와 같이 각각의 S-박스(제1 S-박스(S1[x]), 제2 S-박스(S2[x]))의 입력에 대한 마스킹 S-박스 테이블을 생성하는 마스킹 S-박스 테이블 생성부를 각각 구비하여 각각의 마스킹 S-박스를 연산하는 것과는 달리, 임의의 하나의 마스킹 S-박스 테이블 생성부만 구비하여 최초 마스킹 S-박스를 연산하고 이러한 하나의 마스킹 S-박스 테이블 생성부를 통해 생성되는 마스킹 S-박스 테이블을 참조하여 나머지 하나의 마스킹 S-박스 테이블을 연산한다는 것이다.
도 1의 실시예에서는, 임의의 하나의 마스킹 S-박스 테이블 생성부를 제2 S-박스(S2[x])를 입력으로 하는 마스킹 S2-박스 테이블 생성부(100)로 기재하였으나, 이러한 기재는 단지 예시일 뿐이며, 그 반대의 경우, 예컨대 임의의 하나의 마스킹 S-박스 테이블 생성부를 제1 S-박스(S1[x])를 입력으로 하는 마스킹 S-박스 테이블 생성부로 기재하는 것도 무방함을 주지해야 할 것이다.
도 1에 예시한 바와 같이, 마스킹 S2-박스 테이블 생성부(100)는, 입력되는 제2 S-박스(S2[x])에 대해 제2 마스킹 S-박스 테이블(MS2-박스 테이블)을 생성 및 저장하는 역할을 할 수 있다. 도면에는 도시되지 않았으나, 생성되는 제2 마스킹 S-박스 테이블(MS2-박스 테이블)은 별도의 저장 수단, 예를 들면 ROM 내에 저장될 수 있으며, 이러한 사실은 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 용이하게 알 수 있는 바, 구체적인 설명은 생략하기로 한다.
본 실시예에 따른 마스킹 S-박스 연산부(102)는, 마스킹 S2-박스 테이블 생성부(100)를 통해 생성된 제2 마스킹 S-박스 테이블(MS2-박스 테이블)을 참조로 제2 마스킹 S-박스를 연산한 후, 이러한 제2 마스킹 S-박스 테이블(MS2-박스 테이블)을 참조하여 나머지 S-박스인 제1 S-박스(S1[x])에 대한 제1 마스킹 S-박스를 연산하는 역할을 할 수 있다. 구체적으로, 마스킹 S-박스 연산부(102)는, 후술하는 S-박스 관계식 분석부(104)와의 연계를 통해 제2 S-박스(S2[x])와 제1 S-박스(S1[x]) 간의 관계식을 이용하여 추가적인 제1 마스킹 S-박스를 연산할 수 있다.
S-박스 관계식 분석부(104)는, 마스킹 S-박스 연산부(102)를 통해 연산되는 최초 마스킹 S-박스(제2 S-박스(S2[x])와 제1 S-박스(S1[x])와의 관계식을 분석하고, 그 결과를 마스킹 S-박스 연산부(102)로 제공할 수 있다.
이러한 마스킹 S-박스 연산부(102) 및 S-박스 관계식 분석부(104)의 기능 및 구현 과정에 대해서는 하기 도 2의 흐름도에서 보다 상세히 설명하기로 한다.
이하, 상술한 구성과 함께, 본 발명의 실시예에 따른 대칭키 암호화 시스템의 마스킹 연산 방법을, 첨부한 도 2의 흐름도를 참조하여 상세히 설명하기로 한다.
도 2에 도시한 바와 같이, S-박스, 즉 제1 S-박스(S1[x]) 및 제2 S-박스(S2[x])의 입력이 있으면(S200), 마스킹 S2-박스 테이블 생성부(100)는 입력되는 제2 S-박스(S2[x])에 대한 제2 마스킹 S-박스 테이블을 생성할 수 있다(S202).
이러한 제2 마스킹 S-박스 테이블은 다음 [수학식 3]을 통해 구현될 수 있을 것이다.
Figure 112010003844037-pat00007
마스킹 S-박스 연산부(102)는 마스킹 S2-박스 테이블 생성부(100)를 통해 생성된 제2 마스킹 S-박스 테이블을 참조하여 제2 마스킹 S-박스를 연산할 수 있다(S204).
이때, 마스킹 S-박스 연산부(102)는, 종래와 같이 제1 S-박스의 입력에 대한 추가적인 마스킹 S-박스 테이블을 통한 마스킹 S-박스의 연산을 수행하는 것이 아니라, 이미 생성된 제2 마스킹 S-박스 테이블을 참조하여 제1 S-박스의 입력에 대한 제1 마스킹 S-박스를 연산할 수 있다(S206).
이러한 제1 마스킹 S-박스의 연산은 다음 [수학식 4]를 통해 구현될 수 있을 것이다.
Figure 112010003844037-pat00008
구체적으로, 마스킹 S-박스 연산부(102)는, S-박스 관계식 분석부(104)를 통한 제2 S-박스(S2[x])와 제1 S-박스(S1[x]) 간의 관계식 분석 결과에 따라 상술한 제1 마스킹 S-박스를 연산할 수 있는데, 이때의 제2 S-박스(S2[x])와 제1 S-박스(S1[x]) 간의 관계식은 다음 [수학식 5]를 통해 구현될 수 있을 것이다.
Figure 112010003844037-pat00009
여기서, B, A3, b3은 다음 [수학식 6]과 같이 표현될 수 있다.
Figure 112010003844037-pat00010
이로 인해, 본 실시예에서는, 추가적인 마스킹 S-박스 테이블이 필요치 않기 때문에, 마스킹 연산에 필요한 연산 시간과 저장 용량을 줄일 수 있다.
한편, 상술한 [수학식 5] 및 [수학식 6]의 관계식을 마스킹 S-박스에 적용하게 되면, 다음 [수학식 7]과 같은 관계식이 유도될 수 있을 것이다.
Figure 112010003844037-pat00011
이상 설명한 바와 같이, 본 실시예에 따르면, 하나의 S-박스에 대해서만 마스킹 S-박스 테이블을 생성/저장하고, 다른 마스킹 S-박스는 서로 다른 입력의 S-박스의 관계식을 이용하여 연산하도록 구현한 것이다.
100 : 마스킹 S2-박스 테이블 생성부
102 : 마스킹 S-박스 연산부
104 : S-박스 관계식 분석부

Claims (20)

  1. a) 적어도 둘 이상의 S-박스(S-box)가 입력되면, 입력되는 제1 S-박스에 대한 마스킹 S-박스 테이블(masking S-box table)을 생성하는 과정과,
    b) 생성되는 상기 마스킹 S-박스 테이블을 참조하여 제1 마스킹 S-박스를 연산하는 과정과,
    c) 상기 마스킹 S-박스 테이블을 참조하여, 입력되는 제2 S-박스에 대한 제2 마스킹 S-박스를 연산하는 과정
    을 포함하는 대칭키 암호화 시스템의 마스킹 연산 방법.
  2. 제 1 항에 있어서,
    상기 과정 c)는,
    상기 제1 S-박스와 상기 제2 S-박스 간의 관계식의 분석 결과에 따라 상기 제2 마스킹 S-박스를 연산하는 과정인
    대칭키 암호화 시스템의 마스킹 연산 방법.
  3. 제 2 항에 있어서,
    상기 관계식은,
    Figure 112013057277275-pat00012
    이며,
    상기 S1[x]은 상기 제2 S-박스, 상기 S2[x]은 상기 제1 S-박스인
    대칭키 암호화 시스템의 마스킹 연산 방법.
  4. 제 3 항에 있어서,
    상기 관계식의 마스킹 S-박스 적용 후의 관계식은,
    Figure 112010003844037-pat00013

    대칭키 암호화 시스템의 마스킹 연산 방법.
  5. 제 1 항에 있어서,
    상기 마스킹 연산 방법은,
    상기 마스킹 S-박스 테이블을 저장하는 과정을 더 포함하는
    대칭키 암호화 시스템의 마스킹 연산 방법.
  6. 제 1 항에 있어서,
    상기 적어도 둘 이상의 S-박스는, 8-비트 입력 값인
    대칭키 암호화 시스템의 마스킹 연산 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 대칭키 암호화 시스템은, SEED 암호화 시스템인
    대칭키 암호화 시스템의 마스킹 연산 방법.
  8. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 대칭키 암호화 시스템은, ARIA 암호화 시스템인
    대칭키 암호화 시스템의 마스킹 연산 방법.
  9. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 마스킹 연산 방법은, 논리 마스킹 연산을 포함하는
    대칭키 암호화 시스템의 마스킹 연산 방법.
  10. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 마스킹 연산 방법은, 산술 마스킹 연산을 포함하는
    대칭키 암호화 시스템의 마스킹 연산 방법.
  11. 입력되는 적어도 둘 이상의 S-박스에서 제1 S-박스에 대한 마스킹 S-박스 테이블을 생성하는 마스킹 S-박스 테이블 생성부와,
    상기 마스킹 S-박스 테이블 생성부를 통해 생성되는 상기 마스킹 S-박스 테이블을 참조하여 상기 제1 S-박스에 대한 제1 마스킹 S-박스 및 상기 적어도 둘 이상의 S-박스에서 제2 S-박스에 대한 제2 마스킹 S-박스를 연산하는 마스킹 S-박스 연산부
    를 포함하는 대칭키 암호화 시스템의 마스킹 연산 장치.
  12. 제 11 항에 있어서,
    상기 마스킹 연산 장치는,
    상기 제1 S-박스와 상기 제2 S-박스 간의 관계식을 분석하는 S-박스 관계식 분석부를 더 포함하는
    대칭키 암호화 시스템의 마스킹 연산 장치.
  13. 제 12 항에 있어서,
    상기 마스킹 S-박스 연산부는, 상기 S-박스 관계식 분석부의 상기 관계식의 분석 결과에 따라 상기 제2 마스킹 S-박스를 연산하는
    대칭키 암호화 시스템의 마스킹 연산 장치.
  14. 제 13 항에 있어서,
    상기 관계식은,
    Figure 112013057277275-pat00014
    이며,
    상기 S1[x]은 상기 제2 S-박스, 상기 S2[x]은 상기 제1 S-박스인
    대칭키 암호화 시스템의 마스킹 연산 장치.
  15. 제 14 항에 있어서,
    상기 관계식의 마스킹 S-박스 적용 후의 관계식은,
    Figure 112010003844037-pat00015

    대칭키 암호화 시스템의 마스킹 연산 장치.
  16. 제 11 항에 있어서,
    상기 적어도 둘 이상의 S-박스는, 8-비트 입력 값인
    대칭키 암호화 시스템의 마스킹 연산 장치.
  17. 제 11 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 대칭키 암호화 시스템은, SEED 암호화 시스템인
    대칭키 암호화 시스템의 마스킹 연산 장치.
  18. 제 11 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 대칭키 암호화 시스템은, ARIA 암호화 시스템인
    대칭키 암호화 시스템의 마스킹 연산 장치.
  19. 제 11 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 마스킹 연산 장치는, 논리 마스킹 연산을 포함하는
    대칭키 암호화 시스템의 마스킹 연산 장치.
  20. 제 11 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 마스킹 연산 장치는, 산술 마스킹 연산을 포함하는
    대칭키 암호화 시스템의 마스킹 연산 장치.
KR1020100005175A 2010-01-20 2010-01-20 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치 KR101334040B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100005175A KR101334040B1 (ko) 2010-01-20 2010-01-20 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치
US12/872,953 US8681985B2 (en) 2010-01-20 2010-08-31 Masking operation method and device for symmetric key encrypted system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100005175A KR101334040B1 (ko) 2010-01-20 2010-01-20 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20110085403A KR20110085403A (ko) 2011-07-27
KR101334040B1 true KR101334040B1 (ko) 2013-11-28

Family

ID=44277601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100005175A KR101334040B1 (ko) 2010-01-20 2010-01-20 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치

Country Status (2)

Country Link
US (1) US8681985B2 (ko)
KR (1) KR101334040B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707053B2 (en) * 2011-02-09 2014-04-22 Apple Inc. Performing boolean logic operations using arithmetic operations by code obfuscation
CN103368725B (zh) * 2012-04-06 2016-08-31 中国科学院软件研究所 一种g0类s盒构造方法及其电路
CN103378968B (zh) * 2012-04-16 2016-08-03 中国科学院软件研究所 一种g1类s盒构造方法及其电路
CN102710415B (zh) * 2012-06-18 2015-03-11 西安西电捷通无线网络通信股份有限公司 一种利用对称密码算法进行数据加解密的方法及查表装置
EP2992637A1 (en) * 2013-05-01 2016-03-09 Koninklijke Philips N.V. Electronic block cipher device suitable for obfuscation
FR3059447A1 (fr) * 2016-11-28 2018-06-01 Proton World International N.V. Brouillage du fonctionnement d'un circuit integre
EP3557813A1 (en) * 2018-04-17 2019-10-23 Gemalto Sa Method secured against side-channel attacks performing an arithmetic operation of a cryptographic algorithm mixing boolean and arithmetic operations
KR102038598B1 (ko) * 2018-11-08 2019-10-30 국민대학교산학협력단 커플링 효과 대응형 암호화 장치 및 방법

Citations (4)

* 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
EP1724961B1 (en) 2005-05-10 2007-09-26 Research In Motion Limited Key Masking for Cryptographic Processes using a Combination of Random Mask Values
KR100834096B1 (ko) * 2007-05-11 2008-06-02 한국전자통신연구원 고차 전력분석공격에 대응하는 블록 암호 알고리즘aria의 암호화 방법
KR20080073345A (ko) * 2005-11-21 2008-08-08 아트멜 코포레이션 암호화 보호 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK1193665T3 (da) * 2000-03-09 2012-04-02 Mitsubishi Electric Corp Blokkrypteringsindretning, som anvender hjælpekonvertering
FR2820914A1 (fr) 2001-02-15 2002-08-16 Bull Cp8 Procede de securisation d'un ensemble electronique mettant en oeuvre en algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant
DE10304451B3 (de) 2003-02-04 2004-09-02 Infineon Technologies Ag Modulare Exponentiation mit randomisiertem Exponenten

Patent Citations (4)

* 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
EP1724961B1 (en) 2005-05-10 2007-09-26 Research In Motion Limited Key Masking for Cryptographic Processes using a Combination of Random Mask Values
KR20080073345A (ko) * 2005-11-21 2008-08-08 아트멜 코포레이션 암호화 보호 방법
KR100834096B1 (ko) * 2007-05-11 2008-06-02 한국전자통신연구원 고차 전력분석공격에 대응하는 블록 암호 알고리즘aria의 암호화 방법

Also Published As

Publication number Publication date
KR20110085403A (ko) 2011-07-27
US20110176678A1 (en) 2011-07-21
US8681985B2 (en) 2014-03-25

Similar Documents

Publication Publication Date Title
KR101334040B1 (ko) 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치
US9584311B2 (en) Decrypting data
Oswald et al. Template attacks on masking—resistance is futile
JP4632950B2 (ja) 個人鍵を用いた耐タンパ暗号処理
EP2207087B1 (en) Method for protecting a cryptographic device against SPA, DPA and timing attacks
US9166789B2 (en) Cryptographic processing apparatus
AU782868B2 (en) Information processing device, information processing method and smartcard
US20140016772A1 (en) Encrypting device, encrypting method, and recording medium
US20180183569A1 (en) Key processing method and device
KR101601684B1 (ko) 부채널 공격에 대응하는 대칭키 암호 알고리즘 구현 방법
Sadkhan et al. A proposed ANFIS evaluator for RSA cryptosystem used in cloud networking
EP3891925B1 (en) A computation device using shared shares
CN105681033B (zh) 一种多变量二次方程的乱序加密装置
CN105740730B (zh) 芯片中安全的点乘实现方法
KR101276683B1 (ko) Seed 암호화 시스템의 f-함수 처리 장치 및 방법
KR101344402B1 (ko) Rsa 서명 방법 및 장치
CN102932147B (zh) 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法
US10133554B2 (en) Non-modular multiplier, method for non-modular multiplication and computational device
CN105743644A (zh) 一种多变量二次方程的掩码加密装置
Saxena et al. PRDSA: effective parallel digital signature algorithm for GPUs
KR102466273B1 (ko) 암호 연산 멀티스레딩 장치 및 방법
Lee et al. Acceleration of differential power analysis through the parallel use of gpu and cpu
JP4968443B2 (ja) 暗号演算処理方法および暗号演算処理装置
Salam et al. Algebraic Analysis of Shrinking Generator
CN104573544A (zh) 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee