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 PDF

Info

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
Application number
KR1020200025995A
Other languages
Korean (ko)
Other versions
KR102424922B1 (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 KR1020200025995A priority Critical patent/KR102424922B1/en
Publication of KR20210111009A publication Critical patent/KR20210111009A/en
Application granted granted Critical
Publication of KR102424922B1 publication Critical patent/KR102424922B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

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

The present invention relates to an s-box satisfying a condition that DLBN is 3 or more and a bit operation method using the same. The s-box includes: an input bit receiving unit for receiving a plurality of input bits; a bit operation unit applied with an operation section defined by an extension structure related to at least one small s-box to the plurality of input bits, wherein the extended structure satisfies a condition that a differential-linear branch number (DLBN) corresponding to a minimum value among a differential branch number (DBN) and a linear branch number (LBN) is 3 or more; and an output bit generating unit which generates a plurality of output bits as a result of application of the operation section.

Description

DLBN이 3 이상인 조건을 만족하는 확장 에스박스 및 이를 이용한 비트 연산 방법{EXTENDED S-BOX WITH DBN AND LBN ARE BOTH GREATER THAN 2 AND BIT OPERATION METHOD USING THE SAME}An extended S-BOX that satisfies the condition that DLBN is 3 or more and a bitwise operation method using the same

본 발명은 비트 연산 기술에 관한 것으로, 보다 상세하게는 에스박스의 확장구조를 사용하여 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.

한국등록특허 제10-0389902호 (2003.06.20)Korean Patent Registration No. 10-0389902 (June 20, 2003)

본 발명의 일 실시예는 에스박스의 확장구조를 사용하여 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-box 3 or more, which plays an important role in securing the differential and linear safety of the SbPN block cipher using a large S-box, the DLBN is 3 It is intended to provide an extended S-box satisfying the above conditions and a bit operation method using the same.

본 발명의 일 실시예는 제한된 자원을 갖는 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]

Figure pat00001
Figure pat00001

(여기에서, 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비트 에스박스

Figure pat00002
,
Figure pat00003
Figure pat00004
을 포함하는 Feistel-variant 확장구조인 경우, 상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.The bit operation unit has a 4-bit S-box in which the extension structure is
Figure pat00002
,
Figure pat00003
and
Figure pat00004
In the case of a Feistel-variant extension structure including

1)

Figure pat00005
의 DDT의 (a,b)항 및
Figure pat00006
의 DDT의 (b,0)항 중 어느 하나는 0임One)
Figure pat00005
(a,b) of the DDT of
Figure pat00006
Any one of the (b,0) terms of the DDT of

2)

Figure pat00007
의 DDT의 (a,b)항 및
Figure pat00008
의 DDT의 (b,b)항 중 어느 하나는 0임2)
Figure pat00007
(a,b) of the DDT of
Figure pat00008
Any one of (b,b) terms of DDT is 0

3)

Figure pat00009
의 LAT의 (a,b)항 및
Figure pat00010
의 LAT의 (b,b)항 중 어느 하나는 0임3)
Figure pat00009
(a, b) of the LAT of
Figure pat00010
Any one of (b,b) terms of LAT is 0

4)

Figure pat00011
의 LAT의 (a,b)항 및
Figure pat00012
의 LAT의 (0,b)항 중 어느 하나는 0임4)
Figure pat00011
(a, b) of the LAT of
Figure pat00012
Any one of (0,b) terms of LAT of

5)

Figure pat00013
Figure pat00014
는 전단사함수임5)
Figure pat00013
and
Figure pat00014
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 values 1, 2, 4, and 8.)

상기 비트 연산부는 상기 확장구조가 4비트 에스박스

Figure pat00015
,
Figure pat00016
Figure pat00017
을 포함하는 Lay-Massey 확장구조인 경우, 상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.The bit operation unit has a 4-bit S-box in which the extension structure is
Figure pat00015
,
Figure pat00016
and
Figure pat00017
In the case of a Lay-Massey extension structure including

1)

Figure pat00018
의 DDT의 (a,0)항 및
Figure pat00019
의 DDT의 (a,b)항 중 어느 하나는 0임One)
Figure pat00018
(a,0) of the DDT of
Figure pat00019
Any one of (a,b) terms of DDT is 0

2)

Figure pat00020
의 DDT의 (a,a)항 및
Figure pat00021
의 DDT의 (a,b)항 중 어느 하나는 0임2)
Figure pat00020
(a,a) of the DDT of
Figure pat00021
Any one of (a,b) terms of DDT is 0

3)

Figure pat00022
의 DDT의 (a,a)항 및
Figure pat00023
의 DDT의 (a,b)항 중 어느 하나는 0임3)
Figure pat00022
(a,a) of the DDT of
Figure pat00023
Any one of (a,b) terms of DDT is 0

4)

Figure pat00024
의 DDT의 (a,0)항 및
Figure pat00025
의 DDT의 (a,b)항 중 어느 하나는 0임4)
Figure pat00024
(a,0) of the DDT of
Figure pat00025
Any one of (a,b) terms of DDT is 0

5)

Figure pat00026
의 LAT의 (0,a)항 및
Figure pat00027
의 LAT의 (a,b)항 중 어느 하나는 0임5)
Figure pat00026
(0,a) of the LAT and
Figure pat00027
Any one of (a,b) terms of LAT is 0

6)

Figure pat00028
의 LAT의 (a,a)항 및
Figure pat00029
의 LAT의 (a,b)항 중 어느 하나는 0임6)
Figure pat00028
(a,a) of the LAT of
Figure pat00029
Any one of (a,b) terms of LAT is 0

7)

Figure pat00030
의 LAT의 (a,a)항 및
Figure pat00031
의 LAT의 (a,b)항 중 어느 하나는 0임7)
Figure pat00030
(a,a) of the LAT of
Figure pat00031
Any one of (a,b) terms of LAT is 0

8)

Figure pat00032
의 LAT의 (0,a)항 및
Figure pat00033
의 LAT의 (a,b)항 중 어느 하나는 0임8)
Figure pat00032
(0,a) of the LAT and
Figure pat00033
Any one of (a,b) terms of LAT is 0

9)

Figure pat00034
Figure pat00035
는 전단사함수임9)
Figure pat00034
and
Figure pat00035
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 values 1, 2, 4, and 8.)

상기 비트 연산부는 상기 확장구조가 4비트 에스박스

Figure pat00036
,
Figure pat00037
Figure pat00038
을 포함하는 3-round Feistel 확장구조인 경우, 상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.The bit operation unit has a 4-bit S-box in which the extension structure is
Figure pat00036
,
Figure pat00037
and
Figure pat00038
In the case of a 3-round Feistel extension structure including

1)

Figure pat00039
의 DDT의 (a,b)항과
Figure pat00040
의 DDT의 (b,a)항 중 어느 하나는 0임One)
Figure pat00039
(a,b) of the DDT and
Figure pat00040
Any one of (b,a) terms of DDT of

2)

Figure pat00041
의 DDT의 (a,b)항과
Figure pat00042
의 DDT의 (b,a)항 중 어느 하나는 0임2)
Figure pat00041
(a,b) of the DDT and
Figure pat00042
Any one of (b,a) terms of DDT of

3)

Figure pat00043
의 DDT의 (a,0)항은 0임3)
Figure pat00043
The (a,0) term of the DDT of

4) 4비트 값 X와 Y에 대해,

Figure pat00044
Figure pat00045
중 어느 하나는 해 (X,Y)가 없음4) For 4-bit values X and Y,
Figure pat00044
and
Figure pat00045
Either one has no solution (X,Y)

5)

Figure pat00046
의 LAT의 (a,b)항 및
Figure pat00047
의 LAT의 (b,a)항 중 어느 하나는 0임5)
Figure pat00046
(a, b) of the LAT of
Figure pat00047
Any one of (b,a) terms of LAT is 0

6)

Figure pat00048
의 LAT의 (a,b)항 및
Figure pat00049
의 LAT의 (b,a)항 중 어느 하나는 0임6)
Figure pat00048
(a, b) of the LAT of
Figure pat00049
Any one of (b,a) terms of LAT is 0

7)

Figure pat00050
의 DDT의 (a,0)항은 0임7)
Figure pat00050
The (a,0) term of the DDT of

8) 4비트 값 X와 Y에 대해,

Figure pat00051
를 만족하는 해 (X,Y)의 개수는 128개임(단, ·은
Figure pat00052
에서의 내적 - 예를 들어, 4비트 간의 내적 - 에 해당함)8) For 4-bit values X and Y,
Figure pat00051
The number of solutions (X,Y) satisfying
Figure pat00052
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 values 1, 2, 4, and 8.)

실시예들 중에서, 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)항의 값은

Figure pat00053
이다. 이 때, Δa,Δb∈{0,1}n이다.It is an n*n table, and the values of the terms (Δa,Δb) are
Figure pat00053
am. In this case, Δa,Δb∈{0,1} n .

- LAT(Linear Approximation Table) - LAT (Linear Approximation Table)

n*n 테이블이며

Figure pat00054
에 대해, (a,b)항의 값은
Figure pat00055
이다. 이 때, a,b∈{0,1}n이다.It is an n*n table.
Figure pat00054
For , the value of (a,b) is
Figure pat00055
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 =

Figure pat00056
DBN =
Figure pat00056

LBN =

Figure pat00057
LBN =
Figure pat00057

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 encryption system 100 using an S-box may include a user terminal 110 , an encryption device 130 , and a database 150 .

사용자 단말(110)은 암호화 대상이 되는 평문 또는 복호화 대상이 되는 암호문을 제공할 수 있는 컴퓨팅 장치에 해당할 수 있다. 사용자 단말(110)은 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 암호 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 암호 장치(130)와 동시에 연결될 수 있다.The user terminal 110 may correspond to a computing device capable of providing plaintext to be encrypted or ciphertext to be decrypted. The user terminal 110 may be implemented as a smartphone, a notebook computer, or a computer, but is not limited thereto, and may be implemented in various devices such as a tablet PC. The user terminal 110 may be connected to the encryption device 130 through a network, and a plurality of user terminals 110 may be simultaneously connected to the encryption device 130 .

암호 장치(130)는 평문을 암호화하여 암호문을 생성하거나 또는 암호문을 복호화하여 평문을 생성할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 암호 장치(130)는 사용자 단말(110)과 유선 네트워크 또는 블루투스, WiFi 등과 같은 무선 네트워크로 연결될 수 있고, 유선 또는 무선 네트워크를 통해 사용자 단말(110)과 통신을 수행할 수 있다. 일 실시예에서, 암호 장치(130)는 데이터베이스(150)와 연동하여 평문의 암호화 및 암호문의 복호화에 필요한 다양한 정보들을 저장할 수 있다. 한편, 암호 장치(130)는 도 1과 달리, 데이터베이스(150)를 내부에 포함하여 구현될 수 있다.The encryption device 130 may be implemented as a server corresponding to a computer or program capable of generating a cipher text by encrypting the plain text or decrypting the cipher text to generate the plain text. The encryption device 130 may be connected to the user terminal 110 through a wired network or a wireless network such as Bluetooth or WiFi, and may communicate with the user terminal 110 through a wired or wireless network. In an embodiment, the encryption device 130 may store various information required for encryption of plaintext and decryption of ciphertext in conjunction with the database 150 . Meanwhile, unlike FIG. 1 , the encryption device 130 may be implemented by including the database 150 therein.

일 실시예에서, 암호 장치(130)는 블록암호 알고리즘, 특히 경량 블록암호 알고리즘을 사용하여 암호화 및 복호화를 수행할 수 있다. 이 때, 경량 블록암호 알고리즘은 비트 퍼뮤테이션과 S-box를 사용하여 만들어진 SbPN 암호에 해당할 수 있고, DLBN이 3이상인 S-box를 포함하여 구현될 수 있다. 즉, 암호 장치(130)는 선형 및 차분 분석에 안전한 암호화 연산을 처리할 수 있다.In an embodiment, the encryption device 130 may perform encryption and decryption using a block cipher algorithm, in particular, a lightweight block cipher algorithm. In this case, the lightweight block cipher algorithm may correspond to an SbPN cipher created using bit permutation and an S-box, and may be implemented including an S-box having a DLBN of 3 or more. That is, the cryptographic device 130 may process a secure cryptographic operation for linear and differential analysis.

데이터베이스(150)는 암호 장치(130)가 평문의 암호화 및 암호문의 복호화를 수행하는 과정에서 필요한 다양한 정보들을 저장할 수 있다. 예를 들어, 데이터베이스(150)는 사용자 단말(110)로부터 수신한 평문 또는 암호문 파일을 저장할 수 있고, 암호화 또는 복호화에 사용할 암호 알고리즘에 관한 정보들을 저장할 수 있으며, 반드시 이에 한정되지 않고, 평문의 암호화 또는 암호문의 복호화 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.The database 150 may store various pieces of information necessary for the encryption device 130 to encrypt the plaintext and decrypt the ciphertext. For example, the database 150 may store a plaintext or ciphertext file received from the user terminal 110 , and may store information on an encryption algorithm to be used for encryption or decryption, but is not limited thereto, and encryption of plaintext Alternatively, information collected or processed in various forms during the decryption process of the ciphertext may be stored.

도 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-box 200 may include an input bit receiving unit 210 , a bit calculating unit 230 , an output bit generating unit 250 , and a controlling unit 270 . The S-box 200 may perform a bit operation in the encryption process performed by the encryption device 130 . For example, the S-box 200 may perform a bit replacement operation that shuffles the order of the bit string or changes the value of the bit string, and provides bit replacement in the middle stage of the encryption process to increase the unpredictability of an external attacker. can

또한, 암호 장치(130)에서 수행되는 암호화 과정은 평문을 기초로 중간값을 생성하는 제1 암호화 과정, 중간값이 에스박스(200)에 입력되어 비트 연산을 수행하여 출력값을 생성하는 비트 연산 과정 및 출력값을 기초로 평문에 관한 암호문을 생성하는 제2 암호화 과정을 포함할 수 있다. 에스박스(200)에 의한 비트 연산 과정은 전체 암호화 과정의 특정 단계에서 반복적으로 수행될 수 있고, 이에 따라 제1 및 제2 암호화 과정들은 비트 연산 과정을 기준으로 논리적으로 구분될 수 있다.In addition, the encryption process performed in the encryption device 130 includes a first encryption process for generating an intermediate value based on a plaintext, and a bit operation process for generating an output value by performing a bit operation after the intermediate value is input to the S-box 200 . and a second encryption process of generating a cipher text related to the plain text based on the output value. The bit operation process by the S-box 200 may be repeatedly performed at a specific stage of the entire encryption process, and accordingly, the first and second encryption processes may be logically divided based on the bit operation process.

일 실시예에서, 에스박스(200)는 암호 장치(130)에 포함되어 구현될 수 있고, 암호 장치(130)에서 수행되는 암호화 과정에서 비트 연산을 담당하는 물리적 장치로 구현될 수 있으며, 반드시 이에 한정되지 않고, 암호 알고리즘을 구성하는 논리적인 연산 단계로 구현될 수도 있다.In one embodiment, the S-box 200 may be implemented by being included in the encryption device 130 , and may be implemented as a physical device responsible for bit operation in the encryption process performed in the encryption device 130 . It is not limited, and may be implemented as a logical operation step constituting an encryption algorithm.

이하, 에스박스(200)의 기능적 구성의 동작을 중심으로 설명한다.Hereinafter, the operation of the functional configuration of the S-box 200 will be mainly described.

입력비트 수신부(210)는 복수의 입력비트들을 수신할 수 있다. 에스박스(200)가 암호 알고리즘의 일 구성요소로서 구현된 경우 입력비트 수신부(210)는 암호화 과정의 중간단계에서 생성된 중간값에 해당하는 비트열을 입력비트로서 수신할 수 있다. 입력비트 수신부(210)는 에스박스(200)의 구현에 따라 다양한 크기의 입력라인들로 복수의 입력비트들을 수신할 수 있다.The input bit receiving unit 210 may receive a plurality of input bits. When the S-box 200 is implemented as a component of an encryption algorithm, the input bit receiving unit 210 may receive a bit string corresponding to an intermediate value generated in an intermediate step of the encryption process as an input bit. The input bit receiving unit 210 may receive a plurality of input bits through input lines of various sizes according to the implementation of the S box 200 .

일 실시예에서, 입력비트 수신부(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 bit receiving unit 210 may form k (where k is a natural number) number of input lines, and the size of each of the input lines may be the same or different from each other. can For example, in FIG. 6 , when the S-box 200 corresponds to an 8-bit S-box, the input bit receiving unit 210 may receive a total of four input lines each having a size of 2, 1, 3, and 2 bits. . Of course, the configuration and size of the input lines may be different depending on the extended structure adopted by the S-box 200 .

비트 연산부(230)는 복수의 입력비트들에 대해 적어도 하나의 작은 에스박스(S-box)에 관한 확장구조 - 상기 확장구조는 DBN(Differential Branch Number)과 LBN(Linear Branch Number) 중 최소값에 해당하는 DLBN(Differential-Linear Branch Number)이 3이상인 조건을 충족함 - 로 정의되는 연산구간을 적용할 수 있다. 즉, 비트 연산부(230)는 입력비트들을 이용한 비트 연산을 처리할 수 있고, 비트 연산에 적용되는 연산구간은 에스박스의 확장구조로 정의될 수 있으며, DLBN이 최소 3이상인 조건을 충족하도록 구현됨으로써 SbPN 구조를 사용한 블록암호에서 짧은 라운드 내에 높은 차분 및 선형 안전성을 제공할 수 있다.The bit operation unit 230 has an extended structure related to at least one small S-box for a plurality of input bits. The extended structure corresponds to a minimum value of DBN (Differential Branch Number) and LBN (Linear Branch Number). DLBN (Differential-Linear Branch Number) satisfies the condition of 3 or more. That is, the bit operation unit 230 can process a bit operation using input bits, and the operation section applied to the bit operation can be defined as an extended structure of the S-box, and is implemented to satisfy the condition that the DLBN is at least 3 Block ciphers using the SbPN structure can provide high differential and linear stability within short rounds.

일 실시예에서, 비트 연산부(230)는 전단사함수(Bijective Function)를 형성하는 연산구간을 적용할 수 있다. 즉, 에스박스(200)는 비트 연산을 통해 두 집합, 즉 입력과 출력에 있어서 중복없이 모두 일대일로 대응시킬 수 있다.In an embodiment, the bit operation unit 230 may apply an operation section forming a bijective function. That is, the S-box 200 may correspond to both sets one-to-one without duplication in two sets, that is, input and output, through bitwise operation.

일 실시예에서, 연산구간을 정의하는 적어도 하나의 작은 에스박스가 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-box 200 that processes the bit operation by applying the corresponding operation section is an extended S-box of n+1 bits or more. You can form a box. For example, the S-box 200 may correspond to an 8-bit S-box when it is defined and formed as an extended structure related to a 4-bit S-box.

출력비트 생성부(250)는 연산구간의 적용에 따른 결과로서 복수의 출력비트들을 생성할 수 있다. 에스박스(200)가 암호 알고리즘의 일 구성요소로서 구현된 경우 출력비트 생성부(250)는 암호화 과정의 중간단계에서 비트 연산의 결과로서 출력된 비트열을 출력비트로서 생성할 수 있다. 출력비트 생성부(250)는 에스박스(200)의 구현에 따라 복수의 출력비트들을 생성하여 다양한 크기의 출력라인들을 통해 출력할 수 있다.The output bit generator 250 may generate a plurality of output bits as a result according to the application of the operation section. When the S-box 200 is implemented as a component of an encryption algorithm, the output bit generating unit 250 may generate a bit string output as an output bit as a result of bit operation in an intermediate step of the encryption process. The output bit generator 250 may generate a plurality of output bits according to the implementation of the S-box 200 and output them through output lines of various sizes.

일 실시예에서, 출력비트 생성부(250)에 의해 생성되는 복수의 출력비트들은 m(상기 m은 자연수) 개의 출력라인들을 형성할 수 있고, 출력라인들 각각의 크기는 서로 동일하거나 또는 서로 상이할 수 있다. 예를 들어, 도 6에서 에스박스(200)가 8비트 에스박스에 해당하는 경우 출력비트 생성부(250)는 각각 4, 1, 3 비트 크기를 갖는 총 3개의 출력라인들을 생성할 수 있다. 출력라인들의 구성 및 크기는 에스박스(200)에 의해 채택된 확장구조에 따라 상이할 수 있음은 물론이다.In an embodiment, the plurality of output bits generated by the output bit generator 250 may form m (where m is a natural number) number of output lines, and the size of each of the output lines may be the same or different from each other. can do. For example, in FIG. 6 , when the S-box 200 corresponds to an 8-bit S-box, the output bit generator 250 may generate a total of three output lines each having a size of 4, 1, and 3 bits. Of course, the configuration and size of the output lines may be different depending on the extended structure adopted by the S-box 200 .

제어부(270)는 에스박스(200)의 전체적인 동작을 제어하고, 입력비트 수신부(210), 비트 연산부(230) 및 출력비트 생성부(250) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The control unit 270 may control the overall operation of the S-box 200 , and may manage a control flow or data flow between the input bit receiving unit 210 , the bit calculating unit 230 , and the output bit generating unit 250 .

도 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-box 200 may receive a plurality of input bits through the input bit receiving unit 210 (step S310). The S-box 200 has an extended structure related to at least one small S-box for a plurality of input bits through the bit operation unit 230 - The extended structure is a DBN (Differential Branch Number) and LBN (Linear) Branch Number) satisfies a condition in which a differential-linear branch number (DLBN) corresponding to the minimum value is 3 or more may be applied (step S330). The S-box 200 may generate a plurality of output bits as a result of the application of the operation section through the output bit generation unit 250 (step S350).

도 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-box 8 is a view for explaining an embodiment of the Feistel-variant extended structure with respect to the S-box, and FIG. 9 is a view for explaining a differential path in which DBN can be 2 in the Feistel-variant extended structure, FIG. 10 is a diagram explaining a linear path in which LBN can be 2 in the Feistel-variant extended structure.

이하, 도 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-box 200 may be called S, Y = S(X) = S(X 0 ,...,X k ) and Y i = S i (X) = S i (X 0 ) ,...,X k ). Since both DBN and LBN are non-zero natural numbers, 3 or more may be equivalent to DBN and LBN not being 2 or less. In addition, since the S-box generated for the above reason must be a predicate function, DBN and LBN cannot be 1, so it can be guaranteed that DLBN is always 3 or more unless there is a situation where it becomes 2.

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]

Figure pat00058
Figure pat00058

여기에서, 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-box 200 can apply the operation section defined by the extended structure of the small S-box in the bit operation process, and the small S-box used in the operation section is implemented with a structure that makes simultaneous equations always impossible. can

또한, 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-box 200 can apply the operation section defined by the extended structure of the small S-box in the bit operation process, and the small S-box used in the operation section is implemented with a structure that ensures that there is no deviation of the solution of the linear approximation formula. can be

이하, 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-box 200 is 3 or more will be described using the Feistel-variant extended structure as an example.

도 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.

Figure pat00059
Figure pat00059

Figure pat00060
Figure pat00060

도 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.

Figure pat00061
Figure pat00061

위 두 식 중 Y0에 대한 식을 전개하면If we expand the expression for Y 0 among the above two expressions,

Figure pat00062
Figure pat00062

라는 식이 되는데 이는 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.

Figure pat00063
Figure pat00063

위 두 식 중 Y0에 대한 식을 전개하면If we expand the expression for Y 0 among the above two expressions,

Figure pat00064
Figure pat00064

라는 식이 되는데 이는 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.

Figure pat00065
Figure pat00065

위 두 식 중 Y1에 대한 식을 전개하면If we expand the expression for Y 1 among the above two expressions,

Figure pat00066
Figure pat00066

라는 식이 된다. 이항하면becomes the expression When translating

Figure pat00067
가 된다.
Figure pat00067
becomes

S4는 전단사함수이므로 양변에 S4 -1을 하면Since S 4 is a predicate function, if S 4 -1 on both sides is

Figure pat00068
가 되고,
Figure pat00068
become,

Figure pat00069
Figure pat00069

라는 식이 되는데 이는 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.

Figure pat00070
Figure pat00070

위 두 식 중 Y0에 대한 식을 전개하면If we expand the expression for Y 0 among the above two expressions,

Figure pat00071
Figure pat00071

가 된다. 마찬가지로, Y1에 대한 식을 전개하면becomes Similarly, expanding the expression for Y 1 gives

Figure pat00072
Figure pat00072

가 된다. 위 두 식을 연립하면becomes Combining the above two equations

Figure pat00073
가 유도된다.
Figure pat00073
is induced

Figure pat00074
라 치환하면 위 식은
Figure pat00075
가 된다.
Figure pat00074
Substituting , the above expression
Figure pat00075
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.

Figure pat00076
Figure pat00076

이를 풀면

Figure pat00077
이다.if you solve this
Figure pat00077
am.

Figure pat00078
라 치환하면 위 식은 다음과 같다.
Figure pat00078
Substituting , the above expression becomes:

Figure pat00079
Figure pat00079

Z는 전단사함수이므로 위 식은 다음과 같다.Since Z is a predicate function, the above expression is as follows.

Figure pat00080
Figure pat00080

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 left side 0, and β is the number of Z pairs that make the right side 0, the above equation holds when both the left and right sides are 0, so the number of solutions is αβ and all the left and right sides are 1 Since the above equation holds when , the number of solutions in this case is (16-α)(16-β). Therefore, the number of solutions for which the above expression holds is αβ+(16-α)(16-β) = 256-16α-16β+2αβ.

그러나, 중간 개수는 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.

α는

Figure pat00081
의 해이고, β는
Figure pat00082
의 해이므로 S4의 LAT의 (a,b)항과 (b,b)항의 값이 0이 아니면 이 케이스의 선형방정식의 편차가 존재하게 된다. 따라서, 이게 아니면 안된다.α is
Figure pat00081
is the solution of , and β is
Figure pat00082
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.

Figure pat00083
Figure pat00083

Figure pat00084
Figure pat00084

Figure pat00085
라 치환하면 위 식은 다음과 같다.
Figure pat00085
Substituting , the above expression becomes:

Figure pat00086
Figure pat00086

Figure pat00087
Figure pat00087

위 식은 좌우변이 독립이고 우변이 항상 편차가 없으므로 선형근사식은 편차가 없다. 왜냐하면 어떤 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.

Figure pat00088
Figure pat00088

Figure pat00089
가 된다.
Figure pat00089
becomes

Figure pat00090
Figure pat00090

좌우변이 독립이고 우변이 항상 편차가 없으므로 이 선형근사식은 편차가 없다.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.

Figure pat00091
Figure pat00091

Figure pat00092
Figure pat00092

Figure pat00093
Figure pat00093

좌우변이 독립이고 우변이 항상 편차가 없으므로 이 선형근사식은 편차가 없다.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-box 200 according to the present invention can be implemented as various extended structures by applying the condition that the DLBN is 3 or more for a small S-box.

일 실시예에서, 에스박스(200)는 비트 연산부(230)를 통해 확장구조가 4비트 에스박스

Figure pat00094
,
Figure pat00095
Figure pat00096
을 포함하는 Feistel-variant 확장구조인 경우, 복수의 입력비트들에 대해 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.In one embodiment, the S-box 200 has a 4-bit S-box with an extended structure through the bit operation unit 230 .
Figure pat00094
,
Figure pat00095
and
Figure pat00096
In the case of a Feistel-variant extended structure including

1)

Figure pat00097
의 DDT의 (a,b)항 및
Figure pat00098
의 DDT의 (b,0)항 중 어느 하나는 0임One)
Figure pat00097
(a,b) of the DDT of
Figure pat00098
Any one of the (b,0) terms of the DDT of

2)

Figure pat00099
의 DDT의 (a,b)항 및
Figure pat00100
의 DDT의 (b,b)항 중 어느 하나는 0임2)
Figure pat00099
(a,b) of the DDT of
Figure pat00100
Any one of (b,b) terms of DDT is 0

3)

Figure pat00101
의 LAT의 (a,b)항 및
Figure pat00102
의 LAT의 (b,b)항 중 어느 하나는 0임3)
Figure pat00101
(a, b) of the LAT of
Figure pat00102
Any one of (b,b) terms of LAT is 0

4)

Figure pat00103
의 LAT의 (a,b)항 및
Figure pat00104
의 LAT의 (0,b)항 중 어느 하나는 0임4)
Figure pat00103
(a, b) of the LAT of
Figure pat00104
Any one of (0,b) terms of LAT of

5)

Figure pat00105
Figure pat00106
는 전단사함수임5)
Figure pat00105
and
Figure pat00106
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 values 1, 2, 4, and 8.

일 실시예에서, 에스박스(200)는 비트 연산부(230)를 통해 확장구조가 4비트 에스박스

Figure pat00107
,
Figure pat00108
Figure pat00109
을 포함하는 Lay-Massey 확장구조인 경우, 복수의 입력비트들에 대해 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.In one embodiment, the S-box 200 has a 4-bit S-box with an extended structure through the bit operation unit 230 .
Figure pat00107
,
Figure pat00108
and
Figure pat00109
In the case of the Lay-Massey extended structure including

1)

Figure pat00110
의 DDT의 (a,0)항 및
Figure pat00111
의 DDT의 (a,b)항 중 어느 하나는 0임One)
Figure pat00110
(a,0) of the DDT of
Figure pat00111
Any one of (a,b) terms of DDT is 0

2)

Figure pat00112
의 DDT의 (a,a)항 및
Figure pat00113
의 DDT의 (a,b)항 중 어느 하나는 0임2)
Figure pat00112
(a,a) of the DDT of
Figure pat00113
Any one of (a,b) terms of DDT is 0

3)

Figure pat00114
의 DDT의 (a,a)항 및
Figure pat00115
의 DDT의 (a,b)항 중 어느 하나는 0임3)
Figure pat00114
(a,a) of the DDT of
Figure pat00115
Any one of (a,b) terms of DDT is 0

4)

Figure pat00116
의 DDT의 (a,0)항 및
Figure pat00117
의 DDT의 (a,b)항 중 어느 하나는 0임4)
Figure pat00116
(a,0) of the DDT of
Figure pat00117
Any one of (a,b) terms of DDT is 0

5)

Figure pat00118
의 LAT의 (0,a)항 및
Figure pat00119
의 LAT의 (a,b)항 중 어느 하나는 0임5)
Figure pat00118
(0,a) of the LAT and
Figure pat00119
Any one of (a,b) terms of LAT is 0

6)

Figure pat00120
의 LAT의 (a,a)항 및
Figure pat00121
의 LAT의 (a,b)항 중 어느 하나는 0임6)
Figure pat00120
(a,a) of the LAT of
Figure pat00121
Any one of (a,b) terms of LAT is 0

7)

Figure pat00122
의 LAT의 (a,a)항 및
Figure pat00123
의 LAT의 (a,b)항 중 어느 하나는 0임7)
Figure pat00122
(a,a) of the LAT of
Figure pat00123
Any one of (a,b) terms of LAT is 0

8)

Figure pat00124
의 LAT의 (0,a)항 및
Figure pat00125
의 LAT의 (a,b)항 중 어느 하나는 0임8)
Figure pat00124
(0,a) of the LAT and
Figure pat00125
Any one of (a,b) terms of LAT is 0

9)

Figure pat00126
Figure pat00127
는 전단사함수임9)
Figure pat00126
and
Figure pat00127
is a predicate function

일 실시예에서, 에스박스(200)는 비트 연산부(230)를 통해 확장구조가 4비트 에스박스

Figure pat00128
,
Figure pat00129
Figure pat00130
을 포함하는 3-round Feistel 확장구조인 경우, 복수의 입력비트들에 대해 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용할 수 있다.In one embodiment, the S-box 200 has a 4-bit S-box with an extended structure through the bit operation unit 230 .
Figure pat00128
,
Figure pat00129
and
Figure pat00130
In the case of a 3-round Feistel extension structure including

1)

Figure pat00131
의 DDT의 (a,b)항과
Figure pat00132
의 DDT의 (b,a)항 중 어느 하나는 0임One)
Figure pat00131
(a,b) of the DDT and
Figure pat00132
Any one of (b,a) terms of DDT of

2)

Figure pat00133
의 DDT의 (a,b)항과
Figure pat00134
의 DDT의 (b,a)항 중 어느 하나는 0임2)
Figure pat00133
(a,b) of the DDT and
Figure pat00134
Any one of (b,a) terms of DDT of

3)

Figure pat00135
의 DDT의 (a,0)항은 0임3)
Figure pat00135
The (a,0) term of the DDT of

4) 4비트 값 X와 Y에 대해,

Figure pat00136
Figure pat00137
중 어느 하나는 해 (X,Y)가 없음4) For 4-bit values X and Y,
Figure pat00136
and
Figure pat00137
Either one has no solution (X,Y)

5)

Figure pat00138
의 LAT의 (a,b)항 및
Figure pat00139
의 LAT의 (b,a)항 중 어느 하나는 0임5)
Figure pat00138
(a, b) of the LAT of
Figure pat00139
Any one of (b,a) terms of LAT is 0

6)

Figure pat00140
의 LAT의 (a,b)항 및
Figure pat00141
의 LAT의 (b,a)항 중 어느 하나는 0임6)
Figure pat00140
(a, b) of the LAT of
Figure pat00141
Any one of (b,a) terms of LAT is 0

7)

Figure pat00142
의 DDT의 (0,a)항은 0임7)
Figure pat00142
The (0,a) term of DDT is 0

8) 4비트 값 X와 Y에 대해,

Figure pat00143
를 만족하는 해 (X,Y)의 개수는 128개임(단, ·은
Figure pat00144
에서의 내적 - 예를 들어, 4비트 간의 내적 - 에 해당함)8) For 4-bit values X and Y,
Figure pat00143
The number of solutions (X,Y) satisfying
Figure pat00144
Corresponds to the dot product in - for example, the dot product between 4 bits)

본 발명에 따른 에스박스(200)는 작은 에스박스의 확장구조를 적용하여 큰 에스박스를 생성하는 과정에서 작은 에스박스에 관해 DBN과 LBN이 모두 3 이상이 되도록 하는 조건을 적용함으로써 DLBN이 3 이상인 에스박스를 생성할 수 있다. 또한, 도출된 조건으로 인하여 작은 에스박스가 가져야 하는 암호학적 성질을 명확히 할 수 있다는 점에서 암호 컴포넌트 설계 단계에서 시행해야 하는 에스박스 조사량을 획기적으로 줄일 수 있다.The S-box 200 according to the present invention applies a condition such that both DBN and LBN are 3 or more with respect to the small S-box in the process of creating a large S-box by applying the extended structure of the small S-box, so that the DLBN is 3 or more. You can create an esbox. In addition, in that the cryptographic properties that a small S-box should have can be clarified due to the derived conditions, the amount of S-box irradiation that must be performed in the cryptographic component design stage can be dramatically reduced.

한편, 본 발명에 따른 에스박스(200)를 사용한 SbPN 암호의 차분 및 선형 성질은 DLBN이 2인 에스박스를 사용한 SbPN 암호보다 확산이 빨라 라운드 수를 적게 채택할 수 있다는 점에서 속도를 증가시킬 수 있다.On the other hand, the differential and linear properties of the SbPN encryption using the S-box 200 according to the present invention can increase the speed in that the number of rounds can be adopted because the spread is faster than the SbPN encryption using the S-box with a DLBN of 2. have.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.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.
제1항에 있어서,
상기 복수의 입력비트들은 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.
제1항에 있어서,
상기 연산구간은 전단사함수(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.
제1항에 있어서,
상기 적어도 하나의 작은 에스박스가 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.
제1항에 있어서, 상기 작은 에스박스는
상기 DBN에 관한 조건으로서 i 번째 입력라인과 j 번째 출력라인에 관한 다음의 연립방정식이 항상 불능이 되는 조건을 충족시키는 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
[연립방정식]
Figure pat00145

(여기에서, 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]
Figure pat00145

(Here, S is S-box, X is input line, and Δα and Δβ satisfy wt(Δα) = wt(Δβ) = 1.)
제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.)
제1항에 있어서, 상기 비트 연산부는
상기 확장구조가 4비트 에스박스
Figure pat00146
,
Figure pat00147
Figure pat00148
을 포함하는 Feistel-variant 확장구조인 경우,
상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용하는 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
1)
Figure pat00149
의 DDT의 (a,b)항 및
Figure pat00150
의 DDT의 (b,0)항 중 어느 하나는 0임
2)
Figure pat00151
의 DDT의 (a,b)항 및
Figure pat00152
의 DDT의 (b,b)항 중 어느 하나는 0임
3)
Figure pat00153
의 LAT의 (a,b)항 및
Figure pat00154
의 LAT의 (b,b)항 중 어느 하나는 0임
4)
Figure pat00155
의 LAT의 (a,b)항 및
Figure pat00156
의 LAT의 (0,b)항 중 어느 하나는 0임
5)
Figure pat00157
Figure pat00158
는 전단사함수임
(여기에서, 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
Figure pat00146
,
Figure pat00147
and
Figure pat00148
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)
Figure pat00149
(a,b) of the DDT of
Figure pat00150
Any one of the (b,0) terms of the DDT of
2)
Figure pat00151
(a,b) of the DDT of
Figure pat00152
Any one of (b,b) terms of DDT is 0
3)
Figure pat00153
(a, b) of the LAT of
Figure pat00154
Any one of (b,b) terms of LAT is 0
4)
Figure pat00155
(a, b) of the LAT of
Figure pat00156
Any one of (0,b) terms of LAT of
5)
Figure pat00157
and
Figure pat00158
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.)
제1항에 있어서, 상기 비트 연산부는
상기 확장구조가 4비트 에스박스
Figure pat00159
,
Figure pat00160
Figure pat00161
을 포함하는 Lay-Massey 확장구조인 경우,
상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용하는 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
1)
Figure pat00162
의 DDT의 (a,0)항 및
Figure pat00163
의 DDT의 (a,b)항 중 어느 하나는 0임
2)
Figure pat00164
의 DDT의 (a,a)항 및
Figure pat00165
의 DDT의 (a,b)항 중 어느 하나는 0임
3)
Figure pat00166
의 DDT의 (a,a)항 및
Figure pat00167
의 DDT의 (a,b)항 중 어느 하나는 0임
4)
Figure pat00168
의 DDT의 (a,0)항 및
Figure pat00169
의 DDT의 (a,b)항 중 어느 하나는 0임
5)
Figure pat00170
의 LAT의 (0,a)항 및
Figure pat00171
의 LAT의 (a,b)항 중 어느 하나는 0임
6)
Figure pat00172
의 LAT의 (a,a)항 및
Figure pat00173
의 LAT의 (a,b)항 중 어느 하나는 0임
7)
Figure pat00174
의 LAT의 (a,a)항 및
Figure pat00175
의 LAT의 (a,b)항 중 어느 하나는 0임
8)
Figure pat00176
의 LAT의 (0,a)항 및
Figure pat00177
의 LAT의 (a,b)항 중 어느 하나는 0임
9)
Figure pat00178
Figure pat00179
는 전단사함수임
(여기에서, 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
Figure pat00159
,
Figure pat00160
and
Figure pat00161
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)
Figure pat00162
(a,0) of the DDT of
Figure pat00163
Any one of (a,b) terms of DDT is 0
2)
Figure pat00164
(a,a) of the DDT of
Figure pat00165
Any one of (a,b) terms of DDT is 0
3)
Figure pat00166
(a,a) of the DDT of
Figure pat00167
Any one of (a,b) terms of DDT is 0
4)
Figure pat00168
(a,0) of the DDT of
Figure pat00169
Any one of (a,b) terms of DDT is 0
5)
Figure pat00170
(0,a) of the LAT and
Figure pat00171
Any one of (a,b) terms of LAT is 0
6)
Figure pat00172
(a,a) of the LAT of
Figure pat00173
Any one of (a,b) terms of LAT is 0
7)
Figure pat00174
(a,a) of the LAT of
Figure pat00175
Any one of (a,b) terms of LAT is 0
8)
Figure pat00176
(0,a) of the LAT and
Figure pat00177
Any one of (a,b) terms of LAT is 0
9)
Figure pat00178
and
Figure pat00179
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.)
제1항에 있어서, 상기 비트 연산부는
상기 확장구조가 4비트 에스박스
Figure pat00180
,
Figure pat00181
Figure pat00182
을 포함하는 3-round Feistel 확장구조인 경우,
상기 복수의 입력비트들에 대해 상기 4비트 에스박스에 관한 다음의 조건들을 모두 충족시키는 연산구간을 적용하는 것을 특징으로 하는 DLBN이 3 이상인 조건을 만족하는 확장 에스박스.
1)
Figure pat00183
의 DDT의 (a,b)항과
Figure pat00184
의 DDT의 (b,a)항 중 어느 하나는 0임
2)
Figure pat00185
의 DDT의 (a,b)항과
Figure pat00186
의 DDT의 (b,a)항 중 어느 하나는 0임
3)
Figure pat00187
의 DDT의 (a,0)항은 0임
4) 4비트 값 X와 Y에 대해,
Figure pat00188
Figure pat00189
중 어느 하나는 해 (X,Y)가 없음
5)
Figure pat00190
의 LAT의 (a,b)항 및
Figure pat00191
의 LAT의 (b,a)항 중 어느 하나는 0임
6)
Figure pat00192
의 LAT의 (a,b)항 및
Figure pat00193
의 LAT의 (b,a)항 중 어느 하나는 0임
7)
Figure pat00194
의 DDT의 (0,a)항은 0임
8) 4비트 값 X와 Y에 대해,
Figure pat00195
를 만족하는 해 (X,Y)의 개수는 128개임(단, ·은
Figure pat00196
에서의 내적 - 예를 들어, 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
Figure pat00180
,
Figure pat00181
and
Figure pat00182
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)
Figure pat00183
(a,b) of the DDT and
Figure pat00184
Any one of (b,a) terms of DDT of
2)
Figure pat00185
(a,b) of the DDT and
Figure pat00186
Any one of (b,a) terms of DDT of
3)
Figure pat00187
The (a,0) term of the DDT of
4) For 4-bit values X and Y,
Figure pat00188
and
Figure pat00189
Either one has no solution (X,Y)
5)
Figure pat00190
(a, b) of the LAT of
Figure pat00191
Any one of (b,a) terms of LAT is 0
6)
Figure pat00192
(a, b) of the LAT of
Figure pat00193
Any one of (b,a) terms of LAT is 0
7)
Figure pat00194
The (0,a) term of DDT is 0
8) For 4-bit values X and Y,
Figure pat00195
The number of solutions (X,Y) satisfying
Figure pat00196
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.
KR1020200025995A 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 KR102424922B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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