KR100260535B1 - 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템 - Google Patents

키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템 Download PDF

Info

Publication number
KR100260535B1
KR100260535B1 KR1019970045337A KR19970045337A KR100260535B1 KR 100260535 B1 KR100260535 B1 KR 100260535B1 KR 1019970045337 A KR1019970045337 A KR 1019970045337A KR 19970045337 A KR19970045337 A KR 19970045337A KR 100260535 B1 KR100260535 B1 KR 100260535B1
Authority
KR
South Korea
Prior art keywords
reversible
equation
elements
nonlinear
constant
Prior art date
Application number
KR1019970045337A
Other languages
English (en)
Other versions
KR19990021763A (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 구자홍
Priority to KR1019970045337A priority Critical patent/KR100260535B1/ko
Publication of KR19990021763A publication Critical patent/KR19990021763A/ko
Application granted granted Critical
Publication of KR100260535B1 publication Critical patent/KR100260535B1/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/727Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 안정성과 보안성을 확보하고 더 나아가 빠른 수행속도로 암호화 및 복호화를 할 수 있는 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템에 관한 것이다.
본 발명은 첫번째 입력요소의 제곱에 짝수인 임의의 상수를 곱한 값과 첫 번째 입력요소에 홀수인 임의의 상수를 곱한 값과 임의의 상수의 합으로 첫 번째 출력요소를 생성하고, 첫번째 입력요소로부터 i-1번째 입력요소들을 인자로 하는 임의의 2차 비선형 함수와 i번째 입력요소의 제곱에 짝수인 임의의 상수를 곱한 값과 i번째 입력요소에 홀수인 임의의 상수를 곱한 값의 합으로 두 번째 출력요소 내지 임의의 m번째 출력요소를 생성하는 것으로, 비선형 가역 변환식을 생성한다.
본 발명의 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템은 안정성과 보안성을 확보하고 더 나아가 빠른 수행속도로 암호화 및 복호화를 할 수 있다.

Description

키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템
본 발명은 공개키 암호 시스템에 관한 것으로, 특히 안정성과 보안성을 확보하고 더 나아가 빠른 수행속도로 암호화 및 복호화를 할 수 있는 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템에 관한 것이다.
암호이론은 정보 통신 시스템에서 보안성을 제공하기 위해 매우 중요한 것으로, 정보 통신 사회로 발전해 가면서 그 중요성이 점차 증가하고 있다. 예를 들면, 전자 결재 시스템 및 전자 화폐라고 하는 응용분야는 사회를 근본적으로 변혁시킬 수 있는 중요한 도구로서 앞으로 이들의 실용화에 많은 기대를 모으고 있는데, 그 응용 분야에서 핵심이 되는 기술이 암호 기술이다. 그러므로 보안성과 암호화·복호화 속도가 향상된 새로운 암호 알고리즘을 개발하고 이를 필요로 하는 응용분야에 접목시키는 일은 매우 중요한 것이다.
통상, 암호 시스템은 키(key)가 사용되는 방법에 따라 크게 두 가지로 구분된다. 하나는 비밀키 암호 시스템(secret-key cryptosystem, symmetric-key system)으로서 암호화할 때와 복호화할 때 사용되는 키가 같은 경우이다. 다른 하나는 공개키 암호 시스템(public-key cryptosystem, asymmetric-key system)으로서 서로 다른 두 개의 키가 쌍으로 사용된다. 즉, 공개키를 사용하여 평문을 암호문으로 변환하고 이를 다시 비밀키를 이용하여 평문으로 변환하는 경우이다. 비밀키 암호 시스템은 빠르고 보안성이 높기 때문에 일반적인 암호화의 용도에 널리 사용되나 송신자, 수신자가 미리 하나의 비밀키를 공유해야 하므로 응용에 제한이 있다. 반면, 공개키 시스템은 비밀키 공유의 문제가 없어 비단 단순 암호화 용도 이외에도 디지털 서명 등의 여러 가지의 응용분야를 가지는 장점이 있으나 지금까지 제안된 공개키 방식들은 속도가 일반적인 비밀키 방식에 비해 많이 느린게 단점이다.
이러한 단점을 극복하기 위하여, 기출원된 한국특허 제97-14910에서 제안된 공개키 암호 시스템은 비선형 연립 방적식의 해를 구하기 어렵다는 것에 그 안정성을 두어 종래의 다른 공개키 암호 시스템에 비하여 암호화와 복호화 과정이 획기적으로 빠른 장점을 가진다. 그러나 이러한 큰 장점에도 불구하고, 제안된 공개키 시스템의 실시예로 제공된 공개키는 후술되는 “아파인 곱하기(Affine multiple)” 공격에 의해 공개키로부터 비밀키를 도출하는 것이 가능하다는 단점을 가진다. 이러한 종래의 문제점은 제안된 공개키 시스템의 비선형 가역 변환(N)에 있어서 첫 번째 요소의 변환과정이 비선형항을 포함하지 않는 것에 기인한다.
앞서 제안된 공개키의 취약점인 아파인 곱하기 공격에 대하여 상세히 설명하면, 아파인 곱하기 공격은 공개키의 생성과정에 있어서, 비선형 가역 변환(N)의 첫 번째 요소가 이차항을 포함하지 않는다는 것을 이용하는 것이다. 이를 인용한 제안된 공개키 암호 시스템과 결부하여 설명하면, 공개키로 사용되는 결합식 “F”는 A2·N·A1으로 정의된다. 여기서, A2를 결합하는 과정이 없다면, 비선형 가역 변환(N)의 첫 번째 요소가 이차항을 포함하지 않으며 A1은 아파인 변환이므로, F의 변환 요소중 이차항이 포함되지 않은 요소가 존재한다. 따라서 결합식 F를 A2-1행렬과 A1, N을 찾아내는 방법이 존재한다.
따라서, 본 발명의 목적은 안정성과 보안성을 확보하고 더 나아가 빠른 수행속도로 암호화 및 복호화를 할 수 있는 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템을 제공하는데 있다.
제1도는 본 발명의 실시예에 따른 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템의 비선형 가역변환(N) 생성수단을 상세히 나타내는 도면.
제2도는 제1도의 비선형 가역변환의 복호화 과정에서 N을 만족하는 해를 찾는 과정을 나타내는 도면.
제3도는 본 발명의 다른 실시예에 따른 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템의 비선형 가역변환(N) 생성수단을 상세히 나타내는 도면.
제4도는 제3도의 비선형 가역변환의 복호화 과정에서 N을 만족하는 해를 찾는 과정을 나타내는 도면.
* 도면의 주요부분에 대한 부호의 설명
2,12 : 난수 발생수단 4,14 : 비선형 가역변환(N) 생성수단
6,16 : 재배열수단
상기 목적을 달성하기 위하여, 본 발명의 공개키 생성 방법은 비선형 가역 변환식은 첫 번째 입력요소의 제곱에 짝수인 임의의 상수를 곱한 값과 첫 번째 입력요소에 홀수인 임의의 상수를 곱한 값과 임의의 상수의 합으로 첫 번째 출력요소를 생성하는 단계와; 첫 번째 입력요소로부터 i-1번째 입력요소들을 인자로 하는 임의의 2차 비선형 함수와 i번째 입력요소의 제곱에 짝수인 임의의 상수를 곱한 값과 i번째 입력요소에 홀수인 임의의 상수를 곱한 값의 합으로 두 번째 출력요소 내지 임의의 m번째 출력요소를 생성하는 단계를 포함한다.
본 발명의 공개키·비밀키 생성방법은 m개의 요소를 입력과 출력으로 하는 임의의 두 개의 아파인 가역변환식(A1,A2)과 m개의 요소를 입력과 출력으로 하는 최고차항의 차수가 2차인 비선형 가역 변환식(N)을 생성하여, 첫 번째 아파인 가역 변환식(A1), 비선형 가역 변환식(N), 두 번째 가역 변환식(A2)의 순서로 이루어지는 변환을 m개의 요소를 입력과 출력으로 하는 결합식(F≡A2·N·A1)으로 산출하고, 결합식 F와 모듈러 변수 n을 공개키(P)로 제공하는 단계와; 두 개의 아파인 가역 변환의 역변환식(A1-1,A2-1)을 구하는 단계와; 역변환식(A1-1,A2-1)과 비선형 가역 변환식(N)을 비밀키(S)로 제공하는 단계를 포함한다.
본 발명의 암호화 방법은 m개의 요소를 입력과 출력으로 하는 임의의 두 개의 아파인 가역변환식(A1,A2)과 m개의 요소를 입력과 출력으로 하는 최고차항의 차수가 2차이고 첫 번째 출력요소의 변환과정이 비선형항을 포함하는 비선형 가역 변환식(N)을 생성하여, 첫 번째 아파인 가역변환식(A1), 비선형 가역 변환식(N), 두 번째 가역 변환식(A2)의 순서로 이루어지는 변환을 m개의 요소를 입력과 출력으로 하는 결합식(F≡A2·N·A1)으로 산출하고, 결합식 F와 모듈러 변수 n을 공개키(P)로 제공하는 단계와; 공개키(P)를 이용하여 디지털 메시지 M을 암호화하여 암호문 C로 변환하는 단계를 포함한다.
본 발명의 복호화 방법은 m개의 요소를 입력과 출력으로 하는 임의의 두 개의 아파인 가역변환식(A1,A2)과 m개의 요소를 입력과 출력으로 하는 최고차항의 차수가 2차이고 첫 번째 출력요소의 변환과정이 비선형항을 포함하는 비선형 가역 변환식(N)을 생성하여, 첫 번째 아파인 가역변환식(A1), 비선형 가역 변환식(N), 두 번째 가역 변환식(A2)의 순서로 이루어지는 변환을 m개의 요소를 입력과 출력으로 하는 결합식(F≡A2·N·A1)을 산출하고, 두 개의 아파인 가역 변환식의 역변환식(A1-1,A2-1)을 구하여 역변환식(A1-1,A2-1)과 비선형 가역 변환식(N)을 비밀키(S)로 제공하는 단계와; 비밀키(S)를 이용하여 암호문 C를 복호화하여 디지털 메시지 M으로 변환하는 단계를 포함한다.
본 발명의 암호 통신 시스템은 m개의 요소를 입력과 출력으로 하는 임의의 두 개의 아파인 가역 변환식(A1,A2)과 m개의 요소를 입력과 출력으로 하는 최고차항의 차수가 2차이고 첫 번째 출력요소의 변환과정이 비선형항을 포함하는 비선형 가역 변환식(N)을 생성하여, 첫 번째 아파인 가역 변환식(A1), 비선형 가역 변환식(N), 두 번째 아파인 가역 변환식(A2)의 순서로 결합하여 m개의 요소를 입력과 출력으로 하는 결합식(F≡A2·N·A1)을 산출함과 아울러 아파인 가역변환식들의 역변환식들(A1-1,A2-1)을 산출하고 전탐사를 통해 비선형 가역 변환식(N)의 역변환식(N-1)을 산출하고, 결합식(F≡A2·N·A1)과 역변환식들(A1-1,A2-1,N-1)을 각각 공개키와 비밀키로 제공하는 키생성수단과; 키 생성수단에 의해 생성된 비밀키를 저장하는 비밀키 저장 수단과; 키생성수단에 의해 생성된 공개키를 저장하기 위한 공개키 저장수단; 공개키 저장수단에 저장된 공개키를 이용해 입력 평문을 암호문으로 변환하는 암호화 수단과; 비밀키 저장수단에 저장된 비밀키를 이용해 암호문을 평문으로 변환하는 복호화 수단과; 암호화 수단과 복호화 수단을 연결하는 통신 매체를 구비한다.
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부도면을 참조한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다.
본 발명의 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템은 두 개의 아파인 가역 변환과 하나의 비선형 가역 변환이 결합하여 공개키를 생성하는 과정에서 기출원된 한국특허 제97-14910에서 제안된 공개키 암호 시스템의 비선형 가역 변환(N)인 아래의 수식1을 수식2의 형태로 변형하여 공개키를 생성한다.
[수식 1]
Figure kpo00001
여기서, f(X∏1,X∏2,…,X∏i-1)는 X∏1,X∏2,…,X∏i-1를 인자로 하는 임의의 이차함수이고, ∏는 재배열 정보(∏1,∏2,…,∏i), n은 모듈러 변수, m은 요소수를 나타낸다.
[수식 2]
Figure kpo00002
여기서, fi(X∏1,…,X∏i-1)는 X∏1,…,X∏i-1를 인자로 하는 임의의 이차함수이고, αi는 임의의 짝수이고, βi는 임의의 홀수이다.
또한, 평문의 암호화 과정은 위와 같이 변형된 비선형 가역변환(N)을 이용하여 기출원 특허에서와 같은 방법에 의해 생성된 결합식 F에 의해 이루어지며, 복호화 과정에서 아파인 가역변환의 역변환 과정은 기출원 특허의 방법과 일치하고, 비선형 가역변환(N)의 역과정의 계산은 N을 만족하는 해를 전탐사(exhaustive search)를 통해 찾는 것으로 이루어진다.
또한, 모듈러 변수로 사용되는 n은 기출원 특허에서는 임의의 자연수였으나 본 발명의 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템에서는 2의 제곱수로 한정한다. 이는 수식2에서 모듈러 변수 n이 2의 제곱수일 때, αi가 짝수이고, βi가 홀수이면 주어진 Yi에 대해서 N을 만족하는 XI는 오직 하나가 존재하는 특성을 가지며 이로 인하여 각 암호문에 해당하는 평문이 하나 존재하기 때문이다.
전체적인 암호화 과정과 복호화 과정을 수식으로 표현하면,
암호화 과정 : C=P(M)≡F(M) mod n,
여기서 M과 C는 각각이 0이상 n미만의 정수로 표현되는 m개의 요소로 이루어진 디지털 메시지 한 블록의 정수 표현이고, n은 임의의 2의 제곱수이다. 또한, P는 F와 n으로 정의되는 공개키이고, F는 두 개의 아파인 가역 변환과 비선형 가역변환(N)을 기출원 특허에서와 같은 방법으로 결합한 결합식이다.
복호화 과정 :
1) C′=A2-1(C) mod n
2) N(X)=C′ mod n을 만족하는 X를 구한다.
3) M=A1-1(X) mod n
여기서, M과 C는 암호화 과정과 마찬가지로 각각이 0이상 n미만의 정수로 표현되는 m개의 요소로 이루어진 디지털 메시지 한 블록의 정수 표현이고, n은 임의의 2의 제곱수이다. 또한, S는 A1-1, A2-1, N으로 정의되는 비밀키이다. A1, A2는 공개키 생성에 사용되는 아파인 가역변환이고, N 역시 공개키 생성에 사용되는 비선형 가역변환이다.
이하, 제1도 내지 제4도를 참조하여 본 발명의 바람직한 실시예에 대하여 설명하기로 한다.
제1도 내지 제4도에 있어서, 모듈러 변수 n은 2의 제곱수를 나타내는 변수이다.
제1도는 본 발명의 일실시예에 따른 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템에서 비선형 가역변환(N) 생성수단을 상세히 나타내는 도면이 도시되어 있다.
제1도를 참조하면, 본 발명의 일실시예에 따른 비선형 가역변환(N) 생성수단(4)은 난수 발생수단(2)에서 생성되는 임의의 재배열 정보 ∏({∏1,∏2,∏3,∏4,∏5,∏6})를 이용하는 재배열 수단(6), 6개의 가산기(+), 6개의 제곱 연산기(Q), 및 6개의 모듈러 연산기(n)를 구비한다.
재배열 수단(6)은 제1 내지 제6입력요소들(X1내지 X6)을 난수 발생수단(2)으로부터 인가되는 임의의 재배열 정보 ∏({∏1,∏2,∏3,∏4,∏5,∏6})에 따라 재배열하여 6개의 제1 내지 제6재배열 요소들(X∏1내지 X∏6)을 발생한다. 6개의 제곱 연산기, 6개의 가산기(+)는 난수 발생수단(2)으로부터 공급되는 임의의 짝수벡터 α({α23456})와, 임의의 홀수벡터 β({β3456})와, 임의의 상수 벡터 γ({γ123456})와 재배열 수단(6)으로부터 공급되는 재배열 요소들(X∏1내지 X∏6)을 이용하여 제1 내지 제6출력요소들(Y1내지 Y6) 각각에 대한 기본형 연산식들을 구성한다. 그리고 6개의 모듈러 연산기(n)는 각각의 모듈러 변수(n) 미만의 값을 가지도록 출력요소들(Y1내지 Y6)을 모듈러 연산한다. 6개의 제곱 연산기(Q)는 각각의 재배열 요소(X∏i)를 제곱 연산하여(X∏i 2) 임의의 짝수벡터(α)를 승산하고, 그 결과에 각각의 재배열 요소(X∏i)에 임의의 홀수벡터(β)를 승산한 결과에 가산함으로서 비선형항을 생성한다.
이를 상세히 하면, 제1출력요소(Y1)는 제1재배열 요소(X∏1)에 제곱 연산기(Q)에 의해 2차항이 포함된 “αX∏1 2+βX∏1”의 결과에 임의의 제1상수 벡터 γ1의 합이 모듈러 연산기(n)에 공급되어 모듈러 연산되어 나타나고, 제2 내지 제6출력요소들(Y1내지 Y6)은 각각의 재배열 요소(X∏i)에 제곱 연산기(Q)에 의해 2차항이 포함된 “αX∏1 2+βX∏1”의 결과에 각각에 더해지는 상수벡터(γi)의 합으로 각각의 모듈러 연산기(n)에 의해 모듈러 연산됨으로써 나타난다.
이 결과, 각 출력요소를 수식으로 표현하면 아래의 수식3과 같다.
[수식 3]
Figure kpo00003
제2도는 비선형 가역 변환(N)의 꼴이 제1도와 같을 때 복호화 과정에서 비선형 가역변환의 역과정에 해당하는 것으로 N을 만족하는 해를 전탐사(exhaustive search) 방법으로 찾는 과정의 실시예이다.
제2도를 참조하면, 주어진 입력요소(Y1내지 Y6)와 계수들(αiii)로부터 비선형 가역 변환(N)을 만족하는 x를 전탐사하여 만족하는 Xi를 출력으로 한다. 여기서, Xi는 모듈러 변수 n이하의 값을 가지므로 출력요소 6개를 전탐사하는데 드는 루프의 수는 6n 이하이다.
이를 단계별로 설명하면, 통신 단말기는 S1 단계에서 입력요소들(Y1내지 Y6)을 입력한다. 통신 단말기는 카운터의 값(i)을 “0”으로 초기화시킨다.(S2 단계) 그리고 통신 단말기는 입력요소들을 셋팅시키고(y=Yi), 주어진 Yi와 계수들(αiii)로부터 비선형 가역 변환(N)을 만족하는 x를 “0”으로 초기화시킨다.(S3 단계) 비밀키 저장장소로부터 공급되는 αi, βi, γi의 계수들을 포함하는 역변환 요소의 변환식 즉, “y=αix2ix+γi”에 “x”를 대입·연산하여 “y”를 산출해낸다.(S4 단계) S4 단계에서, 입력되는 요소(Yi)가 역변환 요소와 일치하는 경우, x를 현재의 xi에 셋팅한다.(S5 단계) S4 단계에서, 입력되는 요소(Yi)가 역변환 요소와 일치하지 않는 경우, x의 현재 값에 증가분 “1”을 가산하여 S4 단계를 재수행한다.(S6 단계) 그리고 현재의 카운터의 값이 입력요소 수에 해당하는 6이상인가를 판별하여(S7 단계), 카운터의 값이 6미만으로 판별되면, 카운터의 값을 증가분 “1”로 하여 증가시켜 S3 단계를 재수행한다.(S8 단계) S7 단계에서, 카운터의 값이 6이상으로 판별되면 통신단말기는 제1 내지 제6출력요소(Xi내지 Xi)를 송출한다.(S9 단계)
제3도는 본 발명의 다른 실시예에 따른 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템에서 비선형 가역변환(N) 생성을 나타낸다.
제3도를 참조하면, 본 발명의 비선형 가역 변환식 생성수단(14)은 난수 발생수단(12)에서 발생된 임의의 재배열 정보(∏(∏1,∏2,∏3,∏4,∏5,∏6})를 이용하는 재배열 수단(16)과, 4개의 승산기(×), 2개의 제곱연산기(Q), 6개의 가산기(+), 및 6개의 모듈러 연산기(n)로 구성된다.
그리고, 본 발명의 비선형 가역 변환식 생성수단(14)은 난수 발생수단(12)으로부터 공급되는 임의의 재배열 정보∏({∏1,∏2,∏3,∏4,∏5,∏6}), 임의의 짝수벡터α({α12}), 임의의 홀수벡터β({β12}) 및 임의의 상수벡터 γ({γ123456}), δ({δ3456})가 사용된다.
재배열 수단(16)은 입력요소들(X1 내지 X6)을 난수 발생 수단(12)으로부터 인가되는 임의의 재배열 정보∏({∏1,∏2,∏3,∏4,∏5,∏6})에 따라 재배열하여 6개의 재배열 요소들(X∏1,X∏2,X∏3,X∏4,X∏5,X∏6)을 발생한다. 2개의 제곱 연산기(Q)는 제1 및 제2출력요소들(Y1,Y2)을 생성하는데에만 사용된다. 이들 2개의 제곱 연산기(Q)는 각각 제1과 제2재배열 요소(X∏1,X∏2)를 제곱 연산하여(X∏1 2,X∏1 2) 임의의 짝수벡터(α)를 승산하고, 그 결과에 각각의 재배열 요소(X∏1,X∏2)에 임의의 홀수벡터(β)를 승산한 결과를 가산함으로서 2차 다항식의 비선형항을 생성한다.
그리고 4개의 승산기(×)는 제3 내지 제6출력요소들(Y1,Y6)을 생성하기 위하여 사용되는 것으로, 각각 두개의 재배열 입력요소(X∏i-1,X∏i-2)를 서로 곱한 결과에 임의의 상수벡터(δi)를 승산한다. 6개의 가산기(+)는 난수 발생 수단(12)으로부터의 임의의 상수 벡터 γ({γ123456})와, 제곱 연산기(Q) 및 승산기(×)로부터 공급되는 각각의 연산결과와, 재배열 입력요소를 가산한다. 여섯 개의 모듈러 연산기들(n)은 각각의 출력요소들(Y1,Y2,Y3,Y4,Y5,Y6)이 모듈러변수(n) 미만의 값을 가지도록 출력요소들(Y1,Y2,Y3,Y4,Y5,Y6)을 모듈러변수(n)로 모듈러 연산한다.
이를 상세히 하면, 제1출력요소(Y1)는 제1재배열요소(X∏1)가 제곱 연산기(Q)에 공급되어 제곱 연산기(Q)에 의해 2차 다항식의 비선형항으로 생성되어 그 결과와 임의의 상수 벡터γ1의 합이 되고, 그 결과는 모듈러 변수(n)로 모듈러와 연산된다. 제2출력요소(Y2)는 제2재배열 요소(X∏2)가 제곱 연산기(Q)에 공급되어 제곱 연산기(Q)에 의해 2차 다항식의 비선형항으로 생성되어 그 결과와 임의의 상수 벡터γ2의 합이 되고, 그 결과는 모듈러 변수(n)로 모듈러 연산된다. 그리고 제3 내지 제6출력요소들(Y3내지 Y6) 각각은 제(i-1) 재배열 요소(X∏i-1), 제(i-2) 재배열 요소(X∏i-2)의 곱에 제i상수 벡터(δi)를 곱이 되고, 그 결과는 제i재배열 요소(X∏i)와 제i상수 벡터(γi)와의 합으로 나타나고, 그 결과는 모듈러 연산된다.
이를 수식으로 표현하면 수식4와 같다.
[수식 4]
Figure kpo00004
제4도는 비선형 가역변환(N)의 꼴이 제1도와 같을 때, 복호화 과정에서 비선형 가역변환의 역과정에 해당하는 것을 도시하는 도면이다.
제4도를 참조하면, 제1 및 제2출력요소는 제2도에서와 같이 구해지며, 제2출력요소로부터는 기출원 특허에서의 비선형 가역변환의 역변환 방법과 유사하게 구해지는 것으로 즉, 제i출력요소는 Xi는 해당 입력요소 Yi에서 δiXi-1Xi-2와 γi를 감산하여 구해진다.
이를 단계적으로 살펴보면, 통신 단말기는 S1 단계에서 제1 및 제2입력요소들(Y1및 Y2)을 입력한다. 통신 단말기는 카운터의 값(i)을 “0”으로 초기화시킨다.(S2 단계) 그리고 통신 단말기는 입력요소들을 셋팅시키고(y=Yi), 주어진 입력요소 Yi와 계수들(αiii)로부터 비선형 가역 변환(N)을 만족하는 x를 “0”으로 초기화시킨다.(S3 단계) 비밀키 저장장소로부터 공급되는 αiii의 계수들을 포함하는 역변환 요소의 역변환식 즉, “y=αix2ix+γi”에 x를 대입·연산하여 “y”를 산출한다.(S4 단계) S4 단계에서, 입력 요소(Yi)가 역변환 요소와 일치하는 경우, x를 현재의 xi에 셋팅한다.(S5 단계) S4 단계에서, 입력 요소(Yi)가 역변환 요소와 일치하지 않는 경우, x의 현재 값에 증가분 “1”을 가산하여 S4 단계를 재수행한다.(S6 단계) 현재의 카운터 값이 입력 요소 수에 해당하는 2 이상인가를 판별하여(S7 단계), 카운터의 값이 2 미만으로 판별되면, 카운터의 값을 증가분 “1”로 증가시켜 S3 단계를 재수행한다.(S8 단계) S7 단계에서, 카운터의 값이 2 이상으로 판별되면 통신단말기는 제1 및 제2출력요소(X1및 X2)를 송출한다.(S9 단계)
제3 내지 제6출력요소(X3내지 X6)의 복호화과정에서, 먼저 통신 단말기는 제3 내지 제6입력요소들(Y3및 Y6)을 입력한다.(S10 단계) 통신 단말기는 카운터의 값(i)을 “3”으로 초기화시킨다.(S11 단계) 그리고 통신 단말기는 입력요소들을 셋팅시킨다.(S12 단계) 비밀키 저장장소로부터 공급되는 γii의 계수들을 포함하는 역변환 요소의 요소별 역변환식 즉, “Xi=y-δiXi-1Xi-2i”에 S9 단계에서의 제1 및 제2출력요소(X1및 X2)를 대입·연산하여 출력요소(Xi)를 산출한다.(S13 단계) 그리고 통신 단말기는 현재의 카운터 값이 6 이상인가를 판별하여(S14 단계), 카운터의 값이 6 미만으로 판별되면, 카운터의 값을 증가분 “1”로 증가시켜 S12 단계를 재수행한다.(S15 단계) S7 단계에서, 카운터의 값이 6 이상으로 판별되면 통신단말기는 제3 내지 제6출력요소(X3내지 X6)를 송출한다.(S9 단계)
상술한 바와 같이, 본 발명의 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템은 안정성과 보안성을 확보하고 더 나아가 빠른 수행속도로 암호화 및 복호화를 할 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여 져야만 할 것이다.

Claims (12)

  1. m개의 요소를 입력과 출력으로 하는 임의의 두 개의 임의의 아파인 가역변환식(A1,A2)과 상기 m개의 요소를 입력과 출력으로 하는 최고차항이 2차인 비선형 가역 변환식(N)을 생성시키는 단계와 비선형 가역 변환식(N)이 상기 아파인 가역 변환식들(A1,A2)의 사이에 위치하는 순서로 상기 변환식들(A1,A2,N)을 결합하여 상기 m개의 요소를 입력과 출력으로 하는 결합식(F≡A2·N·A1)을 산출하는 단계와 상기 결합식 F와 상기 모듈러 변수(n)을 공개키로 제공하는 단계를 포함하는 공개키 생성방법과 이를 이용한 디지털 메시지 M의 암호통신을 구현하는 방법에 있어서, 상기 비선형 가역 변환식(N)은 첫 번째 입력요소의 제곱에 짝수인 임의의 상수를 곱한 값과 상기 첫 번째 입력요소에 홀수인 임의의 상수를 곱한 값과 임의의 상수의 합으로 첫 번째 출력요소를 생성하는 단계와; 상기 첫 번째 입력요소로부터 i-1번째 입력요소들을 인자로 하는 임의의 2차 비선형 함수와 i번째 입력요소의 제곱에 상기 짝수인 임의의 상수를 곱한 값과 상기 i번째 입력요소에 홀수인 임의의 상수를 곱한 값의 합으로 두 번째 출력요소 내지 임의의 m번째 출력요소를 생성하는 단계를 포함하는 것을 특징으로 하는 공개키 생성 방법.
  2. 제1항에 있어서, 상기 비선형 가역 변환식(N)은 전탐사 방법(exhaustive search)에 의존하는 역변환식(N-1)이 존재하는 것을 특징으로 하는 공개키 생성 방법.
  3. 제1항에 있어서, 상기 비선형 가역 변환식(N)은 첫 번째 입력요소의 제곱에 짝수인 임의의 상수를 곱한 값과 첫 번째 입력요소에 홀수인 임의의 상수를 곱한 값과 임의의 상수의 합으로 첫 번째 출력요소를 생성하는 단계와; 두 번째 입력요소의 제곱에 짝수인 임의의 상수를 곱한 값과 상기 두 번째 입력요소에 홀수인 임의의 상수를 곱한 값과 임의의 상수의 합으로 두 번째 출력요소를 생성하는 단계와; i번째 출력요소는 (i-1)번째 입력요소와 (i-2)번째 입력 요소의 곱에 임의의 상수를 곱한 값과, i번째 입력요소와 상기 임의의 상수의 합으로 세 번째 내지 임의의 m번째 출력요소를 생성하는 것을 특징으로 하는 공개키 생성 방법.
  4. 제1항에 있어서, 상기 비선형 가역 변환식(N)은 임의의 재배열 정보(∏), 임의의 짝수벡터α, 임의의 홀수벡터β 및 임의의 상수벡터γ를 난수발생을 통하여 생성하는 단계와; 상기 임의의 재배열 정보(∏), 상기 임의의 짝수벡터α, 상기 임의의 홀수벡터β 및 상기 임의의 상수벡터γ들을 출력요소들(Y1내지 Yi)에 대한 비선형 기본식들
    Figure kpo00005
    여기서, X∏1내지 X∏i는 입력요소들(X1내지 Xi)이 임의의 재배열 정보(∏)에 의해 재배열된 것이고, i는 1 내지 m 사이의 정수에 적용하는 단계에 의해 생성되는 것을 특징으로 하는 공개키 생성 방법.
  5. 제3항에 있어서, 상기 비선형 가역 변환식(N)은 임의의 재배열 정보(∏), 임의의 짝수벡터α, 임의의 홀수벡터β 및 임의의 상수벡터γ를 난수발생을 통하여 생성하는 단계와; 상기 임의의 재배열 정보(∏), 상기 임의의 짝수벡터α, 상기 임의의 홀수벡터β 및 상기 임의의 상수벡터γ들을 출력요소들(Y1내지 Yi)에 대한 비선형 기본식들
    Figure kpo00006
    Figure kpo00007
    여기서, X∏1내지 X∏i는 입력요소들(X1내지 Xi)이 임의의 재배열 정보(∏)에 의해 재배열된 것이고, i는 1 내지 m 사이의 정수에 적용하는 단계에 의해 생성되는 것을 특징으로 하는 공개키 생성 방법.
  6. n 미만의 정수로 표현되는 m개의 요소를 가지는 디지털 메시지 M의 암호통신을 구현하는 방법에 있어서, 상기 m개의 요소를 입력과 출력으로 하는 임의의 두개의 아파인 가역 변환식(A1,A2)과 상기 m개의 요소를 입력과 출력으로 하는 최고차항의 차수가 2차인 비선형 가역 변환식(N)을 생성하여, 상기 첫번째 아파인 가역 변환식(A1), 상기 비선형 가역 변환식(N), 상기 두번째 가역 변환식(A2)의 순서로 이루어지는 변환을 m개의 요소를 입력과 출력으로 하는 결합식(F≡A2·N·A1)으로 산출하고, 결합식 F와 모듈러 변수 n을 공개키(P)로 제공하는 단계와; 상기 두 개의 아파인 가역 변환의 역변환식(A1-1,A2-1)을 구하는 단계와; 상기 역변환식(A1-1,A2-1)과 상기 비선형 가역 변환식(N)을 비밀키(S)로 제공하는 단계를 포함하는 것을 특징으로 하는 공개키·비밀키 생성방법.
  7. 제6항에 있어서, 상기 디지털 메시지 M은 각각이 0이상 n미만의 정수로 표현되는 m개의 요소를 가지는 디지털 메시지 한 블록의 숫자표현, 즉, M≡(M1,M2,…,Mm), 0≤Mi≤(n-1); 여기서, m은 1 이상인 임의의 정수, n은 임의의 2의 제곱수인 것을 특징으로 하는 공개키·비밀키 생성 방법.
  8. n 미만의 정수로 표현되는 m개의 요소를 가지는 디지털 메시지 M의 암호통신을 구현하는 방법에 있어서, 상기 m개의 요소를 입력과 출력으로 하는 임의의 두개의 아파인 가역 변환식(A1,A2)과 상기 m개의 요소를 입력과 출력으로 하는 최고차항의 차수가 2차이고 첫번째 출력요소의 변환과정이 비선형항을 포함하는 비선형 가역 변환식(N)을 생성하여, 상기 첫번째 아파인 가역 변환식(A1), 상기 비선형 가역 변환식(N), 상기 두번째 가역 변환식(A2)의 순서로 이루어지는 변환을 m개의 요소를 입력과 출력으로 하는 결합식(F≡A2·N·A1)으로 산출하고, 상기 결합식 F와 모듈러 변수 n을 공개키(P)로 제공하는 단계와; 상기 공개키(P)를 이용하여 상기 디지털 메시지 M을 암호화하여 암호문 C로 변환하는 단계를 포함하는 암호화 방법.
  9. 제8항에 있어서, 상기 암호문 C는 공개키 P와 결합식 F와의 관계는 아래와 같이, C=P(M)≡F(M) mod n 여기서, M과 C는 각각 0이상 n미만의 정수로 표현되는 m개의 요소로 이루어진 디지털 메시지 M의 한 블록의 정수 표현이고 n은 임의의 2의 제곱수인 것을 특징으로 하는 암호화 방법.
  10. n 미만의 정수로 표현되는 m개의 요소를 가지는 디지털 메시지 M을 암호문 C의 형태로 통신을 구현하는 방법에 있어서, 상기 m개의 요소를 입력과 출력으로 하는 임의의 두개의 아파인 가역 변환식(A1,A2)과 상기 m개의 요소를 입력과 출력으로 하는 최고차항의 차수가 2차이고 첫번째 출력요소의 변환과정이 비선형항을 포함하는 비선형 가역 변환식(N)을 생성하여, 상기 첫번째 아파인 가역 변환식(A1), 상기 비선형 가역 변환식(N), 상기 두번째 가역 변환식(A2)의 순서로 이루어지는 변환을 m개의 요소를 입력과 출력으로 하는 결합식(F≡A2·N·A1)을 산출하고, 상기 두개의 아파인 가역 변환식의 역변환식(A1-1,A2-1)을 구하여 상기 역변환식(A1-1,A-2)과 비선형 가역 변환식(N)을 비밀키(S)로 제공하는 단계와; 상기 비밀키(S)를 이용하여 상기 암호문 C를 복호화하여 상기 디지털 메시지 M으로 변환하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  11. 제10항에 있어서, 상기 디지털 메시지 M은 비밀키 S를 이용하여 구해지는 것으로,
    즉, M=S(C)
    1) C′=A2-1(C) mod n;
    2) N(X)=C′ mod n을 만족하는 X를 구하고;
    3) M=A1-1(X) mod n
    여기서, M과 C는 각각 0 이상 n미만의 정수로 표현되는 m개의 요소로 이루어진 디지털 메시지 M의 한 블록의 정수 표현이고 n 은 임의의 2의 제곱수인 것을 특징으로 하는 복호화 방법.
  12. 디지털 메시지의 암호 통신을 구현하는 시스템에 있어서, m개의 요소를 입력과 출력으로 하는 임의의 두개의 아파인 가역 변환식(A1,A2)과 m개의 요소를 입력과 출력으로 하는 최고차항의 차수가 2차이고 첫번째 출력요소의 변환과정이 비선형항을 포함하는 비선형 가역 변환식(N)을 생성하여, 상기 첫번째 아파인 가역 변환식(A1), 상기 비선형 가역 변환식(N), 상기 두번째 아파인 가역 변환식(A2)의 순서로 결합하여 m개의 요소를 입력과 출력으로 하는 결합식(F≡A2·N·A1)을 산출함과 아울러 상기 아파인 가역 변환식들의 역변환식들(A1-1,A2-1)을 산출하고, 전탐사를 통해 상기 비선형 가역 변환식(N)의 역변환식(N-1)을 산출하고, 상기 결합식(F≡A2·N·A1)과 상기 역변환식들(A1-1,A2-1,N-1)을 각각 공개키와 비밀키로 제공하는 키생성수단과; 상기 키생성수단에 의해 생성된 상기 비밀키를 저장하는 비밀키 저장수단과; 상기 키생성수단에 의해 생성된 상기 공개키를 저장하기 위한 공개키 저장수단과; 상기 공개키 저장수단에 저장된 상기 공개키를 이용해 입력 평문을 암호문으로 변환하는 암호화 수단과; 상기 비밀키 저장수단에 저장된 상기 비밀키를 이용해 암호문을 평문으로 변환하는 복호화 수단과; 상기 암호화 수단과 상기 복호화 수단을 연결하는 통신 매체를 구비하는 것을 특징으로 하는 공개키 암호 통신 시스템.
KR1019970045337A 1997-08-30 1997-08-30 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템 KR100260535B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970045337A KR100260535B1 (ko) 1997-08-30 1997-08-30 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970045337A KR100260535B1 (ko) 1997-08-30 1997-08-30 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템

Publications (2)

Publication Number Publication Date
KR19990021763A KR19990021763A (ko) 1999-03-25
KR100260535B1 true KR100260535B1 (ko) 2000-07-01

Family

ID=19520638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970045337A KR100260535B1 (ko) 1997-08-30 1997-08-30 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템

Country Status (1)

Country Link
KR (1) KR100260535B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100323799B1 (ko) * 1999-11-18 2002-02-19 안병엽 안전성이 증명가능한 타원곡선 공개키 암호화 시스템

Also Published As

Publication number Publication date
KR19990021763A (ko) 1999-03-25

Similar Documents

Publication Publication Date Title
Nguyen et al. Lattice reduction in cryptology: An update
US6243467B1 (en) Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form
JP2009272995A (ja) ベクトル秘匿型内積計算システム、ベクトル秘匿型内積計算方法及び暗号鍵共有システム
JP3180836B2 (ja) 暗号通信装置
AU3180699A (en) A method and apparatus for cryptographically secure algebraic key establishment protocols
US6993136B2 (en) Cryptographic key exchange method using efficient elliptic curve
Ruan et al. An efficient private set intersection protocol for the cloud computing environments
US20040258240A1 (en) Cryptosystems
Pal et al. Design of strong cryptographic schemes based on Latin squares
US7024559B1 (en) Method of elliptic curve digital signature using expansion in joint sparse form
Wade et al. The Iso-ElGamal Cryptographic Scheme
JP3658004B2 (ja) 通信システム
KR100260535B1 (ko) 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템
US20020025034A1 (en) Cryptographic encryption method using efficient elliptic curve
Abram et al. Succinct homomorphic secret sharing
Raharinirina Use of signed permutations in cryptography
US7505585B2 (en) Method of generating cryptographic key using elliptic curve and expansion in joint sparse form and using same
Meshram Factoring and discrete logarithm using IBC
Mukhopadhyay Cryptography: Advanced encryption standard (aes)
Meshram Discrete Logarithm and Integer Factorization using ID-based Encryption
KR100253806B1 (ko) 키 생성 방법
KR20010000048A (ko) m진법 방식을 이용한 타원곡선상 다중 점의 상수고속연산 방법
El-Kassar et al. ElGamal Public-Key cryptosystem in multiplicative groups of quotient rings of polynomials over finite fields
Dhamodharan et al. Multifarious mapping schemes on Elliptic curve cryptography for IoT security
RU2727025C1 (ru) Способ асимметричного шифрования сообщений на основе модифицированной задачи о рюкзаке

Legal Events

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

Payment date: 20080319

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee