KR101276683B1 - Method and apparatus for processing f-function in seed encryption system - Google Patents

Method and apparatus for processing f-function in seed encryption system Download PDF

Info

Publication number
KR101276683B1
KR101276683B1 KR1020090123130A KR20090123130A KR101276683B1 KR 101276683 B1 KR101276683 B1 KR 101276683B1 KR 1020090123130 A KR1020090123130 A KR 1020090123130A KR 20090123130 A KR20090123130 A KR 20090123130A KR 101276683 B1 KR101276683 B1 KR 101276683B1
Authority
KR
South Korea
Prior art keywords
masking
value
arithmetic
function
encryption system
Prior art date
Application number
KR1020090123130A
Other languages
Korean (ko)
Other versions
KR20110020153A (en
Inventor
최두호
강유성
김주한
오경희
김태성
최용제
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US12/784,789 priority Critical patent/US8615078B2/en
Publication of KR20110020153A publication Critical patent/KR20110020153A/en
Application granted granted Critical
Publication of KR101276683B1 publication Critical patent/KR101276683B1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • G09C1/06Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system wherein elements corresponding to the signs making up the clear text are operatively connected with elements corresponding to the signs making up the ciphered text, the connections, during operation of the apparatus, being automatically and continuously permuted by a coding or key member
    • G09C1/10Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system wherein elements corresponding to the signs making up the clear text are operatively connected with elements corresponding to the signs making up the ciphered text, the connections, during operation of the apparatus, being automatically and continuously permuted by a coding or key member the connections being electrical
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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/12Details relating to cryptographic hardware or logic circuitry

Abstract

마스킹(masking) 기법은 알고리즘 레벨에서 부채널 분석 공격을 방지하는 대표적인 기술로서, 원래의 암호화 되야 하는 데이터들에 랜덤(random)한 데이터를 더하거나, XOR(eXclusive OR) 연산하여, 수집된 전력파형이나 전자기파 데이터의 통계적인 분석을 통한 비밀정보 추출을 어렵게 하는 방법이다. 또한, SEED 알고리즘은 국내 표준 대칭키 암호화 알고리즘으로서, IC카드나 전자상거래 등에서 널리 사용하고 있다. 본 발명에서는, 이러한 SEED 알고리즘의 F-함수에 대해 마스킹 기법을 적용하여 일차 전력/전자파 부채널 분석 공격으로부터 안전한 SEED 알고리즘의 F-함수를 마련하고자 한다.Masking technique is a representative technique that prevents side channel analysis attack at the algorithm level. The random data is added to the original data to be encrypted or XOR (eXclusive OR) operation is performed to collect the collected power waveform or This method makes it difficult to extract secret information through statistical analysis of electromagnetic wave data. In addition, the SEED algorithm is a domestic standard symmetric key encryption algorithm, and is widely used in IC cards and electronic commerce. In the present invention, a masking technique is applied to the F-function of the SEED algorithm to prepare the F-function of the SEED algorithm that is safe from primary power / electromagnetic subchannel analysis attacks.

부채널, 마스킹, SEED, F-함수 Subchannel, Masking, SEED, F-Function

Description

SEED 암호화 시스템의 F-함수 처리 장치 및 방법{METHOD AND APPARATUS FOR PROCESSING F-FUNCTION IN SEED ENCRYPTION SYSTEM}F-function processing apparatus and method of SEED encryption system {METHOD AND APPARATUS FOR PROCESSING F-FUNCTION IN SEED ENCRYPTION SYSTEM}

본 발명은 대칭키 암호화 기법의 하나인 SEED 암호화 기술에 관한 것으로, 특히, 일차 전력/전자파 부채널 분석 공격을 방지하는데 적합한 SEED 암호화 시스템의 F-함수 처리 장치 및 방법에 관한 것이다.The present invention relates to SEED encryption technology, which is one of symmetric key encryption techniques, and more particularly, to an apparatus and method for processing F-functions of a SEED encryption system suitable for preventing a primary power / electromagnetic subchannel analysis attack.

본 발명은 지식경제부의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[2009-F-055-01, 부채널 공격 방지 원천 기술 및 안전성 검증 기술 개발].The present invention is derived from a study conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy [2009-F-055-01, the development of source channel prevention technology and safety verification technology].

부채널 공격은 암호화 알고리즘에 대한 강력한 공격 기법 중의 하나로서, 이러한 부채널 공격 기술은 점차 보안 제품에 대한 커다란 위협 요소가 되고 있다. 특히, 전력/전자파 부채널 분석은 암호 알고리즘 구동 시 소비되는 소비전력이나 발생하는 전자기파를 수집하여 이를 통계적인 분석을 통해 암호 알고리즘의 비밀정보(주로, 키 정보)를 분석해 내는 공격 방법이다.Side-channel attacks are one of the strongest attacking techniques against encryption algorithms, and these side-channel attacks are becoming a huge threat to security products. In particular, the power / electromagnetic subchannel analysis is an attack method that analyzes secret information (mainly key information) of the encryption algorithm through statistical analysis by collecting power consumption or generated electromagnetic waves when driving the encryption algorithm.

이러한 전력/전자파 부채널 분석 공격을 막기 위해, 다양한 방지 기법이 제 시되고 있는데, 그 중 마스킹 기법은, 알고리즘 레벨에서 부채널 분석 공격을 방지하는 대표적인 방법이다. 마스킹 기법은 원래의 암호화 되야 하는 데이터들에 랜덤(random)한 데이터를 더하거나, 논리연산, 예를 들면 XOR(eXclusive OR) 연산하여, 수집된 전력파형이나 전자기파 데이터의 통계적인 분석을 통한 비밀정보 추출을 어렵게 하는 방법이다.In order to prevent such power / electromagnetic subchannel analysis attacks, various prevention techniques have been proposed. Among them, masking techniques are representative methods for preventing subchannel analysis attacks at the algorithm level. Masking technique extracts secret information through statistical analysis of collected power waveform or electromagnetic wave data by adding random data to the original data to be encrypted or by performing logical operation, for example, eXclusive OR (XOR) operation. It is a way to make it difficult.

그런데, 이러한 종래의 마스킹 기법에서 마스킹 F-함수를 구성할 경우에는, 산술연산 마스킹 값, 예를 들면 232 모듈러 덧셈 마스킹 값을 논리연산 마스킹 값, 예를 들면 XOR 마스킹 값으로 변환하는 절차를 여러 번 사용해야 한다는 문제가 있다.However, when constructing a masking F-function in such a conventional masking technique, a procedure for converting an arithmetic masking value, for example, 2 32 modular addition masking value, into a logical arithmetic masking value, for example, an XOR masking value, may be used. The problem is that you have to use it once.

본 발명은 국내 표준 대칭키 암호 알고리즘으로 IC카드나 전자상거래 등에서 사용하고 있는 SEED 알고리즘의 F-함수를 일차 전력/전자파 부채널 분석 공격에 안전하도록 마스킹 방법을 이용하여 F-함수를 변형 설계하되, 마스킹 F-함수의 내부에서 산술연산 마스킹 값, 예컨대 232 모듈러 덧셈 마스킹 값을 논리연산 마스킹 값, 예컨대 XOR 마스킹 값으로 변환하는 절차를 한번도 사용하지 않도록 마스킹 F-함수를 설계할 수 있는 SEED 암호화 시스템의 F-함수 처리 기술을 마련하고자 한다.In the present invention, the F-function of the SEED algorithm, which is used in IC cards or electronic commerce, is a domestic standard symmetric key cryptographic algorithm. SEED encryption system that allows you to design masking F-functions so that you do not have to use a procedure that converts arithmetic masking values, such as 2 32 modular addition masking values, to logical operation masking values, such as XOR masking values, inside a masking F-function. We want to come up with an F-function processing technique.

본 발명의 과제를 해결하기 위한 SEED 암호화 시스템의 F-함수 처리 장치 에 따르면, SEED F-함수 입력값과 랜덤 마스킹 값을 논리 연산한 논리연산 마스킹 값을 산술연산 마스킹 값으로 변환하는 산술연산 마스킹 변환부와, 상기 산술연산 마스킹 변환부의 산술연산 마스킹 값을 입력으로 하여 산술연산 출력을 부여하는 마스킹 G-함수부를 포함할 수 있다.According to the F-function processing apparatus of the SEED encryption system for solving the problems of the present invention, an arithmetic masking transformation for converting a logical operation masking value obtained by performing a logical operation on the SEED F-function input value and the random masking value into an arithmetic masking value. And a masking G-function unit configured to provide an arithmetic output by inputting an arithmetic masking value of the arithmetic masking converter.

여기서, 상기 SSED F-함수 입력값은 32-비트 데이터일 수 있다.Here, the SSED F-function input value may be 32-bit data.

또한, 상기 랜덤 마스킹 값은 8-비트 랜덤 데이터를 이용한 32-비트 랜덤 마스킹 값일 수 있다.The random masking value may be a 32-bit random masking value using 8-bit random data.

또한, 상기 논리연산 마스킹 값은 불린(Boolean) 마스킹 값일 수 있다.In addition, the logical masking value may be a Boolean masking value.

또한, 상기 불린 마스킹 값은 XOR(eXclusive OR) 마스킹 값일 수 있다.In addition, the boolean masking value may be an eXclusive OR (XOR) masking value.

또한, 상기 산술연산 마스킹 값은 232 모듈러 덧셈 마스킹 값일 수 있다.The arithmetic masking value may be 2 32 modular addition masking values.

또한, 상기 마스킹 G-함수부는 28 모듈러 덧셈 마스킹 값을 입력으로 XOR 마스킹 출력 값을 부여할 수 있다.In addition, the masking G-function unit may assign an XOR masking output value as an input of a 2 8 modular addition masking value.

또한, 상기 마스킹 G-함수부는 32-비트 산술연산 마스킹을 8-비트 산술연산 마스킹으로 변환할 수 있다.In addition, the masking G-function unit may convert 32-bit arithmetic masking into 8-bit arithmetic masking.

또한, 상기 마스킹 G-함수부는 상기 산술연산 마스킹 값을 입력으로 하여 제2의 논리연산 마스킹 값을 출력하기 위한 마스킹된 S-박스 테이블을 생성할 수 있 다.The masking G-function unit may generate a masked S-box table for outputting a second logical masking value by inputting the arithmetic masking value.

본 발명의 과제를 해결하기 위한 SEED 암호화 시스템의 F-함수 처리 방법 에 따르면, SEED F-함수 입력값과 랜덤 마스킹 값을 논리 연산한 논리연산 마스킹 값을 산술연산 마스킹 값으로 변환하는 과정과, 변환되는 상기 산술연산 마스킹 값을 입력으로 하여 산술연산 출력을 부여하는 과정과, 상기 변환하는 과정 및 부여하는 과정을 통해 전체 마스킹 F-함수를 생성하는 과정을 포함할 수 있다.According to the F-function processing method of the SEED encryption system for solving the problem of the present invention, the process of converting the logical operation masking value of the logical operation of the SEED F-function input value and the random masking value to an arithmetic masking value, and the conversion The method may include a process of providing an arithmetic output by inputting the arithmetic masking value to be input, and generating a total masking F-function through the converting and assigning.

여기서, 상기 SSED F-함수 입력값은 32-비트 데이터일 수 있다.Here, the SSED F-function input value may be 32-bit data.

또한, 상기 랜덤 마스킹 값은 8-비트 랜덤 데이터를 이용한 32-비트 랜덤 마스킹 값일 수 있다.The random masking value may be a 32-bit random masking value using 8-bit random data.

또한, 상기 논리연산 마스킹 값은 불린(Boolean) 마스킹 값일 수 있다.In addition, the logical masking value may be a Boolean masking value.

또한, 상기 불린 마스킹 값은 XOR(eXclusive OR) 마스킹 값일 수 있다.In addition, the boolean masking value may be an eXclusive OR (XOR) masking value.

또한, 상기 산술연산 마스킹 값은 232 모듈러 덧셈 마스킹 값일 수 있다.The arithmetic masking value may be 2 32 modular addition masking values.

또한, 상기 마스킹 G-함수부는 28 모듈러 덧셈 마스킹 값을 입력으로 XOR 마스킹 출력 값을 부여할 수 있다.In addition, the masking G-function unit may assign an XOR masking output value as an input of a 2 8 modular addition masking value.

또한, 상기 방법은, 상기 28 모듈러 덧셈 마스킹 값을 입력으로 상기 XOR 마스킹 출력 값을 줄 수 있는 마스킹된 상기 S-박스 테이블을 생성하는 과정과, 232 모듈러 덧셈 마스킹된 값을 상기 28 모듈러 덧셈 마스킹값으로 변환하는 과정을 더 포함할 수 있다.The method may further include generating the masked S-box table capable of giving the XOR masking output value by inputting the 2 8 modular addition masking value, and converting the 2 32 modular addition masked value to the 2 8 modular addition masking value. The method may further include converting to an additive masking value.

또한, 상기 마스킹된 S-박스 테이블은, 상기 산술연산 마스킹 값을 입력으로 하여 제2의 논리연산 마스킹 값을 출력할 수 있다.In addition, the masked S-box table may output a second logical operation masking value by inputting the arithmetic operation masking value.

또한, 상기 방법은, 32-비트 산술연산 마스킹을 8-비트 산술연산 마스킹으로 변환하는 과정을 더 포함할 수 있다.The method may further include converting 32-bit arithmetic masking to 8-bit arithmetic masking.

본 발명의 과제를 해결하기 위한 SEED 암호화 시스템의 F-함수 처리 방법 에 따르면, 랜덤 마스킹 값을 선택하는 과정과, 산술연산 마스킹 입력으로 논리연산 마스킹 출력을 부여하는 마스킹 S-박스 테이블을 생성하는 과정과, 32-비트 산술연산 마스킹을 8-비트 산술연산 마스킹으로 변환하는 과정과, 상기 생성하는 과정 및 변환하는 과정을 이용한 산술연산 입력으로 산술연산 출력을 부여하는 마스킹 G-함수를 생성하는 과정과, 전체 마스킹 F-함수를 생성하는 과정을 포함할 수 있다.According to the F-function processing method of the SEED encryption system for solving the problems of the present invention, the process of selecting a random masking value, and the process of generating a masking S-box table to give a logical operation masking output as an arithmetic masking input Converting 32-bit arithmetic masking to 8-bit arithmetic masking; and generating a masking G-function that gives an arithmetic output to the arithmetic input using the generating and converting operations. And generating a full masking F-function.

본 발명에 의하면, 국내 표준 대칭키 알고리즘인 SEED에 대한 일차 전력/전자기파 부채널 분석 공격을 방지할 수 있는 SEED의 마스킹 F-함수 설계 기술을 마련함으로써, 마스킹 F-함수의 내부에서 산술연산 마스킹 값, 예컨대 232 모듈러 덧셈 마스킹 값을 논리연산 마스킹 값, 예컨대 XOR 마스킹 값으로 변환하는 절차를 한번도 사용하지 않도록 마스킹 F-함수를 설계하여 구현 효율성을 높일 수 있다.According to the present invention, by providing a masking F-function design technology of SEED that can prevent the primary power / electromagnetic side channel analysis attack on SEED, a national standard symmetric key algorithm, the arithmetic masking value inside the masking F-function For example, a masking F-function can be designed so as not to use a procedure of converting a 2 32 modular addition masking value to a logic masking value, for example, an XOR masking value, to improve implementation efficiency.

SEED F-함수에서는, 도 1에 도시한 바와 같이, 이진 연산과, 비선형 S-box 연산, 그리고 232 비트 모듈러 덧셈 연산(산술연산)으로 이루어져 있어서, 기본적으로 마스킹 F-함수를 구성하기 위해서는 아래와 같은 3가지의 추가 알고리즘들이 필요하다.In the SEED F-function, as shown in Fig. 1, binary operations, non-linear S-box operations, and 2 32- bit modular addition operations (arithmetic) are used. The same three additional algorithms are needed.

(1) MS-box: 논리연산 마스킹 입력, 예컨대 XOR 마스킹 입력을 XOR 마스킹 출력으로 하는 마스킹 S-box 테이블(1) MS-box: Masking S-box table with logic operation masking input, for example, XOR masking input as XOR masking output

(2) B2A: 논리연산 마스킹 값, 예컨대 XOR 마스킹(Boolean masking) 값을 산술연산 마스킹 값, 예컨대 232 모듈러 덧셈 마스킹(Arithmetic masking) 값으로 변환하는 알고리즘(2) B2A: Algorithm for converting a logical masking value, such as an XOR Boolean masking value, to an arithmetic masking value, for example, 2 32 modular addition masking value.

(3) A2B: 산술연산 마스킹 값, 예컨대 232 모듈러 덧셈 마스킹 값을 논리연산마스킹 값, 예컨대 XOR 마스킹 값으로 변환하는 알고리즘(3) A2B: Algorithm for converting arithmetic masking values, such as 2 32 modular addition masking values, to logical arithmetic masking values, such as XOR masking values

본 발명에서는, 28 모듈러 덧셈 마스킹 입력, XOR 마스킹 출력인 새로운 마스킹 S-box 테이블을 사용하여, XOR 마스킹을 232 모듈러 덧셈 마스킹으로 변환하는 알고리즘(B2A)만을 사용하고, 232 모듈러 덧셈 마스킹을 XOR 마스킹으로 변환하는 알고리즘(A2B)이 마스킹 F-함수 내부에서 필요하지 않도록 설계, 즉 산술연산 마스킹 변환 알고리즘만이 사용되도록 설계하여 마스킹 F-함수의 효율성을 높이도록 한 것을 특징으로 한다.In the present invention, using 2 8 modular addition masking input and a new masking S-box table, which is an XOR masking output, using only an algorithm (B2A) for converting XOR masking to 2 32 modular addition masking, and using 2 32 modular addition masking. The algorithm for converting to XOR masking (A2B) is designed so that it is not necessary inside the masking F-function, that is, designed to use only an arithmetic masking conversion algorithm to increase the efficiency of the masking F-function.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 도면부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like numbers refer to like elements throughout.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions in the embodiments of the present invention, which may vary depending on the intention of the user, the intention or the custom of the operator. Therefore, the definition should be based on the contents throughout this specification.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Each block of the accompanying block diagrams and combinations of steps of the flowchart may be performed by computer program instructions. These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment such that instructions executed through the processor of the computer or other programmable data processing equipment may not be included in each block or flowchart of the block diagram. It will create means for performing the functions described in each step. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of each step of the block diagram. Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions that perform processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Also, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.

이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대해 구체적으로 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail an embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 SEED 암호화 시스템의 F-함수 처리 장치 및 방법을 설명하기 위한 마스킹 F-함수의 설계 구조를 예시한 것이다.Figure 2 illustrates a design structure of a masking F-function for explaining the F-function processing apparatus and method of the SEED encryption system according to an embodiment of the present invention.

도 2에 예시한 바와 같이, 본 실시예에 따른 SEED 암호화 시스템의 F-함수 처리 장치는, 논리 연산기(10)(12)(14)(16)(18), 산술 연산기(20)(22), 산술연산 마스킹 변환부(B2A)(400)(402), 마스킹 G-함수부(MG)(500)(502)(504), 산술연산부(MA)(600)(602)(604)를 포함할 수 있다.As illustrated in FIG. 2, the F-function processing apparatus of the SEED encryption system according to the present embodiment includes a logical operator 10, 12, 14, 16, 18, and arithmetic operator 20, 22. Arithmetic masking transform (B2A) 400, 402, masking G-function (MG) 500, 502, 504, arithmetic (MA) 600, 602, 604 can do.

또한, 도 2에서 R0(100), R1(101)은 32-비트 랜덤 마스킹 데이터로서, 이러한 32-비트 랜덤 마스킹 데이터는 8-비트 랜덤 데이터인 r0, r을 이용하여 다음 [수학식 1]과 같이 구성될 수 있다.In addition, in FIG. 2, R 0 (100) and R 1 (101) are 32-bit random masking data. Such 32-bit random masking data is represented by the following [Equation 1 using r0, r, which are 8-bit random data. ] Can be configured as follows.

Figure 112009076640556-pat00001
Figure 112009076640556-pat00001

여기서, "|"는 데이터의 병렬연결을 의미한다.Here, "|" means parallel connection of data.

C(200) 및 D(200)는 SEED F-함수 입력값, C'(200') 및 D'(202')는 SEED F-함수 출력값을 각각 의미하는 것으로, 이들 값들은, 예를 들면 32-비트 데이터로 이루어질 수 있다.C 200 and D 200 are SEED F-function input values, C '200' and D '202' are SEED F-function output values, respectively. It may consist of bit data.

K0(300) 및 K1(302)은 각각 SEED F-함수의 왼쪽과 오른쪽 라운드 키(round key)를 의미한다.K 0 300 and K 1 302 mean the left and right round keys of the SEED F-function, respectively.

도 2에 예시한 바와 같이, 논리 연산기(10, 12, 14, 16, 18)는, 예를 들면 XOR(eXclusive OR) 연산기가 적용될 수 있으며, 산술 연산기(20, 22)는, 예를 들면 232 모듈러 덧셈 연산기가 적용될 수 있을 것이다.As illustrated in FIG. 2, the logical operators 10, 12, 14, 16, and 18 may be applied with, for example, an XOR (eXclusive OR) operator, and the arithmetic operators 20, 22 may be, for example, 2. 32 Modular addition operators could be applied.

산술연산 마스킹 변환부(400)(402)는, 논리연산 마스킹 값, 예컨대 XOR 마스킹(Boolean masking) 값을 산술연산 마스킹 값, 예컨대 232 모듈러 덧셈 마스킹(Arithmetic masking) 값으로 변환하는 역할을 수행하는 수단으로서, 예를 들면 산술연산 마스킹 변환부(400)은 논리 연산기(12)를 통해 입력되는 논리연산 값을 산술연산 마스킹 값으로 변환할 수 있다.The arithmetic masking converter 400 or 402 converts a logical masking value, for example, an XOR masking value, into an arithmetic masking value, for example, 2 32 modular addition masking values. As a means, for example, the arithmetic masking converter 400 may convert a logical operation value input through the logical operator 12 into an arithmetic masking value.

이러한 산술연산 마스킹 변환부(400)(402)는, 기존의 다양한 변환 기법이 적용될 수 있음을 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 용이하게 알 수 있을 것이다.Such arithmetic masking converter 400 and 402 will be readily appreciated by those skilled in the art that various conventional transformation techniques may be applied.

마스킹 G-함수부(MG)(500)(502)(504)는 산술연산 마스킹 값, 예컨대 28 모듈러 덧셈 마스킹 값을 입력으로 하고, 논리연산 마스킹 값, 예컨대 XOR 마스킹 값을 출력할 수 있는 마스킹 된 S-박스(box) 테이블을 생성하며, 이를 통해 산술연산 입력으로 산술연산 출력을 주는 마스킹 G-함수를 출력하는 역할을 한다.Masking G-function (MG) 500, 502, 504 is a masking value capable of outputting an arithmetic masking value, for example, a 2 8 modular addition masking value, and outputting a logical operation masking value, for example, an XOR masking value. It generates a table of S-boxes, and outputs a masking G-function that gives arithmetic output as an arithmetic input.

이때의 마스킹 S-박스 테이블 생성 기법은 도 3에 예시한 바와 같다.The masking S-box table generation technique at this time is as illustrated in FIG. 3.

도 3에 예시한 바와 같이, 마스킹 S-박스 생성 기법의 특징은, 기존의 XOR 마스킹 입력과 XOR 마스킹 출력을 가지는 마스킹 S-박스와는 달리, 28 모듈러 덧셈 마스킹 값을 입력으로 XOR 마스킹 출력 값을 줄 수 있는 마스킹 된 S-박스 테이블을 생성할 수 있다는 점이다.As illustrated in FIG. 3, a feature of the masking S-box generation technique is that, unlike a conventional masking S-box having an XOR masking input and an XOR masking output, the XOR masking output value is inputted with 2 8 modular addition masking values. You can create a masked S-box table that can give you

도 4는 마스킹 G-함수(MG)에 대해 기술하고 있으며, 마스킹 G-함수의 입력은 232 모듈러 덧셈 마스킹 X', R, X'=X-R mod 232 이며, 마스킹 G-함수의 출력은 Z'=Z-R0, Z=G(X)이다(여기서, G(X)는 원래의 SEED G-함수의 출력 값을 의미할 수 있다.).Figure 4 describes the masking G-function (MG), the input of the masking G-function is 2 32 modular addition masking X ', R, X' = XR mod 2 32 , the output of the masking G-function is Z '= ZR 0 , Z = G (X) (where G (X) can mean the output value of the original SEED G-function).

도 4에서 C32 ,8(X', r)은, 232 모듈러 덧셈 마스킹된 값을 각 바이트 단위의 28 덧셈 마스킹된 값으로 변환해 주는 알고리즘을 의미할 수 있다.In FIG. 4, C 32 , 8 (X ′, r) may refer to an algorithm for converting a 2 32 modular addition masked value to a 2 8 addition masked value of each byte unit.

이러한 도 4의 C32 ,8(X', r) 함수는 도 5와 같이 구성될 수 있으며, C32 ,8(X', r) 함수는 232 모듈러 덧셈 마스킹 입력을 각 바이트 단위의 모듈러 덧셈 마스킹 값으로 변환해 주는 알고리즘이다.The C 32 , 8 (X ', r) function of FIG. 4 may be configured as shown in FIG. 5, and the C 32 , 8 (X', r) function adds 2 32 modular addition masking inputs to each byte unit. This algorithm converts masking values.

도 4에서 마스킹 G-함수는 232 모듈러 덧셈 마스킹이 된 입력 값으로부터 도 3의 마스킹 S-박스를 이용하여 SEED G-함수와 동일한 절차를 수행한 후, 산술연산(232 모듈러 덧셈) 마스킹 변환부(B2A)를 이용하여 산술연산 마스킹 된, 즉 232 모듈러 덧셈 마스킹 된 값으로 출력을 하도록 하여, 일반적인 마스킹 G-함수의 입력 과 출력이 XOR 마스킹된 값인 것과는 다른 구조를 가지고 있으며, 이를 통해 마스킹 G-함수 이후, 산술(232 모듈러 덧셈) 연산부(MA)(600)의 입력을 위해 추가의 변환 기법, 즉 232 모듈러 덧셈 마스킹을 XOR 마스킹으로 변환하는 기법이 필요하지 않아 연산 효율성을 높일 수 있다.G- masking function in Figure 4 and then following the same procedure as in SEED G- function using the second masking 32 S- box of Figure 3 from the modular addition masking the input value, an arithmetic operation (232 modular addition) masking transform It outputs with arithmetic masked value, that is, 2 32 modular addition masked values using negative (B2A), and has a different structure from the input and output of a general masking G-function that is an XOR masked value. After the G-function, no additional conversion technique is required for input of the arithmetic (2 32 modular addition) operation unit (MA) 600, that is, 2 32 modular addition masking to XOR masking to increase the computational efficiency. have.

한편, 도 2에서 산술연산부(MA)(600)(6002)(604)는, 예컨대 232 모듈러 덧셈부가 적용될 수 있으며, 이러한 산술연산부(MA)(600)(6002)(604), 특히 산술연산부(MA)(600)는 도 6에 예시한 바와 같이, 마스킹 된 입력에 대한 232 모듈러 덧셈 연산을 수행할 수 있다.Meanwhile, in FIG. 2, the arithmetic operators (MA) 600, 6002 and 604 may be applied to, for example, 2 32 modular adders. Such arithmetic operations (MA) 600, 6002 and 604, in particular, arithmetic operators As illustrated in FIG. 6, the (MA) 600 may perform a 2 32 modular add operation on the masked input.

도 6에서 산술연산부(MA)(600)는 R0로 232 모듈러 덧셈 마스킹된 두 개의 입력 X'=X-R0 mod 232, Y'=Y-R0 mod 232를, R로 232 모듈러 덧셈 마스킹된 값(X+Y)-R mod 232를 각각 출력할 수 있을 것이다.In Figure 6, an arithmetic operation unit (MA) (600) 2 32 modular addition two input masked X '= XR 0 mod 2 32 , Y' 2 32 modular addition mask = YR 0 mod 232, to the R to R 0 You can print out the set value (X + Y) -R mod 2 32 respectively.

끝으로, 도면부호 1000은, 덧셈 마스킹 제거를 설명하는 것으로, 한 라운드에 대한 마스킹 F-함수 설계방법만을 기술하기 때문에 덧셈 마스킹된 값을 제거하는 절차를 나타내고 있다.Finally, reference numeral 1000, which describes addition masking removal, describes a procedure for removing an additive masked value because it describes only a masking F-function design method for one round.

이상 설명한 바와 같이, 본 실시예에 따르면, 국내 표준 대칭키 알고리즘인 SEED에 대한 일차 전력/전자기파 부채널 분석 공격을 방지할 수 있는 SEED의 마스킹 F-함수 설계 기술을 마련함으로써, 마스킹 F-함수의 내부에서 산술연산 마스킹 값, 예컨대 232 모듈러 덧셈 마스킹 값을 논리연산 마스킹 값, 예컨대 XOR 마스킹 값으로 변환하는 절차를 한번도 사용하지 않도록 마스킹 F-함수를 설계하여 구현 효율성을 높일 수 있다.As described above, according to the present embodiment, by providing a masking F-function design technique of SEED that can prevent the primary power / electromagnetic side channel analysis attack on SEED, a national standard symmetric key algorithm, Implementation efficiency can be improved by designing a masking F-function so that the procedure of converting an arithmetic masking value, for example, 2 32 modular addition masking value, into a logical masking value, such as an XOR masking value, is not used at all.

도 1은 SEED F-함수의 예시도,1 is an exemplary diagram of a SEED F-function,

도 2는 본 실시예에 따른 SEED 암호화 시스템의 F-함수 처리 기법을 설명하는 예시도,2 is an exemplary diagram illustrating an F-function processing technique of the SEED encryption system according to the present embodiment;

도 3은 본 실시예에 따른 마스킹 S-box 생성을 설명하는 예시도,3 is an exemplary diagram illustrating creation of a masking S-box according to the present embodiment;

도 4는 본 실시예에 따른 마스킹 G-함수를 설명하는 예시도,4 is an exemplary diagram illustrating a masking G-function according to the present embodiment;

도 5는 도 4의 C32 ,8(X’, r) 기법을 설명하는 예시도.5 is an exemplary diagram illustrating the C 32 , 8 (X ′, r) technique of FIG. 4.

도 6은 본 실시예에 따른 마스킹 덧셈 알고리즘을 설명하는 예시도.6 is an exemplary diagram for explaining a masking addition algorithm according to the present embodiment.

Claims (20)

SEED F-함수 입력값과 랜덤 마스킹 값을 논리 연산한 논리연산 마스킹 값을 산술연산 마스킹 값으로 변환하는 산술연산 마스킹 변환부와,An arithmetic masking converter for converting a logical operation masking value obtained by logically calculating a SEED F-function input value and a random masking value into an arithmetic masking value; 상기 산술연산 마스킹 변환부의 산술연산 마스킹 값을 입력으로 하여 산술연산 출력을 부여하는 마스킹 G-함수부를 포함하는 A masking G-function unit configured to provide an arithmetic output by inputting an arithmetic masking value of the arithmetic masking converter; SEED 암호화 시스템의 F-함수 처리 장치.F-Function Processing Unit for SEED Encryption System. 제 1 항에 있어서,The method of claim 1, 상기 SEED F-함수 입력값은 32-비트 데이터인 The SEED F-function input value is 32-bit data SEED 암호화 시스템의 F-함수 처리 장치.F-Function Processing Unit for SEED Encryption System. 제 1 항에 있어서,The method of claim 1, 상기 랜덤 마스킹 값은 8-비트 랜덤 데이터를 이용한 32-비트 랜덤 마스킹 값인 The random masking value is a 32-bit random masking value using 8-bit random data. SEED 암호화 시스템의 F-함수 처리 장치.F-Function Processing Unit for SEED Encryption System. 제 1 항에 있어서,The method of claim 1, 상기 논리연산 마스킹 값은 불린(Boolean) 마스킹 값인 The logical masking value is a Boolean masking value. SEED 암호화 시스템의 F-함수 처리 장치.F-Function Processing Unit for SEED Encryption System. 제 4 항에 있어서,5. The method of claim 4, 상기 불린 마스킹 값은 XOR(eXclusive OR) 마스킹 값인 The boolean masking value is an eXclusive OR (XOR) masking value. SEED 암호화 시스템의 F-함수 처리 장치.F-Function Processing Unit for SEED Encryption System. 제 1 항에 있어서,The method of claim 1, 상기 산술연산 마스킹 값은 232 모듈러 덧셈 마스킹 값인 The arithmetic masking value is 2 32 modular addition masking value SEED 암호화 시스템의 F-함수 처리 장치.F-Function Processing Unit for SEED Encryption System. 제 1 항에 있어서,The method of claim 1, 상기 마스킹 G-함수부는 28 모듈러 덧셈 마스킹 값을 입력으로 XOR 마스킹 출력 값을 부여하는 The masking G-function unit provides an XOR masking output value with an input of 2 8 modular addition masking values. SEED 암호화 시스템의 F-함수 처리 장치.F-Function Processing Unit for SEED Encryption System. 제 1 항에 있어서,The method of claim 1, 상기 마스킹 G-함수부는 32-비트 산술연산 마스킹을 8-비트 산술연산 마스킹으로 변환하는 The masking G-function unit converts 32-bit arithmetic masking into 8-bit arithmetic masking. SEED 암호화 시스템의 F-함수 처리 장치.F-Function Processing Unit for SEED Encryption System. 제 1 항에 있어서,The method of claim 1, 상기 마스킹 G-함수부는 상기 산술연산 마스킹 값을 입력으로 하여 제2의 논리연산 마스킹 값을 출력하기 위한 마스킹된 S-박스 테이블을 생성하는 The masking G-function unit generates a masked S-box table for outputting a second logical operation masking value by inputting the arithmetic operation masking value. SEED 암호화 시스템의 F-함수 처리 장치.F-Function Processing Unit for SEED Encryption System. SEED F-함수 입력값과 랜덤 마스킹 값을 논리 연산한 논리연산 마스킹 값을 산술연산 마스킹 값으로 변환하는 과정과,Converting a logical operation masking value obtained by logically calculating a SEED F-function input value and a random masking value to an arithmetic masking value, 변환되는 상기 산술연산 마스킹 값을 입력으로 하여 산술연산 출력을 부여하는 과정과,Providing an arithmetic output by inputting the converted arithmetic masking value; 상기 변환하는 과정 및 부여하는 과정을 통해 전체 마스킹 F-함수를 생성하는 과정을 포함하는 Generating the entire masking F-function through the converting and assigning SEED 암호화 시스템의 F-함수 처리 방법.F-function processing method of SEED encryption system. 제 10 항에 있어서,11. The method of claim 10, 상기 SEED F-함수 입력값은 32-비트 데이터인 The SEED F-function input value is 32-bit data SEED 암호화 시스템의 F-함수 처리 방법.F-function processing method of SEED encryption system. 제 10 항에 있어서,11. The method of claim 10, 상기 랜덤 마스킹 값은 8-비트 랜덤 데이터를 이용한 32-비트 랜덤 마스킹 값인 The random masking value is a 32-bit random masking value using 8-bit random data. SEED 암호화 시스템의 F-함수 처리 방법.F-function processing method of SEED encryption system. 제 10 항에 있어서,11. The method of claim 10, 상기 논리연산 마스킹 값은 불린(Boolean) 마스킹 값인 The logical masking value is a Boolean masking value. SEED 암호화 시스템의 F-함수 처리 방법.F-function processing method of SEED encryption system. 제 13 항에 있어서,The method of claim 13, 상기 불린 마스킹 값은 XOR(eXclusive OR) 마스킹 값인 The boolean masking value is an eXclusive OR (XOR) masking value. SEED 암호화 시스템의 F-함수 처리 방법.F-function processing method of SEED encryption system. 제 10 항에 있어서,11. The method of claim 10, 상기 산술연산 마스킹 값은 232 모듈러 덧셈 마스킹 값인 The arithmetic masking value is 2 32 modular addition masking value SEED 암호화 시스템의 F-함수 처리 방법.F-function processing method of SEED encryption system. 제 10 항에 있어서,11. The method of claim 10, 상기 산술연산 출력을 부여하는 과정은, 28 모듈러 덧셈 마스킹 값을 입력으로 XOR 마스킹 출력 값을 부여하는 과정을 포함하는The step of assigning the arithmetic output includes the step of assigning an XOR masking output value as an input to the 2 8 modular addition masking value. SEED 암호화 시스템의 F-함수 처리 방법.F-function processing method of SEED encryption system. 제 16 항에 있어서,17. The method of claim 16, 상기 방법은,The method comprises: 상기 28 모듈러 덧셈 마스킹 값을 입력으로 상기 XOR 마스킹 출력 값을 줄 수 있는 마스킹된 S-박스 테이블을 생성하는 과정과,Generating a masked S-box table capable of giving the XOR masking output value by inputting the 2 8 modular addition masking value; 232 모듈러 덧셈 마스킹된 값을 상기 28 모듈러 덧셈 마스킹값으로 변환하는 과정을 더 포함하는 And converting from 2 32 modular add masked values to the 2 8 modular add masking values. SEED 암호화 시스템의 F-함수 처리 방법.F-function processing method of SEED encryption system. 제 17 항에 있어서,The method of claim 17, 상기 마스킹된 S-박스 테이블은,The masked S-box table, 상기 산술연산 마스킹 값을 입력으로 하여 제2의 논리연산 마스킹 값을 출력하는Outputting a second logical masking value by inputting the arithmetic masking value; SEED 암호화 시스템의 F-함수 처리 방법.F-function processing method of SEED encryption system. 제 10 항에 있어서,11. The method of claim 10, 상기 방법은,The method comprises: 32-비트 산술연산 마스킹을 8-비트 산술연산 마스킹으로 변환하는 과정을 더 포함하는Further comprising converting 32-bit arithmetic masking to 8-bit arithmetic masking. SEED 암호화 시스템의 F-함수 처리 방법.F-function processing method of SEED encryption system. 랜덤 마스킹 값을 선택하는 과정과,Selecting a random masking value, 산술연산 마스킹 입력으로 논리연산 마스킹 출력을 부여하는 마스킹 S-박스 테이블을 생성하는 과정과,Generating a masking S-box table to which arithmetic masking output is given as an arithmetic masking input; 32-비트 산술연산 마스킹을 8-비트 산술연산 마스킹으로 변환하는 과정과,Converting 32-bit arithmetic masking to 8-bit arithmetic masking, 상기 생성하는 과정 및 변환하는 과정을 이용한 산술연산 입력으로 산술연산 출력을 부여하는 마스킹 G-함수를 생성하는 과정과,Generating a masking G-function giving an arithmetic output as an arithmetic input using the generating and converting process; 전체 마스킹 F-함수를 생성하는 과정을 포함하는Which involves generating a full masking F-function SEED 암호화 시스템의 F-함수 처리 방법.F-function processing method of SEED encryption system.
KR1020090123130A 2009-08-21 2009-12-11 Method and apparatus for processing f-function in seed encryption system KR101276683B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/784,789 US8615078B2 (en) 2009-08-21 2010-05-21 Method and apparatus for processing F-function in seed encryption system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20090077749 2009-08-21
KR1020090077749 2009-08-21

Publications (2)

Publication Number Publication Date
KR20110020153A KR20110020153A (en) 2011-03-02
KR101276683B1 true KR101276683B1 (en) 2013-06-19

Family

ID=43929539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090123130A KR101276683B1 (en) 2009-08-21 2009-12-11 Method and apparatus for processing f-function in seed encryption system

Country Status (1)

Country Link
KR (1) KR101276683B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101601684B1 (en) * 2011-05-18 2016-03-09 한국전자통신연구원 Method for implementing symmetric key encryption algorithm against power analysis attacks
KR20150123476A (en) 2014-04-25 2015-11-04 한국전자통신연구원 Function masking apparatus in symmetric cryptographic algorithm for preventing side channel attacks and method thereof
KR101586811B1 (en) * 2015-03-31 2016-01-19 국민대학교산학협력단 Apparatus and method for protecting side channel attacks on hight
KR101852546B1 (en) * 2017-08-02 2018-06-11 국민대학교산학협력단 System and Method for Distinguishing Block Cipher SEED when Operating Financial IC Card

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060086743A (en) * 2005-01-27 2006-08-01 삼성전자주식회사 Apparatus and method for performing logical operation being secure against differential power analysis
JP2007334016A (en) 2006-06-15 2007-12-27 Matsushita Electric Ind Co Ltd Data enciphering device and method
KR100834096B1 (en) 2007-05-11 2008-06-02 한국전자통신연구원 Aria encryption method for countermeasuring higher order dpa
US20080260145A1 (en) 2007-04-19 2008-10-23 Spansion Llc Selection of a lookup table with data masked with a combination of an additive and multiplicative mask

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060086743A (en) * 2005-01-27 2006-08-01 삼성전자주식회사 Apparatus and method for performing logical operation being secure against differential power analysis
JP2007334016A (en) 2006-06-15 2007-12-27 Matsushita Electric Ind Co Ltd Data enciphering device and method
US20080260145A1 (en) 2007-04-19 2008-10-23 Spansion Llc Selection of a lookup table with data masked with a combination of an additive and multiplicative mask
KR100834096B1 (en) 2007-05-11 2008-06-02 한국전자통신연구원 Aria encryption method for countermeasuring higher order dpa

Also Published As

Publication number Publication date
KR20110020153A (en) 2011-03-02

Similar Documents

Publication Publication Date Title
Zhu et al. 2D logistic-modulated-sine-coupling-logistic chaotic map for image encryption
Zhou et al. Cascade chaotic system with applications
Teng et al. Image encryption algorithm based on a 2D-CLSS hyperchaotic map using simultaneous permutation and diffusion
Khanzadi et al. Image encryption using random bit sequence based on chaotic maps
Naik et al. A review on applications of chaotic maps in pseudo-random number generators and encryption
Li et al. Cryptanalysis of a chaotic image encryption scheme based on permutation-diffusion structure
CN105453481B (en) Calculating equipment including table network
Chen et al. Cryptanalysis of image ciphers with permutation-substitution network and chaos
US20130236005A1 (en) Cryptographic processing apparatus
CN108964872B (en) Encryption method and device based on AES
KR101334040B1 (en) Method and apparatus for providing masking operations in encryption system
US8615078B2 (en) Method and apparatus for processing F-function in seed encryption system
KR101276683B1 (en) Method and apparatus for processing f-function in seed encryption system
Zhang et al. Color image encryption using 2D sine-cosine coupling map
KR20120070873A (en) Subchannel prevention masked addition operator
Liu et al. A new DNA coding and hyperchaotic system based asymmetric image encryption algorithm
CN109165531B (en) AES mask method, electronic equipment and storage medium
CN112955864A (en) Constant time secure arithmetic to boolean mask conversion
Liu et al. Chaos-based color image encryption using one-time keys and Choquet fuzzy integral
KR101601684B1 (en) Method for implementing symmetric key encryption algorithm against power analysis attacks
Amdouni et al. High-performance hardware architecture of a robust block-cipher algorithm based on different chaotic maps and DNA sequence encoding
CN106936822B (en) Mask implementation method and system for resisting high-order bypass analysis aiming at SMS4
Wei et al. Image encryption based on chaotic map and reversible integer wavelet transform
KR101344402B1 (en) Method and apparatus for rsa signature
CN109936437B (en) power consumption attack resisting method based on d +1 order mask

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee