KR100202557B1 - 결정론적 카오스 난수 발생 시스템과, 이를 이용한데이타암호화방법및장치 - Google Patents
결정론적 카오스 난수 발생 시스템과, 이를 이용한데이타암호화방법및장치 Download PDFInfo
- Publication number
- KR100202557B1 KR100202557B1 KR1019960000991A KR19960000991A KR100202557B1 KR 100202557 B1 KR100202557 B1 KR 100202557B1 KR 1019960000991 A KR1019960000991 A KR 1019960000991A KR 19960000991 A KR19960000991 A KR 19960000991A KR 100202557 B1 KR100202557 B1 KR 100202557B1
- Authority
- KR
- South Korea
- Prior art keywords
- random number
- data
- generation system
- random
- chaotic
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04K—SECRET COMMUNICATION; JAMMING OF COMMUNICATION
- H04K1/00—Secret communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 결정론적 카오스 난수 발생 시스템과, 이를 이용한 데이타 암호화 방법 및 장치에 관한 것으로, 종래 방법들은 근본적으로 보안성이 있는 것이 아니라 해독할 수는 있지만 그에 필요한 계산량이 많기 때문에 안전하도록 하는 계산량적인 보안성을 갖으며 또한, 대단히 복잡하여 암호화 방법의 속도 측면에서 빠른 속도를 구현하기 어려운 단점이 있다. 이러한 단점을 개선하기 위하여 본 발명은 암호와 임의의 난수를 초기화함에 의해 발생한 카오스 난수를 재귀 계산하여 매 재귀 계산마다 발생하는 상태 함수로부터 키 매핑에 의한 런-타임 암호화 키를 결정하고 이결정된 암호화 키를 이용하여 데이타의 암호화를 수행하도록 창안한 것으로, 본 발명은 암호화된 데이타를 해독하려는 경우 정확한 암호를 알아야만 난수 발생기의 초기 조건과 시스템 구성 조건을 결정할 수 있고 데이타를 해독할 수 있으므로 데이타의 보안 성능을 향상시킬 수 있고 또한, 본 발명은 시스템의 구성이 간단하고 난수 발생기로부터 발생하는 난수를 메세지에 더해주거나 빼주는 연산에 의해 계산량이 적으므로 빠른 속도의 구현이 가능하다.
Description
제1도는 로지스틱 방정식의 시계열 데이타 및 어트랙터를 보인 파형도.
제2도는 로지스틱 방정식의 결합 상태를 보인 예시도.
제3도는 상관 차원 분석을 보인 예시도.
제4도는 본 발명의 데이타 암호화 장치의 구성도.
제5도는 본 발명의 데이타 암호화를 위한 신호 흐름도.
제6도는 본 발명의 암호화 여부에 따른 데이타를 보인 예시도.
본 발명은 데이타 암호화에 관한 것으로 특히, 카오스 이론을 이용하여 테이타를 암호화함으로써 데이타 보안에 대한 신뢰성을 향상시길 수 있도록 한 결정론적 카오스 난수 발생 시스템과, 이를 이용한 데이타 암호화 방법 및 장치에 관한 것이다.
점차 고도의 정보화 사회로 발전하면서 데이타 보안 기술에 대한 신뢰성을 요구하고 있다.
일반적으로 데이타 암호화에 관련된 기술들은 오랜 역사를 가지고 있으며 고전적인 방법들에서부터 현대의 DES, RSA, 공용키 시스템등에 이르기까지 많은 방법들이 알려져 있다.
그 중에서 RSA 방법은 1978년 R.L. Rivest,A. Shamir, L. Adleman 등에 의해 제안된 방법으로 비교적 보안성을 인정받고 있으며 현재 상용화되고 있는 방법들이 RSA 방법에 기초하고 있다.
그러나, 이러한 종래 방법들은 근본적으로 보안성이 있는 것이 아니라 해독할 수는 있지만 그에 필요한 계산량이 많기 때문에 안전하다고 하는 계산량적인 보안성을 갖는다.
즉, 현재로서는 보안성을 갖고 있지만 새로운 암호 해독 알고리즘의 계속적인 개발과 컴퓨터의 속도가 기하급수적으로 향상되고 있으므로 더이상 보안성을 유지하지 못하게 될 가능성이 있다.
또한, 종래의 방법은 대단히 복잡하여 암호화 방법의 속도 측면에서 빠른 속도를 구현하기 어렵다.
즉, 예로서 RSA 방법에서는 보안성의 향상을 위하여 수십 내지 수백 자리수의 큰 소수를 암호키로 사용하게 되는데, 이러한 암호키를 이용한 데이타 승산 과정은 많은 계산량을 요구함으로 빠른 속도로 구현하기 어렵다.
다른 예로서 종래 방법중에서 가장 보안 성능이 좋다고 하는 One-time Pad 라는 방법은 결코 반복되지 않는 즉, 주기가 무한대인 암호키를 사용하는 것으로, 이 방법은 무한히 긴 암호키를 구현하고 사용하기 어렵다는 측면에서 실용성이 문제시되어 왔고 실제로 적용된 경우도 별로 없다.
따라서, 본 발명은 종래의 단점을 개선하기 위하여 사용자 암호와 임의의 난수를 이용하여 카오스 발생기를 초기화하고 이를 재귀 계산하여 매 재귀 계산마다 발생하는 상태값으로부터 키 매핑에 의한 런-타임 암호화 키를 결정하고 이 결정된 암호화 키를 이용하여 데이타의 암호화를 수행함으로써 보안성을 근본적으로 향상시키고 빠른 속도와 유연한 설계 특성을 갖도록 창안한 결정론적 카오스 난수 발생 시스템과, 이를 이용한 데이타 암호화 방법 및 장치를 제공함에 목적이 있다.
본 발명은 상기의 목적을 달성하기 위하여 사용자를 입력시키는 단계와, 상기에서 입력된 사용자와 임의의 난수(random)를 이용하여 카오스 난수 발생 시스템의 초기화를 수행하는 단계와, 상기에서 초기화에 의해 발생하는 카오스 난수 발생 시스템을 재귀 계산하여 매 재귀 계산마다 발생하는 상태값(Xi)으로부터 키 매핑에 의한 런-타임 암호화 키(kn)를 결정하는 단계와, 상기에서 결정한 암호화 키를 이용하여 데이타를 암호화하는 단계와, 상기에서 상태값(Xn)이 특정 조건을 만족하면 난수 첨가 함수를 이용하여 임의의 난수 데이타를 변환한 데이타에 부가하는 단계를 수행한다.
상기에서 재귀 계산 과정은 계산 오차의 확대를 방지하기 위하여 적절한 유효 숫자 이내의 값만을 취하는 유효 숫자 매핑을 이용하여 매 재귀 계산마다 상태 변수의 값을 유효 숫자 이내의 값으로 변환하는 동작을 수행하게 된다.
상기에서 시스템의 초기화에 사용된 난수(random)는 난수 변환 함수를 이용하여 난수(random')로 변환하여 암호화된 데이타에 부가하게 된다.
상기에서 난수 시계열은 임베딩(embedding) 차원이 5일 경우 상관 차원이 4이상의 값을 가지며, 임베딩 차원이 5이상으로 계속 증가하면 상관 차원도 어느 일정값에 수렴함이 없이 계속 증가하는 특성을 갖도록 시스템 파라메터를 초기화하게 된다.
또한, 본 발명은 상기의 단계를 수행하기 위하여 임의의 난수를 발생시키는 난수 발생 수단과, 적어도 하나 이상의 비선형 요소를 가지는 비선형 방정식을 재귀 계산하여 시계열 데이타를 출력하는 카오스 난수 발생 수단과, 연산에 필요한 변수 또는 데이타를 일시 저장하는 메모리 수단과, 사용자의 암호 입력 및 데이타의 입출력을 위한 입출력 수단과, 상기 난수 발생 수단에서의 시계열 테이타로부터 암호화 키와 암호화 함수를 생성하여 테이타를 암호화하기 위한 암호화 연산, 유효 숫자 연산, 초기화 연산등을 수행하는 연산 수단과, 상기 각 수단을 제어하는 제어 수단으로 구성한다.
살기 카오스 난수 발생 수단은 적어도 하나 이상의 비선형 요소를 가지는 비선형 동력학계들을 기본 구성으로 하는 기본 동력학계가 2개 이상 결합되어 2차원 이상의 구조를 갖는 것을 특징으로 한다.
이러한 구성의 카오스 난수 발생 수단은 사용자의 암호 입력과 임의의 난수를 입력으로 하여 아래와 같은 초기화 함수를 이용하여 난수 발생 시스템의 파라메터와 상태 변수의 초기 조건을 초기화하는 동작과, 유효 숫자 매핑을 이용하여 매 재귀 계산마다 상태 변수값을 유효 숫자 이내의 값으로 변환하여 계산 오차의 확대를 방지하는 동작을 수행한다.
이하, 본 발명을 도면에 의거 상세히 설명하면 다음과 같다.
최근에 카오스 이론에 대한 관심이 증가하고 있고 많은 이론적, 기술적 연구 결과들이 발표되고 있는데, 이를 적용한 카오스 시스템은 근본적으로 예측 불가능하고 복잡한 운동을 보이는 시스템으로서 초기 조건에의 민감성, 비가역성, 결정성등의 특징들을 나타내게 된다.
이러한 카오스 이론의 특징을 갖는 방정식을 이용하면 주기가 무한대인 암호키를 구현하는 것이 어렵지 않으므로 암호화 시스템에 유용하게 이용될 수 있다.
즉, 암호화 시스템에 결코 반복되지 않는 키를 생성하면서도 쉽게 재현할 수 있는 난수 발생기를 구현할 수 있다면 보안성이 근본적으로 해결되는 암호화 방법을 구현할 수 있게 된다.
본 발명에서 카오스 난수 발생기는 결정론적인 비선형 카오스 시스템으로 난수처럼 보이는 불규칙한 시계열 데이타를 생성한다.
이러한 시스템에서의 시계열 예측은 초기의 조그만 오차가 시간에 따라 크게 증폭되는 특성을 가지므로 단기적으로는 어느 정도 가능할 수도 있지만, 장기적인 예측은 불가능하다고 알려져 있으므로 이 특성을 이용한 결정론적 카오스 난수 발생기를 설계하게 된다.
다시 말해서, 시스템의 조건 및 상태의 초기 조건을 모르는 경우에는 시계열의 재현이 매우 어렵지만 정확한 조건을 알고 있는 경우에는 시계열을 정확히 재현할 수 있다.
일반적으로 널리 알려진 로지스틱 방정식은 아래의 식(1)과 같이 간단한 1차원비선형 방정식이지만, 특정 범위내의 파라메터 값에서는 매우 복잡한 카오스 시계열을 나타낸다.
[수학식1]
Xn+1=Xn(1-Xn) , 04................식 (1)
즉, 상기 식(1)과 같은 로지스틱 방정식은 제1도(a)에 도시한 바와 같이 시계열 데이타는 복잡해 보이지만 어트랙터를 재구성하면 제1도(b)에 도시한 바와 같이 뚜렷한 선형 어트랙터를 가지게 되고 그 어트랙터 내에서만 움직이므로 시계열 예측을 시도하는 경우 제1도(b)와 같이 재구성된 어트랙터의 모델로부터 비교적 쉽게 예측을 시도할 수 있다.
본 발명에서 카오스 난수 발생기는 상기 식(1)과 같은 로지스틱 방정식을 약간 변형하여 특정한 어트랙터를 가지지 않고 전 영역에 고르게 분포하는 난수를 발생시키도록 설계한다.
즉, 카오스 난수 발생기는 아래 식(2)와 같이 2개의 로지스틱 방정식을 서로 강하게 결합시키고 시스템 바이퍼케이션 파라메터를 크게 하여 구현하게 된다.
[수학식2]
Xn+1= LxXn(1-MxXn) + KxYn(model),
Yn+1= LxYn(1-MyYn) + KyXn(mode2) - 식(2)
따라서, 난수 발생기는 결합 계수 Kx,Ky와 시스템 계수 Lx,Ly,Mx,My에 따라 다양한 상태의 난수를 발생시키게 된다.
여기서, 로지스틱 방정식의 결합 여부에 따른 예는 제2도에 도시한 바와 같다.
제2도(a)의 경우는 결합이 전혀없는 상태로서 간단한 선형 어트랙터를 나타내는데, 이 경우는 시계열 예측이 쉽게 이루어 질 수 있다.
제2도(b)는 시스템 계수가 작지만 강하게 결합되어 있는 상태이고, 제2도(c)는 시스템 계수가 크고 약하게 결합된 상태인데 복잡한 어트랙터를 보여서 시계열 예측이 어렵다.
제2도(d)는 시스템 계수도 크고 강하게 결합된 상태로서 특별한 형태를 가지지 않고 전 영역에 고르게 분포되어 있기 때문에 실제적인 난수라로 생각할 수 있고 이것의 시계열 예측은 거의 불가능하다.
이때, 시계열이 실제 난수와 비슷한 성질이 있는지 상관 관계 분석을 수행하면 제3도와 같이 나타나는데, 제3도(a)는 제2도(d)와 같이 카오스 난수 발생기에서 생성한 난수 데이타이며, 제3도(b)는 일반 난수 함수에서 얻어진 난수 데이타이다.
여기서, X축은 임베딩 차원을 나타내고 Y축은 계산된 상관 차원을 나타낸다.
만일, 특정 상관 차원(Dc)을 갖는 카오스 시스템인 경우 X축의 임베딩(embedding) 차원을 Dc이상으로 증가시키면 계산되는 상관 차원이 일정한 값으로 포화되는 양상을 보이게 됨으로 특정한 상관 차원(Dc)으로 어트랙터를 재구성하여 시계열 예측을 시도해 볼 수 있다.
반면, 난수 데이타일 경우 X축의 임베딩 차원 값이 증가함에 따라 Y축의 값도 계속 증가하는 관계가 있음이 알려져 있다.
따라서, 본 발명의 카오스 난수 발생기로 생성한 난수 데이타는 제3도에 도시한 바와 같이, 일반적인 난수와 크게 다를바 없는 실제적인 난수임을 알 수 있다.
이러한 본 발명의 카오스 난수 발생기는 난수를 정확히 재현할 수 있는데, 시스템을 어떻게 초기화하느냐에 따라 전혀 특성이 다른 난수를 발생시키게 된다.
여기서, 본 발명의 카오스 난수 발생기를 실제적인 수준에서 이용하고 모든 시스템에서 서로 호환되도록 사용하기 위해서는 오차의 확대를 막기 위한 유효 숫자를 유지하여야 하며, 이를 위하여 매 재귀 계산(iteration) 단계마다 유효 숫가의 범위를 초과하는 미소 데이타는 잘라버리는 유효 숫자 매핑을 이용한다.
한편, 본 발명에서 암호화 시스템은 결정론적 카오스 난수 발생기로부터 생성되는 난수 데이타를 이용하여 데이타를 변환시키는 것으로, 이를 구현하기 위하여 컴퓨터 시스템에서의 임의의 데이타 화일(M)을 (M')로 암호화하는 과정을 수행하게 된다.
즉, 본 발명의 암호화 시스템은 아래와 같은 단계를 수행한다.
먼저, 카오스 난수 발생기를 초기화하기 위한 사용자 암호(pass)를 입력시키고 그 사용자 암호(pass)와 함께 시스템 초기화에 사용될 임의의 난수(random)를 발생시킨다.
여기서, 임의의 난수(random)를 발생시키는 과정은 기존의 일반적인 난수 발생기를 이용할 수 있다.
상기에서 시스템의 초기화에 사용된 난수는 해독시에 다시 사용하기 위하여 변환후의 메세지(M')에 포함되어야 하는데, 사용된 난수를 그대로 일정한 위치에 포함시킬 수도 있지만, 사용자 암호(pass)로 초기화되는 또 다른 카오스 시스템을 이용하는 난수 변환 함수를 이용하여 결정된 난수(random')로 1차 변환한 후 카오스 시스템으로부터 결정되는 특정한 위치에 포함시킬 수 있다.
이를 위하여 아래 식(3)과 같은 난수 변환 함수를 이용한다
[수학식3]
random'= r(pass, random).......식 (3)
본 발명의 실시예에서는 특별한 변환없이 메세지(M')의 첫부분에 포함시킨다.
이 후, 사용자 암호(pass)와 생성된 임의의 난수(random)를 이용하여 카오스 난수 발생기를 초기화시킨다.
이를 위하여 아래의 식(4)와 같은 초기화 함수를 이용한다.
[수학식4]
Xi= fi(pass, random) , i=1 n
Pj= gi(pass,random) , j=1 m..........식 (4)
여기서, n은 시스템의 차원, m은 파라메터의 갯수, Xi, Pj는 각각 시스템의 상태 변수들과 파라메터들을 나타내며, fi, gj는 각각의 상태 초기화 함수, 파라메터 초기화 함수들을 나타낸다.
상기에서 상태 변수를 초기화하는 것은 단순히 난수 발생기의 초기 상태를 결정하는 것에 불과하지만, 파라메터를 초기화하는 것은 시스템의 구성을 결정하는 것으로, 파라메터가 다르게 초기화된 경우에는 전혀 특성이 다른 시계열을 얻을 수 있다.
그리고, 상기에서 특정하게 주어진 사용자의 암호(pass)와 임의로 생성된 난수(random)를 이용하여 특정한 방식(fi, gj)으로 시스템을 초기화할 때 시스템에서 제2도(d)와 같은 실제적인 난수 영역의 시계열을 얻을 수 있도록 초기화한다.
이를 위하여 시스템 파라메터에 따른 시계열을 분석하여 난수를 나타내는 파라메터 영역을 얻어 항상 이 영역 내로 매핑되도록 하면 된다.
또한, 얻어지는 시계열이 실제적인 수준의 난수인지를 판단하기 위하여 재구성된 어트랙터가 전 운동 영역에 고르게 분포하는지 검사한 후 상관 차원 분석을 실시하여 임베딩 차원이 5일 경우 계산되는 상관 차원은 4이상의 값을 가지며, 임베딩 차원이 5이상으로 계속 증가하면 상관 차원도 특정한 값으로 포화됨이 없이 계속 증가하는 양상을 보이는지 확인한다.
본 발명의 실시예는 아래와 같은 영역으로 매핑하였다.
Lx,Ly: 30100
Mx,My,Kx,Ky: 12
XO,YO: 01
이 후, 초기화된 카오스 난수 발생 시스템은 재귀(iteration) 계산하여 시계열 데이타를 얻는다.
여기서, 재귀 계산에 따른 오차의 확대를 막기 위하여 적절한 유효 숫자 이내의 값만을 취하는 유효 숫자 매핑을 이용한다.
이는 카오스 시스템이 초기 조건에 매우 민감한 특성이 있으므로 유효 숫자 이상의 값을 이용하면 오차가 점차 확대되어 재현이 불가능하게 될 수 있거나 사용하는 계산 시스템에 민감하게 의존할 수 있기 때문이다.
이에 따라, 시계열 데이타로부터 런-타임 키로 이용할 키(Kn)를 계산하기 위하여 다음의 식(5)과 같은 키 매핑 함수를 이용한다.
[수학식 5]
Kn= h(Xn)................식 (5)
본 발명의 실시예에서는 유효 숫자를 소숫점 이하 6자리로 하여 각 재귀 계산 단계에서 모든 데이타를 소숫점 이하 6자리수로 변환하고 키(Kn)가 09 사이의 값을 갖도록 매핑한다.
이 후, 키 매핑 과정에서 계산된 런-타임 키(kn)를 이용하여 메세지 데이타(Mn)를 변환함에 의해 암호화된 데이타(Cn)를 생성하는데, 이를 위하여 아래의 식(6)과 같은 암호화 함수를 이용한다.
[수학식 6]
Cn= 1(Mn, Kn)................식 (6)
[수학식 7]
Cn= Mn+ kn...................식(7)
여기서, 암호화 함수는 일대일 함수이어야 한다.
본 발명의 실시예에서는 상기 식(7)과 같은 단순한 평행 이동 함수를 이용하였다.
따라서, 본 발명의 실시예에서는 암호화시에는 메시지 데이타에 키 데이타를 단순히 더해주고 해독시에는 키 데이타를 빼주면 된다.
또한, 본 발명에서 상기와 같은 과정만으로도 보안성이 충분한 암호화 방법을 제공할 수 있지만, 난수 첨가 함수를 부가하여 시계열 분석을 근본적으로 어렵게 하였다.
즉, 카오스 시스템이 특정 조건을 만족할 때 임의의 난수 데이타를 부가시키는 것이다.
만일, 메시지 데이타와 암호화된 데이타가 일대일 대응 관계를 갖는 경우 어렵겠지만 시계열 분석은 시도할 수 있다.
여기서, 임의의 난수 데이타가 임의의 갯수만큼 임의의 위치에 포함되어 있다면 이를 걸러내지 않으면 시계열 분석의 시도는 무의미하다.
이때, 임의의 위치에 포함된 임의의 난수는 카오스 시스템의 정확한 초기 조건을 알지 못하면 걸러내지 못하게 되므로 또 다른 근본적인 보안성을 제공한다.
즉, 암호화시에는 난수 첨가 함수로 임의의 데이타를 추가하고 해독시에는 이들을 걸러내게 된다.
본 발명의 실시예에서는 난수 첨가 함수의 조건으로서 재귀 계산 횟수가 특정수(300)의 배수가 되고 그때의 상태 변수값이 0.9이상일 때 임의의 데이타를 부가하도록 한다.
상기와 같은 동작은 제4도의 구성과 같은 장치에서 제5도의 신호 흐름의 방법으로 수행되어진다.
먼저, 암호화시에는 사용자가 입력한 암호(pass)와 임의의 생성된 난수(random)를 사용하여 상기 식(4)와 같은 초기화 함수에 따라 시스템 파라메터(Pj)와 초기 조건(Xi)을 결정한다.
이때, 암호화하고자 하는 메세지(M)를 (M')으로 변환시키는 경우 그 변환된 데이타(M')는 사용한 난수(random)에 대한 정보를 어떠한 방식으로든 포함하여야 하는데, 상기 식(3)과 같은 난수 변환 함수에 의해 결정된 난수(random')를 포함하게 된다.
이에 따라, 카오스 난수로부터 생성되는 시계열(Xn)로부터 키 매핑 과정에서 런-타임 키(Kn)를 생성하고 이를 이용하여 상기 식(6)과 같은 암호화 함수로부터 메세지(Mn)를 암호화된 데이타(Cn)로 변환시킨다.
그리고, 난수 발생기의 상태 변수가 특정 조건을 만족하면 난수 첨가 함수를 이용하여 임의의 난수를 변환된 데이타(M')에 부가하게 된다.
이 후, 해독시에는 먼저, 사용자로부터 암호(pass)를 입력받아 해독하고자 하는 메세지(M')와 암호(pass)로부터 상기 식(3)과 같은 난수 변환 함수를 이용하여 실제로 사용된 난수(random)를 결정하게 된다.
이때, 사용자 암호(pass)와 난수(random)를 이용하여 상기 식(4)와 같은 초기화 함수에 따라 카오스 난수 발생기를 초기화시키게 된다.
이에 따라, 난수 발생기의 재귀 계산으로부터 얻어지는 시계열(Xn)로부터 키 매핑 과정에서 런 타임 키(kn)를 생성하고 이를 상기 식(6)과 같은 암호화 함수를 이용하여 암호화된 메세지(Mn)를 원래의 메시지(mn)로 재변환시키게 된다.
그리고, 난수 발생기의 상태 변수가 특정 조건을 만족하면 난수 첨가 함수를 이용하여 메세지(M')에 첨가된 임의의 난수를 걸러내게 된다.
본 발명의 실시예에서 모델 프로그램을 이용하여 데이타를 암호화한 예는 제6도에 도시한 바와 같다.
여기서, 제6도(a)는 원본 데이타이고, 제6도(b)는 임의의 사용자 암호와 임의로 선택된 난수를 이용하여 암호화한 결과이다.
따라서, 동일한 암호를 가지고 제6도(b)의 암호화한 결과를 해독하면 다시 제6도(a)와 같은 원본 데이타를 얻을 수 있다.
상기와 같은 과정을 수행하는 본 발명의 암호화 시스템을 하드웨어로 구현하면 다음과 같은 요소를 포함하여 구성하게 된다.
즉, 임의의 난수를 발생시킬 수 있는 난수 발생 회로와, 적어도 하나 이상의 비선형 요소를 가지는 비선형 방정식을 재귀 계산하여 시계열 데이타를 출력하는 카오스 난수 발생 회로와, 연산에 필요한 변수 또는 데이타를 일시 저장하는 메모리 회로와, 사용자의 암호 및 데이타 입출력을 위한 입출력 회로와, 암호화 연산, 난수변환 연산, 유효 숫자 연산, 초기화 연산등을 수행하는 연산 회로와, 상기 연산 회로, 입출력 회로, 메모리 회로, 카오스 난수 발생 회로 및 난수 발생 회로를 제어하는 제어 회로를 포함하여 구성한다.
상기에서 난수 발생 회로는 일반적인 난수 발생 회로를 이용할 수 있다.
이러한 본 발명은 다음과 같은 3가지 측면에서 근본적인 보안 성능을 제공한다고 할 수 있다.
첫째, 예측이 불가능한 카오스 시스템을 이용하여 실질적인 수준의 난수를 발생시켜서 런-타임 키로 이용하므로 근본적인 보안 성능을 제공할 수 있다.
둘째, 매 암호화시마다 임의로 생성된 난수를 이용하여 다른 결과를 얻으므로 시계열 분석이 어렵다.
셋째, 난수 첨가 함수를 이용하여 임의의 난수 데이타를 카오스 시스템으로부터 결정되는 특정한 방식으로 포함시키므로 이를 걸러내지 않는 한 시계열 분석이 무의미해진다.
따라서, 상기에서 상세히 설명한 바와 같이 본 발명은 암호화된 테이타를 해독하려는 경우 정확한 암호를 알아야만 난수 발생기의 초기 조건과 시스템 구성 조건을 결정할 수 있고 테이타를 해독할 수 있으므로 테이타의 보안 성능을 향상시킬 수 있는 효과가 있다.
또한, 본 발명은 시스템의 구성이 간단하고 난수 발생기로부터 발생하는 난수를 메세지에 더해주거나 빼주는 연산에 의해 계산량이 적으므로 빠른 속도의 구현이 가능한 효과가 있다.
그리고, 본 발명은 카오스 시스템이 근본적으로는 불규칙성을 보이지만 결정론적인 시스템이므로 어떤 방식으로든 미래를 재현할 수 있기 때문에 설계 측면에서 유연성을 가지는 효과가 있다.
Claims (10)
- 불규칙 난수를 발생시키기 위하여 적어도 하나 이상의 비선형 요소를 가지는 비선형 동력계들을 기본 구성으로 하는 기본 동력학계가 2개 이상 결합되어 2차원 이상의 구조를 갖는 난수발생시스템 구성과, 사용자의 입력과 임의로 선택된 난수 및 초기화 함수를 이용하여 상기 난수 발생 시스템의 파라메터와 상태 변수들의 초기 조건을 초기화하고, 오차의 확대를 막기 위하여 유효 숫자 이내의 값만을 취하는 유효 숫자 매핑을 이용하여 매 재귀 계산마다 상태 변수값을 유효 숫자 이내의 값으로 변환하는 것을 특징으로 하는 결정론적 카오스 난수 발생 시스템.
- 암호(Pass)를 입력시키는 제1 단계와, 상기에서 암호가 입력되면 임의의 난수(random)와 함께 카오스 난수 발생 시스템의 초기화를 수행하는 제2단계와, 상기 카오스 난수 발생 시스템에서 매 재귀 계산마다 발생하는 임의의 상태 함수(Xi)로부터 키 매핑에 의한 런-타임 암호화 키(Kn)를 결정하는 제3 단계와, 상기에서 결정한 암호화 키(Kn)와 암호화 함수(Cn)를 이용하여 암호화하는 제4 단계를 수행하는 것을 특징으로 하는 결정론적 카오스 난수 발생 시스템을 이용한 데이타 암호화 방법. 여기서, kn= h(Xn)으로 09 사이의 값이고 Cn= Mn+ Kn으로 Mn은 메시지 테이타이다.
- 제2항에 있어서, 암호화시 카오스 난수 발생 시스템이 특정 조건을 만족하면 난수 첨가 함수를 이용하여 임의의 난수 데이타를 변환한 테이타(M')에 부가하는 단계를 포함하여 수행하는 것을 특징으로 하는 결정론적 카오스 난수 발생 시스템을 이용한 데이타 암호화 방법.
- 제2항에 있어서, 재귀 계산 과정은 특정 유효 숫자 이내의 값만을 취하는 유효 숫자 매핑을 이용하여 매 재귀 계산마다 상태 변수의 값을 유효 숫자이내의 값으로 변환하도록 함에 의해 계산 오차의 확대를 방지하는 것을 특징으로 하는 결정론적 카오스 난수 발생 시스템을 이용한 데이타 암호화 방법.
- 제2항에 있어서, 난수 발생 시스템을 초기화하기 위하여 사용하는 난수(random)는 난수 변환 함수{random'= r(pass, random)}에 의해 변환하고 그 변환된 난수(random')를 암호화된 데이타(M')에 부가시키는 것을 특징으로 하는 결정론적 카오스 난수 발생 시스템을 이용한 데이타 암호화 방법.
- 제2항에 있어서, 난수 시계열은 임베딩 차원이 5일 경우 상관 차원이 4이상의 값을 가지며, 임베딩 차원이 5이상으로 계속 증가하면 상관 차원도 일정값에 '수렴함이 없이 계속 증가하는 특성을 갖도록 시스템 파라메터를 초기화하는 것을 특징으로 하는 결정론적 카오스 난수 발생 시스템을 이용한 데이타 암호화 방법.
- 임의의 난수를 발생시키는 난수 발생 수단과, 적어도 하나 이상의 비선형 요소를 가지는 비선형 방정식을 재귀 계산하여 시계열 데이타를 출력하는 카오스 난수 발생 수단과, 연산에 필요한 변수 또는 데이타를 일시 저장하는 메모리 수단과, 사용자의 암호 입력 및 데이타의 입출력을 위한 입출력 수단과, 상기 난수 발생 수단에서의 시계열 테이타로부터 암호화 키와 암호화 함수를 생성하여 테이타를 암호화하는 연산 수단과, 상기 각 수단을 제어하는 제어 수단으로 구성한 것을 특징으로 하는 결정론적 카오스 난수 발생 시스템을 이용한 테이타 암호화 장치.
- 제7항에 있어서, 카오스 난수 발생 수단은 적어도 하나 이상의 비선형 요소를 가지는 비선형 동력학계들을 기본 구성으로 하는 기본 동력학계가 2개이상 결합되어 2차원 이상의 구조는 갖는 것을 특징으로 하는 결정론적 카오스 난수 발생 시스템을 이용한 데이타 암호화 장치.
- 제8항에 있어서, 기본 동력학계는 로지스틱 방정식을 이용하여 2개 이상의 로지스틱 방정식이 강하게 결합된 것을 특징으로 하는 결정론적 카오스 난수 발생 시스템을 이용한 데이타 암호화 장치.
- 제7항 또는 제8항에 있어서, 카오스 난수 발생 수단은 사용자의 암호 입력과 임의의 난수를 입력으로 하여 아래와 같은 초기화 함수를 이용하여 난수 발생 시스템의 파라메터와 상태 변수의 초기 조건을 초기화하는 것을 특징으로 하는 결정론적 카오스 난수 발생 시스템을 이용한 데이타 암호화 장치.X1= fi(pass, random) , i=1 nPj= gi(pass, random) , j=1 m여기서, n은 시스템의 차원, m은 파라메터의 갯수, Xi, Pj는 각각 시스템의 상태 변수들과 파라메터들을 나타내며, fi, gj는 각각의 상태 초기화 함수, 파라메터 초기화 함수들을 나타낸다.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960000991A KR100202557B1 (ko) | 1996-01-18 | 1996-01-18 | 결정론적 카오스 난수 발생 시스템과, 이를 이용한데이타암호화방법및장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960000991A KR100202557B1 (ko) | 1996-01-18 | 1996-01-18 | 결정론적 카오스 난수 발생 시스템과, 이를 이용한데이타암호화방법및장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970060761A KR970060761A (ko) | 1997-08-12 |
KR100202557B1 true KR100202557B1 (ko) | 1999-06-15 |
Family
ID=19449674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960000991A KR100202557B1 (ko) | 1996-01-18 | 1996-01-18 | 결정론적 카오스 난수 발생 시스템과, 이를 이용한데이타암호화방법및장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100202557B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100453258B1 (ko) * | 2002-10-17 | 2004-10-15 | 정성용 | 카오스 함수를 이용한 균형성을 갖는 수열생성 방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116992474B (zh) * | 2023-08-29 | 2024-08-13 | 密卡思(深圳)电讯有限公司 | 一种固件加密方法及装置 |
-
1996
- 1996-01-18 KR KR1019960000991A patent/KR100202557B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100453258B1 (ko) * | 2002-10-17 | 2004-10-15 | 정성용 | 카오스 함수를 이용한 균형성을 갖는 수열생성 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR970060761A (ko) | 1997-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sathya et al. | A review of homomorphic encryption libraries for secure computation | |
US6986054B2 (en) | Attack-resistant implementation method | |
EP2291735B1 (en) | Cryptographic system including a random number generator using finite field arithmetics | |
US5048086A (en) | Encryption system based on chaos theory | |
US7949128B2 (en) | Method and device for the encryption and decryption of data | |
Kocarev et al. | Public-key encryption based on Chebyshev polynomials | |
AU674461B2 (en) | Multistream encryption system for secure communication | |
Rohith et al. | Image encryption and decryption using chaotic key sequence generated by sequence of logistic map and sequence of states of Linear Feedback Shift Register | |
Li et al. | A novel image encryption scheme based on improved random number generator and its implementation | |
Gafsi et al. | Xilinx Zynq FPGA for hardware implementation of a chaos-based cryptosystem for real-time image protection | |
Gouert et al. | Romeo: conversion and evaluation of hdl designs in the encrypted domain | |
CN110545289B (zh) | 基于混合同态加密的错误数据注入攻击防御方法 | |
Akif et al. | A new pseudorandom bits generator based on a 2D-chaotic system and diffusion property | |
US7177422B2 (en) | Elliptic curve encryption processing method, elliptic curve encryption processing apparatus, and program | |
KR100202557B1 (ko) | 결정론적 카오스 난수 발생 시스템과, 이를 이용한데이타암호화방법및장치 | |
Bernardini et al. | Tools for designing chaotic systems for secure random number generation | |
Bonny et al. | A novel clock-glitch-attack-proof image encryption algorithm implemented on FPGA | |
Almazrooie et al. | Quantum Grover attack on the simplified-AES | |
JP2004530919A5 (ko) | ||
JP2001285277A (ja) | 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置 | |
Sathiyamurthi et al. | Speech and Audio Cryptography System using Chaotic Mapping and Modified Euler's System | |
Hafsa et al. | Hybrid encryption model based on advanced encryption standard and elliptic curve pseudo random | |
Anghelescu et al. | Encryption Technique with Programmable Cellular Automata (ETPCA). | |
JP3816558B2 (ja) | 暗号システム | |
Mazonka et al. | Practical data-in-use protection using binary decision diagrams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20051201 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |