KR19990062338A - 셀룰라 오토마타를 이용한 난수 열 발생 시스템과 이를 이용한 데이터 암호화 및 복호화 방법 - Google Patents

셀룰라 오토마타를 이용한 난수 열 발생 시스템과 이를 이용한 데이터 암호화 및 복호화 방법 Download PDF

Info

Publication number
KR19990062338A
KR19990062338A KR1019970082653A KR19970082653A KR19990062338A KR 19990062338 A KR19990062338 A KR 19990062338A KR 1019970082653 A KR1019970082653 A KR 1019970082653A KR 19970082653 A KR19970082653 A KR 19970082653A KR 19990062338 A KR19990062338 A KR 19990062338A
Authority
KR
South Korea
Prior art keywords
random number
number sequence
cells
generation system
triangle
Prior art date
Application number
KR1019970082653A
Other languages
English (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 KR1019970082653A priority Critical patent/KR19990062338A/ko
Publication of KR19990062338A publication Critical patent/KR19990062338A/ko

Links

Abstract

본 발명은 셀룰라 오토마타(cellular automata)를 이용한 난수 열 발생 시스템과 이를 이용한 데이터 암호화 및 복호화 방법에 관한 것으로, 삼각형의 분화, 삭제와 붙임, 부분절단과 붙임 등의 조작 변형을 이용한 도형의 구성, 도형의 셀(cell)들의 동시변환, 도형의 셀들의 치환, 도형의 셀들을 경유하는 경로 등을 이용한 난수 열발생 시스템의 구성과 이러한 난수 및 열 발생 시스템을 이용하여 이진 데이터를 암호화 및 복호화 하는 방법에 관한 것이다.

Description

셀룰라 오토마타를 이용한 난수 열 발생 시스템과 이를 이용한 데이터 암호화 및 복호화 방법
본 발명은 셀룰라 오토마타(cellular automata)를 이용한 난수 열 발생 시스템과 이 난수 열 발생 시스템을 이용하여 데이터를 암호화 및 복호화 하는 방법에 관한 것이다.
셀룰라 오토마타는 이산적인 공간과 이산적인 시간으로 구성되어 있으면서, 이산적인 공간의 셀(cell)이라고 불리워지는 각 단위 공간의 주어진 시각에서의 상태는 유한한 개수의 상태들 중의 하나의 상태로 주어지며, 각 시각에서의 각 셀의 상태가 그 셀의 근방에 있는 셀들을 직전 시각에서의 상태들에 의해서 결정되어지는 동역학계(dynamic system)들이다.
셀룰라 오토마타를 이용한 난수 열 또는 난 데이터 발생 시스템의 구성방법들과 이것들을 이용한 데이터 암호화 및 복호화 방법에 대한 종래의 방법들로는 울프램(Wolfram)의 방법(미국 특허 등록 번호 4,691,291)과 맥레오드(McLeoad)등의 방법들(미국 특허 등록 번호 4,860,236, 미국 특허 등록 번호 4,961,159)이 있는데, 이러한 방법들은 셀들의 1차원 배열에 기초한 셀룰라 공간들을 이용한다.
본 발명은 2차원 도형인 삼각형을 4차원 이하의 공간으로 임베딩(imbedding)되는 아이덴티피케이션 공간(identification space)으로 조작 변형하여 셀룰라 공간으로 하고, 이 공간에서의 셀들의 상태들의 불규칙한 분포와 이 불규칙한 상태들의 확산과 셀들을 경유하는 충분한 크기 이상의 주기가 보장되는 경로를 이용하여 난수 열 발생 시스템을 구성하고, 이러한 난수 열 발생 시스템을 이용하여 데이터 암호화 및 복호화 방법을 구성하는 것이다.
제1도는 삼각형의 분화의 방법도.
제2도는 삼각형의 분화에 기초한 도형의 구성에서의 삭제와 붙임의 예시도.
제3도는 삼각형의 분화에 기초한 구성에서의 절단과 붙임의 예시도.
제4도는 자리수가 2인 이진수들의 배타적 논리합 연산의 표.
제5도는 같은 둥지에 속하는 셀들의 위치도.
제6도는 유한한 난수 열 발생 시스템의 흐름도 1.
제7도는 난수 열 발생 시스템을 이용한 데이터 암호화 방법의 흐름도.
제8도는 난수 열 발생 시스템을 이용한 데이터 복호화 방법의 흐름도.
제9도는 유한한 난수 열 발생 시스템의 흐름도 2.
삼각형의 분화는 제1도와 같은 방법으로 하나의 삼각형을 3개의 작은 삼각형들로 분화시키는 것을 뜻한다.
삼각형의 1단계 분화는 원래의 삼각형을 한 번 분화시켜서 최소단위의 삼각형들이 3개가 되게 한 것이고, 삼각형의 t(1)단계 분화는 (t-1)단계 분화된 삼각형의 3t-1개의 최소단위의 삼각형들을 각각 분화시켜서 최소단위의 삼각형들이 3t개가 되게 한 것이다.
삼각형의 분화에 기초한 도형 Tn(n2)을 구성하는 방법은 다음과 같다.
삼각형을(n-1)단계 분화시킨 뒤, 최소단위의 삼각형들 중 원래의 삼각형과 공유하는 변이 없으면서 서로 공유하는 변이 없도록 지정된 홀수개의 삼각형들의 내부를 도형에서 삭제한다. 그리고, 원래의 삼각형의 변들의 각 변을 첫 번째 지정된 삼각형의 변들 중 그 변의 짝으로 지정된 변에 붙이고, 나머지 지정된 각 삼각형의 변들의 각 변을 그 삼각형의 짝으로 지정된 삼각형의 변들 중 그 변의 짝으로 지정된 변에 붙인다. 단, 하나의 변이 서로 다른 2개 이상의 변들의 짝으로 중복되어 지정되지는 않도록 한다.
이렇게 얻은 도형의 최소단위의 삼각형들의 변들 중 지정된 e개의 변들에 따라 도형을 부분 절단하고, 이렇게 만들어진 2e개의 절단 변 각각을 각각의 쌍으로 지정된 절단 변에 붙인다. 단, 변들의 절단과 붙임에 의하여 도형 자체가 2개 이상으로 분리되지는 않도록 하면서 같은 최소단위의 삼각형의 2개의 변이 서로 붙여지는 경우는 없도록 절단과 붙임의 방법을 지정한다.
이렇게 만든 도형에 남아있는 최소단위의 삼각형들을 각각 한 단계씩 더 분화시켜 도형 Tn을 구성한다.
이하, 삼각형의 분화에 기초한 도형 또는 도형 Tn은 위와 같이 구성된 도형을 뜻한다.
도형 Tn의 최소단위의 삼각형들의 하나하나가 셀이 된다. 그리고, 도형 Tn에서 원래의 삼각형이 (n-1)단계 분화되었을 때의 최소단위의 삼각형들의 하나하나를 둥지(nest)라고 부른다. 그리고, 위에서의 삭제와 붙임을 둥지들의 삭제와 삭제된 둥지들의 별들의 붙임이라고 하며, 위에서의 절단과 붙임을 둥지들의 변들에 따른 절단과 절단된 변들의 붙임이라고 한다.
도형 Tn을 구성하는 방법의 한 예를 제2도와 제3도를 참조하여 설명하자면 다음과 같다.
제2도에서 실선으로 표시된 것과 같이 삼각형을 2단계 분화시킨 뒤, 최소단위의 삼각형들 중 3개를 A, B, C의 순서로 3개 지정하고, A, B, C의 내부를 삭제한다. 그리고, A의 ①변을 원래의 삼각형의 ①변에, A의 ②변을 원래의 삼각형의 ②변에, A의 ③변을 원래의 삼각형의 ③변에, B의 ④변을 C의 ④변에, B의 ⑤변을 C의 ⑤변에, B의 ⑥변을 C의 ⑥변에 붙인다. 이렇게 만든 도형에서, D와 E, F와 G, H와 I가 각각 변 1개의 변을 공유하도록 최소단위의 삼각형 D, E, F, G, H, I를 지정하여, 제3도에서와 같이 최소단위의 삼각형 D와 E, F와 G, H와 I가 각각 공유하고 있는 ⑦변, ⑧변, ⑨변에 따라서 도형을 부분 절단한 뒤, D의 ⑦변을 F의 ⑧변에, E의 ⑦변을 I의 ⑨변에, G의 ⑧변을 H의 ⑨변에 각각 붙인다. 그리고 난 뒤, 도형에 남아 있는 최소단위의 삼각형들을 각각 1단계씩 더 분화시킨다. 이렇게 하여 하나의 T3를 구성할 수 있다.
서로 다른 두 개의 셀 A와 B가 있을 때, A에서 A의 인접한 셀 A1으로 이동하고, A1에서 A1의 인접한 셀 A2로 이동하는 방식으로 이동을 계속하여 Ad=B되는 이동방법들 중 최소의 d를 A와 B의 거리라고 한다. 두 개의 셀들이 서로 인접하고 있다는 것은 그 두 개의 셀들이 한 개의 변을 공유하고 있다는 것을 뜻한다. 그리고, 동일한 셀 간의 거리는 0으로 정의한다.
그리고, 도형 Tn의 셀들의 값들의 동시변환은 다음과 같이 이루어진다.
도형 Tn의 각 셀들에 부여할 이진수들의 자리수 a(≥1)를 지정하고, 도형 Tn의 모든 셀들의 1단계 값으로 이진수들을 지정된 방법으로 부여한 다음, 도형 Tn의 각 셀의 u(1)단계의 값으로 그 셀과의 거리가 d1이하이면서 d2이상인 모든 셀들의(u-1)단계의 값들의 배타적 논리합 연산의 값 또는 2a을 법으로 하는 덧셈 연산의 값을 부여한다. 단, d1≥d2≥0. 예를 들어, 자리수가 2인 이진수들의 배타적 논리합 연산의 표는 제4도와 같다.
이하, 도형 Tn의 동시변환은 도형 Tn의 모든 셀들의 값들의 동시변환을 뜻한다.
그리고, 도형 Tn의 둥지의 회전에 의한 치환이란, 같은 둥지에 속하는 3개의 셀들을 시계방향으로 각각 A, B, C라고 할 때, A, B, C의 값들을 각각 셀 B, C, A의 값으로 주는 방법으로 도형 Tn의 모든 셀들의 값들을 치환하는 것을 뜻하며, 도형 Tn의 상호교환에 의한 치환이란 도형 Tn의 각 셀의 값을 그 셀과 인접하면서 그 셀과 같은 둥지에는 속하지 않는 셀의 값과 상호교환하는 방법으로 도형 Tn의 모든 셀들의 값들을 치환하는 것을 뜻한다.
다음으로, 도형 Tn의 셀들을 경유하는 경로 P는 지정된 셀로부터 출발하여 다음과 같은 방법으로 주어진다.
도형 Tn의 모든 둥지들에 대하여 같은 둥지에 속하는 3개의 셀들의 순환 순서를 지정한다. 현재 경로의 위치가 셀 A이면서 경로의 최초 출발 상태인 경우와 현재 경로의 위치가 A이면서 경로의 직전의 위치가 A가 속한 둥지와는 다른 둥지의 셀이었을 경우, 제5도와 같이 A와 같은 둥지에 속하는 다른 두 개의 셀들 중 A의 다음 순환 순서의 셀을 B라고 하고 B의 다음 순환 순서의 셀을 C라고 하자. 이하, 갑의 순서는 A, B, C의 순서를 뜻하고, 을의 순서는 A, C, B의 순서를 뜻한다. 이때, 이전의 경로에서 갑의 순서 또는 을의 순서로 경유한 경우가 없는 경우와 갑의 순서보다 을의 순서로 경유한 경우가 더 최근인 경우에는, 갑의 순서로 경로를 이동시키고 난 뒤, A와 B가 아닌 C의 제3의 인접한 셀로 경로를 이동시킨다. 이전의 경로에서 갑의 순서로 경유한 경우는 있으면서 을의 순서로는 경유한 경우가 없는 경우와 을의 순서보다 갑의 순서로 경유한 경유가 더 최근인 경우에는, 을의 순서로 경로를 이동시키고 난 뒤, A와 C가 아닌 B의 제3의 인접한 셀로 경로를 이동시킨다. 그리고, 이와 같은 방법을 반복하여 경로를 계속 이동시킨다.
이하, 경로 P는 위와 같은 방법의 경로를 뜻한다.
다음으로, 도형 Tn의 동시변환과 경로 P의 진행에 의한 난수 열 발생 시스템은 다음과 같이 구성된다. 제6조 참조.
도형 Tn을 s단계 동시변환시킨 뒤, 경로 P의 k단계 진행과 도형 Tn의 v단계 동시 변환을 교대로 반복하면서, 각 교대반복에서 경로 P가 경유한 k개의 셀들의 값들을 순서대로 추출한다.
이와 같이 각 교대반복에서 추출되는 k개의 값들 중 지정된 방법에 따라 m(≤k)개의 값들을 선택하여 이진 난수 열을 발생시킨다.
그리고, 위와 같은 난수 열 발생 시스템을 이용한 데이터 암호와 및 복호화 방법은 다음과 같다. 제7도와 제8도 참조.
키에 의하여 아래의 요소들의 전부를 지정하거나, 아래의 요소들의 일부를 고정하고 나머지 요소들을 키에 의하여 지정한다.
○ 도형 Tn을 구성하는데 이용되는 분화의 단계 n의 값.
○ 도형 Tn을 구성하는데 이용되는 홀수개의 내부가 삭제될 삼각형들을 지정하는 방법.
○ 도형 Tn을 구성하는데 이용되는 원래의 삼각형 및 홀수개의 삭제된 삼각형들의 변들을 서로 붙이는 방법.
○ 도형 Tn을 구성하는데 이용되는 절단될 삼각형들의 변들을 지정하고 절단된 변들을 서로 붙이는 방법.
○ 도형 Tn의 셀들의 값들의 자리수 a.
○ 도형 Tn의 셀들의 초기 값.
○ 도형 Tn의 동시변환시 각 셀의 값을 변화시키는데 사용되는 거리 d1과 d2의 값.
○ 도형 Tn의 동시변환시 각 셀의 값들을 변화시키는데 사용되는 연산의 종류.
○ 도형 Tn의 각 둥지에서의 셀들의 순환순서.
○ 경로 P의 출발위치.
○ 경로 P를 진행시키기 이전의 도형 Tn의 동시변환의 단계를 지정하는 s값
○ 경로 P의 k단계 진행과 도형 Tn의 v단계 동시변환의 교대반복에서 경로 P의 진행단계를 지정하는 k값과 동시변환의 단계를 지정하는 v값.
○ 경로 P의 k단계 진행과 도형 Tn의 v단계 동시변환의 교대반복에서 추출되는 k개의 값들 중 난수열을 구성하는데 사용되는 m개의 값들을 선택하는 방법.
이와 같이 고정된 요소들과 지정된 요소들을 이용하여 위와 같은 방법으로 도형 Tn과 경로 P의 진행을 구성하고, 도형 Tn을 s단계 동시변환 시킨 뒤, 경로 P의 k단계 진행과 도형 Tn의 v단계 동시변환의 교대반복을 이용하여 이진 난수 열을 발생시킨다.
이렇게 발생된 이진 난수 열을 이진 데이터 열에 지정된 연산의 방법에 따라 배타적 논리합 연산 또는 2a를 법으로 하는 덧셈 연산을 하여 평문의 이진 데이터를 암호화한다. 단, 이진 난수 열과 이진 데이터 열의 연산은 이진수들의 자리수 a에 따라 이진 난수 열과 이진 데이터 열을 각각 a개의 길이의 블럭들로 분할하여 블럭단위로 연산한다. 그리고, 암호화에 이용된 이진 난수 열을 동일한 키에 의하여 다시 발생시켜 이 난수 열을 암호화된 이진 데이터 열에 암호화에서 사용된 연산의 역 연산을 하여 암호화된 이진 데이터를 평문의 이진 데이터로 복호화시킨다. 여기서, 배타적 논리합 연산의 역 연산은 배타적 논리합 연산 그 자신이며, 2a를 법으로 하는 덧셈의 연산의 역 연산은 2a를 법으로 하는 뺄셈 연산이다.
마지막으로, 도형 Tn의 치환과 도형 Tn의 동시변환과 경로 P의 진행에 의한 난수 열 발생 시스템을 이용한 데이터 암호화 및 복호화 방법은 위의 난수 열 발생 시스템에서 사용되는 도형 Tn의 동시변환 대신 도형 Tn의 동시변환과 도형 Tn의 둥지의 회전에 의한 치환과 도형 Tn의 상호교환에 의한 치환의 조합을 사용하여 이진 난수열을 발생시키고, 이 난수 열과 배타적 논리합 연산 또는 2a를 법으로 하는 덧셈과 뺄셈 연산을 이용하여 이진 데이터를 암호화 및 복호화 하는 것이다. 제7도, 제8도 및 제9도 참조.
본 발명에서의 데이터 암호화 및 복호화 방법들의 특징은 그 구조가 간단하여 실제로 구현하기가 쉽고, 그 속도가 빠르며, 키의 각 요소가 발생되는 난수 열 전체에 고루 영향을 주도록 구성되어 있어서 정확한 키를 모를 때에는 암호화된 데이터의 해독이 거의 불가능하며, 키의 경우의 수가 충분히 크고, 키의 크기를 조절할 수 있는 것 등이다.

Claims (4)

  1. 삼각형의 다단계 분화, 둥지들의 삭제와 삭제된 둥지들의 변들의 붙임, 둥지들의 변들에 따른 절단과 절단된 변들의 붙임 등을 이용하여 삼각형의 분화에 기초한 도형을 구성하고, 상기 도형을 일정 단계 동시변환시킨 다음, 상기 도형의 셀들을 경유하는 경로의 다단계의 진행과 상기 도형의 셀들의 다단계의 동시변환의 교대반복을 계속하여서, 각 교대반복에서 상기 경로가 경유한 셀들의 값들의 전부 또는 일부를 이용하여 이진 난수 열을 발생시키는 것을 특징으로 하는 난수 열 발생 시스템.
  2. 제1항에 있어서, 삼각형의 분화에 기초한 도형의 동시변환을 이용하는 대신 상기 도형의 동시변환과 상기 도형의 둥지의 회전에 의한 치환과 상기 도형의 상호교환에 의한 치환의 조합을 이용하는 것을 특징으로 하는 난수 열 발생 시스템.
  3. 제1항에 있어서, 난수 열 발생 시스템의 구성요소들의 전부를 키에 의해서 지정하거나 상기 구성요소들의 일부를 고정하고 나머지를 키에 의해서 지정한 뒤, 상기 난수 열 발생 시스템을 이용하여 이진 난수 열을 발생시킨 다음, 상기 난수 열을 키에 의해서 지정된 연산으로 평문의 이진 데이터 열에 연산하여 암호화된 이진 데이터 열로 암호화하고, 상기 키를 사용하여 상기 난수 열을 다시 발생시켜, 상기 난수 열을 상기 연산의 역 연산으로 암호화된 이진 데이터 열에 연산하여 평문의 이진 데이터 열로 복호화하는 것을 특징으로 하는 데이터 암호화 및 복호화 방법.
  4. 제3항에 있어서, 제1항의 난수 열 발생 시스템을 이용하는 대신 제2항의 난수 열 발생 시스템을 이용하는 것을 특징으로 하는 데이터 암호화 및 복호화 방법.
KR1019970082653A 1997-12-23 1997-12-23 셀룰라 오토마타를 이용한 난수 열 발생 시스템과 이를 이용한 데이터 암호화 및 복호화 방법 KR19990062338A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970082653A KR19990062338A (ko) 1997-12-23 1997-12-23 셀룰라 오토마타를 이용한 난수 열 발생 시스템과 이를 이용한 데이터 암호화 및 복호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970082653A KR19990062338A (ko) 1997-12-23 1997-12-23 셀룰라 오토마타를 이용한 난수 열 발생 시스템과 이를 이용한 데이터 암호화 및 복호화 방법

Publications (1)

Publication Number Publication Date
KR19990062338A true KR19990062338A (ko) 1999-07-26

Family

ID=66181795

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970082653A KR19990062338A (ko) 1997-12-23 1997-12-23 셀룰라 오토마타를 이용한 난수 열 발생 시스템과 이를 이용한 데이터 암호화 및 복호화 방법

Country Status (1)

Country Link
KR (1) KR19990062338A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020004022A (ko) * 2000-06-29 2002-01-16 이상성 다차원 셀룰라 오토마타를 이용한 난수 발생 방법 및 장치
KR100450766B1 (ko) * 2002-10-11 2004-10-01 한국전자통신연구원 셀룰라 오토마타를 이용한 암호 및 복호 방법과 그 장치
KR102197744B1 (ko) * 2020-02-04 2021-01-04 금오공과대학교 산학협력단 무작위 천이 규칙을 적용한 셀룰러 오토마타 기반 참 난수 생성 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020004022A (ko) * 2000-06-29 2002-01-16 이상성 다차원 셀룰라 오토마타를 이용한 난수 발생 방법 및 장치
KR100450766B1 (ko) * 2002-10-11 2004-10-01 한국전자통신연구원 셀룰라 오토마타를 이용한 암호 및 복호 방법과 그 장치
KR102197744B1 (ko) * 2020-02-04 2021-01-04 금오공과대학교 산학협력단 무작위 천이 규칙을 적용한 셀룰러 오토마타 기반 참 난수 생성 장치

Similar Documents

Publication Publication Date Title
Wang et al. A novel chaotic algorithm for image encryption utilizing one-time pad based on pixel level and DNA level
Hortensius et al. Parallel random number generation for VLSI systems using cellular automata
Chen et al. A symmetric image encryption scheme based on 3D chaotic cat maps
Herrmann Fast algorithm for the simulation of Ising models
US6064738A (en) Method for encrypting and decrypting data using chaotic maps
RU2383934C2 (ru) Устройство криптографической обработки, способ криптографической обработки
RU2000122712A (ru) Способ шифрования, устройство шифрования, способ дешифрирования и устройство дешифрирования
US11381394B2 (en) High speed encryption key generating engine
CN110197076B (zh) 一种sm4加密算法的软件优化实现方法
CN102356597A (zh) 用于在网络中安全通信的方法、及其通信设备、网络和计算机程序
KR20080031906A (ko) 데이터 요소 암호화 방법 및 데이터 암호화 방법
US6772343B1 (en) Data processor, communication system and recording medium
US7215772B2 (en) Method and apparatus for remote digital key generation
CN104486068A (zh) 基于非线性循环移位寄存器的流密码算法snrr
JPH10240500A (ja) 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム
KR101837589B1 (ko) 컴퓨터 실행 가능한 난수 생성 방법 및 이를 수행하는 난수 생성 장치
JP5689826B2 (ja) 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム
CN107590843B (zh) 基于构造的二维可逆元胞自动机的图像加密方法
KR19990062338A (ko) 셀룰라 오토마타를 이용한 난수 열 발생 시스템과 이를 이용한 데이터 암호화 및 복호화 방법
Forgáč et al. Contribution to symmetric cryptography by convolutional neural networks
Al-Muhammed et al. Dynamic text encryption
Tech et al. A novel encryption system using layered cellular automata
CN115208551A (zh) 一种图像空域加密和解密的方法
Miroschnyk et al. Practical methods for de Bruijn sequences generation using non-linear feedback shift registers
JP4644053B2 (ja) 暗号化装置及び方法、復号化装置及び方法

Legal Events

Date Code Title Description
G15R Request for early opening
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application