KR20210111009A - Extended s-box with dbn and lbn are both greater than 2 and bit operation method using the same - Google Patents
Extended s-box with dbn and lbn are both greater than 2 and bit operation method using the same Download PDFInfo
- Publication number
- KR20210111009A KR20210111009A KR1020200025995A KR20200025995A KR20210111009A KR 20210111009 A KR20210111009 A KR 20210111009A KR 1020200025995 A KR1020200025995 A KR 1020200025995A KR 20200025995 A KR20200025995 A KR 20200025995A KR 20210111009 A KR20210111009 A KR 20210111009A
- Authority
- KR
- South Korea
- Prior art keywords
- box
- bit
- ddt
- lat
- terms
- 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/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
- 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Container Filling Or Packaging Operations (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 비트 연산 기술에 관한 것으로, 보다 상세하게는 에스박스의 확장구조를 사용하여 DBN과 LBN이 3이상이 되는 에스박스를 생성하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스 및 이를 이용한 비트 연산 방법에 관한 것이다.The present invention relates to a bit operation technology, and more particularly, an extended S-box that uses the extended structure of the S-box to generate an S-box in which DBN and LBN are 3 or more, satisfying the condition that the DLBN is 3 or more, and a bit using the same It is about the calculation method.
블록암호의 한 라운드는 선형구간과 비선형구간으로 나누어지며 라운드의 반복을 통하여 안전성을 제공한다. 일반적으로 선형구간은 MDS코드, 바이너리 매트릭스(binary matrix) 혹은 비트 퍼뮤테이션(bit-permutation)을 사용하며, 비선형구간은 ADD (ADDition) 연산이나 비선형함수 S-box를 사용한다. 비트 퍼뮤테이션과 S-box를 사용하여 만들어진 암호를 SbPN 구조라 한다.A round of block cipher is divided into a linear section and a non-linear section, and security is provided through repetition of the round. In general, linear sections use MDS code, binary matrix, or bit-permutation, and nonlinear sections use ADD (ADDition) operation or nonlinear function S-box. A cipher created using bit permutation and S-box is called SbPN structure.
IoT 환경의 대부분의 기기는 제한된 리소스(메모리, 속도, GE 등)를 가지기 때문에, 암호학적 안전성을 요구하는 시스템에서 사용될 경우 리소스 부하가 적은 경량블록암호(2000 GE 이하)를 사용하기를 선호한다.Since most devices in the IoT environment have limited resources (memory, speed, GE, etc.), when used in a system that requires cryptographic safety, it is preferred to use a lightweight block cipher (2000 GE or less) with a low resource load.
본 발명의 일 실시예는 에스박스의 확장구조를 사용하여 DBN과 LBN이 3이상이 되는 에스박스를 생성하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스 및 이를 이용한 비트 연산 방법을 제공하고자 한다.An embodiment of the present invention is to provide an extended S-box that satisfies the condition that the DLBN is 3 or more for generating an S-box in which DBN and LBN are 3 or more using the extended structure of the S-box, and a bit operation method using the same.
본 발명의 일 실시예는 큰 S-box를 사용하는 SbPN 블록암호의 차분, 선형 안전성을 확보하는데 중요한 역할을 하는 S-box의 DLBN 값을 3 이상으로 만들기 위한 방법론을 제공할 수 있는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스 및 이를 이용한 비트 연산 방법을 제공하고자 한다.One embodiment of the present invention provides a methodology for making the DLBN value of the S-
본 발명의 일 실시예는 제한된 자원을 갖는 IoT와 같은 환경에서 동작하는 경량블록암호에 암호학적 안전성을 제공할 수 있는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스 및 이를 이용한 비트 연산 방법을 제공하고자 한다.An embodiment of the present invention is to provide an extended S-box that satisfies the condition that the DLBN is 3 or more, which can provide cryptographic safety to a lightweight block cipher operating in an environment such as IoT with limited resources, and a bit operation method using the same. do.
실시예들 중에서, DLBN이 3 이상인 조건을 만족하는 확장 에스박스는 복수의 입력비트들을 수신하는 입력비트 수신부, 상기 복수의 입력비트들에 대해 적어도 하나의 작은 에스박스(S-box)에 관한 확장구조 - 상기 확장구조는 DBN(Differential Branch Number)과 LBN(Linear Branch Number) 중 최소값에 해당하는 DLBN(Differential-Linear Branch Number)이 3이상인 조건을 충족함 - 로 정의되는 연산구간을 적용하는 비트 연산부 및 상기 연산구간의 적용에 따른 결과로서 복수의 출력비트들을 생성하는 출력비트 생성부를 포함한다.Among the embodiments, the extended S-box satisfying the condition in which the DLBN is 3 or more is an input bit receiving unit for receiving a plurality of input bits, and an extension related to at least one small S-box for the plurality of input bits Structure - The extended structure satisfies the condition that DLBN (Differential-Linear Branch Number) corresponding to the minimum value among DBN (Differential Branch Number) and LBN (Linear Branch Number) is 3 or more. and an output bit generator generating a plurality of output bits as a result of application of the operation section.
상기 복수의 입력비트들은 k(상기 k는 자연수) 개의 입력라인들을 형성하고 상기 복수의 출력비트들은 m(상기 m은 자연수) 개의 출력라인들을 형성하며, 상기 입력라인들 및 상기 출력라인들 각각의 크기는 서로 동일하거나 또는 서로 상이할 수 있다.The plurality of input bits form k (where k is a natural number) number of input lines, and the plurality of output bits form m (where m is a natural number) number of output lines, each of the input lines and the output lines. The sizes may be the same or different from each other.
상기 연산구간은 전단사함수(Bijective Function)를 형성할 수 있다.The calculation section may form a bijective function.
상기 적어도 하나의 작은 에스박스가 n비트 에스박스인 경우 상기 확장 에스박스는 n+1비트 이상의 에스박스를 형성할 수 있다.When the at least one small S-box is an n-bit S-box, the extended S-box may form an S-box of n+1 bits or more.
상기 작은 에스박스는 상기 DBN에 관한 조건으로서 i 번째 입력라인과 j 번째 출력라인에 관한 다음의 연립방정식이 항상 불능이 되는 조건을 충족시킬 수 있다.The small S-box may satisfy a condition in which the following simultaneous equations regarding the i-th input line and the j-th output line are always disabled as a condition regarding the DBN.
[연립방정식][System of equations]
(여기에서, S는 에스박스, X는 입력라인을 나타내고, Δα와 Δβ는 wt(Δα) = wt(Δβ) = 1 을 만족한다.)(Here, S is S-box, X is input line, and Δα and Δβ satisfy wt(Δα) = wt(Δβ) = 1.)
상기 작은 에스박스는 상기 LBN에 관한 조건으로서 i 번째 입력라인과 j 번째 출력라인에 관한 다음의 선형근사식의 해의 편차가 없는 조건을 충족시킬 수 있다.The small S-box may satisfy a condition in which there is no deviation of the solution of the following linear approximation with respect to the i-th input line and the j-th output line as a condition for the LBN.
[선형근사식][Linear Approximation]
Xi·α = Sj(X)·βX i α = S j (X) β
(여기에서, S는 에스박스, X는 입력라인을 나타내고, α와 β는 wt(α) = wt(β) = 1 을 만족한다.)(Here, S is S-box, X is input line, and α and β satisfy wt(α) = wt(β) = 1.)
상기 비트 연산부는 상기 확장구조가 4비트 에스박스 , 및 을 포함하는 Feistel-variant 확장구조인 경우, 상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.The bit operation unit has a 4-bit S-box in which the extension structure is , and In the case of a Feistel-variant extension structure including
1) 의 DDT의 (a,b)항 및 의 DDT의 (b,0)항 중 어느 하나는 0임One) (a,b) of the DDT of Any one of the (b,0) terms of the DDT of
2) 의 DDT의 (a,b)항 및 의 DDT의 (b,b)항 중 어느 하나는 0임2) (a,b) of the DDT of Any one of (b,b) terms of DDT is 0
3) 의 LAT의 (a,b)항 및 의 LAT의 (b,b)항 중 어느 하나는 0임3) (a, b) of the LAT of Any one of (b,b) terms of LAT is 0
4) 의 LAT의 (a,b)항 및 의 LAT의 (0,b)항 중 어느 하나는 0임4) (a, b) of the LAT of Any one of (0,b) terms of LAT of
5) 및 는 전단사함수임5) and is a predicate function
(여기에서, DDT는 Difference Distribution Table, LAT는 Linear Approximation Table을 나타내고, a와 b는 값 1, 2, 4, 8 중 어느 하나에 해당한다.)(Here, DDT represents the Difference Distribution Table, LAT represents the Linear Approximation Table, and a and b correspond to any one of
상기 비트 연산부는 상기 확장구조가 4비트 에스박스 , 및 을 포함하는 Lay-Massey 확장구조인 경우, 상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.The bit operation unit has a 4-bit S-box in which the extension structure is , and In the case of a Lay-Massey extension structure including
1) 의 DDT의 (a,0)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임One) (a,0) of the DDT of Any one of (a,b) terms of DDT is 0
2) 의 DDT의 (a,a)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임2) (a,a) of the DDT of Any one of (a,b) terms of DDT is 0
3) 의 DDT의 (a,a)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임3) (a,a) of the DDT of Any one of (a,b) terms of DDT is 0
4) 의 DDT의 (a,0)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임4) (a,0) of the DDT of Any one of (a,b) terms of DDT is 0
5) 의 LAT의 (0,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임5) (0,a) of the LAT and Any one of (a,b) terms of LAT is 0
6) 의 LAT의 (a,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임6) (a,a) of the LAT of Any one of (a,b) terms of LAT is 0
7) 의 LAT의 (a,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임7) (a,a) of the LAT of Any one of (a,b) terms of LAT is 0
8) 의 LAT의 (0,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임8) (0,a) of the LAT and Any one of (a,b) terms of LAT is 0
9) 및 는 전단사함수임9) and is a predicate function
(여기에서, DDT는 Difference Distribution Table, LAT는 Linear Approximation Table을 나타내고, a와 b는 값 1, 2, 4, 8 중 어느 하나에 해당한다.)(Here, DDT represents the Difference Distribution Table, LAT represents the Linear Approximation Table, and a and b correspond to any one of
상기 비트 연산부는 상기 확장구조가 4비트 에스박스 , 및 을 포함하는 3-round Feistel 확장구조인 경우, 상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.The bit operation unit has a 4-bit S-box in which the extension structure is , and In the case of a 3-round Feistel extension structure including
1) 의 DDT의 (a,b)항과 의 DDT의 (b,a)항 중 어느 하나는 0임One) (a,b) of the DDT and Any one of (b,a) terms of DDT of
2) 의 DDT의 (a,b)항과 의 DDT의 (b,a)항 중 어느 하나는 0임2) (a,b) of the DDT and Any one of (b,a) terms of DDT of
3) 의 DDT의 (a,0)항은 0임3) The (a,0) term of the DDT of
4) 4비트 값 X와 Y에 대해, 및 중 어느 하나는 해 (X,Y)가 없음4) For 4-bit values X and Y, and Either one has no solution (X,Y)
5) 의 LAT의 (a,b)항 및 의 LAT의 (b,a)항 중 어느 하나는 0임5) (a, b) of the LAT of Any one of (b,a) terms of LAT is 0
6) 의 LAT의 (a,b)항 및 의 LAT의 (b,a)항 중 어느 하나는 0임6) (a, b) of the LAT of Any one of (b,a) terms of LAT is 0
7) 의 DDT의 (a,0)항은 0임7) The (a,0) term of the DDT of
8) 4비트 값 X와 Y에 대해, 를 만족하는 해 (X,Y)의 개수는 128개임(단, ·은 에서의 내적 - 예를 들어, 4비트 간의 내적 - 에 해당함)8) For 4-bit values X and Y, The number of solutions (X,Y) satisfying Corresponds to the dot product in - for example, the dot product between 4 bits)
(여기에서, DDT는 Difference Distribution Table, LAT는 Linear Approximation Table을 나타내고, a와 b는 값 1, 2, 4, 8 중 어느 하나에 해당한다.)(Here, DDT represents the Difference Distribution Table, LAT represents the Linear Approximation Table, and a and b correspond to any one of
실시예들 중에서, DLBN이 3 이상인 조건을 만족하는 확장 에스박스를 이용한 비트 연산 방법은 복수의 입력비트들을 수신하는 단계, 상기 복수의 입력비트들에 대해 적어도 하나의 작은 에스박스(S-box)에 관한 확장구조 - 상기 확장구조는 DBN(Differential Branch Number)과 LBN(Linear Branch Number) 중 최소값에 해당하는 DLBN(Differential-Linear Branch Number)이 3이상인 조건을 충족함 - 로 정의되는 연산구간을 적용하는 단계 및 상기 연산구간의 적용에 따른 결과로서 복수의 출력비트들을 생성하는 단계를 포함한다.Among the embodiments, the bit operation method using the extended S-box satisfying the condition that the DLBN is 3 or more includes receiving a plurality of input bits, and at least one small S-box for the plurality of input bits. - The extended structure satisfies the condition that DLBN (Differential-Linear Branch Number) corresponding to the minimum value among DBN (Differential Branch Number) and LBN (Linear Branch Number) is 3 or more - The operation section defined as and generating a plurality of output bits as a result according to the application of the operation section.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology may have the following effects. However, this does not mean that a specific embodiment should include all of the following effects or only the following effects, so the scope of the disclosed technology should not be construed as being limited thereby.
본 발명의 일 실시예에 따른 DLBN이 3 이상인 조건을 만족하는 확장 에스박스 및 이를 이용한 비트 연산 방법은 큰 S-box를 사용하는 SbPN 블록암호의 차분, 선형 안전성을 확보하는데 중요한 역할을 하는 S-box의 DLBN 값을 3 이상으로 만들기 위한 방법론을 제공할 수 있다.The extended S-box satisfying the condition that the DLBN is 3 or more and the bit operation method using the same according to an embodiment of the present invention play an important role in securing the difference and linear stability of the SbPN block cipher using the large S-box. You can provide a methodology for making the DLBN value of the box to be 3 or higher.
본 발명의 일 실시예에 따른 DLBN이 3 이상인 조건을 만족하는 확장 에스박스 및 이를 이용한 비트 연산 방법은 제한된 자원을 갖는 IoT와 같은 환경에서 동작하는 경량블록암호에 암호학적 안전성을 제공할 수 있다.The extended S-box satisfying the condition of having a DLBN of 3 or more according to an embodiment of the present invention and a bit operation method using the same can provide cryptographic safety to a lightweight block cipher operating in an environment such as IoT with limited resources.
도 1은 본 발명에 따른 에스박스를 이용한 암호 시스템을 설명하는 도면이다.
도 2는 본 발명에 따른 에스박스의 기능적 구성을 설명하는 도면이다.
도 3은 본 발명에 따른 에스박스에서 수행되는 비트 연산 과정을 설명하는 순서도이다.
도 4는 SbPN에서 가장 많이 사용되는 비선형구간을 설명하는 도면이다.
도 5는 에스박스의 간단한 확장구조 표현을 설명하는 도면이다.
도 6은 8비트 에스박스의 간단한 확장구조의 일 실시예를 설명하는 도면이다.
도 7은 에스박스의 다양한 확장구조를 설명하는 도면이다.
도 8은 에스박스에 관한 Feistel-variant 확장구조의 일 실시예를 설명하는 도면이다.
도 9는 Feistel-variant 확장구조에 있어서 DBN이 2가 될 수 있는 차분경로를 설명하는 도면이다.
도 10은 Feistel-variant 확장구조에 있어서 LBN이 2가 될 수 있는 선형경로를 설명하는 도면이다.1 is a view for explaining an encryption system using an S-box according to the present invention.
2 is a view for explaining the functional configuration of the S-box according to the present invention.
3 is a flowchart illustrating a bit operation process performed in the S-box according to the present invention.
4 is a diagram for explaining a nonlinear section most used in SbPN.
5 is a view for explaining a simple extended structure representation of the S-box.
6 is a view for explaining an embodiment of a simple extension structure of an 8-bit S-box.
7 is a view for explaining various extension structures of the S-box.
8 is a view for explaining an embodiment of the Feistel-variant extension structure for the S-box.
9 is a diagram for explaining a differential path in which DBN can be 2 in a Feistel-variant extension structure.
10 is a view for explaining a linear path in which LBN can be 2 in the Feistel-variant extended structure.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Since the description of the present invention is merely an embodiment for structural or functional description, the scope of the present invention should not be construed as being limited by the embodiment described in the text. That is, since the embodiment may have various changes and may have various forms, it should be understood that the scope of the present invention includes equivalents capable of realizing the technical idea. In addition, since the object or effect presented in the present invention does not mean that a specific embodiment should include all of them or only such effects, it should not be understood that the scope of the present invention is limited thereby.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.On the other hand, the meaning of the terms described in the present application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as “first” and “second” are for distinguishing one component from another, and the scope of rights should not be limited by these terms. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” to another component, it may be directly connected to the other component, but it should be understood that other components may exist in between. On the other hand, when it is mentioned that a certain element is "directly connected" to another element, it should be understood that the other element does not exist in the middle. Meanwhile, other expressions describing the relationship between elements, that is, “between” and “immediately between” or “neighboring to” and “directly adjacent to”, etc., should be interpreted similarly.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression is to be understood to include the plural expression unless the context clearly dictates otherwise, and terms such as "comprises" or "have" refer to the embodied feature, number, step, action, component, part or these It is intended to indicate that a combination exists, and it should be understood that it does not preclude the possibility of the existence or addition of one or more other features or numbers, steps, operations, components, parts, or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.Identifiers (eg, a, b, c, etc.) in each step are used for convenience of description, and the identification code does not describe the order of each step, and each step clearly indicates a specific order in context. Unless otherwise specified, it may occur in a different order from the specified order. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable codes on a computer-readable recording medium, and the computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored. . Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like. In addition, the computer-readable recording medium may be distributed in a network-connected computer system, and the computer-readable code may be stored and executed in a distributed manner.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Terms defined in general used in the dictionary should be interpreted as being consistent with the meaning in the context of the related art, and cannot be interpreted as having an ideal or excessively formal meaning unless explicitly defined in the present application.
1. 비선형구간1. Non-linear section
1) 비선형구간에 S-box를 사용하는 이유1) Reason for using S-box for non-linear section
부채널공격 대응기법인 마스킹 기법을 암호 구현에 사용할 시, ADD 연산은 S-box보다 훨씬 많은 추가연산이 필요하다. 따라서, ADD 연산을 사용하는 것보다 S-box를 사용하는 것이 제한된 리소스를 가지는 환경에서의 부채널 대응기법 적용하기에 적합하다.When the masking technique, which is a side-channel attack countermeasure technique, is used for cryptographic implementation, the ADD operation requires much more additional operations than the S-box. Therefore, using the S-box rather than using the ADD operation is suitable for applying a side-channel response technique in an environment with limited resources.
2) 큰 S-box(또는 확장 S-box)를 사용하는 이유2) Why use a large S-box (or extended S-box)
큰 S-box는 현재까지 계산량이 전수조사가 가능한 방법이 없는 크기를 가져서, 특수한 방법으로 만들어지는 S-box를 뜻한다. 4-bit S-box는 전수조사할 수 있고 이미 세분화된 Class까지 분류되어 있으며, 5-bit S-box도 Class가 분류되어 있다.A large S-box means an S-box that is made by a special method because it has a size that has not been possible to investigate the total amount of computation until now. The 4-bit S-box can be thoroughly investigated, and it is already classified into subdivided classes, and the 5-bit S-box is also classified into classes.
작은 S-box를 사용하면 한 라운드에서 확보할 수 있는 차분 및 선형 안전성이 낮아지기 때문에, 암호 알고리즘의 라운드를 여러 번 반복함으로써 전체 알고리즘의 안전성을 확보해야만 한다. 하지만 큰 S-box를 사용할 경우, 한 라운드에서 확보할 수 있는 차분 및 선형 안전성이 높아지기 때문에 전체 라운드 수를 획기적으로 줄일 수 있다. 이는 암호 알고리즘의 실행속도를 높이는 데 도움을 줄 수 있다. 큰 S-box는 보통 유한체 연산을 사용하여 수학적으로 생성하거나, 작은 S-box들을 확장구조에 대입하여 생성한다. 본 발명은 확장구조를 활용하여 생성하는 큰 S-box에 특수한 안전성을 추가로 부여하는 방법을 개발하여 전체 라운드 수를 줄이는 것에 목적을 둔다.If a small S-box is used, the differential and linear stability that can be secured in one round is lowered, so it is necessary to secure the safety of the entire algorithm by repeating the round of the encryption algorithm several times. However, if a large S-box is used, the total number of rounds can be drastically reduced because the difference and linear stability that can be secured in one round is increased. This can help to speed up the execution of cryptographic algorithms. Large S-boxes are usually created mathematically by using finite field operations, or by substituting small S-boxes into extended structures. An object of the present invention is to reduce the total number of rounds by developing a method for additionally granting special safety to a large S-box created by utilizing the extended structure.
3) 큰 S-box 생성 시 확장구조를 사용하는 이유3) The reason for using the extended structure when creating a large S-box
제한적인 메모리 가용량으로 인해 큰 S-box를 저장하는 방식으로 구현할 수 없는 경량환경에서는 S-box를 생성하는 방식으로 구현하는데, 대표적인 8-bit S-box인 AES의 S-box는 유한체 연산을 통해서 생성한다. 이런 경우 S-box 생성에 사용되는 연산자의 개수가 많아 실행속도가 느려지게 된다. 이를 해결하기 위해 작은 S-box를 확장구조에 대입하여 큰 S-box로 확장하는 방법이 존재한다. 이 방법을 사용하면 4-bit S-box보다 높은 암호학적 안전성을 가지면서 일반적인 큰 S-box보다 향상된 구현효율성을 갖춘 큰 S-box를 얻을 수 있다.In a lightweight environment that cannot be implemented by storing a large S-box due to limited memory capacity, it is implemented by creating an S-box. created through In this case, the execution speed is slowed down because the number of operators used to create the S-box is large. To solve this problem, there is a method of substituting a small S-box into the extension structure and extending it to a large S-box. Using this method, it is possible to obtain a large S-box with improved implementation efficiency than a general large S-box while having higher cryptographic security than a 4-bit S-box.
4) 큰 S-box는 전단사함수를 사용한다.4) A large S-box uses a predicate function.
도 4는 SbPN에서 가장 많이 사용되는 비선형구간을 설명하는 도면이다.4 is a diagram for explaining a nonlinear section most used in SbPN.
도 4를 참조하면, SbPN 경량블록암호들은 구현효율성을 위하여 비선형연산의 구성을 가장 간단한 연접방식으로 제작할 수 있다. 만약 큰 S-box가 전단사함수가 아닐 경우, 나올 수 없는 값이 존재하므로 안전성 측면에서 효능이 떨어질 수 있다. 이를 보완하기 위해서 추가적인 연산이나 리소스를 사용하는 것은 확장구조를 더 확장하는 꼴이며, 초기부터 전단사함수로 만드는 것보다 효율이 낮을 수 있다. 그러므로 큰 S-box는 전단사함수인 것을 사용하는 것이 구현효율성 측면의 이점이 있다.Referring to FIG. 4 , SbPN lightweight block ciphers can be manufactured using the simplest concatenation method to construct a non-linear operation for implementation efficiency. If the large S-box is not a predicate function, there is a value that cannot be obtained, so efficacy may decrease in terms of safety. To compensate for this, using additional operations or resources is like extending the extension structure further, and may be less efficient than making it a predicate function from the beginning. Therefore, there is an advantage in implementation efficiency to use a large S-box that is a predicate function.
2. 선형구간2. Linear section
1) 선형구간에서 단순 비트 퍼뮤테이션을 사용하는 이유1) Reasons for using simple bit permutation in the linear section
선형구간에 MDS코드 혹은 binary matrix를 사용하는 경우, 비트 퍼뮤테이션을 사용하는 경우보다 암호 안전성을 향상시킬 수 있으나 이는 유한체 연산을 사용하게 되므로 저사양 기기에서 구현하기에는 상대적으로 어려움이 있다. 이에 따라 최근에 개발되는 경량암호 알고리즘은 단순 비트 퍼뮤테이션을 이용하여 선형구간을 구성하고 있다. 그러나 비트 퍼뮤테이션의 단점으로 인하여 S-box와의 조합이 적절하지 못하면 많은 라운드 수가 필요할 수 있다.When an MDS code or a binary matrix is used in the linear section, cryptographic safety can be improved compared to the case of using bit permutation, but it is relatively difficult to implement in low-end devices because it uses a finite field operation. Accordingly, the recently developed lightweight encryption algorithm constructs a linear section using simple bit permutation. However, due to the disadvantage of bit permutation, a large number of rounds may be required if the combination with the S-box is not appropriate.
2) Sbox의 암호학적 안전성 정의2) Sbox's Cryptographic Safety Definition
본 발명은 n-bit S-box S에 대해 다음 암호학적 성질을 정의하여 사용할 수 있다.The present invention can be used by defining the following cryptographic properties for n-bit S-box S.
- DDT(Difference Distribution Table) - DDT (Difference Distribution Table)
n*n 테이블이며 (Δa,Δb)항의 값은 이다. 이 때, Δa,Δb∈{0,1}n이다.It is an n*n table, and the values of the terms (Δa,Δb) are am. In this case, Δa,Δb∈{0,1} n .
- LAT(Linear Approximation Table) - LAT (Linear Approximation Table)
n*n 테이블이며 에 대해, (a,b)항의 값은 이다. 이 때, a,b∈{0,1}n이다.It is an n*n table. For , the value of (a,b) is am. In this case, a,b∈{0,1} n .
- DLBN - DLBN
DLBN은 DBN과 LBN 중 최소값을 말하며, DBN과 LBN의 정의는 다음과 같다. (wt는 Hamming weight이고 a,b∈{0,1}n이다.)DLBN refers to the minimum value among DBN and LBN, and the definitions of DBN and LBN are as follows. (wt is the Hamming weight and is a,b∈{0,1} n .)
DBN = DBN =
LBN = LBN =
DBN은 S-box의 입출력의 차분 값이 최소 몇 비트 간에 영향을 미치는지에 대한 값이고, LBN은 얼마나 적은 비트의 입력과 출력에 마스킹을 줘야 편차가 있는지에 대한 값이다. DLBN이 커지면 차분분석과 선형분석에 사용된 차분 및 선형 성질에 관련된 비트가 많다는 뜻이다.DBN is the value of how many bits the difference between input and output of S-box affects at least how many bits, and LBN is the value of how many bits of input and output must be masked for deviation. The larger the DLBN, the more bits related to the difference and linear properties used in the differential analysis and linear analysis.
도 1은 본 발명에 따른 에스박스를 이용한 암호 시스템을 설명하는 도면이다.1 is a view for explaining an encryption system using an S-box according to the present invention.
도 1을 참조하면, 에스박스를 이용한 암호 시스템(100)은 사용자 단말(110), 암호 장치(130) 및 데이터베이스(150)를 포함할 수 있다.Referring to FIG. 1 , an
사용자 단말(110)은 암호화 대상이 되는 평문 또는 복호화 대상이 되는 암호문을 제공할 수 있는 컴퓨팅 장치에 해당할 수 있다. 사용자 단말(110)은 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 암호 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 암호 장치(130)와 동시에 연결될 수 있다.The
암호 장치(130)는 평문을 암호화하여 암호문을 생성하거나 또는 암호문을 복호화하여 평문을 생성할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 암호 장치(130)는 사용자 단말(110)과 유선 네트워크 또는 블루투스, WiFi 등과 같은 무선 네트워크로 연결될 수 있고, 유선 또는 무선 네트워크를 통해 사용자 단말(110)과 통신을 수행할 수 있다. 일 실시예에서, 암호 장치(130)는 데이터베이스(150)와 연동하여 평문의 암호화 및 암호문의 복호화에 필요한 다양한 정보들을 저장할 수 있다. 한편, 암호 장치(130)는 도 1과 달리, 데이터베이스(150)를 내부에 포함하여 구현될 수 있다.The
일 실시예에서, 암호 장치(130)는 블록암호 알고리즘, 특히 경량 블록암호 알고리즘을 사용하여 암호화 및 복호화를 수행할 수 있다. 이 때, 경량 블록암호 알고리즘은 비트 퍼뮤테이션과 S-box를 사용하여 만들어진 SbPN 암호에 해당할 수 있고, DLBN이 3이상인 S-box를 포함하여 구현될 수 있다. 즉, 암호 장치(130)는 선형 및 차분 분석에 안전한 암호화 연산을 처리할 수 있다.In an embodiment, the
데이터베이스(150)는 암호 장치(130)가 평문의 암호화 및 암호문의 복호화를 수행하는 과정에서 필요한 다양한 정보들을 저장할 수 있다. 예를 들어, 데이터베이스(150)는 사용자 단말(110)로부터 수신한 평문 또는 암호문 파일을 저장할 수 있고, 암호화 또는 복호화에 사용할 암호 알고리즘에 관한 정보들을 저장할 수 있으며, 반드시 이에 한정되지 않고, 평문의 암호화 또는 암호문의 복호화 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.The
도 2는 본 발명에 따른 에스박스의 기능적 구성을 설명하는 도면이다.2 is a view for explaining the functional configuration of the S-box according to the present invention.
도 2를 참조하면, 에스박스(200)는 입력비트 수신부(210), 비트 연산부(230), 출력비트 생성부(250) 및 제어부(270)를 포함할 수 있다. 에스박스(200)는 암호 장치(130)에서 수행되는 암호화 과정에서 비트 연산을 수행할 수 있다. 예를 들어, 에스박스(200)는 비트열의 순서를 섞거나 비트열의 값을 변경하는 비트치환 연산을 수행할 수 있으며, 암호화 과정의 중간 단계에서 비트치환을 제공하여 외부 공격자의 예측 불가능성을 높일 수 있다. Referring to FIG. 2 , the S-
또한, 암호 장치(130)에서 수행되는 암호화 과정은 평문을 기초로 중간값을 생성하는 제1 암호화 과정, 중간값이 에스박스(200)에 입력되어 비트 연산을 수행하여 출력값을 생성하는 비트 연산 과정 및 출력값을 기초로 평문에 관한 암호문을 생성하는 제2 암호화 과정을 포함할 수 있다. 에스박스(200)에 의한 비트 연산 과정은 전체 암호화 과정의 특정 단계에서 반복적으로 수행될 수 있고, 이에 따라 제1 및 제2 암호화 과정들은 비트 연산 과정을 기준으로 논리적으로 구분될 수 있다.In addition, the encryption process performed in the
일 실시예에서, 에스박스(200)는 암호 장치(130)에 포함되어 구현될 수 있고, 암호 장치(130)에서 수행되는 암호화 과정에서 비트 연산을 담당하는 물리적 장치로 구현될 수 있으며, 반드시 이에 한정되지 않고, 암호 알고리즘을 구성하는 논리적인 연산 단계로 구현될 수도 있다.In one embodiment, the S-
이하, 에스박스(200)의 기능적 구성의 동작을 중심으로 설명한다.Hereinafter, the operation of the functional configuration of the S-
입력비트 수신부(210)는 복수의 입력비트들을 수신할 수 있다. 에스박스(200)가 암호 알고리즘의 일 구성요소로서 구현된 경우 입력비트 수신부(210)는 암호화 과정의 중간단계에서 생성된 중간값에 해당하는 비트열을 입력비트로서 수신할 수 있다. 입력비트 수신부(210)는 에스박스(200)의 구현에 따라 다양한 크기의 입력라인들로 복수의 입력비트들을 수신할 수 있다.The input
일 실시예에서, 입력비트 수신부(210)에 의해 수신되는 복수의 입력비트들은 k(상기 k는 자연수) 개의 입력라인들을 형성할 수 있고, 입력라인들 각각의 크기는 서로 동일하거나 또는 서로 상이할 수 있다. 예를 들어, 도 6에서 에스박스(200)가 8비트 에스박스에 해당하는 경우 입력비트 수신부(210)는 각각 2, 1, 3, 2 비트 크기를 갖는 총 4개의 입력라인들을 수신할 수 있다. 입력라인들의 구성 및 크기는 에스박스(200)에 의해 채택된 확장구조에 따라 상이할 수 있음은 물론이다.In an embodiment, the plurality of input bits received by the input
비트 연산부(230)는 복수의 입력비트들에 대해 적어도 하나의 작은 에스박스(S-box)에 관한 확장구조 - 상기 확장구조는 DBN(Differential Branch Number)과 LBN(Linear Branch Number) 중 최소값에 해당하는 DLBN(Differential-Linear Branch Number)이 3이상인 조건을 충족함 - 로 정의되는 연산구간을 적용할 수 있다. 즉, 비트 연산부(230)는 입력비트들을 이용한 비트 연산을 처리할 수 있고, 비트 연산에 적용되는 연산구간은 에스박스의 확장구조로 정의될 수 있으며, DLBN이 최소 3이상인 조건을 충족하도록 구현됨으로써 SbPN 구조를 사용한 블록암호에서 짧은 라운드 내에 높은 차분 및 선형 안전성을 제공할 수 있다.The
일 실시예에서, 비트 연산부(230)는 전단사함수(Bijective Function)를 형성하는 연산구간을 적용할 수 있다. 즉, 에스박스(200)는 비트 연산을 통해 두 집합, 즉 입력과 출력에 있어서 중복없이 모두 일대일로 대응시킬 수 있다.In an embodiment, the
일 실시예에서, 연산구간을 정의하는 적어도 하나의 작은 에스박스가 n비트 에스박스인 경우 해당 연산구간을 적용하여 비트 연산을 처리하는 에스박스(200)는 확장 에스박스로서 n+1비트 이상의 에스박스를 형성할 수 있다. 예를 들어, 에스박스(200)는 4비트 에스박스에 관한 확장구조로 정의되어 형성되는 경우 8비트 에스박스에 해당할 수 있다.In one embodiment, when at least one small S-box defining the operation section is an n-bit S-box, the S-
출력비트 생성부(250)는 연산구간의 적용에 따른 결과로서 복수의 출력비트들을 생성할 수 있다. 에스박스(200)가 암호 알고리즘의 일 구성요소로서 구현된 경우 출력비트 생성부(250)는 암호화 과정의 중간단계에서 비트 연산의 결과로서 출력된 비트열을 출력비트로서 생성할 수 있다. 출력비트 생성부(250)는 에스박스(200)의 구현에 따라 복수의 출력비트들을 생성하여 다양한 크기의 출력라인들을 통해 출력할 수 있다.The
일 실시예에서, 출력비트 생성부(250)에 의해 생성되는 복수의 출력비트들은 m(상기 m은 자연수) 개의 출력라인들을 형성할 수 있고, 출력라인들 각각의 크기는 서로 동일하거나 또는 서로 상이할 수 있다. 예를 들어, 도 6에서 에스박스(200)가 8비트 에스박스에 해당하는 경우 출력비트 생성부(250)는 각각 4, 1, 3 비트 크기를 갖는 총 3개의 출력라인들을 생성할 수 있다. 출력라인들의 구성 및 크기는 에스박스(200)에 의해 채택된 확장구조에 따라 상이할 수 있음은 물론이다.In an embodiment, the plurality of output bits generated by the
제어부(270)는 에스박스(200)의 전체적인 동작을 제어하고, 입력비트 수신부(210), 비트 연산부(230) 및 출력비트 생성부(250) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The
도 3은 본 발명에 따른 에스박스에서 수행되는 비트 연산 과정을 설명하는 순서도이다.3 is a flowchart illustrating a bit operation process performed in the S-box according to the present invention.
도 3을 참조하면, 에스박스(200)는 입력비트 수신부(210)를 통해 복수의 입력비트들을 수신할 수 있다(단계 S310). 에스박스(200)는 비트 연산부(230)를 통해 복수의 입력비트들에 대해 적어도 하나의 작은 에스박스(S-box)에 관한 확장구조 - 상기 확장구조는 DBN(Differential Branch Number)과 LBN(Linear Branch Number) 중 최소값에 해당하는 DLBN(Differential-Linear Branch Number)이 3이상인 조건을 충족함 - 로 정의되는 연산구간을 적용할 수 있다(단계 S330). 에스박스(200)는 출력비트 생성부(250)를 통해 연산구간의 적용에 따른 결과로서 복수의 출력비트들을 생성할 수 있다(단계 S350).Referring to FIG. 3 , the S-
도 5는 에스박스의 간단한 확장구조 표현을 설명하는 도면이며, 도 6은 8비트 에스박스의 간단한 확장구조의 일 실시예를 설명하는 도면이고, 도 7은 에스박스의 다양한 확장구조를 설명하는 도면이며, 도 8은 에스박스에 관한 Feistel-variant 확장구조의 일 실시예를 설명하는 도면이고, 도 9는 Feistel-variant 확장구조에 있어서 DBN이 2가 될 수 있는 차분경로를 설명하는 도면이며, 도 10은 Feistel-variant 확장구조에 있어서 LBN이 2가 될 수 있는 선형경로를 설명하는 도면이다.5 is a diagram for explaining a simple extended structure representation of S-box, FIG. 6 is a diagram for explaining an embodiment of a simple extended structure of 8-bit S-box, and FIG. 7 is a diagram for explaining various extended structures of S-
이하, 도 5 내지 10을 참조하여 본 발명에 따른 DLBN이 3 이상인 큰 S-box를 확장구조로 생성하는 방법을 설명한다. 이를 통해 본 발명은 SbPN 구조를 사용한 블록암호에서 짧은 라운드 내에 높은 차분 및 선형 안전성을 획득할 수 있다.Hereinafter, a method of generating a large S-box having a DLBN of 3 or more in an extended structure according to the present invention will be described with reference to FIGS. 5 to 10 . Through this, the present invention can obtain high differential and linear stability within a short round in block ciphers using the SbPN structure.
먼저 확장하여 n-bit S-box를 생성한다 가정할 수 있다. 도 5의 그림 (a)와 같이 확장구조는 k개의 입력라인과 m개의 출력라인을 포함하여 구현될 수 있다. 여기에서, 입력값을 X∈{0,1}n, 출력값을 Y∈{0,1}n라 하면 X=(X0,…,Xk), Y=(Y0,…,Ym)이라 할 수 있다(도 5의 그림 (b)). 이 때, 모든 Xi와 Yi는 크기가 다를 수도 있고 같을 수도 있다.First, it can be assumed that an n-bit S-box is created by extension. As shown in Fig. 5 (a), the extended structure may be implemented including k input lines and m output lines. Here, if the input value is X∈{0,1} n and the output value is Y∈{0,1} n , then X=(X 0 ,…,X k ), Y=(Y 0 ,…,Y m ) (Fig. 5 (b)). In this case, all X i and Y i may have different sizes or the same size.
한편, 확장된 에스박스(200)를 S라 할 수 있고, Y = S(X) = S(X0,...,Xk)이고 Yi = Si(X) = Si(X0,...,Xk)라 할 수 있다. DBN과 LBN은 모두 0이 아닌 자연수이므로, 3 이상이라는 것은 DBN과 LBN이 2 이하가 아니라는 것과 동일할 수 있다. 또한, 상기의 이유로 생성된 S-box가 전단사함수여야 하므로 DBN과 LBN이 절대 1이 될 수 없으므로 2가 되는 상황만 없다면 DLBN이 항상 3이상이 되는 것을 보장할 수 있다.On the other hand, the extended S-
DBN과 LBN이 2가 되는 상황은 입력 및 출력 라인 하나씩만 특성비트가 존재하는 경우이므로 모든 i∈{0,1,…,k}와 j∈{0,1,…,m}에 대해 Xi와 Yj 하나씩만 0이 아닌 차분(마스킹)이 존재한다 가정하여 작은 S-box에 대한 정리를 도출할 수 있다.The situation where DBN and LBN becomes 2 is a case where only one input and one output line has a characteristic bit, so all i∈{0,1,… ,k} and j∈{0,1,… ,m}, we can derive the theorem for a small S-box by assuming that there is a non-zero difference (masking) for only one X i and one Y j.
보다 구체적으로, DBN의 경우 i번째 입력라인과 j번째 출력라인 케이스에 대해 다음과 같은 연립방정식을 도출할 수 있다.More specifically, in the case of DBN, the following simultaneous equations can be derived for the case of the i-th input line and the j-th output line.
[연립방정식][System of equations]
여기에서, S는 에스박스, X는 입력라인을 나타내고, Δα와 Δβ는 wt(Δα) = wt(Δβ) = 1을 만족한다. 즉, 에스박스(200)는 비트 연산 과정에서 작은 에스박스의 확장구조로 정의되는 연산구간을 적용할 수 있고, 연산구간에 사용되는 작은 에스박스는 연립방정식을 항상 불능이 되게 하는 구조로 구현될 수 있다.Here, S represents an S box, X represents an input line, and Δα and Δβ satisfy wt(Δα) = wt(Δβ) = 1. That is, the S-
또한, LBN의 경우 i번째 입력라인과 j번째 출력라인 케이스에 대해 다음과 같은 선형근사식을 도출할 수 있다.In addition, in the case of LBN, the following linear approximation can be derived for the case of the i-th input line and the j-th output line.
[선형근사식][Linear Approximation]
Xi·α = Sj(X)·βX i α = S j (X) β
여기에서, S는 에스박스, X는 입력라인을 나타내고, α와 β는 wt(α) = wt(β) = 1을 만족한다. 즉, 에스박스(200)는 비트 연산 과정에서 작은 에스박스의 확장구조로 정의되는 연산구간을 적용할 수 있고, 연산구간에 사용되는 작은 에스박스는 선형근사식의 해의 편차가 없게 하는 구조로 구현될 수 있다.Here, S represents an S box, X represents an input line, and α and β satisfy wt(α) = wt(β) = 1. That is, the S-
이하, Feistel-variant 확장구조를 예로 들어 확장된 에스박스(200)의 DLBN이 3이상이 되도록 하는 작은 에스박스에 관한 조건 도출 과정을 설명한다.Hereinafter, a process of deriving a condition for a small S-box such that the DLBN of the extended S-
도 7의 그림 (a)는 Feistel-variant 확장구조를 나타내고, 도 7의 그림 (b)는 Lay-Massey 확장구조를 나타내며, 도 7의 그림 (c)는 3-round Feistel 확장구조를 나타낸다.Fig. 7 (a) shows the Feistel-variant extended structure, Fig. 7 (b) shows the Lay-Massey extended structure, and Fig. 7 (c) shows the 3-round Feistel extended structure.
또한, 도 8은 도 7의 그림(a)에서 사용된 3개의 4비트 에스박스들을 동일한 에스박스로 사용한 확장구조이다. 도 8에서, 4비트 에스박스인 S4를 포함하여 8비트 에스박스를 생성하는 확장구조에 해당하고, 생성된 8비트 에스박스가 전단사함수임을 가정할 수 있다. 여기에서, 8비트 에스박스를 S8이라 하면, 해당 구조는 입력값 X∈{0,1}8와 출력값 Y∈{0,1}8에 대해 Y = S8(X)라 할 수 있다. S4가 전단사함수에 해당하는 경우 S8은 전단사함수가 될 수 있다.Also, FIG. 8 is an extended structure using the three 4-bit S-boxes used in the figure (a) of FIG. 7 as the same S-box. In FIG. 8 , it can be assumed that this corresponds to an extended structure for generating an 8-bit S-box, including S 4 , which is a 4-bit S-box, and that the generated 8-bit S-box is a predicate function. Here, if the 8-bit S-box is S 8 , the structure can be said to be Y = S 8 (X) for the input value X∈{0,1} 8 and the output value Y∈{0,1} 8 . If S 4 corresponds to a bijective function, S 8 may be a bijective function.
도 8에서, X=(X0,X1), X0,X1∈{0,1}4 / Y=(Y0,Y1), Y0,Y1∈{0,1}4 라고 하면, Y0, Y1은 다음과 같이 도출될 수 있다.In FIG. 8 , X=(X 0 ,X 1 ), X 0 ,X 1 ∈{0,1} 4 / Y=(Y 0 ,Y 1 ), Y 0 ,Y 1 ∈{0,1} 4 Then, Y 0 , Y 1 can be derived as follows.
도 8의 구조에서, DBN이 2가 될 수 있는 가능성이 있는 경우는 도 9와 같이 4개의 차분경로로 도출될 수 있다. 도 9의 각 case에 대해 8비트 에스박스의 DBN이 3이상임을 설명한다.In the structure of FIG. 8 , when there is a possibility that DBN can be 2, as shown in FIG. 9 , four differential paths can be derived. It will be described that the DBN of the 8-bit S-box is 3 or more for each case of FIG. 9 .
(case 1)(case 1)
이에 대한 연립방정식은 다음과 같다.The system of equations for this is as follows.
위 두 식 중 Y0에 대한 식을 전개하면If we expand the expression for Y 0 among the above two expressions,
라는 식이 되는데 이는 S4가 전단사함수라는 것에 모순이다. 따라서, 이 케이스의 연립방정식은 항상 성립할 수 없다., which contradicts the fact that S 4 is a predicate function. Therefore, the simultaneous equations in this case cannot always hold.
(case 2)(case 2)
이에 대한 연립방정식은 다음과 같다.The system of equations for this is as follows.
위 두 식 중 Y0에 대한 식을 전개하면If we expand the expression for Y 0 among the above two expressions,
라는 식이 되는데 이는 S4가 전단사함수라는 것에 모순이다. 따라서, 이 케이스의 연립방정식은 항상 성립할 수 없다., which contradicts the fact that S 4 is a predicate function. Therefore, the simultaneous equations in this case cannot always hold.
(case 3)(case 3)
이에 대한 연립방정식은 다음과 같다.The system of equations for this is as follows.
위 두 식 중 Y1에 대한 식을 전개하면If we expand the expression for Y 1 among the above two expressions,
라는 식이 된다. 이항하면becomes the expression When translating
가 된다. becomes
S4는 전단사함수이므로 양변에 S4 -1을 하면Since S 4 is a predicate function, if S 4 -1 on both sides is
가 되고, become,
라는 식이 되는데 이는 S4가 전단사함수라는 것에 모순이다. 따라서, 이 케이스의 연립방정식은 항상 성립할 수 없다., which contradicts the fact that S 4 is a predicate function. Therefore, the simultaneous equations in this case cannot always hold.
(case 4)(case 4)
이에 대한 연립방정식은 다음과 같다.The system of equations for this is as follows.
위 두 식 중 Y0에 대한 식을 전개하면If we expand the expression for Y 0 among the above two expressions,
가 된다. 마찬가지로, Y1에 대한 식을 전개하면becomes Similarly, expanding the expression for Y 1 gives
가 된다. 위 두 식을 연립하면becomes Combining the above two equations
가 유도된다. is induced
라 치환하면 위 식은 가 된다. Substituting , the above expression becomes
따라서 임의의 Δa와 Δb에 대해, S4의 DDT의 (Δa,Δb)와 (Δb,Δb)의 값이 있으면 이 케이스가 존재하게 된다. 그러나 S4의 DDT의 (Δb,Δb)항이 존재하면, Δa=Δb이라 하면 이 케이스의 연립방정식에 해가 존재하게 된다.Therefore, for any Δa and Δb, if there are values of (Δa,Δb) and (Δb,Δb) of the DDT of S 4 , this case exists. However , if the (Δb,Δb) term of the DDT of S 4 exists, a solution exists in the simultaneous equations in this case if Δa = Δb.
따라서 모든 Δb에 대해, S4의 DDT의 (Δb,Δb)항만 0이면 이 케이스는 성립할 수 없다. 그러므로 DBN이 3 이상이 되기 위한 조건은 S4의 DDT의 (1,1), (2,2), (4,4), (8,8)항만 0이면 된다.Therefore, for all Δb, this case cannot hold if only the (Δb,Δb) term of the DDT of S 4 is 0. Therefore, the condition for DBN to be greater than or equal to 3 is that only the (1,1), (2,2), (4,4), and (8,8) terms of the DDT of S 4 are 0.
도 8의 구조에서, LBN이 2가 될 수 있는 가능성이 있는 경우는 도 10과 같이 4개의 선형경로로 도출될 수 있다. 도 10의 각 case에 대해 8비트 에스박스의 LBN이 3이상임을 설명한다.In the structure of FIG. 8 , a case in which LBN may be 2 may be derived as four linear paths as shown in FIG. 10 . It will be described that the LBN of the 8-bit S-box is 3 or more for each case of FIG. 10 .
(case 1)(case 1)
이에 대한 선형근사식은 다음과 같다.The linear approximation for this is as follows.
이를 풀면 이다.if you solve this am.
라 치환하면 위 식은 다음과 같다. Substituting , the above expression becomes:
Z는 전단사함수이므로 위 식은 다음과 같다.Since Z is a predicate function, the above expression is as follows.
X0쌍 중 좌변을 0으로 만드는 개수를 α라 하고 Z쌍 중 우변을 0으로 만드는 개수를 β라 하면, 좌변 우변이 모두 0일 때 위 식이 성립하므로 해의 개수는 αβ이고 좌변 우변이 모두 1일 때 위 식이 성립하므로 이 때 해의 개수는 (16-α)(16-β)이다. 그러므로, 위 식이 성립하는 해의 개수는 αβ+(16-α)(16-β) = 256-16α-16β+2αβ이다.If α is the number of X 0 pairs that make the
그러나, 중간 개수는 128이므로 However, since the median number is 128
256-16α-16β+2αβ = 128256-16α-16β+2αβ = 128
128-16α-16β+2αβ = 0128-16α-16β+2αβ = 0
2(64-8α-8β+αβ) = 02(64-8α-8β+αβ) = 0
2(8-α)(8-β)=02(8-α)(8-β)=0
따라서, α와 β가 8이면 위 식은 편차가 없다.Therefore, if α and β are 8, there is no deviation in the above equation.
α는 의 해이고, β는 의 해이므로 S4의 LAT의 (a,b)항과 (b,b)항의 값이 0이 아니면 이 케이스의 선형방정식의 편차가 존재하게 된다. 따라서, 이게 아니면 안된다.α is is the solution of , and β is Since the values of the (a,b) and (b,b) terms of the LAT of S 4 are not 0, there is a deviation of the linear equation in this case. So, this shouldn't be the case.
그러나, S4의 LAT의 (b,b)항이 존재하면, a=b이라 두면 이 케이스의 연립방정식의 편차가 존재하게 된다. 따라서, 모든 b에 대해 S4의 LAT의 (b,b)항만 0이면 이 케이스는 성립할 수 없다.However, if the (b,b) term of the LAT of S 4 exists, a deviation of the simultaneous equations in this case exists if a=b. Therefore, if only the (b,b) term of the LAT of S 4 is 0 for all b, this case cannot hold.
(case 2)(case 2)
이에 대한 선형근사식은 다음과 같다.The linear approximation for this is as follows.
라 치환하면 위 식은 다음과 같다. Substituting , the above expression becomes:
위 식은 좌우변이 독립이고 우변이 항상 편차가 없으므로 선형근사식은 편차가 없다. 왜냐하면 어떤 X1에 대해서든 위 식을 만족하는 Z값은 8개씩 존재한다. 따라서 모든 X1에 대해서는 128(=16*8)개의 Z가 존재하며, 이는 (X1,Z)의 모든 쌍 256개 중 정확히 절반에 해당되므로 위 선형근사식은 해의 편차가 없는 것이다.Since the left and right sides of the above equation are independent and there is always no deviation on the right side, the linear approximation has no deviation. Because for any X 1 , there are 8 Z values that satisfy the above expression. Therefore, for all X 1 , there are 128 (=16*8) Z, which is exactly half of all 256 pairs of (X 1 ,Z), so the above linear approximation has no solution deviation.
(case 3)(case 3)
이에 대한 선형근사식은 다음과 같다.The linear approximation for this is as follows.
가 된다. becomes
좌우변이 독립이고 우변이 항상 편차가 없으므로 이 선형근사식은 편차가 없다.Since the left and right sides are independent and the right side always has no deviation, this linear approximation has no deviation.
(case 4)(case 4)
이에 대한 선형근사식은 다음과 같다.The linear approximation for this is as follows.
좌우변이 독립이고 우변이 항상 편차가 없으므로 이 선형근사식은 편차가 없다.Since the left and right sides are independent and the right side always has no deviation, this linear approximation has no deviation.
결과적으로, LBN이 3이상이 되기 위한 조건은 S4의 LAT의 (1,1), (2,2), (4,4), (8,8)항만 0이면 된다.As a result, the condition for the LBN to be 3 or greater is that only the (1,1), (2,2), (4,4), and (8,8) terms of the LAT of S 4 are 0.
상기와 같이, 본 발명에 따른 에스박스(200)는 작은 에스박스에 대해 DLBN이 3이상이 되는 조건을 적용하여 다양한 확장구조로서 구현될 수 있다.As described above, the S-
일 실시예에서, 에스박스(200)는 비트 연산부(230)를 통해 확장구조가 4비트 에스박스 , 및 을 포함하는 Feistel-variant 확장구조인 경우, 복수의 입력비트들에 대해 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.In one embodiment, the S-
1) 의 DDT의 (a,b)항 및 의 DDT의 (b,0)항 중 어느 하나는 0임One) (a,b) of the DDT of Any one of the (b,0) terms of the DDT of
2) 의 DDT의 (a,b)항 및 의 DDT의 (b,b)항 중 어느 하나는 0임2) (a,b) of the DDT of Any one of (b,b) terms of DDT is 0
3) 의 LAT의 (a,b)항 및 의 LAT의 (b,b)항 중 어느 하나는 0임3) (a, b) of the LAT of Any one of (b,b) terms of LAT is 0
4) 의 LAT의 (a,b)항 및 의 LAT의 (0,b)항 중 어느 하나는 0임4) (a, b) of the LAT of Any one of (0,b) terms of LAT of
5) 및 는 전단사함수임5) and is a predicate function
여기에서, DDT는 Difference Distribution Table, LAT는 Linear Approximation Table을 나타내고, a와 b는 값 1, 2, 4, 8 중 어느 하나에 해당한다.Here, DDT denotes a Difference Distribution Table, LAT denotes a Linear Approximation Table, and a and b correspond to any one of
일 실시예에서, 에스박스(200)는 비트 연산부(230)를 통해 확장구조가 4비트 에스박스 , 및 을 포함하는 Lay-Massey 확장구조인 경우, 복수의 입력비트들에 대해 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.In one embodiment, the S-
1) 의 DDT의 (a,0)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임One) (a,0) of the DDT of Any one of (a,b) terms of DDT is 0
2) 의 DDT의 (a,a)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임2) (a,a) of the DDT of Any one of (a,b) terms of DDT is 0
3) 의 DDT의 (a,a)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임3) (a,a) of the DDT of Any one of (a,b) terms of DDT is 0
4) 의 DDT의 (a,0)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임4) (a,0) of the DDT of Any one of (a,b) terms of DDT is 0
5) 의 LAT의 (0,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임5) (0,a) of the LAT and Any one of (a,b) terms of LAT is 0
6) 의 LAT의 (a,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임6) (a,a) of the LAT of Any one of (a,b) terms of LAT is 0
7) 의 LAT의 (a,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임7) (a,a) of the LAT of Any one of (a,b) terms of LAT is 0
8) 의 LAT의 (0,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임8) (0,a) of the LAT and Any one of (a,b) terms of LAT is 0
9) 및 는 전단사함수임9) and is a predicate function
일 실시예에서, 에스박스(200)는 비트 연산부(230)를 통해 확장구조가 4비트 에스박스 , 및 을 포함하는 3-round Feistel 확장구조인 경우, 복수의 입력비트들에 대해 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.In one embodiment, the S-
1) 의 DDT의 (a,b)항과 의 DDT의 (b,a)항 중 어느 하나는 0임One) (a,b) of the DDT and Any one of (b,a) terms of DDT of
2) 의 DDT의 (a,b)항과 의 DDT의 (b,a)항 중 어느 하나는 0임2) (a,b) of the DDT and Any one of (b,a) terms of DDT of
3) 의 DDT의 (a,0)항은 0임3) The (a,0) term of the DDT of
4) 4비트 값 X와 Y에 대해, 및 중 어느 하나는 해 (X,Y)가 없음4) For 4-bit values X and Y, and Either one has no solution (X,Y)
5) 의 LAT의 (a,b)항 및 의 LAT의 (b,a)항 중 어느 하나는 0임5) (a, b) of the LAT of Any one of (b,a) terms of LAT is 0
6) 의 LAT의 (a,b)항 및 의 LAT의 (b,a)항 중 어느 하나는 0임6) (a, b) of the LAT of Any one of (b,a) terms of LAT is 0
7) 의 DDT의 (0,a)항은 0임7) The (0,a) term of DDT is 0
8) 4비트 값 X와 Y에 대해, 를 만족하는 해 (X,Y)의 개수는 128개임(단, ·은 에서의 내적 - 예를 들어, 4비트 간의 내적 - 에 해당함)8) For 4-bit values X and Y, The number of solutions (X,Y) satisfying Corresponds to the dot product in - for example, the dot product between 4 bits)
본 발명에 따른 에스박스(200)는 작은 에스박스의 확장구조를 적용하여 큰 에스박스를 생성하는 과정에서 작은 에스박스에 관해 DBN과 LBN이 모두 3 이상이 되도록 하는 조건을 적용함으로써 DLBN이 3 이상인 에스박스를 생성할 수 있다. 또한, 도출된 조건으로 인하여 작은 에스박스가 가져야 하는 암호학적 성질을 명확히 할 수 있다는 점에서 암호 컴포넌트 설계 단계에서 시행해야 하는 에스박스 조사량을 획기적으로 줄일 수 있다.The S-
한편, 본 발명에 따른 에스박스(200)를 사용한 SbPN 암호의 차분 및 선형 성질은 DLBN이 2인 에스박스를 사용한 SbPN 암호보다 확산이 빨라 라운드 수를 적게 채택할 수 있다는 점에서 속도를 증가시킬 수 있다.On the other hand, the differential and linear properties of the SbPN encryption using the S-
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art can variously modify and change the present invention within the scope without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that it can be done.
100: 에스박스를 이용한 암호 시스템
110: 사용자 단말
130: 암호 장치
150: 데이터베이스
200: 에스박스
210: 입력비트 수신부
230: 비트 연산부
250: 출력비트 생성부
270: 제어부100: Encryption system using S-box
110: user terminal 130: encryption device
150: database
200: S box
210: input bit receiving unit 230: bit calculating unit
250: output bit generation unit 270: control unit
Claims (10)
상기 복수의 입력비트들에 대해 적어도 하나의 작은 에스박스(S-box)에 관한 확장구조 - 상기 확장구조는 DBN(Differential Branch Number)과 LBN(Linear Branch Number) 중 최소값에 해당하는 DLBN(Differential-Linear Branch Number)이 3이상인 조건을 충족함 - 로 정의되는 연산구간을 적용하는 비트 연산부; 및
상기 연산구간의 적용에 따른 결과로서 복수의 출력비트들을 생성하는 출력비트 생성부를 포함하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
an input bit receiving unit for receiving a plurality of input bits;
An extension structure relating to at least one small S-box for the plurality of input bits - The extension structure is a differential- Linear Branch Number) satisfies the condition of 3 or more - bit arithmetic unit that applies the arithmetic section defined as ; and
An extended S-box that satisfies the condition that the DLBN including an output bit generator generating a plurality of output bits as a result according to the application of the operation section is 3 or more.
상기 복수의 입력비트들은 k(상기 k는 자연수) 개의 입력라인들을 형성하고 상기 복수의 출력비트들은 m(상기 m은 자연수) 개의 출력라인들을 형성하며,
상기 입력라인들 및 상기 출력라인들 각각의 크기는 서로 동일하거나 또는 서로 상이한 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
According to claim 1,
The plurality of input bits form k (where k is a natural number) input lines and the plurality of output bits form m (wherein m is a natural number) number of output lines,
The size of each of the input lines and the output lines is the same as or different from each other, the extended S-box satisfying the condition that the DLBN is 3 or more.
상기 연산구간은 전단사함수(Bijective Function)를 형성하는 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
According to claim 1,
The operation section is an extended S-box that satisfies the condition that the DLBN is 3 or more, characterized in that it forms a bijective function.
상기 적어도 하나의 작은 에스박스가 n비트 에스박스인 경우 상기 확장 에스박스는 n+1비트 이상의 에스박스를 형성하는 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
According to claim 1,
When the at least one small S-box is an n-bit S-box, the extended S-box forms an S-box of n+1 bits or more.
상기 DBN에 관한 조건으로서 i 번째 입력라인과 j 번째 출력라인에 관한 다음의 연립방정식이 항상 불능이 되는 조건을 충족시키는 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
[연립방정식]
(여기에서, S는 에스박스, X는 입력라인을 나타내고, Δα와 Δβ는 wt(Δα) = wt(Δβ) = 1 을 만족한다.)
According to claim 1, wherein the small S-box
An extended S-box that satisfies the condition that the DLBN is 3 or more, characterized in that it satisfies the condition that the following simultaneous equations for the i-th input line and the j-th output line are always disabled as the DBN condition.
[System of equations]
(Here, S is S-box, X is input line, and Δα and Δβ satisfy wt(Δα) = wt(Δβ) = 1.)
상기 LBN에 관한 조건으로서 i 번째 입력라인과 j 번째 출력라인에 관한 다음의 선형근사식의 해의 편차가 없는 조건을 충족시키는 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
[선형근사식]
Xi·α = Sj(X)·β
(여기에서, S는 에스박스, X는 입력라인을 나타내고, α와 β는 wt(α) = wt(β) = 1 을 만족한다.)
According to claim 1, wherein the small S-box
An extended S-box that satisfies the condition that the DLBN is 3 or more, characterized in that it satisfies the condition that there is no deviation of the solution of the following linear approximation equation for the i-th input line and the j-th output line as the condition for the LBN.
[Linear Approximation]
X i α = S j (X) β
(Here, S is S-box, X is input line, and α and β satisfy wt(α) = wt(β) = 1.)
상기 확장구조가 4비트 에스박스 , 및 을 포함하는 Feistel-variant 확장구조인 경우,
상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용하는 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
1) 의 DDT의 (a,b)항 및 의 DDT의 (b,0)항 중 어느 하나는 0임
2) 의 DDT의 (a,b)항 및 의 DDT의 (b,b)항 중 어느 하나는 0임
3) 의 LAT의 (a,b)항 및 의 LAT의 (b,b)항 중 어느 하나는 0임
4) 의 LAT의 (a,b)항 및 의 LAT의 (0,b)항 중 어느 하나는 0임
5) 및 는 전단사함수임
(여기에서, DDT는 Difference Distribution Table, LAT는 Linear Approximation Table을 나타내고, a와 b는 값 1, 2, 4, 8 중 어느 하나에 해당한다.)
The method of claim 1, wherein the bit operation unit
The extension structure is a 4-bit S-box , and In the case of a Feistel-variant extended structure containing
An extended S-box that satisfies a condition in which DLBN is 3 or more, characterized in that an operation section satisfying all of the following conditions regarding the 4-bit S-box is applied to the plurality of input bits.
One) (a,b) of the DDT of Any one of the (b,0) terms of the DDT of
2) (a,b) of the DDT of Any one of (b,b) terms of DDT is 0
3) (a, b) of the LAT of Any one of (b,b) terms of LAT is 0
4) (a, b) of the LAT of Any one of (0,b) terms of LAT of
5) and is a predicate function
(Here, DDT represents the Difference Distribution Table, LAT represents the Linear Approximation Table, and a and b correspond to any one of values 1, 2, 4, and 8.)
상기 확장구조가 4비트 에스박스 , 및 을 포함하는 Lay-Massey 확장구조인 경우,
상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용하는 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
1) 의 DDT의 (a,0)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임
2) 의 DDT의 (a,a)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임
3) 의 DDT의 (a,a)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임
4) 의 DDT의 (a,0)항 및 의 DDT의 (a,b)항 중 어느 하나는 0임
5) 의 LAT의 (0,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임
6) 의 LAT의 (a,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임
7) 의 LAT의 (a,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임
8) 의 LAT의 (0,a)항 및 의 LAT의 (a,b)항 중 어느 하나는 0임
9) 및 는 전단사함수임
(여기에서, DDT는 Difference Distribution Table, LAT는 Linear Approximation Table을 나타내고, a와 b는 값 1, 2, 4, 8 중 어느 하나에 해당한다.)
The method of claim 1, wherein the bit operation unit
The extension structure is a 4-bit S-box , and In the case of a Lay-Massey extended structure including
An extended S-box that satisfies a condition in which DLBN is 3 or more, characterized in that an operation section satisfying all of the following conditions regarding the 4-bit S-box is applied to the plurality of input bits.
One) (a,0) of the DDT of Any one of (a,b) terms of DDT is 0
2) (a,a) of the DDT of Any one of (a,b) terms of DDT is 0
3) (a,a) of the DDT of Any one of (a,b) terms of DDT is 0
4) (a,0) of the DDT of Any one of (a,b) terms of DDT is 0
5) (0,a) of the LAT and Any one of (a,b) terms of LAT is 0
6) (a,a) of the LAT of Any one of (a,b) terms of LAT is 0
7) (a,a) of the LAT of Any one of (a,b) terms of LAT is 0
8) (0,a) of the LAT and Any one of (a,b) terms of LAT is 0
9) and is a predicate function
(Here, DDT represents the Difference Distribution Table, LAT represents the Linear Approximation Table, and a and b correspond to any one of values 1, 2, 4, and 8.)
상기 확장구조가 4비트 에스박스 , 및 을 포함하는 3-round Feistel 확장구조인 경우,
상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용하는 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
1) 의 DDT의 (a,b)항과 의 DDT의 (b,a)항 중 어느 하나는 0임
2) 의 DDT의 (a,b)항과 의 DDT의 (b,a)항 중 어느 하나는 0임
3) 의 DDT의 (a,0)항은 0임
4) 4비트 값 X와 Y에 대해, 및 중 어느 하나는 해 (X,Y)가 없음
5) 의 LAT의 (a,b)항 및 의 LAT의 (b,a)항 중 어느 하나는 0임
6) 의 LAT의 (a,b)항 및 의 LAT의 (b,a)항 중 어느 하나는 0임
7) 의 DDT의 (0,a)항은 0임
8) 4비트 값 X와 Y에 대해, 를 만족하는 해 (X,Y)의 개수는 128개임(단, ·은 에서의 내적 - 예를 들어, 4비트 간의 내적 - 에 해당함)
(여기에서, DDT는 Difference Distribution Table, LAT는 Linear Approximation Table을 나타내고, a와 b는 값 1, 2, 4, 8 중 어느 하나에 해당한다.)
The method of claim 1, wherein the bit operation unit
The extension structure is a 4-bit S-box , and In the case of a 3-round Feistel extended structure containing
An extended S-box that satisfies a condition in which DLBN is 3 or more, characterized in that an operation section satisfying all of the following conditions regarding the 4-bit S-box is applied to the plurality of input bits.
One) (a,b) of the DDT and Any one of (b,a) terms of DDT of
2) (a,b) of the DDT and Any one of (b,a) terms of DDT of
3) The (a,0) term of the DDT of
4) For 4-bit values X and Y, and Either one has no solution (X,Y)
5) (a, b) of the LAT of Any one of (b,a) terms of LAT is 0
6) (a, b) of the LAT of Any one of (b,a) terms of LAT is 0
7) The (0,a) term of DDT is 0
8) For 4-bit values X and Y, The number of solutions (X,Y) satisfying Corresponds to the dot product in - for example, the dot product between 4 bits)
(Here, DDT represents the Difference Distribution Table, LAT represents the Linear Approximation Table, and a and b correspond to any one of values 1, 2, 4, and 8.)
상기 복수의 입력비트들에 대해 적어도 하나의 작은 에스박스(S-box)에 관한 확장구조 - 상기 확장구조는 DBN(Differential Branch Number)과 LBN(Linear Branch Number) 중 최소값에 해당하는 DLBN(Differential-Linear Branch Number)이 3이상인 조건을 충족함 - 로 정의되는 연산구간을 적용하는 단계; 및
상기 연산구간의 적용에 따른 결과로서 복수의 출력비트들을 생성하는 단계를 포함하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스를 이용한 비트 연산 방법.
receiving a plurality of input bits;
An extension structure relating to at least one small S-box for the plurality of input bits - The extension structure is a differential- Linear Branch Number) satisfies a condition of 3 or more - applying an operation section defined as ; and
A bit operation method using an extended S-box that satisfies the condition that the DLBN is 3 or more, including generating a plurality of output bits as a result of the application of the operation section.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200025995A KR102424922B1 (en) | 2020-03-02 | 2020-03-02 | Extended s-box with dbn and lbn are both greater than 2 and bit operation method using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200025995A KR102424922B1 (en) | 2020-03-02 | 2020-03-02 | Extended s-box with dbn and lbn are both greater than 2 and bit operation method using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210111009A true KR20210111009A (en) | 2021-09-10 |
KR102424922B1 KR102424922B1 (en) | 2022-07-26 |
Family
ID=77777305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200025995A KR102424922B1 (en) | 2020-03-02 | 2020-03-02 | Extended s-box with dbn and lbn are both greater than 2 and bit operation method using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102424922B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100389902B1 (en) | 1997-06-23 | 2003-09-22 | 삼성전자주식회사 | Fast block encryption method guaranteeing security for differential cryptanalysis and linear cryptanalysis |
-
2020
- 2020-03-02 KR KR1020200025995A patent/KR102424922B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100389902B1 (en) | 1997-06-23 | 2003-09-22 | 삼성전자주식회사 | Fast block encryption method guaranteeing security for differential cryptanalysis and linear cryptanalysis |
Non-Patent Citations (3)
Title |
---|
Huacui Liu, and Chenhui Jin "Lower Bounds of Differential and Linear Active S-boxes for 3D-like Structure." The Computer Journal Vol. 58(4)(2015.) 1부.* * |
Jongsung Kim et al "Seven new block cipher structures with provable security against differential cryptanalysis." IEICE transactions on fundamentals of electronics, Communications and computer sciences, Vol. 91(10), pp. 3047-3058(2008.) 1부.* * |
전용진 등 "차분 및 선형 Branch 수가 모두 3인 Bbit S-box에 대한 연구" 한국정보보호학회 하계학술대회 논문집, Vol. 29. No. 1(2019.06.) 1부.* * |
Also Published As
Publication number | Publication date |
---|---|
KR102424922B1 (en) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar et al. | Development of modified AES algorithm for data security | |
CN107707343B (en) | SP network structure lightweight block cipher realization method with consistent encryption and decryption | |
Tiessen et al. | Security of the AES with a secret S-box | |
US8966279B2 (en) | Securing the implementation of a cryptographic process using key expansion | |
CA2578316C (en) | Table splitting for cryptographic processes | |
US7720225B2 (en) | Table splitting for cryptographic processes | |
US8966285B2 (en) | Securing implementation of a cryptographic process having fixed or dynamic keys | |
KR101989956B1 (en) | Apparatus and method for encryption | |
US8619985B2 (en) | Table splitting for cryptographic processes | |
US8675866B2 (en) | Multiplicative splits to protect cipher keys | |
Kazymyrov et al. | Influence of addition modulo 2 n on algebraic attacks | |
CN107438065A (en) | Data encryption device and method, data decryption apparatus and method | |
Cao et al. | Related-key differential cryptanalysis of the reduced-round block cipher GIFT | |
KR101095386B1 (en) | A Cryptosystem with a Discretized Chaotic Map | |
Bouslehi et al. | Innovative image encryption scheme based on a new rapid hyperchaotic system and random iterative permutation | |
Z’aba et al. | I-present tm: An involutive lightweight block cipher | |
KR102033351B1 (en) | Computer-executable lightweight white-box cryptographic method and apparatus thereof | |
Alemami et al. | Advanced approach for encryption using advanced encryption standard with chaotic map | |
Dawood et al. | The new block cipher design (Tigris Cipher) | |
Zhao et al. | Truncated differential cryptanalysis of PRINCE | |
Patil et al. | Dot: A new ultra-lightweight sp network encryption design for resource-constrained environment | |
Zhou et al. | Towards practical white-box lightweight block cipher implementations for IoTs | |
KR102424922B1 (en) | Extended s-box with dbn and lbn are both greater than 2 and bit operation method using the same | |
KR20190037980A (en) | System and method for efficient lightweight block cipher in pervasive computing | |
Zajac et al. | Cryptographic properties of small bijective S-boxes with respect to modular addition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |