KR20110120837A - 이산화된 카오스 함수를 이용한 암호 시스템 - Google Patents

이산화된 카오스 함수를 이용한 암호 시스템 Download PDF

Info

Publication number
KR20110120837A
KR20110120837A KR1020110040929A KR20110040929A KR20110120837A KR 20110120837 A KR20110120837 A KR 20110120837A KR 1020110040929 A KR1020110040929 A KR 1020110040929A KR 20110040929 A KR20110040929 A KR 20110040929A KR 20110120837 A KR20110120837 A KR 20110120837A
Authority
KR
South Korea
Prior art keywords
substitution
function
encryption
input
ciphertext
Prior art date
Application number
KR1020110040929A
Other languages
English (en)
Other versions
KR101095386B1 (ko
Inventor
임대운
양기주
임태형
금은지
Original Assignee
동국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동국대학교 산학협력단 filed Critical 동국대학교 산학협력단
Publication of KR20110120837A publication Critical patent/KR20110120837A/ko
Application granted granted Critical
Publication of KR101095386B1 publication Critical patent/KR101095386B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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/001Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 암호시스템에 관한 것으로, 평문을 암호화하기 위한 암호화 라운드 연산부; 및 상기 암호화 라운드 연산부에 마련되고, 복수의 키 값 각각을 파라미터로 하는 이산화된 카오스 함수에 의해 정의되며, 상기 복수의 키 값의 개수로 나누어지는 상기 평문의 워드들 각각에 대해 대체연산을 수행하기 위한 복수의 에스박스를 구비한 대체부를 포함하여, 이산화된 카오스 함수가 에스박스 디자인에 대한 기준으로 되고, 복수의 에스박스에 의해 암호화 연산이 수행되어 연산량이 적은 경량의 시스템에도 적용될 수 있는 효과가 있다.

Description

이산화된 카오스 함수를 이용한 암호 시스템{A Cryptosystem with a Discretized Chaotic Map}
본 발명은 암호 시스템에 관한 것으로, 더욱 상세하게는 에스박스 디자인에 대한 기준을 제시함과 동시에 연산 능력이 적은 시스템에도 적용될 수 있는 이산화된 카오스 함수를 이용한 암호 시스템에 관한 것이다.
네트워크 통신 및 전자 상거래의 발전에 따라 보안확보가 점점 중요해지고 있다. 보안확보의 방법 중 하나가 암호 시스템을 이용하여 정보에 대해 암호화하는 기술이다.
예측 불가능하고 무작위처럼 보이는 출력 값을 갖는 카오스 함수의 특성은 안전한 암호 시스템에서 요구하는 특성과 일치하여 여러 암호 시스템에서 제안되어 왔다. 하지만 대부분의 암호 시스템은 매우 높은 수준의 연산 능력을 필요로 하기 때문에 경량의 시스템에서는 그대로 적용하기가 어려운 것이 사실이다.
따라서, 본 발명이 해결하고자 하는 과제는, 에스박스 디자인에 대한 기준을 제시함과 동시에 연산량이 적어 경량의 시스템에도 적용될 수 있도록 하는 암호시스템을 제공하는 것이다.
본 발명의 과제를 달성하기 위하여, 평문을 암호화하기 위한 암호화 라운드 연산부; 및 상기 암호화 라운드 연산부에 마련되고, 복수의 키 값 각각을 파라미터로 하는 이산화된 카오스 함수에 의해 정의되며, 상기 복수의 키 값의 개수로 나누어지는 상기 평문의 워드들 각각에 대해 대체연산을 수행하기 위한 복수의 에스박스를 구비한 대체부를 포함하는 암호시스템이 제공된다.
본 발명의 일 실시 예에 의하면, 상기 복수의 에스박스는 상기 복수의 키 값이 아래의 수학식에 대입되어 정의되는 것을 특징으로 한다.
[수학식]
Figure pat00001
여기서,
Figure pat00002
(X)는 복수의 에스박스 중 어느 하나이고, Ki는 복수의 키값 중 어느 하나이다.
이때, 상기 복수의 에스박스는 입력과 상기 입력에 의한 상기 수학식의 결과의 대응 테이블인 것을 특징으로 한다.
또한, 상기 암호화 라운드 연산부에 마련되고, 상기 복수의 에스박스 각각의 출력에 대해 치환연산을 수행하기 위한 복수의 치환함수를 구비한 치환부를 더 포함하는 것을 특징으로 한다.
이때, 상기 복수의 치환함수는 상기 복수의 키 값의 개수와 동일한 개수의 워드들 각각과 아래의 수학식에 의해 정의되는 것을 특징으로 한다.
[수학식]
Figure pat00003
여기서, ri(X)는 복수의 치환함수 중 어느 하나이고, 《는 오른쪽 순환을 의미하고, 》는 왼쪽 순환을 의미하고,
Figure pat00004
는 비트간의 배타 논리합을 의미하고, ㆍ는 비트 간 AND 연산을 의미하고, mi는 입력워드(m0-mN)들 중 어느 하나이고, k는 사용자에 의해 설정되는 값이다.
본 발명에 따르면, 이산화된 카오스 함수가 에스박스 디자인에 대한 기준으로 되고, 복수의 에스박스에 의해 암호화 연산이 수행되어 연산량이 적은 경량의 시스템에도 적용될 수 있는 효과가 있다.
도 1은 종래의 카오스 함수를 이용하는 암호시스템에 이용되는 텐트 함수를 나타낸 그래프이다.
도 2는 SPN(Substitution-permutation network)구조의 암호 시스템을 나타낸 블록도이다.
도 3은 도 2과 같은 SPN 시스템에서 표 1과 같은 S-Box를 사용하는 경우, 입력 값 X가 0000 0000 0000 0000이고 키 값 K1이 1111 1111 1111 1111일 때 첫 번째 라운드의 수행 과정을 나타낸다.
도 4는 본 발명의 실시예에 따른 SPN 시스템을 도시한 것이다.
도 5는 본 발명의 일 실시 예에 따른 이산화된 텐트 함수를 이용하는 암호시스템을 나타낸 블록도이다.
도 6은 본 발명의 일 실시 예에 따른 이산화된 암호시스템의 평문에 대한 균일성 테스트를 수행한 결과를 나타낸 그래프이다.
도 7은 본 발명의 일 실시 예에 따른 이산화된 암호시스템의 키에 대한 균일성 테스트를 수행한 결과를 나타낸 그래프이다.
도 8은 본 발명의 일 실시 예에 따른 이산화된 암호시스템의 평문에 대한 암호문의 민감성 테스트를 수행한 결과를 나타낸 그래프이다.
도 9는 본 발명의 일 실시 예에 따른 이산화된 암호시스템의 평문에 대한 암호문의 민감성 테스트를 수행한 결과를 나타낸 그래프이다.
본 발명에 관한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하고자 하는 과제의 해결 방안의 개요 혹은 기술적 사상의 핵심을 우선 제시한다.
본 발명의 일 실시 예에 따른 이산화된 카오스 함수를 이용하는 암호시스템 은 평문을 암호화하기 위한 암호화 라운드 연산부; 및 상기 암호화 라운드 연산부에 마련되고, 복수의 키 값 각각을 파라미터로 하는 이산화된 카오스 함수에 의해 정의되며, 상기 복수의 키 값의 개수로 나누어지는 상기 평문의 워드들 각각에 대해 대체연산을 수행하기 위한 복수의 에스박스를 구비한 대체부를 포함한다.
이하, 본 발명의 실시 예를 들어 본 발명을 더욱 상세하게 설명한다. 그러나 본 발명의 실시 예는 본 발명을 더욱 구체적으로 설명하기 위한 것으로, 본 발명의 범위가 이에 제한되지 않는다는 것은 본 발명이 속하는 기술분야에 속하는 통상의 지식을 가진 자에게 자명할 것이다.
카오스 함수를 이용하는 암호시스템은 예측 불가능하고 무작위처럼 보이는 출력 값을 갖는 카오스 함수를 이용한 것이다. 카오스 함수를 이용하는 암호시스템에는 텐트 함수를 이용하는 암호시스템이 있다. 텐트 함수를 이용하는 암호시스템은 텐트 함수와 이의 역함수를 이용하여 암호화와 복호화를 수행한다.
본 발명의 실시예에서는 연산량이 적어 경량의 암호 시스템에 적용할 수 있도록 하는 카오스 함수 중 가장 간단하면서도 널리 사용되는 텐트 함수를 적용하고자 한다. 텐트 함수란 일차원의 부분적인 선형 함수(piecewise linear map)의 일종이다. 이 함수는 [0,1]의 구간을 정의역으로 하여 같은 크기의 치역을 가지며, 오직 하나의 파라미터 α만을 갖는 특징을 가지고 있다.
도 1은 종래의 카오스 함수를 이용하는 암호시스템에 이용되는 텐트 함수를 나타낸 그래프이다.
텐트 함수는 수학식 1과 수학식 2와 같이 정의되며 도 1과 같은 그래프로 표현되는 텐트 함수를 이용하여 복호화를 수행하고, 수학식 2와 같이 정의되는 텐트 함수의 역함수를 이용하여 암호화를 수행한다. 평문에 수학식 2와 같은 텐트 함수의 역함수를 적용할 때 발생하는 출력 값 중 하나를 취하는 방식을 연속적으로 수행하여 평문에 대해 암호화한다. 암호문에 아래의 수학식 1과 같은 텐트 함수를 연속적으로 적용하여 암호문에 대해 복호화한다.
Figure pat00005
여기서, 정의역(x)은 0에서 1 사이의 실수이고, α는 파라미터이다.
Figure pat00006
여기서, 정의역(y)은 0에서 1 사이의 실수이고, α는 파라미터이다.
그런데, 이러한 텐트 함수를 이용하는 암호시스템은 텐트 함수와 텐트 함수의 역함수가 일대일 함수가 아니고, 각 라운드의 입력 값과 출력 값이 정수가 아닌 실수이고, 텐트 함수와 텐트 함수의 역함수가 부분적인 선형함수이기 때문에 차분 암호 공격에 취약한 단점이 있다.
텐트 함수를 이용하는 암호시스템에 대하여 보다 상세하게 살펴보면 다음과 같다.
fα n은 하나의 출력 값에 대해 2n개의 대응되는 입력 값을 가지고 있으며, fα -n은 하나의 입력 값에 대해 2n개의 출력 값을 가지고 있다. 또한, x=fα(fα -1(x))이기 때문에, x=fα n(fα -n(x))임을 쉽게 알 수 있다.
텐트 함수를 이용한 가장 간단한 형태의 암호 시스템은 다음과 같다.
- 비밀키 : 파라미터 α
- 암호화 : 암호화하고자 하는 메세지를 이용해 평문 p를 얻는다. 이 때, p는 0에서 1사이의 값을 갖는 실수이다. 다음으로 아래와 같은 수식처럼 fα -1을 연속적으로 수행해 암호문 c를 얻는다. 이때, fα -1을 적용할 때마다 발생되는 두 개의 출력 값 중 하나만을 취한다.
c=fα -1(fα -1(…fα -1(p)…))=fα -n(p)
- 복호화 : 수신 받은 메시지 c를 입력으로 하여 아래와 같은 수식처럼 fα를 연속적으로 수행해 평문 p를 얻는다.
p=fα(fα(…(fα(c)…)))=fα n(c)
그러나 이러한 방식은 몇 가지 단점이 있다. 첫째 fα와 fα -1은 일대일 함수가 아니고 둘째 각 라운드의 입력 값과 출력 값은 정수가 아닌 실수이며 마지막으로 fα와 fα -1은 부분적으로 선형(piecewise linear)이기 때문에 선형 혹은 차분 암호 공격에 대하여 취약점을 갖는다.
이러한 단점을 보완하기 위해 수학식 3과 같이 정의되는 이산화된 텐트 함수를 이용하여 평문을 암호화하고, 수학식 4와 같이 정의되는 이산화된 텐트 함수의 역함수를 이용하여 암호문을 복호화하는 이산화된 텐트 함수를 이용하는 암호시스템을 이하에서 설명하기로 한다.
Figure pat00007
여기서, 정의역(X)은 1에서 M사이의 정수이고, A는 이산화된 텐트 함수의 파라미터이다. A는 1에서 M사이의 정수값을 갖는다.
Figure pat00008
여기서, 정의역(Y)은 1에서 M사이의 정수이고, A는 이산화된 텐트 함수의 파라미터이고, X1, X2 및 m(Y)는 아래와 같이 정의된다.
Figure pat00009
위와 같이 정의된 이산화된 텐트 함수는 일대일 대응을 가지며 카오스 함수의 성질을 만족시킨다.
다음은 위의 내용을 기반하고 있는 이산화된 텐트 함수를 이용한 암호 시스템을 설명하기로 한다.
암호화하고자 하는 메시지를 이용해 평문 P를 얻는다. 이 때, P는 정수 값을 가지며, 가능한 평문의 최대값을 M이라 설정한다. 앞에서 정의된 이산화된 텐트 함수를 이용한 암호 시스템은 다음과 같이 정의된다.
- 비밀키 : 파라미터 A
- 암호화 : 평문 P를 초기값으로 하여 아래와 같은 수식처럼 FA를 연속적으로 수행해 암호문 C를 얻는다.
C=FA(FA(…FA(P)…))=FA n(P)
- 복호화 : 수신받은 메시지 C를 입력으로 하여 아래와 같은 수식처럼 FA - 1를 연속적으로 수행해 복호화된 평문 P를 얻는다.
P=FA -1(FA -1(…(FA -1(C)…)))=FA -n(C)
이산화된 텐트 함수를 이용해 제안된 암호 시스템은 실수 값을 갖는 텐트 함수를 이용한 암호 시스템이 가졌던 문제점을 해결할 수 있다. 하지만, 이러한 방식의 시스템도 암호화하고자 하는 평문 전체를 대상으로 카오스 함수를 반복 수행하기 때문에 매우 높은 수준의 연산 능력을 필요로 한다.
또한, 이산화된 카오스 함수를 이용하는 암호시스템은 암호화하고자 하는 평문 전체를 대상으로 하여 카오스 함수 연산을 반복하여 수행하기 때문에 매우 높은 수준의 연산 능력이 요구되는 단점이 있다. 즉, 64비트(bit) 암호시스템을 가정할 때, 이산화된 카오스 함수를 적용하기 위해서는 최대 264 크기의 정수들을 대상으로 곱셈과 나눗셈으로 이루어진 실수 연산들을 반복적으로 수행해야 하기 때문에 연산 능력이 적은 시스템에 이산화된 텐트 함수를 이용하는 암호시스템을 적용하기에 무리가 있다.
도 2는 SPN(Substitution-permutation network)구조의 암호 시스템을 나타낸 블록도이다.
표 1은 SPN구조를 이용한 암호시스템에 이용되는 에스박스의 표를 나타낸 것이다. 표 1에서 z는 입력 값이고 πs(z)는 출력 값이다.
Figure pat00010
도 2를 참조하면, SPN구조를 가지는 암호시스템(100)은 키 연산계층(110)과 대체계층(120: Substitution) 및 치환계층(130: Permutation)을 포함한다. 이러한 SPN구조를 가지는 암호 시스템은 아래의 (1)-(3)과 같은 세 단계로 구성되는 라운드를 수회 수행하여 평문을 암호화한다.
(1) 우선, 입력 값(X)이 들어오면 키 연산계층(110)에서 입력 값(X)과 키 값(K)에 대해 배타 논리합(XOR) 연산을 수행한다.
(2) 그 다음, 대체 계층(120)에서 배타 논리합(XOR) 연산 결과에 대해 도 2에서 도시되는 바와 같은 표로 표현되는 에스박스를 이용하여 대체를 수행한다.
(3) 마지막으로, 치환 계층(130)에서 대체 수행 결과에 대해 치환을 하여 다음 라운드의 입력이 되도록 한다.
그러나, SPN 구조의 암호시스템은 에스박스의 설계 기준이 없어 실험적으로 최적의 에스박스를 만들어야 하는 단점이 있다.
SPN 시스템에서는 위에서 설명한 라운드가 N번 반복적으로 수행된다. S-Box는 입력 값이 z일 경우 그에 따른 출력 값 πs(z)으로 표현할 수 있으며, 표 1은 4 비트의 입력을 4비트의 출력으로 대체하는 S-Box 함수 πs(z)의 예시이다.
도 3은 도 2과 같은 SPN 시스템에서 표 1과 같은 S-Box를 사용하는 경우, 입력 값 X가 0000 0000 0000 0000이고 키 값 K1이 1111 1111 1111 1111일 때 첫 번째 라운드의 수행 과정을 나타낸다.
u1은 입력 값과 키 값을 XOR 연산한 결과를 나타내며, u1은 대체(Substitution)를 수행하는 S-Box의 입력 값이 된다. 다음으로 v1은 입력 값에 해당되는 출력 값을 나타내며 위의 표 1에서 입력 값에 따른 출력 값을 확인할 수 있다. 마지막으로 w1은 v1를 치환한 결과로써 다음 라운드의 입력 값이 된다.
도 2에 도시된 SPN 시스템은 키와 S-box가 따로 설계되었지만 본 발명의 실시예에 따른 SPN 시스템에서는 S-box를 디자인하는 파라미터로 키 값을 사용하였으며 암호화하고자 하는 평문 전체를 대상으로 카오스 함수를 N번 반복 수행한다.
본 발명에서는 이산화된 텐트 함수를 이용하되, 연산 능력이 적은 소형 시스템에서 64bit 암호 시스템을 사용하더라도 높은 수준의 연산 능력이 필요하지 않은 경량의 새로운 암호 시스템을 개시하고자 한다.
본 발명의 실시예에 따른 암호 시스템은 64 bits의 평문을 입력으로 받아 64bits의 키(key)를 이용하여 64bits의 암호문을 출력으로 내도록 설계되었다. 각 라운드 변환은 대체(substitution)와 치환(permutation)으로 구성되어 있다. 암호화는 같은 라운드 변환을 16번 반복하여 수행된다. 또한 복호화 과정은 이와 거의 유사한 라운드 변환의 반복을 통하여 이루어지게 된다.
도 4는 본 발명의 실시예에 따른 SPN 시스템을 도시한 것이다.
본 발명의 실시예에 따른 SPN 시스템을 도 4을 참조하여 상세히 살펴보기로 한다.
1. 대체(Substitution) Sk
암호 시스템에 사용될 64 bits의 키를 K라 하면 K는 다음과 같은 8개의 서브키로 나뉘어질 수 있다.
K=(K0K1…K7)
각각의 서브키 Ki, 0≤i≤7에 대하여 다음의 함수를 정의한다.
Figure pat00011
Figure pat00012
는 일대일 함수이고 이의 역함수를
Figure pat00013
라 한다.
이제
Figure pat00014
를 이용하여 SK를 정의하도록 한다. SK의 입력인 64bits 메시지 X를 다음과 같이 8개의 워드(word)로 나눈다.
X = (X0X1…X7)
이 때, SK는 다음과 같이 정의된다.
Figure pat00015
비슷한 방법으로 SK의 역함수 SK -1은 다음과 같이 정의된다.
Figure pat00016

2. 치환(Permutation) π
우선 64 bits의 메시지를 입력으로 받아 8 bits의 출력을 내는 함수 γi, 0≤i≤7를 정의하도록 한다. 이 때 입력 X는 대체 함수의 경우와 동일하게 정의되며, 또한 다음과 같이 8개의 워드를 정의한다.
Figure pat00017
이 경우 γi는 다음과 같이 정의된다.
Figure pat00018
여기서, 《와 》는 각각 왼쪽 방향과 오른쪽 방향의 순환(rotation)을 뜻하며,
Figure pat00019
는 비트 간 XOR, ㆍ은 비트 간 AND 연산을 의미한다.
이제 γi를 이용하여 γ를 다음과 같이 정의한다.
Figure pat00020
γ는 일대일 함수이므로 역함수가 존재한다. 마지막으로 π(X)=γ-1(X), π-1(X)=γ(X)로 정의한다.
3. 암호화/복호화(Encryption/Decryption)
암호화와 복호화를 위한 라운드 함수는 각각 다음과 같이 정의된다.
Figure pat00021
마지막으로 암호화와 복호화는 다음과 같은 과정을 통하여 이루어진다.
Figure pat00022

도 5는 본 발명의 일 실시 예에 따른 이산화된 텐트 함수를 이용하는 암호시스템을 나타낸 블록도이다.
도 5를 참조하면, 본 발명의 일 실시 예에 따른 암호시스템은 평문을 암호화하기 위해 라운드 연산을 수행하는 복수의 암호화 라운드 연산부(110-1~100-n)를 구비한 암호부(100) 및 암호문을 복호화하기 위해 라운드 연산을 수행하는 복수의 복호화 라운드 연산부(210-1~210-n)를 구비한 복호부(200)를 포함한다.
복수의 암호화 라운드 연산부(110-1~100-n) 각각은 복수의 키 값(K0-KN) 각각을 파라미터로 하고, 복수의 키 값(K0-KN)의 개수로 나누어지는 평문 입력(X)의 워드들(X0-XN) 각각에 대해 대체연산을 수행하기 위한 복수의 에스박스(SK0-SKN)를 구비한 대체부(S)와, 대체부(S)의 복수의 에스박스(SK0-SKN) 각각의 출력에 대해 치환연산을 수행하기 위한 복수의 치환함수(r0-rN)를 구비한 치환부(P)를 포함한다.
복수의 에스박스(SK0-SKN) 각각은 복수의 키 값(K0-KN) 각각과 아래의 수학식 5와 같은 이산화된 카오스 함수에 의해 정의된다. 여기서, 복수의 키 값(K0-KN)은 사용자에 의해 설정되는 값이다. 복수의 키 값들(K0-KN)의 개수는 본 발명의 일 실시 예에 따른 암호시스템 설계자에 의해 선택된다.
Figure pat00023
여기서,
Figure pat00024
(X)는 복수의 에스박스 중 어느 하나이고, Ki는 복수의 키값 중 어느 하나이다.
이러한 복수의 에스박스(SK0-SKN) 각각은 워드들(K0-KN) 각각에 대해 수학식 5와 같은 이산화된 텐트 함수를 통해 대체연산을 수행한다.
한편, 복수의 에스박스(SK0-SKN) 각각은 수학식 5에 대응하는 테이블로 구현될 수 있다. 즉, 특정의 입력(X)과 특정의 입력(X)에 의한 수학식 5의 연산 값의 대응 테이블로 구현될 수 있다.
복수의 치환함수(γ0N) 각각은 복수의 키 값(K0-KN)의 개수와 동일한 개수의 워드들(m0-mN) 각각과 아래의 수학식 6에 의해 정의된다.
Figure pat00025
여기서, 여기서 γi(X)는 복수의 치환함수 중 어느 하나이고, 《는 오른쪽 순환을 의미하고, 》는 왼쪽 순환을 의미하고, 는 비트간의 배타 논리합을 의미하고, ㆍ는 비트 간 AND 연산을 의미하고, mi는 입력워드(m0-mN)들 중 어느 하나이고, k는 사용자에 의해 설정되는 값이다.
이러한 복수의 치환함수들(r0-rN) 각각은 복수의 에스박스(SK1-SKN) 각각의 출력(X0-Xk)에 대해 치환연산을 수행한다.
암호부(100)는 복수의 라운드 연산부(110-1~110-n) 각각을 통해 평문에 대해 복수의 라운드 연산을 수행하여 평문을 암호화한다.
복수의 복호화 라운드 연산부(210-1~210-n) 각각은 복수의 암호문 입력을 이루는 복수의 워드 각각에 대해 역치환하기 위한 복수의 역치환함수들(r0 -1~rN -1)을 구비한 역 치환부(P-1)와 역 치환부(P-1)의 출력을 이루는 각각의 워드에 대해 역 대체연산을 수행하기 위한 복수의 역에스박스들(SK0 -1~SKN -1)을 구비한 역대체부(S-1)를 포함한다.
여기서, 복수의 역치환함수(r0 -1-rN -1) 각각은 복수의 치환함수(r0-rN) 각각의 역함수이고, 복수의 역에스박스(SK0 -1-SKN -1) 각각은 복수의 에스박스(SK0-SKN) 각각을 정의하는 수학식 6의 역함수들이므로, 역 치환부(P-1)와 역대체부(S-1)에 대한 상세한 설명은 생략하기로 한다.
복호부(200)는 복수의 복호 라운드 연산부(210_1~210_n) 각각을 통해 암호문에 대해 복수의 복호 라운드 연산을 수행하여 암호문을 복호화한다.
이하에서는 본 발명의 일 실시 예에 따른 암호시스템의 효과들 중 연산량과 안전도에 대해 보다 상세히 설명하기로 한다.
1. 연산량
기존의 카오스 함수를 이용한 암호화 기법을 64 bits 암호 시스템에 적용할 경우, 각 라운드 함수를 수행하기 위하여 264크기의 정수 값들에 대하여 나눗셈과 곱셈의 실수 연산이 필요했다. 반면, 본 발명에서 제안된 방식을 이용할 경우에는, 각 라운드 함수를 수행하기 위하여 28크기의 정수 값들에 대한 곱셈과 나눗셈의 연산을 8번씩 수행하면 된다. 물론, 기존의 방식과 달리 추가적으로 치환 과정을 거쳐야 하지만, 이는 하드웨어나 소프트웨어로 구현시 매우 간단하게 수행될 수 있기에 연산량에 큰 부담을 주지 않는다. 또한, 대체 함수인
Figure pat00027
의 입력 값과 출력 값을 테이블로 작성하여 메모리에 보관한 후 이 테이블을 이용한다면, 매우 적은 양의 연산만으로도 암호화와 복호화를 수행할 수 있을 것이다.
2. 안전도
일반적으로 안전한 암호 시스템은 다음의 조건들을 만족시켜야 한다.
- 평문에 대한 암호문 분포의 균일성(U-P) : 평문을 연속적으로 변화시킬 때, 결과로서 발생되는 암호문은 가능한 암호문의 전 영역에 걸쳐 균일하게 분포되어야만 한다.
- 키에 대한 암호문 분포의 균일성(U-K) : 키의 값을 연속적으로 변화시킬 때, 결과로서 발생되는 암호문은 가능한 암호문의 전 영역에 걸쳐 균일하게 분포되어야만 한다.
- 평문에 대한 암호문의 민감성(S-P) : 암호문은 평문의 변화에 대하여 민감해야 한다. 즉, 평문의 1 bit 변화가 완전히 다른 형태의 암호문을 생성해내야만 한다.
- 키에 대한 암호문의 민감성(S-K) : 암호문은 키의 값의 변화에 대하여 민감해야 한다. 즉, 키 값이 1bit 변화가 완전히 다른 형태의 암호문을 생성해내야 한다.
다음은 제안한 암호 시스템이 위에서 제시한 조건들을 만족시킴을 보이기 위한 통계적 실험의 결과를 제시하였다. 이와 같은 테스트 결과를 통하여 본 발명의 효과를 나타낼 수 있다.
① 균일성 테스트 (U-P, U-K)
⒜ 평문에 대한 암호문의 균일성 테스트는 암호문이 분포되어 있는 영역 [1,M]을 같은 크기를 갖는 b개의 연속적인 구간으로 나눈다. 이 때, i번째 구간을 Ii라 부르기로 한다.
⒝ U-P 테스트를 위하여 다음의 n개의 암호문의 값을 구한다.
Figure pat00028
그리고, 각각의 암호문이 Ii에 포함되어 있는 개수를 헤아려 빈도 ni를 구한다.
한편, 도 6은 본 발명의 일 실시 예에 따른 이산화된 암호시스템의 평문에 대한 균일성 테스트를 수행한 결과를 나타낸 그래프이다. 도 6은 M이 264이고, b가 28이고, n이 216 일 때 연속적인 구간 각각에 포함된 암호문의 빈도를 나타낸 그래프이다. 도 6에서 도시되는 바와 같이, 본 발명의 일 실시 예에 따른 이산화된 암호시스템에 의해 연속적인 구간 각각에 포함된 암호문의 빈도가 대체로 균일하게 나타나 평문에 대한 암호문의 균일성이 우수하였다.
U-K 테스트를 위하여는 다음의 n개의 암호문의 값을 구한 뒤, U-P 테스트의 경우와 같이 빈도 ni를 구한다.
Figure pat00029
한편, 도 7은 본 발명의 일 실시 예에 따른 이산화된 암호시스템의 키에 대한 균일성 테스트를 수행한 결과를 나타낸 그래프이다. 도 7은 M이 264이고, b가28이고, n이 216 일 때 연속적인 구간 각각에 포함된 암호문의 빈도를 나타낸 그래프이다. 도 7에서 도시되는 바와 같이, 본 발명의 일 실시 예에 따른 이산화된 암호시스템에 의해 연속적인 구간 각각에 포함된 암호문의 빈도가 대체로 균일하게 나타나 키에 대한 균일성이 우수하였다.
⒞ 다음의 표준 편차 값을 구한다.
Figure pat00030
도 6와 도 7에 특정한 입력 값 X(K)에 대하여 구한 빈도 값 ni가 나타나 있다. 여러 입력 값에 대하여 구한 표준 편차의 값은 U-P와 U-K의 경우 동일하게 대략 16으로 나타난다.
② 민감성 테스트 (S-P, S-K)
⒜ 평문에 대한 암호문의 민감성 테스트는 암호문이 분포되어 있는 영역 [1,M]을 같은 크기를 갖는 b개의 연속적인 구간으로 나눈다. 이 때, i번째 구간을 Ii라 부르기로 한다.
⒝ S-P 테스트를 위하여 다음의 n개의 암호문의 쌍의 값을 구한다.
Figure pat00031
그리고, 각각의 암호문이 {Ii,Ij}에 포함되어 있는 개수를 헤아려 빈도 nij를 구한다.
한편, 도 8은 본 발명의 일 실시 예에 따른 이산화된 암호시스템의 평문에 대한 암호문의 민감성 테스트를 수행한 결과를 나타낸 그래프이다. 도 8은 M이 264이고, b가 28이고, n이 216 일 때 연속적인 구간 각각에 포함된 암호문 쌍의 빈도를 나타낸 그래프이다. 도 8에서 도시되는 바와 같이, 본 발명의 일 실시 예에 따른 이산화된 암호시스템에 의해 연속적인 구간 각각에 포함된 암호문의 빈도는 대체로 균일하게 나타나 평문에 대한 암호문의 민감성이 우수하였다.
S-K 테스트를 위하여는 다음의 n개의 암호문의 쌍의 값을 구한 뒤, S-P 테스트의 경우와 같이 빈도 nij를 구한다.
Figure pat00032
키에 대한 암호문의 민감성 테스트는 암호문이 분포되어 있는 [1,M]을 같은 크기를 갖는 b개의 연속적인 구간으로 나누고, 암호문 3과 같은 n개의 암호문 쌍의 값을 구하고, 각각의 암호문 쌍이 각각의 구간에 포함되어 있는 빈도(nij)를 구하는 방식으로 테스트한다.
한편, 도 9는 본 발명의 일 실시 예에 따른 이산화된 암호시스템의 평문에 대한 암호문의 민감성 테스트를 수행한 결과를 나타낸 그래프이다. 도 9는 M이 264이고, b가 28이고, n이 216 일 때 연속적인 구간 각각에 포함된 암호문 쌍의 빈도를 나타낸 그래프이다. 도 9에서 도시되는 바와 같이, 연속적인 구간 각각에 포함된 암호문의 빈도는 대체로 균일하게 나타나 키에 대한 암호문의 민감성이 우수하였다.
⒞ 다음의 표준 편차 값을 구한다.
Figure pat00033
도 8과 도 9에 특정한 S-P 테스트와 S-K 테스트에 대하여 구한 빈도 값 ni가 나타나 있다. S-P 테스트와 S-K 테스트를 여러 번 반복하여 얻은 표준 편차의 값은 평균적으로 대략 16으로 나타난다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (5)

  1. 평문을 암호화하기 위한 암호화 라운드 연산부; 및
    상기 암호화 라운드 연산부에 마련되고, 복수의 키 값 각각을 파라미터로 하는 이산화된 카오스 함수에 의해 정의되며, 상기 복수의 키 값의 개수로 나누어지는 상기 평문의 워드들 각각에 대해 대체연산을 수행하기 위한 복수의 에스박스를 구비한 대체부를 포함하는 암호시스템.
  2. 제1항에 있어서,
    상기 복수의 에스박스는 상기 복수의 키 값이 아래의 수학식에 대입되어 정의되는 것을 특징으로 하는 암호시스템.
    [수학식]
    Figure pat00034

    여기서,
    Figure pat00035
    (X)는 복수의 에스박스 중 어느 하나이고, Ki는 복수의 키값 중 어느 하나이다.
  3. 제2항에 있어서,
    상기 복수의 에스박스는 입력과 상기 입력에 의한 상기 수학식의 결과의 대응 테이블인 것을 특징으로 하는 암호시스템.
  4. 제1항에 있어서,
    상기 암호화 라운드 연산부에 마련되고, 상기 복수의 에스박스 각각의 출력에 대해 치환연산을 수행하기 위한 복수의 치환함수를 구비한 치환부를 더 포함하는 것을 특징으로 하는 암호시스템.
  5. 제4항에 있어서,
    상기 복수의 치환함수는 상기 복수의 키 값의 개수와 동일한 개수의 워드들 각각과 아래의 수학식에 의해 정의되는 것을 특징으로 하는 암호시스템.
    [수학식]
    Figure pat00036

    여기서, γi(X)는 복수의 치환함수 중 어느 하나이고, 《는 오른쪽 순환을 의미하고, 》는 왼쪽 순환을 의미하고,
    Figure pat00037
    는 비트간의 배타 논리합을 의미하고, ㆍ는 비트 간 AND 연산을 의미하고, mi는 입력워드(m0-mN)들 중 어느 하나이고, k는 사용자에 의해 설정되는 값이다.
KR1020110040929A 2010-04-29 2011-04-29 이산화된 카오스 함수를 이용한 암호 시스템 KR101095386B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20100040126 2010-04-29
KR1020100040126 2010-04-29

Publications (2)

Publication Number Publication Date
KR20110120837A true KR20110120837A (ko) 2011-11-04
KR101095386B1 KR101095386B1 (ko) 2011-12-16

Family

ID=44862087

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110040929A KR101095386B1 (ko) 2010-04-29 2011-04-29 이산화된 카오스 함수를 이용한 암호 시스템

Country Status (3)

Country Link
US (1) US20130114805A1 (ko)
KR (1) KR101095386B1 (ko)
WO (1) WO2011136614A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856320B (zh) * 2014-03-17 2017-02-15 重庆科技学院 一种基于多级混沌系统的动态s盒构造方法
CN104660266B (zh) * 2015-03-16 2017-09-26 哈尔滨工业大学 基于离散混沌序列的伪随机观测矩阵的mwc欠采样方法
JP7162411B2 (ja) * 2016-07-19 2022-10-28 ヤフー株式会社 暗号化装置、暗号化方法および暗号化プログラム
CN108833733B (zh) * 2018-06-04 2019-08-16 河南师范大学 一种基于混沌s盒的图像加密算法的解密方法
CN110572255B (zh) * 2019-09-26 2020-07-28 衡阳师范学院 基于轻量级分组密码算法Shadow的加密方法、装置及计算机可读介质
CN111447054B (zh) * 2020-05-28 2021-05-14 北京邮电大学 基于五维超混沌的fbmc无源光网络物理层加密方法及装置
CN115529121A (zh) * 2022-09-28 2022-12-27 苏州中科安源信息技术有限公司 基于混沌神经网络的s盒构建方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142579A (en) * 1991-01-29 1992-08-25 Anderson Walter M Public key cryptographic system and method
JPH09153014A (ja) * 1995-11-30 1997-06-10 Eiji Watanabe 電子ネットワークの端末装置
US6567910B2 (en) * 1998-02-13 2003-05-20 Texas Instruments Incorporated Digital signal processing unit with emulation circuitry and debug interrupt enable register indicating serviceable time-critical interrupts during real-time emulation mode
GB2357610B (en) * 1999-12-20 2004-04-28 Mitsubishi Electric Inf Tech Method and apparatus for generating numbers
JP2002215018A (ja) * 2001-01-22 2002-07-31 Nippon Telegr & Teleph Corp <Ntt> カオス写像を用いた暗号化方法と復号化方法、それらの方法を使用した暗号器と復号器、及びそれらの方法を実施するプログラムとその記録媒体
JP2002247025A (ja) * 2001-02-22 2002-08-30 Hitachi Ltd 情報処理装置
EP1326363A1 (en) * 2001-12-27 2003-07-09 STMicroelectronics S.r.l. Chaos-based block encryption
US7499473B2 (en) * 2002-09-09 2009-03-03 Infineon Technologies Ag Method and device for synchronizing a mobile radio receiver
EP1513285A1 (en) * 2003-09-05 2005-03-09 Mediacrypt AG Method for generating pseudo-random sequence
US20050271207A1 (en) * 2004-06-05 2005-12-08 Helmut Frey Method and system for chaotic digital signature, encryption, and authentication
US8020006B2 (en) * 2006-02-10 2011-09-13 Cisco Technology, Inc. Pipeline for high-throughput encrypt functions
JP2008209499A (ja) * 2007-02-23 2008-09-11 Toshiba Corp Aes復号装置及びプログラム
US8670559B2 (en) * 2008-03-05 2014-03-11 Irdeto Corporate B.V. White-box implementation

Also Published As

Publication number Publication date
US20130114805A1 (en) 2013-05-09
WO2011136614A2 (ko) 2011-11-03
KR101095386B1 (ko) 2011-12-16
WO2011136614A3 (ko) 2012-03-01

Similar Documents

Publication Publication Date Title
Kumar et al. Development of modified AES algorithm for data security
US7899190B2 (en) Security countermeasures for power analysis attacks
D'souza et al. Advanced encryption standard (AES) security enhancement using hybrid approach
Ramesh et al. Performance analysis of encryption algorithms for Information Security
KR101095386B1 (ko) 이산화된 카오스 함수를 이용한 암호 시스템
US8966285B2 (en) Securing implementation of a cryptographic process having fixed or dynamic keys
US7720225B2 (en) Table splitting for cryptographic processes
US8619985B2 (en) Table splitting for cryptographic processes
US9565018B2 (en) Protecting cryptographic operations using conjugacy class functions
Liu et al. Chaos-based image hybrid encryption algorithm using key stretching and hash feedback
Reyad et al. Key-based enhancement of data encryption standard for text security
Dewangan et al. Study of avalanche effect in AES using binary codes
Bhaskar et al. An advanced symmetric block cipher based on chaotic systems
Noura et al. Lesca: Lightweight stream cipher algorithm for emerging systems
Taha et al. Side-channel countermeasure for SHA-3 at almost-zero area overhead
KR20190020988A (ko) 컴퓨터 실행 가능한 경량 화이트박스 암호화 방법 및 장치
KR101362675B1 (ko) 저전력 암호화 장치 및 방법
Suresh et al. ETSET: Enhanced Tiny Symmetric Encryption Techniques to Secure Data Transmission among IoT Devices
Mohan et al. Revised aes and its modes of operation
CN115632765A (zh) 加密方法、解密方法、装置、电子设备及存储介质
Singh et al. Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish
Pandey et al. Data security using various cryptography Techniques: A Recent Survey
Saxena et al. A new way to enhance efficiency & security by using symmetric cryptography
Jangra et al. Expositioning of cryptography techniques in IoT domain
Rajashekarappa et al. Study on cryptanalysis of the tiny encryption algorithm

Legal Events

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

Payment date: 20141208

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161202

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171204

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181203

Year of fee payment: 8