KR20200036727A - 프라임 모듈로 이중 캡슐화에 기초한 일대다 분산 키 관리 기능을 갖춘 포스트 퀀텀 비대칭 키 암호 시스템 - Google Patents

프라임 모듈로 이중 캡슐화에 기초한 일대다 분산 키 관리 기능을 갖춘 포스트 퀀텀 비대칭 키 암호 시스템 Download PDF

Info

Publication number
KR20200036727A
KR20200036727A KR1020190102150A KR20190102150A KR20200036727A KR 20200036727 A KR20200036727 A KR 20200036727A KR 1020190102150 A KR1020190102150 A KR 1020190102150A KR 20190102150 A KR20190102150 A KR 20190102150A KR 20200036727 A KR20200036727 A KR 20200036727A
Authority
KR
South Korea
Prior art keywords
array
prime
key
public
inverse
Prior art date
Application number
KR1020190102150A
Other languages
English (en)
Other versions
KR102354456B1 (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 KR20200036727A publication Critical patent/KR20200036727A/ko
Application granted granted Critical
Publication of KR102354456B1 publication Critical patent/KR102354456B1/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
    • H04L9/3033Public 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 details relating to pseudo-prime or prime number generation, e.g. primality test
    • 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
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • 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/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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/08Randomization, e.g. dummy operations or using noise

Landscapes

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

Abstract

포스트-퀀텀 비대칭 키 생성 방법 및 시스템에서, 처리 유닛은 프라임 및 산술 함수 또는 클래식 스트링에 기초하여, 무한한 개수의 성분들을 갖는 프라임 벡터를 생성하며(S31), 프라임 벡터에 기초하여 p-어레이를 생성하며(S32), 프라임 어레이에 기초하여 관련 매트릭스를 생성하며(S35), 관련 매트릭스 및 제1 기준 프라임에 기초하여, 개인키 역할을 하는 제1 기준 인버스 프라임 어레이를 획득하며(S38), 그리고 제2 기준 인버스 프라임 어레이에 기초하여 개인키와 쌍을 이루는 공개키를 획득한다(S40). 제2 기준 인버스 프라임 어레이는 관련 매트릭스, 제1 기준 프라임, 제2 기준 프라임 및 랜덤화 어레이에 기초하여 획득된다.

Description

프라임 모듈로 이중 캡슐화에 기초한 일대다 분산 키 관리 기능을 갖춘 포스트 퀀텀 비대칭 키 암호 시스템{Post-quantum asymmetric key cryptosystem with one-to-many distributed key management based on prime modulo double encapsulation}
본 발명은 비대칭 키 생성 방법에 관한 것으로, 더 구체적으로는 격자 대수 기반의 포스트 퀀텀 비대칭 키 생성 방법(lattice algebra based post-quantum asymmetric key generation method) 및 시스템, 키-리프레시 방법, 암호화 방법, 복호화 방법 및 암호화 통신 시스템에 관한 것이다.
고전적인 암호 시스템은 대칭 키 알고리즘과 비대칭 키 알고리즘의 두 가지 주요 카테고리들로 분류될 수 있다. 대칭 키 알고리즘(예를 들어, AES(Advanced Encryption Standard))은 공유 키를 사용하여 암호화 및 복호화를 수행한다. 비대칭 키 알고리즘은 서로 다른 키, 즉 쌍을 이루는 공개키와 개인키를 사용하여 암호화 및 복호화를 수행한다. 예를 들어, RSA는 최초의 공개키 암호 시스템들 중 하나이며, 그리고 보안 데이터 전송에 널리 사용되고; NTRU(number theory research unit)는 또 다른 비대칭 키 알고리즘이며; 그리고 ECC(elliptic curve cryptography)는 타원 곡선들의 대수 구조를 기반으로 하는 공개키 암호화에 대한 접근법이다. 대칭 키 알고리즘의 구현에는 두 당사자들 간의 키 교환을 위한 보안 채널이 필요하다. 비대칭 키 알고리즘의 구현에는 보안 채널이 필요하지 않지만, 비대칭 키 알고리즘은 쌍을 이루는 키의 생성, 암호화 및 복호화에 비교적 많은 양의 계산을 요구할 수 있다. RSA와 비교하여, ECC가 더 나은 보안을 제공할 수 있지만, 암호화 및 복호화에 더 많은 시간이 필요하다.
전통적인 암호 시스템에는 다음과 같은 단점이 있을 수 있다 :
1. 현재의 비대칭 키 알고리즘에 대한 프로토콜은 암호화 및 해독화가 한 번에 한 문자씩 처리되기 때문에 짧은 시간 내에 많은 양의 데이터를 전송할 수 없다.
2. 현재의 비대칭키 알고리즘은 동일한 대수 그룹, 링 또는 벡터 공간에 속하는 것과 같은 수학적 특성을 가지며 본질적으로 유사한 공개키 및 개인키를 사용하므로, 평문 공격(plaintext attack) 또는 무작위 대입 공격(brute force attack)을 받기 쉽다.
3. 현재 비대칭 키 알고리즘의 경우, 사용자가 자신의 공개키를 새로운 공개키로 변경하면, 다른 모든 사용자는 자신의 개인키를 새로운 공개키와 쌍을 이루도록 업데이트해야 한다. 그렇지 않으면, 이전 개인키를 계속 사용하는 사용자로부터의 가능한 통신은 유효하지 않을 것이다.
4. 시스템 설치시 모든 사용자가 키 리프레시를 수행해야 하는 경우, 키 리프레시 시간을 나타내는 중앙집중형 엔티티가 필요하다.
5. 소인수 분해 기반 알고리즘(예를 들어, RSA, DSA) 또는 이산 로그 문제 기반 알고리즘(예를 들어, ECC)은 Shor 및 Grover의 알고리즘에 기초한 포스트 퀀텀 공격에 약하다.
6. 분산 키 리프레시는 이러한 암호 시스템에 대한 프로토콜의 기본 정의의 일부가 아니기 때문에, RSA, AES 그리고 NTRU를 사용하는 네트워크에는 분산 키 리프레시가 존재하지 않는다.
7. 전통적인 공개키 암호 시스템은 강하게 결합된 공개-개인키들을 갖는다(즉, 각각의 공개키는 유일한 개인키와 쌍을 이룬다). 쌍을 이룬 키들 중 하나에 대한 공격은 종종 다른 하나의 정보를 누설한다.
따라서, 본 발명의 목적은 종래 기술의 결점들 중 적어도 하나를 완화할 수 있는 격자 대수 기반의 포스트 퀀텀 비대칭 키 생성 방법(lattice algebra based post-quantum asymmetric key generation method) 및 시스템, 키-리프레시 메커니즘, 암호화 방법, 복호화 방법 및 암호화 통신 시스템에 관한 것이다.
본 개시서에 따르면, 포스트-퀀텀 비대칭 키 생성 방법은 처리 유닛에 의해 구현되며, 다음의 단계들을 포함한다 :
A) 프라임 p 그리고 시드 역할을 하는 클래식 스트링(classical string) 및 산술 함수 중 하나에 기초하여, p-벡터로 표시되고 프라임 p에 의존하는
Figure pat00001
로서 표기되는 벡터를 생성하는 단계로서, 상기  p-벡터(
Figure pat00002
)는 무한한 개수의 성분들을 가지며, 그리고
Figure pat00003
로 정의되며, 여기서 f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, 단계;
B) I = (p, s, t)로서 인스턴스의 개념을 정의하는 단계로서, p는 프라임이며, s 및 t는 사용자-정의되는 양의 정수들인, 단계;
C) p-벡터(
Figure pat00004
) 및 인스턴스 I = (p, s, t)에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
Figure pat00005
)를 생성하는 단계로서, 상기 p-어레이(
Figure pat00006
)는
Figure pat00007
로 정의되며, I = (p, s, t)가 공지된 경우 상기 p-어레이(
Figure pat00008
)는
Figure pat00009
로도 표현되는, 단계;
D) 상기 p-어레이(
Figure pat00010
)에 기초하여, 관련 매트릭스(
Figure pat00011
)를 생성하는 단계로서, 상기 관련 매트릭스(
Figure pat00012
)는 :
Figure pat00013
로 정의되며, 여기서
Figure pat00014
(j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내는(0 ≤ j ≤ (m-1)), 단계;
E) 관련 매트릭스
Figure pat00015
와 사용자-정의된 양의 정수인 모듈러스
Figure pat00016
에 기초하여, 상기 모듈러스
Figure pat00017
에 대하여 인버스 p-어레이(
Figure pat00018
)를 생성하는 단계로서, 상기 인버스 p-어레이(
Figure pat00019
)는
Figure pat00020
로 정의되며, 여기서,
Figure pat00021
는 상기 모듈러스
Figure pat00022
에 대한 관련 매트릭스
Figure pat00023
의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
Figure pat00024
로 정의되고, 그리고
Figure pat00025
는 상기 관련 매트릭스
Figure pat00026
의 수반 행렬(adjoint matrix)을 나타내는, 단계;
F) 제1 기준 프라임(p 1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p 1 ), b로 표시되는 p-어레이
Figure pat00027
의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
Figure pat00028
) 그리고 파라미터(m), 제2 기준 양의 정수(
Figure pat00029
) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p 2 )을 결정하는 단계로서, 상기 미리 결정된 기준은
Figure pat00030
을 포함하는, 단계;
G) 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 ) 각각이 인버스 p-어레이(
Figure pat00031
)의 모듈러스(modulus)(
Figure pat00032
)로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
Figure pat00033
) 및 제2 기준 인버스 p-어레이(
Figure pat00034
)를 획득하는 단계로서, 상기 제1 기준 인버스 p-어레이(
Figure pat00035
)는
Figure pat00036
로 정의되는 개인키(K private ) 역할을 하는, 단계; 및
H) 상기 제2 기준 인버스 p-어레이(
Figure pat00037
), 상기 제1 기준 프라임(p 1 ), 상기 제2 기준 프라임(p 2 ) 및 상기 키-생성 랜덤화 어레이(
Figure pat00038
)와 관련하여 공개키(K public )를 생성하는 단계로서, 키-생성 랜덤화 어레이(
Figure pat00039
)는 0과 제1 기준 양의 정수(
Figure pat00040
) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(K public )는 개인키(K private )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
Figure pat00041
라고도 표시되는 어레이(
Figure pat00042
)이며,
Figure pat00043
를 나타내며, 
Figure pat00044
는 키 생성 랜덤화 어레이(
Figure pat00045
)에 대한 제2 기준 인버스 p-어레이(
Figure pat00046
)의 키 생성 랜덤화 함수이며, 그리고
Figure pat00047
로 정의되며, 여기서
Figure pat00048
는 컨볼루션 곱셈 연산자를 나타내는, 단계.
이 개시서에 따르면, 암호화 방법은 프로세서에 의해 구현되며, 상기 암호화 방법은 :
        이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에 따라 생성되는 공개키(K public ), 이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 프라임(p 2 ), 그리고 0과 이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 양의 정수(
Figure pat00049
) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
Figure pat00050
)를 사용하여, 전송될 평문에 대응하고 m 개의 숫자 성분들을 갖는 데이터 어레이(
Figure pat00051
)에 대한 암호화 절차를 수행하고, 상기 암호화 랜덤화 어레이(
Figure pat00052
)에 관한 암호문(
Figure pat00053
)을 획득하는 단계로서, 상기 암호문(
Figure pat00054
)은 m 개의 암호화된 숫자 성분들을 갖는, 단계를 포함한다.
이 개시서에 따르면, 해독 방법은 프로세서에 의해 구현되며, 상기 해독 방법은 :
        이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 p-어레이(
Figure pat00055
), 개인키(K private ), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 사용하여, 암호문(
Figure pat00056
)에 대해 해독 절차를 수행하고, m 개의 해독된 숫자성분들을 갖는 평문 어레이(
Figure pat00057
)를 획득하는 단계를 포함하며,
여기서, 상기 암호문(
Figure pat00058
)은 :
이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에 따라 생성되는 공개키, 이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 프라임(p 2 ), 그리고 0과 이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 양의 정수(
Figure pat00059
) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
Figure pat00060
)를 사용하여, 전송될 평문에 대응하고 m 개의 숫자 성분들을 갖는 데이터 어레이(
Figure pat00061
)에 대한 암호화 절차를 수행하고, 그리고 상기 암호화 랜덤화 어레이(
Figure pat00062
)와 관련되고 m 개의 암호화된 숫자 성분들을 갖는 암호문(
Figure pat00063
)을 획득함으로써 생성된다.
이 개시서에 따르면, 포스트-퀀텀 비대칭 키 생성 시스템은 :
프라임 p 그리고 시드 역할을 하는 클래식 스트링(classical string) 및 산술 함수 중 하나에 기초하여, 프라임 p와 관련되고 무한한 개수의 성분들을 갖는 p-벡터(
Figure pat00064
)를 생성하도록 구성된 p-벡터 생성 모듈로서, 상기 p-벡터(
Figure pat00065
)는
Figure pat00066
로 정의되며, 여기서 f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, p-벡터 생성 모듈;
상기 p-벡터 생성 모듈에 연결되고, 그리고 상기 p-벡터(
Figure pat00067
)에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
Figure pat00068
)를 생성하도록 구성되는 p-어레이 생성 모듈로서, 상기 p-어레이(
Figure pat00069
)는
Figure pat00070
로 정의되며, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트(I)를 구성하며, 상기 p-어레이(
Figure pat00071
)는
Figure pat00072
로도 표현되는, p-어레이 생성 모듈;
상기 p-어레이 생성 모듈에 연결되고, 그리고 상기 p-어레이(
Figure pat00073
)에 기초하여, 관련 매트릭스(
Figure pat00074
)를 생성하도록 구성된 관련 매트릭스 생성 모듈로서, 상기 관련 매트릭스(
Figure pat00075
)는 :
Figure pat00076
로 정의되며, 여기서
Figure pat00077
(j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내는(0 ≤ j ≤ (m-1)), 관련 매트릭스 생성 모듈;
상기 관련 매트릭스 생성 모듈에 연결되고, 그리고 상기 관련 매트릭스
Figure pat00078
와 사용자-정의된 양의 정수인 모듈러스
Figure pat00079
에 기초하여, 상기 모듈러스
Figure pat00080
에 대하여 인버스 p-어레이(
Figure pat00081
)를 생성하도록 구성된 인버스 p-어레이 생성 모듈로서, 상기 인버스 p-어레이(
Figure pat00082
)는
Figure pat00083
로 정의되며, 여기서,
Figure pat00084
는 상기 모듈러스
Figure pat00085
에 대한 관련 매트릭스
Figure pat00086
의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
Figure pat00087
로 정의되고, 그리고
Figure pat00088
는 상기 관련 매트릭스
Figure pat00089
의 수반 행렬(adjoint matrix)을 나타내는, 인버스 p-어레이 생성 모듈;
제1 기준 프라임(p 1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p 1 ), b로 표시되는 p-어레이
Figure pat00090
의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
Figure pat00091
) 그리고 파라미터(m), 제2 기준 양의 정수(
Figure pat00092
) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p 2 )을 결정하도록 구성된 기준 프라임 결정 모듈로서, 상기 미리 결정된 기준은
Figure pat00093
을 포함하는, 기준 프라임 결정 모듈;
상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제1 기준 프라임(p 1 )이 인버스 p-어레이(
Figure pat00094
)의 모듈러스(modulus)(
Figure pat00095
)로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
Figure pat00096
)를 획득하도록 구성된 개인키 생성 모듈로서, 상기 제1 기준 인버스 p-어레이(
Figure pat00097
)는
Figure pat00098
로 정의되는 개인키(K private ) 역할을 하는, 개인키 생성 모듈; 및
상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제2 기준 프라임(p 2 )이 인버스 p-어레이(
Figure pat00099
)의 모듈러스(modulus)(
Figure pat00100
)로서 기능하게 함으로써, 제2 기준 인버스 p-어레이(
Figure pat00101
)를 획득하도록 구성되고, 상기 제2 기준 인버스 p-어레이(
Figure pat00102
), 상기 제1 기준 프라임(p 1 ), 상기 제2 기준 프라임(p 2 ) 및 상기 키-생성 랜덤화 어레이(
Figure pat00103
)에 기초하여 키-생성 랜덤화 어레이
Figure pat00104
와 관련하여 공개키(K public )를 생성하도록 구성되는 공개키 생성 모듈로서, 상기 키-생성 랜덤화 어레이(
Figure pat00105
)는 0과 제1 기준 양의 정수(
Figure pat00106
) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(K public )는 개인키(K private )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
Figure pat00107
라고도 표시되는 어레이(
Figure pat00108
)이며,
Figure pat00109
를 나타내는, 공개키 생성 모듈을 포함하며,
여기서,
Figure pat00110
는 키 생성 랜덤화 어레이(
Figure pat00111
)에 대한 제2 기준 인버스 p-어레이(
Figure pat00112
)의 키 생성 랜덤화 함수이며, 그리고
Figure pat00113
로 정의되며, 여기서
Figure pat00114
는 컨볼루션 곱셈 연산자를 나타낸다.
이 개시서에 따르면, 암호화 통신 시스템은 키 서버, 송신단 및 수신단을 포함하며,
상기 키 서버는 :
프라임 p 그리고 시드 역할을 하는 클래식 스트링(classical string) 및 산술 함수 중 하나에 기초하여, 프라임 p와 관련되고 무한한 개수의 성분들을 갖는 p-벡터(
Figure pat00115
)를 생성하도록 구성된 p-벡터 생성 모듈로서, 상기 p-벡터(
Figure pat00116
)는
Figure pat00117
로 정의되며, 여기서 f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, p-벡터 생성 모듈;
상기 p-벡터 생성 모듈에 연결되고, 그리고 상기 p-벡터(
Figure pat00118
)에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
Figure pat00119
)를 생성하도록 구성되는 p-어레이 생성 모듈로서, 상기 p-어레이(
Figure pat00120
)는
Figure pat00121
로 정의되며, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트(I)를 구성하며, 상기 p-어레이(
Figure pat00122
)는
Figure pat00123
로도 표현되는, p-어레이 생성 모듈;
상기 p-어레이 생성 모듈에 연결되고, 그리고 상기 p-어레이(
Figure pat00124
)에 기초하여, 관련 매트릭스(
Figure pat00125
)를 생성하도록 구성된 관련 매트릭스 생성 모듈로서, 상기 관련 매트릭스(
Figure pat00126
)는 :
Figure pat00127
로 정의되며, 여기서
Figure pat00128
(j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내는(0 ≤ j ≤ (m-1)), 관련 매트릭스 생성 모듈;
상기 관련 매트릭스 생성 모듈에 연결되고, 그리고 상기 관련 매트릭스
Figure pat00129
와 사용자-정의된 양의 정수인 모듈러스
Figure pat00130
에 기초하여, 상기 모듈러스
Figure pat00131
에 대하여 인버스 p-어레이(
Figure pat00132
)를 생성하도록 구성된 인버스 p-어레이 생성 모듈로서, 상기 인버스 p-어레이(
Figure pat00133
)는
Figure pat00134
로 정의되며, 여기서,
Figure pat00135
는 상기 모듈러스
Figure pat00136
에 대한 관련 매트릭스
Figure pat00137
의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
Figure pat00138
로 정의되고, 그리고
Figure pat00139
는 상기 관련 매트릭스
Figure pat00140
의 수반 행렬(adjoint matrix)을 나타내는, 인버스 p-어레이 생성 모듈;
제1 기준 프라임(p 1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p 1 ), b로 표시되는 p-어레이
Figure pat00141
의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
Figure pat00142
) 그리고 파라미터(m), 제2 기준 양의 정수(
Figure pat00143
) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p 2 )을 결정하도록 구성된 기준 프라임 결정 모듈로서, 상기 미리 결정된 기준은
Figure pat00144
을 포함하는, 기준 프라임 결정 모듈;
상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제1 기준 프라임(p 1 )이 인버스 p-어레이(
Figure pat00145
)의 모듈러스(modulus)(
Figure pat00146
)로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
Figure pat00147
)를 획득하도록 구성된 개인키 생성 모듈로서, 상기 제1 기준 인버스 p-어레이(
Figure pat00148
)는
Figure pat00149
로 정의되는 개인키(K private ) 역할을 하는, 개인키 생성 모듈; 및
상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제2 기준 프라임(p 2 )이 인버스 p-어레이(
Figure pat00150
)의 모듈러스(modulus)(
Figure pat00151
)로서 기능하게 함으로써, 제2 기준 인버스 p-어레이(
Figure pat00152
)를 획득하도록 구성되고, 상기 제2 기준 인버스 p-어레이(
Figure pat00153
), 상기 제1 기준 프라임(p 1 ), 상기 제2 기준 프라임(p 2 ) 및 상기 키-생성 랜덤화 어레이(
Figure pat00154
)에 기초하여 키-생성 랜덤화 어레이
Figure pat00155
와 관련하여 공개키(K public )를 생성하도록 구성되는 공개키 생성 모듈로서, 상기 키-생성 랜덤화 어레이(
Figure pat00156
)는 0과 제1 기준 양의 정수(
Figure pat00157
) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(K public )는 개인키(K private )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
Figure pat00158
라고도 표시되는 어레이(
Figure pat00159
)이며,
Figure pat00160
를 나타내는, 공개키 생성 모듈을 포함하며,
Figure pat00161
는 키 생성 랜덤화 어레이(
Figure pat00162
)에 대한 제2 기준 인버스 p-어레이(
Figure pat00163
)의 키 생성 랜덤화 함수이며, 그리고
Figure pat00164
로 정의되며, 여기서
Figure pat00165
는 컨볼루션 곱셈 연산자를 나타내며,
상기 송신단은 상기 공개키(K public ), 상기 제2 기준 프라임(p 2 ) 및 상기 제2 기준 양의 정수(
Figure pat00166
)를 저장하는 제1 저장 유닛, 그리고 상기 제1 저장 유닛에 연결된 제1 프로세서를 포함하며,
상기 수신단은 상기 개인키(K private ), 상기 p-어레이(
Figure pat00167
), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 )을 저장하는 제2 저장 유닛, 그리고 상기 제2 저장 유닛에 연결된 제2 프로세서를 포함하며,
상기 수신단에 전송될 평문에 대응하고 그리고 m 개의 숫자 성분들을 갖는 데이터 어레이(
Figure pat00168
)에 대해, 상기 제1 프로세서는 상기 제1 저장 유닛에 저장된 공개키(K public ) 및 제2 기준 프라임(p 2 ), 그리고 0과 상기 제2 기준 양의 정수(
Figure pat00169
) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
Figure pat00170
)를 사용하여, 상기 데이터 어레이(
Figure pat00171
)에 대한 암호화 절차를 수행하고, 그리고 상기 암호화 랜덤화 어레이(
Figure pat00172
)에 관한 암호문(
Figure pat00173
)을 획득하며, 그리고 상기 송신단은 제1 통신 채널을 통해 상기 수신단에 상기 암호문(
Figure pat00174
)을 송신하며, 상기 암호문(
Figure pat00175
)은 m 개의 암호화된 숫자 성분들을 가지며,
상기 제2 프로세서에 의한 상기 암호문(
Figure pat00176
)의 수신시, 상기 제2 프로세서는 상기 제2 저장 유닛에 저장된 개인키(K private ), p-어레이(
Figure pat00177
), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 사용하여, 암호문(
Figure pat00178
)에 대해 해독 절차를 수행하고, m 개의 해독된 숫자 성분들을 갖고 상기 데이터 어레이(
Figure pat00179
)와 동일한 평문 어레이(
Figure pat00180
)를 획득한다.
본 개시서의 다른 특징들 및 이점들은 첨부 도면을 참조하여 실시예(들)에 대한 다음의 상세한 설명에서 명백해질 것이다.
도 1은 본 발명에 따른 암호화된 통신 시스템의 일 실시예를 나타내는 블록도이다.
도 2는 암호화된 통신 시스템의 키 서버를 도시하는 블록도이다.
도 3 및 도 4는 본 발명에 따른 키 생성 절차의 단계들을 설명하는 흐름도를 협력적으로 형성한다.
도 5는 암호화된 통신 시스템의 송신단을 나타내는 블록도이다.
도 6은 암호화된 통신 시스템의 수신단을 나타내는 블록도이다.
도 7은 본 발명에 따른 암호화 절차의 단계들을 설명하는 흐름도이다.
도 8은 본 발명에 따른 해독 절차의 단계들을 설명하는 흐름도이다.
본 개시서가 보다 상세하게 설명되기 전에, 적절한 것으로 고려되는 경우, 참조부호들 또는 참조부호들의 끝부분(terminal portion)은 옵션으로 유사한 특성을 가질 수 있는 대응하는 또는 유사한 요소들을 나타내기 위해 도면들 사이에서 반복되었다는 점에 유의해야 한다.
도 1을 참조하면, 본 개시서에 따른 암호화된 통신 시스템(100)의 실시예는 키 서버(1)를 포함하고 다수의 사용자단(user end)을 포함하는 것으로 도시되어 있다. 각각의 사용자단은 암호화 절차 및 해독 절차를 사용하는 통신 프로토콜에 기초하여 다른 사용자단과 통신할 수 있다. 각각의 사용자단은 메시지를 송신할 때 송신단으로서 기능하고, 메시지를 수신할 때 수신단으로서 기능할 수 있다. 도 1은 2 개의 사용자단들을 간단히 예시하는데, 그 중 하나는 송신단(2)으로서 기능하고, 다른 하나는 수신단(3)으로서 기능하지만, 본 개시서는 이와 관련하여 제한되지 않는다. 송신단(2)은 저장 유닛(21), 그리고 저장 유닛(21)에 연결된 프로세서(22)를 포함한다. 수신단(3)은 저장 유닛(31), 그리고 저장 유닛(31)에 연결된 프로세서(32)를 포함한다. 이 실시예에서, 키 서버(1)는 송신단(2) 및 수신단(3)과 독립적이다. 그러나, 다른 실시예들에서 키 서버(1)는 송신단(2) 내에 통합될 수 있다.
키 서버(1)는 포스트-퀀텀 비대칭 키 생성 시스템(10)으로 구성된다. 도 2를 참조하면, 포스트-퀀텀 비대칭 키 시스템(10)은 p-벡터(prime vector) 생성 모듈(11), 상기 p-벡터 생성 모듈(11)에 연결된 p-어레이(prime array) 생성 모듈(13), 상기 p-어레이 생성 모듈(13)에 연결된 관련 매트릭스 생성 모듈(14), 상기 관련 매트릭스 생성 모듈(14)에 연결된 인버스 p-어레이 생성 모듈(15), 기준(reference) 프라임 결정 모듈(16), 상기 인버스 p-어레이 생성 모듈(15)과 상기 기준 프라임 결정 모듈(16)에 연결된 개인키 생성 모듈(17), 상기 인버스 p-어레이 생성 모듈(15)과 상기 기준 프라임 결정 모듈(16)에 연결된 공개키 생성 모듈(18), 그리고 상기 p-어레이 생성 모듈(13), 상기 기준 프라임 결정 모듈(16), 상기 개인키 생성 모듈(17) 및 상기 공개키 생성 모듈(18)에 연결된 저장 모듈(19)을 포함한다. 상기 p-벡터 생성 모듈(11), 상기 p-어레이 생성 모듈(13), 상기 관련 매트릭스 생성 모듈(14), 상기 인버스 p-어레이 생성 모듈(15), 상기 기준 프라임 결정 모듈(16), 상기 개인키 생성 모듈(17) 및 상기 공개키 생성 모듈(18)은 프로세서(미도시) 내에 통합될 수 있지만, 본 발명은 이와 관련하여 한정되지 않는다는 것에 유의한다.
암호화된 통신 시스템(100)을 사용하기 전에, 키 서버(1)는 암호화 및 복호화를 위해 비대칭 키들(예를 들어, 개인키, 그리고 상기 개인키와 쌍을 이루는 적어도 하나의 공개키)을 생성한다. 도 3 및 도 4는 도 2에 예시된 포스트-퀀텀 비대칭 키 생성 시스템(10)이 비대칭 키 생성 절차를 수행하는 방법을 협력적으로 예시한다.
단계 S31에서, p-벡터 생성 모듈(11)은, 프라임 p 그리고 시드 역할을 하는 산술 함수 및 클래식 스트링(classical string)(예를 들어, 정수들의 시퀀스, 또는 ASCII 코드와 같은 정수로 매핑될 수 있는 문자들) 중 하나(즉, 산술 함수 또는 클래식 스트링 중 하나가 시드로서 역할함)에 기초하여, 프라임 p와 관련되고 무한한 개수의 성분을 갖는 p-벡터
Figure pat00181
를 생성한다. 이 실시예에서, p-벡터
Figure pat00182
는 다음과 같이 정의된다 :
Figure pat00183
여기서, f는 시드 역할을 하는 산술 함수 또는 클래식 스트링이다(후자의 경우, f( p n )는 클래식 스트링에서 n번째 문자를 나타낸다).
일례에서, 시드는 다음의 산술 함수 f( p n )로서 예시된다 :
n = 0인 경우,
Figure pat00184
; 그리고
n > 0인 경우,
Figure pat00185
-----(1)
단계 S32에서, p-어레이 생성 모듈(13)은, p-벡터
Figure pat00186
에 기초하여, m 개의 성분을 가지며 프라임 p와 관련되고 다음과 같이 정의되는 p-어레이
Figure pat00187
를 생성한다 :
Figure pat00188
여기서, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트 I를 구성한다(이하, I=(p, s, t) 라고도 지칭됨). p-어레이
Figure pat00189
의 표현은 이후에
Figure pat00190
로 간략화될 수 있다. 예를 들어, I=(3, 0, 1) 그리고 m = 5일 때, p-벡터
Figure pat00191
3 및 p-어레이
Figure pat00192
(또는 간단히
Figure pat00193
)는 각각 다음의 방정식 (2) 및 방정식 (3)과 같이 구할 수 있다.
Figure pat00194
3 = [1, -7, 3, -2, 0, -5, 0, -8, 0, -7, …] --- (2)
Figure pat00195
  --- (3)
다른 예로서, 비밀 함수 f와 비밀 인스턴스 I에 의해
Figure pat00196
가 주어지게 한다 :
Figure pat00197
 --- (4)
상기 2 개의 예들은 시드 및 제1 파라미터 세트 I에 기초하여 p-어레이가 생성되는 방법을 예시적으로 보여준다. 제1 파라미터 세트 I를 저장함으로써, 대응하는 p-어레이는 언제든지 시드에 기초하여 획득될 수 있다.
단계 S33에서, p-어레이 생성 모듈(13)은 p-어레이
Figure pat00198
의 m 개의 성분들 각각이 0이 아닌지 여부를 판단한다. 판단이 긍정적일 때(즉, p-어레이
Figure pat00199
의 m 개의 성분들 모두가 0이 아닐 때), p-어레이 생성 모듈(13)은 p-어레이
Figure pat00200
를 관련 매트릭스 생성 모듈(14)에 출력하고, p-어레이
Figure pat00201
를 저장 모듈(19)에 저장한다(단계 S34). 예를 들어, 방정식 (3) 및 방정식 (4) 각각에 도시된 바와 같이 p-어레이
Figure pat00202
의 5 개의 성분들 모두가 0이 아니다. p-어레이 생성 모듈(13)이 p-어레이
Figure pat00203
의 m 개의 성분들 중 임의의 하나가 0이라고 판단할 때, 흐름도는 단계 S32로 되돌아가서, 사용자가 상이한 제1 파라미터 세트 I(즉, 새로운 제1 파라미터 세트 I에서의 프라임 p 및 파라미터들 s, t 중 적어도 하나는 원래의 제1 파라미터 세트 I에서의 것과 다르다)를 단계 S32에 적용할 수 있게 한다. 단계 S32는 단계 S33에서의 판단이 긍정적일 때까지 상이한 제1 파라미터 세트들 I로 반복될 수 있다.
단계 S35에서, 관련 매트릭스 생성 모듈(14)은 p-어레이 생성 모듈(13)로부터 수신된 p-어레이
Figure pat00204
에 기초하여 관련 매트릭스
Figure pat00205
를 생성하며, 그리고 상기 관련 매트릭스
Figure pat00206
를 인버스 p-어레이 생성 모듈(15)에 출력한다. 관련 매트릭스
Figure pat00207
는 다음과 같이 정의된다 :
Figure pat00208
여기서,
Figure pat00209
(j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타낸다(여기서, 0 ≤ j ≤ (m-1)). 방정식 (4)에서의 p-어레이
Figure pat00210
에 이어, 관련 매트릭스 생성 모듈(14)에 의해 생성되는 관련 매트릭스는 방정식 (5)에 도시된 바와 같을 것이다 :
Figure pat00211
 --- (5)
단계 S36에서, 관련 매트릭스
Figure pat00212
와 사용자-정의된 양의 정수인 모듈러스
Figure pat00213
에 기초하여, 인버스 p-어레이 생성 모듈(15)은 모듈러스
Figure pat00214
에 대하여 인버스 p-어레이
Figure pat00215
를 생성한다. 인버스 p-어레이 생성 모듈(15)은 개인키 생성 모듈(17) 및 공개키 생성 모듈(18)에 상기 인버스 p-어레이
Figure pat00216
를 출력한다. 인버스 p-어레이
Figure pat00217
는 다음과 같이 정의된다 :
Figure pat00218
여기서,
Figure pat00219
는 모듈러스
Figure pat00220
에 대한 관련 매트릭스
Figure pat00221
의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
Figure pat00222
로 정의되고, 그리고
Figure pat00223
는 관련 매트릭스
Figure pat00224
의 수반 행렬(adjoint matrix)을 나타낸다.
단계 S37에서, 기준 프라임 결정 모듈(16)은 제1 기준 프라임(p 1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p 1 ), b로 표시되는 p-어레이
Figure pat00225
의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
Figure pat00226
) 그리고 파라미터(m), 제2 기준 양의 정수(
Figure pat00227
) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p 2 )을 결정한다. 상기 미리 결정된 기준은
Figure pat00228
을 포함한다. 상기 기준 프라임 결정 모듈(16)은 개인키 생성 모듈(17)에 제1 기준 프라임(p 1 )을 출력하며, 공개키 생성 모듈(18)에 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 출력하며, 그리고 저장 모듈(19)에 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 저장한다. 방정식 (4)의 예에 따르면,
Figure pat00229
이 획득된다. 또한,  S = (m,
Figure pat00230
, r) = (5, 120, 120) 및
Figure pat00231
= 120의 예시적인 조건 하에서, 기준 프라임 결정 모듈(16)이 p 1 = 251을 선택할 때, 미리 결정된 기준은 :
Figure pat00232
을 포함할 것이며, 예를 들어, p 2 = 18072001인 것으로 결정될 수 있지만, 본 개시서는 미리 결정된 기준이 만족되는 한 이와 관련하여 제한되지 않는다.
단계 S36 및 S37에 후속하는 단계 S38에서, 개인키 생성 모듈(17)은 제1 기준 인버스 p-어레이
Figure pat00233
를 획득하기 위해 제1 기준 프라임(p 1 )이 인버스 p-어레이(
Figure pat00234
)의 모듈러스(modulus)(
Figure pat00235
)로서 기능하게 한다. 제1 기준 인버스 p-어레이(
Figure pat00236
)는
Figure pat00237
로 정의되는 개인키(K private ) 역할을 한다(즉, K private =
Figure pat00238
). 개인키 생성 모듈(17)은 저장 모듈(19)에 제1 기준 인버스 p-어레이(
Figure pat00239
)를 저장한다. p 1 = 251 인 방정식(5)의 이전 예에 따르면,
Figure pat00240
이기 때문에, L251 =(68)-1(mod 251)=48이 획득될 수 있으며, 그리고 개인키(K private )는 다음과 같이 획득될 것이다 :
K private =
Figure pat00241
=
Figure pat00242
=
Figure pat00243
L251
Figure pat00244
Figure pat00245
Figure pat00246
Figure pat00247
= [164, 128, 92, 223, 74]
                                                    ----(6)
단계 S36 및 S37에 후속하는 단계 S39에서, 공개키 생성 모듈(18)은 제2 기준 인버스 p-어레이
Figure pat00248
를 획득하기 위해 제2 기준 프라임(p 2 )이 인버스 p-어레이(
Figure pat00249
)의 모듈러스(modulus)(
Figure pat00250
)로서 기능하게 하며, 그리고 저장 모듈(19)에 제2 기준 인버스 p-어레이(
Figure pat00251
)를 저장한다. m = 5, p = 3, p 2 = 18072001 및
Figure pat00252
= 120의 이전 예에 따라,
Figure pat00253
Figure pat00254
이기 때문에, 다음이 획득된다 :
Figure pat00255
=
Figure pat00256
Figure pat00257
Figure pat00258
=
Figure pat00259
L18072001[1, 0, ..., 0]
Figure pat00260
Figure pat00261
=
Figure pat00262
--- (7)
단계 S40에서, 공개키 생성 모듈(18)은 제2 기준 인버스 p-어레이(
Figure pat00263
), 제1 기준 프라임(p 1 ), 제2 기준 프라임(p 2 ) 및 키-생성 랜덤화 어레이(
Figure pat00264
)에 기초하여 키-생성 랜덤화 어레이
Figure pat00265
와 관련하여 공개키(K public )를 생성한다. 키-생성 랜덤화 어레이(
Figure pat00266
)는 0과 제1 기준 양의 정수(
Figure pat00267
) 사이의(0과
Figure pat00268
포함) m 개의 숫자 성분을 갖는다(예를 들어, 0과
Figure pat00269
사이의 m개의 임의의 정수). 공개키(K public )는 개인키(K private )와 쌍을 이룬다. 이 실시예에서, 공개키(K public )는 m 개의 숫자 성분들을 포함하고
Figure pat00270
라고도 표시되는 어레이(
Figure pat00271
)이며,
Figure pat00272
를 나타낸다.
Figure pat00273
는 키 생성 랜덤화 어레이(
Figure pat00274
)에 대한 제2 기준 인버스 p-어레이(
Figure pat00275
)의 키 생성 랜덤화 함수이며, 그리고
Figure pat00276
로 정의되며, 여기서
Figure pat00277
는 컨볼루션 곱셈 연산자를 나타낸다. 방정식 (7)에서 m=5, p=3, p 1 =251, p 2 =18072001,
Figure pat00278
=120 및
Figure pat00279
인 이전 예에 따르면,
Figure pat00280
라고 가정되는 예시적인 키-생성 랜덤화 어레이가 사용되는 경우, 공개키(K public )는 다음과 같이 방정식(6)의 개인키(K private )를 사용하여 획득된다 :
 
Figure pat00281
 --- (8)
그러나, 방정식(6)에서 개인키(K private )를 사용하여 획득되는 공개키(K public )는 이에 한정되지는 않는다.
Figure pat00282
라고 가정되는 다른 예시적인 키 생성 랜덤화 어레이가 공개키 생성 모듈(18)에 의해 사용된다면, 다른 공개키(K * public)는 다음과 같이 방정식(6)의 개인키(K private )를 사용하여 획득된다 :
Figure pat00283
 --(9)
즉, 공개키 생성 모듈(18)은 상이한 키-생성 랜덤화 어레이를 사용함으로써 동일한 개인키(K private )와 쌍을 이루는 상이한 공개키들을 생성할 수 있으며, 공개키를 리프레시할 때 키 서버(1)를 선호(favoring)한다.
비대칭 키 생성 절차가 완료되면, 키 서버(1)는 키 서버(1)와 송신단(2) 사이의 통신 채널(도 1의 C2)을 통해 송신단(2)에 공개키(K public )(공개키(K public )가 생성된 경우), 제2 기준 프라임(p 2 ) 및 제2 기준 양의 정수(
Figure pat00284
)를 송신하며, 그리고 키 서버(1)와 수신단(3) 사이의 통신 채널(도 1의 C3)을 통해 수신단(3)에 개인키(K private ), p-어레이(
Figure pat00285
), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 송신한다.
도 5를 참조하면, 송신단(2)의 프로세서(22)는 키 서버(1)로부터 수신된 공개키(K public ), 제2 기준 프라임(p 2 ) 및 제2 기준 양의 정수(
Figure pat00286
)를 저장 유닛(21)에 저장한다. 이 실시예에서, 프로세서(22)는 텍스트 변환 모듈(221), 암호화 랜덤화 함수 생성 모듈(encryption randomization function generation module)(222), 그리고 상기 텍스트 변환 모듈(221) 및 상기 암호화 랜덤화 함수 생성 모듈(222)에 연결된 암호문 생성 모듈(223)을 갖도록 구성된다.
또한, 도 7을 참조하면, 송신단(2)에 의해 수행되는 암호화 절차가 도시되어 있다. 단계 S71에서, 텍스트 변환 모듈(221)은 ASCII 코드와 같은 미리 결정된 문자-숫자 기술을 사용하여, 암호화될 m 개의 문자들을 갖는 평문을 m 개의 숫자 성분을 갖는 데이터 어레이(
Figure pat00287
)로 변환한다. 구체적으로, 데이터 어레이(
Figure pat00288
)의 m 개의 숫자 성분들 각각은 0과 제1 기준 양의 정수(
Figure pat00289
) 사이이며, 그리고 평문의 m 개의 문자들 중 대응하는 하나를 나타낸다. 예를 들어, 평문 “Hello”(즉, m = 5)의 경우, ASCII 코드에 기초하여 획득되는 데이터 어레이(
Figure pat00290
)는 :
Figure pat00291
 ---- (1)
일 것이지만, 본 개시서는 임의의 특정 문자-숫자 기술로 제한되지 않는다.
단계 S72에서, 암호화 랜덤화 함수 생성 모듈(222)은 공개키(K public ) 및 암호화 랜덤화 어레이(
Figure pat00292
)에 기초하여 암호화 랜덤화 함수(
Figure pat00293
)를 생성한다.  암호화 랜덤화 어레이(
Figure pat00294
)는 0과 제2 기준 양의 정수(
Figure pat00295
) 사이의 m 개의 숫자 성분들을 갖는다. 암호화 랜덤화 함수(
Figure pat00296
)는
Figure pat00297
로서 정의된다. 제2 파라미터 세트 S=(m,
Figure pat00298
, r)=(5, 120, 120)이고 공개키 K public =
Figure pat00299
=
Figure pat00300
인 이전 예에 따라, 암호화 랜덤화 어레이가
Figure pat00301
로 예시되는 경우, 결과물인 암호화 랜덤화 함수(
Figure pat00302
)는 다음과 같을 것이다 :
Figure pat00303
---------- (11)
암호화 랜덤화 어레이가
Figure pat00304
로 예시되는 다른 경우, 결과물인 암호화 랜덤화 함수
Figure pat00305
는 다음과 같을 것이다 :
Figure pat00306
                --- (12)
즉, 암호화 랜덤화 함수 생성 모듈(222)은 상이한 암호화 랜덤화 어레이들을 사용하여 상이한 암호화 랜덤화 함수들을 생성할 수 있다.
단계 S71 및 S72에 후속하는 단계 S73에서, 암호문 생성 모듈(223)은 (텍스트 변환 모듈(221)로부터 수신된) 데이터 어레이(
Figure pat00307
)와 (암호화 랜덤화 함수 생성 모듈(222)로부터 수신된) 암호화 랜덤화 함수(
Figure pat00308
)의 합에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산을 수행함으로써 암호화 랜덤화 함수와 관련하여 암호문(
Figure pat00309
)을 획득한다. 암호문(
Figure pat00310
)은 m 개의 암호화된 숫자 성분들을 가지며, 그리고
Figure pat00311
로 표현된다. 데이터 어레이(
Figure pat00312
) 및 암호화 랜덤화 함수(
Figure pat00313
)가 방정식 (10) 및 방정식 (11)으로 표시되는 예에서, 결과물인 암호문(
Figure pat00314
)은 다음과 같을 것이다 :
Figure pat00315
Figure pat00316
                ---- (13)
데이터 어레이(
Figure pat00317
) 및 암호화 랜덤화 함수(
Figure pat00318
)가 방정식 (10) 및 방정식 (12)에 도시된 예에서, 결과적인 암호문(
Figure pat00319
)은 다음과 같을 것이다 :
Figure pat00320
Figure pat00321
  ---- (14)
암호화 절차 완료 후에, 송신단(2)은 송신단(2)과 수신단(3) 사이의 통신 채널(도 1의 C1)을 통해 수신단(3)에 암호문(
Figure pat00322
)을 송신한다. 통신 채널(C1)은 본 개시서에 따라 암호화 통신 시스템(100)에 의해 암호화되지 않은 채널일 수 있다.
도 1 및 도 6을 참조하면, 송신단(3)의 프로세서(32)는 키 서버(1)로부터 수신되는 개인키(K private ), p-어레이(
Figure pat00323
), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 저장 유닛(31)에 저장한다. 이 실시예에서, 프로세서(32)는 제1 컨볼루션 모듈(321), 그리고 상기 제1 컨볼루션 모듈(321)에 연결된 제2 컨볼루션 모듈(322)을 갖도록 구성된다.
도 8을 더 참조하면, 수신단(3)에 의해 수신되는 암호문(
Figure pat00324
)에 수행될 해독 절차가 도시된다. 단계 S81에서, 제1 컨볼루션 모듈(321)은 암호문(
Figure pat00325
)과 p-어레이(
Figure pat00326
)의 제1 컨볼루션 결과(즉,
Figure pat00327
)를 계산하며, 상기 제1 컨볼루션 결과에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산을 수행하여 제1 모듈로 연산 결과(즉,
Figure pat00328
)를 획득하며, 그리고 상기 제1 모듈로 연산 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 제2 모듈로 연산 결과(
Figure pat00329
)를 획득한다. 제2 모듈로 연산 결과(
Figure pat00330
)는
Figure pat00331
로 정의된다. p 1 = 251, p 2 = 18072001, p-어레이는 방정식 (4)의
Figure pat00332
이며, 암호문은 방정식 (13)의
Figure pat00333
인 이전 예에 따라, 결과물인 제1 모듈로 연산 결과 및 제2 모듈로 연산 결과는 다음과 같을 것이다 :
Figure pat00334
Figure pat00335
               --- (15)
p 1 = 251, p 2 = 18072001, p-어레이는 방정식 (4)의
Figure pat00336
이며, 암호문은 방정식 (14)의
Figure pat00337
인 다른 예에 따라, 결과물인 제1 모듈로 연산 결과 및 제2 모듈로 연산 결과는 다음과 같을 것이다 :
Figure pat00338
Figure pat00339
Figure pat00340
                        --- (16)
방정식 (15) 및 방정식 (16)으로부터, 제1 컨볼루션 모듈(321)은 상이한 암호문들
Figure pat00341
Figure pat00342
을 사용함으로써 동일한 제2 모듈로 연산 결과(
Figure pat00343
Figure pat00344
)를 획득한다는 것에 유의한다.
단계 S82에서, 제2 컨볼루션 모듈(322)은 제2 모듈로 연산 결과(
Figure pat00345
) 그리고 개인키(K private ) 역할을 하는 제1 기준 인버스 p-어레이(
Figure pat00346
)의 제2 컨볼루션 결과를 계산하며, 상기 제2 컨볼루션 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 평문 어레이(
Figure pat00347
)를 획득한다. 이 때, 평문 어레이(
Figure pat00348
)는 m 개의 해독된 숫자 성분들을 가지며, 그리고
Figure pat00349
로 정의된다. p 1 = 251인 이전 예에 따르면, 개인키(K private )는 방정식 (6)의
Figure pat00350
이며, 그리고 제2 모듈로 연산 결과는 방정식 (15)의
Figure pat00351
이며, 획득된 평문 어레이(
Figure pat00352
)는 다음과 같을 것이다 :
Figure pat00353
획득된 평문 어레이(
Figure pat00354
)가 방정식 (10)의 데이터 어레이(
Figure pat00355
)와 동일한 것을 볼 수 있다. 따라서, 수신단(3)은 평문 어레이(
Figure pat00356
)의 해독된 숫자 성분들 모두를 문자들로 변환함으로써 평문 “Hello”를 성공적으로 획득할 수 있다.
다시 도 1 및 도 2를 참조하면, 암호 통신 시스템(100)이 키 리프레시를 수행할 필요가 있을 때, 키 서버(1)의 공개키 생성 모듈(18)은 원래의 공개키(K public )를 생성하는데 사용되는 키-생성 랜덤화 어레이(
Figure pat00357
)와 상이한 키-생성 랜덤화 어레이(
Figure pat00358
)(예를 들어,
Figure pat00359
)와 관련하여, 제2 기준 인버스 p-어레이(
Figure pat00360
), 제1 기준 프라임(p 1 ), 제2 기준 프라임(p 2 ) 및 키-생성 랜덤화 어레이(
Figure pat00361
)에 기초하여, 개인키(K private )와 쌍을 이루는 업데이트된 공개키(K * public)(예를 들어, 방정식 (9)의
Figure pat00362
)를 생성하기 위해 단계 S40(도 4 참조)을 수행하는데 사용될 수 있다. 이와 유사하게, 업데이트된 공개키(K * public)는
Figure pat00363
Figure pat00364
로 표기되는
Figure pat00365
로 표현될 수 있다. 그 다음, 키 서버(1)는 통신 채널(C2)을 통해 송신단(2)에 업데이트된 공개키(K * public)를 송신하며, 그리고 송신단(2)의 프로세서(22)는 저장부(21)에서 공개키(K public)를 업데이트된 공개키(K * public)로 업데이트한다.
저장 유닛(21)의 공개키를 업데이트한 후, 송신단(2)의 프로세서(22)는 업데이트된 공개키(K * public), 제2 기준 프라임(p 2 ) 및 암호화 랜덤화 어레이(
Figure pat00366
)를 사용하여, 데이터 어레이(
Figure pat00367
)에 대해 암호화 절차를 수행할 수 있으며, 그리고 업데이트된 공개키(K * public) 및 암호화 랜덤화 어레이(
Figure pat00368
)와 관련하여 다른 암호문(
Figure pat00369
)을 획득할 수 있다. 암호문(
Figure pat00370
)은 m 개의 암호화된 숫자 성분들을 가지며, 그리고 송신단(2)의 프로세서(22)에 의해 통신 채널(C1)을 통해 수신단(3)에 전송된다. m = 5,
Figure pat00371
= 120인 이전 예에서, 데이터 어레이는 방정식(10)의
Figure pat00372
이며, 그리고 공개키는 방정식 (9)의 K * public이며,
Figure pat00373
일 때, 결과물인 암호문(
Figure pat00374
)은 다음과 같을 것이다 :
Figure pat00375
                --- (17)
Figure pat00376
인 다른 경우, 결과물인 암호문(
Figure pat00377
)은 다음과 같을 것이다 :
Figure pat00378
              --- (18)
수신단(3)의 프로세서(32)가 송신단(2)으로부터 암호문(
Figure pat00379
)을 수신할 때, 프로세서(32)는 개인키(K private ), p-어레이(
Figure pat00380
), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 사용하여 암호문(
Figure pat00381
)에 대해 해독 절차를 수행하며, 이로써 평문 어레이(
Figure pat00382
)를 획득한다. p 1 = 251, p 2 = 18072001인 이전 예에 따르면, p-어레이는 방정식(4)의
Figure pat00383
이며, 그리고 암호문은 방정식 (17)의
Figure pat00384
이며, 결과물인 제1 모듈로 연산 결과 및 제2 모듈로 연산 결과(
Figure pat00385
)는 각각 다음과 같을 것이다 :
Figure pat00386
Figure pat00387
p 1 = 251, p 2 = 18072001, p-어레이가 방정식 (4)의
Figure pat00388
이며, 암호문이 방정식 (18)의
Figure pat00389
인 다른 예에서, 결과물인 제1 모듈로 연산 결과 및 제2 모듈로 연산 결과는 각각 다음과 같을 것이다 :
Figure pat00390
Figure pat00391
수신단(3)이 업데이트된 공개키(K * public)를 사용하여 암호화된 상이한 암호문들(예를 들어,
Figure pat00392
Figure pat00393
)을 수신하더라도, 개인키(K private )를 사용하여 동일한 제2 모듈로 연산 결과(
Figure pat00394
Figure pat00395
)가 획득될 수 있으며, 이에 따라 동일한 평문이 획득될 수 있다는 것이 유의되어야 한다.
따라서, 상기 상세한 설명으로부터 다음과 같이 알려져 있다 :
1. 포스트-퀀텀 비대칭 키 생성 시스템(10)은 제1 파라미터 세트(I), 제2 파라미터 세트(S), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )의 상이한 조합과 협력하여 단일 산술 함수 및 클래식 스트링(classical string)만을 사용함으로써 다수의 개인키들을 생성하기 위해 비대칭 키 생성 절차를 수행할 수 있다;
2. 특정 개인키에 대해, 포스트-퀀텀 비대칭 키 생성 시스템(10)은 빠르고 개인키를 재계산할 필요가 없는 소프트 키 리셋 알고리즘을 사용하여 개인키와 각각 쌍을 이루는 다수의 공개키들을 생성할 수 있으며, 이에 따라 키 서버(1)는 키 리프레시를 더 쉽게 수행할 수 있다;
3. p-어레이를 생성하는 독특한(unique) 방법이 존재하지 않는다. 패딩을 0으로 만들거나 p-어레이의 형성에 임의성을 추가하여 p-벡터에 임의성을 추가할 수 있다;
4. 무작위 대입 공격(brute force attack)의 어려움을 높이기 위해 더 큰 파라미터 m을 선택하여 키 공간이 증가될 수 있다. 이 실시예에서, m = 5 그리고 p 1 = 251의 선택은 설명의 편의를 위한 것일 뿐이다. m = 16이거나 심지어 m = 64인 경우, 가능한 키 공간이 너무 커져, 무차별 대입 공격이 성공하는데 시간이 오래 걸릴 것이다. 메시지 공간과 키 공간의 크기는 수많은 가능성을 포함할 것이며, 이는 무차별 대입 공격이 작동하지 않게 할 것이다.
표 1은 옥타-코어 프로세서 및 32GB RAM(random access memory)의 하드웨어 사양 하에서 암호화 통신 시스템(100)을 사용하여 상이한 길이의 메시지들에 대한 암호화 및 복호화에 필요한 시간의 실험 결과를 나열한다.
메시지 길이
(bytes)
암호화 시간
(ms)
해독 시간
(ms)
4 0.000193 0.001184
8 0.000225 0.001224
16 0.000279 0.000759
32 0.000399 0.001048
64 0.000687 0.001526
128 0.000886 0.002171
196 0.000997 0.002934
표 1의 데이터에 기초하여, 본 개시서의 암호화 통신 시스템(100)의 사용은 메시지 길이에 상관 없이 종래의 AES 및 RSA 프로토콜에 비해 암호화 및 복호화에 필요한 시간을 수백배만큼 감소시킬 수 있다는 것이 알려져 있다. 분명히, 본 개시서의 암호화 통신 시스템(100)은 암호화 및 해독화의 속도를 상당히 증가시킬 수 있다.
본 개시서의 실시예에서, 공개키 및 개인키는 산술 함수 또는 클래식 스트링, p-벡터, 그리고 본질적으로 벡터인 p-어레이에 기초하여 생성되어, 비교적 많은 양의 데이터에 대한 암호화 및 해독을 가능하게하며, 이로써, 암호화 및 해독화 속도가 향상되고 데이터 보안이 보장된다. 제안된 암호화 통신 시스템은 포스트-퀀텀 보안, 즉 포스트-퀀텀 컴퓨터들의 공격에 효과적으로 저항할 수 있는 보안을 보장할 수 있다. p-벡터 및 p-어레이의 특성으로 인해, 실시예의 구현을 위한 하드웨어 요건들은 저장 용량 및/또는 계산 능력면에서 상대적으로 낮다. 본 실시예는 개인키의 사용에 영향을 미치지 않으면서 공개키의 리프레시를 허용하여, 동일한 네트워크 내의 모든 사용자들에 대해 분산된 키 리프레시를 가능하게 한다. 또한, 개인키를 생성하는데 사용되는 산술 함수(f)가 무한한 양의 데이터를 생성할 수 있는 함수이기 때문에, 하나의 단일 함수만으로도 다수의 상이한 공개키들이 생성될 수 있다.
상기 설명에서, 설명의 목적으로, 실시예(들)의 철저한 이해를 제공하기 위해 다수의 특정 세부사항들이 설명되었다. 그러나, 하나 이상의 다른 실시예들이 이들 특정 세부사항들 중 일부 없이 실시될 수 있다는 것이 당업자에게 명백할 것이다. 또한, 본 명세서 전체에서 “일 실시예”, “실시예”, 서수를 나타내는 실시예 등을 언급한다는 것은 특정 특징, 구조, 또는 특성이 본 개시서의 실시에 포함될 수 있음을 의미한다는 것을 이해해야 한다. 상세한 설명에서, 본 개시서를 간소화하고 다양한 발명의 측면들의 이해를 돕기 위해 다양한 특징들은 하나의 실시예, 도면, 또는 그것의 설명에서 때때로 함께 그룹화된다는 것, 그리고 본 개시서의 실시에서 적절한 경우 하나의 실시예로부터의 하나 이상의 특징들 또는 특정 세부사항들은 다른 실시예의 하나 이상의 특징들 또는 특정 세부사항들과 함께 실시될 수 있다는 것 또한 이해되어야 한다.
본 개시서는 예시적인 실시예(들)로 간주되는 것과 관련하여 설명되었지만, 본 개시서는 개시된 실시예(들)로 제한되지 않으며, 모든 그러한 수정들 및 등가의 구성들을 포함하도록 가장 넓은 해석의 사상 및 범위 내에 포함되는 다양한 구성들을 포함하도록 의도된다는 것이 이해되어야 한다.

Claims (16)

  1. 처리 유닛에 의해 구현되는 포스트-퀀텀 비대칭 키 생성 방법으로서,
    A) 프라임 p 그리고 시드 역할을 하는 클래식 스트링(classical string) 및 산술 함수 중 하나에 기초하여, 프라임 p와 관련되고 무한한 개수의 성분들을 갖는 p-벡터(
    Figure pat00396
    )를 생성하는 단계로서, 상기 p-벡터(
    Figure pat00397
    )는
    Figure pat00398
    로 정의되는데, f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, 단계;
    B) p-벡터(
    Figure pat00399
    )에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
    Figure pat00400
    )를 생성하는 단계로서, 상기 p-어레이(
    Figure pat00401
    )는
    Figure pat00402
    로 정의되며, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트(I)를 구성하며, 상기 p-어레이(
    Figure pat00403
    )는
    Figure pat00404
    로도 표현되는, 단계;
    C) 상기 p-어레이(
    Figure pat00405
    )에 기초하여, 관련 매트릭스(
    Figure pat00406
    )를 생성하는 단계로서, 상기 관련 매트릭스(
    Figure pat00407
    )는 :
    Figure pat00408
    로 정의되는데,
    Figure pat00409
    (j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내고, 0 ≤ j ≤ (m-1)인, 단계;
    D) 관련 매트릭스
    Figure pat00410
    와 사용자-정의된 양의 정수인 모듈러스
    Figure pat00411
    에 기초하여, 상기 모듈러스
    Figure pat00412
    에 대하여 인버스 p-어레이(
    Figure pat00413
    )를 생성하는 단계로서, 상기 인버스 p-어레이(
    Figure pat00414
    )는
    Figure pat00415
    로 정의되는데,
    Figure pat00416
    는 상기 모듈러스
    Figure pat00417
    에 대한 관련 매트릭스
    Figure pat00418
    의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
    Figure pat00419
    로 정의되고, 그리고
    Figure pat00420
    는 상기 관련 매트릭스
    Figure pat00421
    의 수반 행렬(adjoint matrix)을 나타내는, 단계;
    E) 제1 기준 프라임(p 1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p 1 ), b로 표시되는 p-어레이
    Figure pat00422
    의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
    Figure pat00423
    ) 그리고 파라미터(m), 제2 기준 양의 정수(
    Figure pat00424
    ) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p 2 )을 결정하는 단계로서, 상기 미리 결정된 기준은
    Figure pat00425
    을 포함하는, 단계;
    F) 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 ) 각각이 인버스 p-어레이(
    Figure pat00426
    )의 모듈러스(modulus)(
    Figure pat00427
    )로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
    Figure pat00428
    ) 및 제2 기준 인버스 p-어레이(
    Figure pat00429
    )를 획득하는 단계로서, 상기 제1 기준 인버스 p-어레이(
    Figure pat00430
    )는
    Figure pat00431
    로 정의되는 개인키(K private ) 역할을 하는, 단계; 및
    G) 상기 제2 기준 인버스 p-어레이(
    Figure pat00432
    ), 상기 제1 기준 프라임(p 1 ), 상기 제2 기준 프라임(p 2 ) 및 상기 키-생성 랜덤화 어레이(
    Figure pat00433
    )에 기초하여 키-생성 랜덤화 어레이
    Figure pat00434
    와 관련하여 공개키(K public )를 생성하는 단계로서, 키-생성 랜덤화 어레이(
    Figure pat00435
    )는 0과 제1 기준 양의 정수(
    Figure pat00436
    ) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(K public )는 개인키(K private )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
    Figure pat00437
    를 나타내는
    Figure pat00438
    라고도 표시되는 어레이(
    Figure pat00439
    )이며,
    Figure pat00440
    는 키 생성 랜덤화 어레이(
    Figure pat00441
    )에 대한 제2 기준 인버스 p-어레이(
    Figure pat00442
    )의 키 생성 랜덤화 함수이며, 그리고
    Figure pat00443
    로 정의되며, 여기서
    Figure pat00444
    는 컨볼루션 곱셈 연산자를 나타내는, 단계를 포함하는, 포스트-퀀텀 비대칭 키 생성 방법.
  2. 프로세서에 의해 구현되는 암호화 방법으로서,
    청구항 1에 따른 포스트-퀀텀 비대칭 키 생성 방법에 따라 생성되는 공개키(K public ), 상기 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 프라임(p 2 ), 그리고 0과 상기 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 양의 정수(
    Figure pat00445
    ) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
    Figure pat00446
    )를 사용하여, 전송될 평문에 대응하고 m 개의 숫자 성분들을 갖는 데이터 어레이(
    Figure pat00447
    )에 대한 암호화 절차를 수행하고, 그리고 상기 암호화 랜덤화 어레이(
    Figure pat00448
    )에 관한 암호문(
    Figure pat00449
    )을 획득하는 단계로서, 상기 암호문(
    Figure pat00450
    )은 m 개의 암호화된 숫자 성분들을 갖는, 단계를 포함하는, 암호화 방법.
  3. 청구항 2에 있어서,
    상기 평문은 m 개의 문자들을 가지며,
    상기 데이터 어레이(
    Figure pat00451
    )의 m 개의 숫자 성분들 각각은 0과 상기 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제1 기준 양의 정수(
    Figure pat00452
    ) 사이이며, 그리고 상기 평문의 m 개의 문자들 중 대응하는 문자를 나타내는, 암호화 방법.
  4. 청구항 2에 있어서,
    상기 암호화 절차는 :
            공개키(K public ) 및 암호화 랜덤화 어레이(
    Figure pat00453
    )에 기초하여,
    Figure pat00454
    로 정의되는 암호화 랜덤화 함수(
    Figure pat00455
    )를 생성하는 단계; 및
            상기 데이터 어레이(
    Figure pat00456
    )와 상기 암호화 랜덤화 함수(
    Figure pat00457
    )의 합에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산(modulo operation)을 수행함으로써 암호문(
    Figure pat00458
    )을 획득하는 단계로서, 상기 암호문(
    Figure pat00459
    )은
    Figure pat00460
    로 표현되는, 단계를 포함하는, 암호화 방법.
  5. 프로세서에 의해 구현되는 해독 방법으로서,
    청구항 1에 따른 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 p-어레이(
    Figure pat00461
    ), 개인키(K private ), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 사용하여, 암호문(
    Figure pat00462
    )에 대해 해독 절차를 수행하고, m 개의 해독된 숫자 성분들을 갖는 평문 어레이(
    Figure pat00463
    )를 획득하는 단계를 포함하며,
    상기 암호문(
    Figure pat00464
    )은 :
            상기 포스트-퀀텀 비대칭 키 생성 방법에 따라 생성되는 공개키, 상기 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 프라임(p 2 ), 그리고 0과 상기 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 양의 정수(
    Figure pat00465
    ) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
    Figure pat00466
    )를 사용하여, 전송될 평문에 대응하고 m 개의 숫자 성분들을 갖는 데이터 어레이(
    Figure pat00467
    )에 대한 암호화 절차를 수행하고, 그리고 상기 암호화 랜덤화 어레이(
    Figure pat00468
    )와 관련되고 m 개의 암호화된 숫자 성분들을 갖는 암호문(
    Figure pat00469
    )을 획득함으로써 생성되는, 해독 방법.
  6. 청구항 5에 있어서,
    상기 해독 절차는 :
            상기 암호문(
    Figure pat00470
    )과 상기 p-어레이(
    Figure pat00471
    )의 제1 컨볼루션 결과에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산을 수행하여 제1 모듈로 연산 결과를 획득하며, 그리고 상기 제1 모듈로 연산 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 제2 모듈로 연산 결과(
    Figure pat00472
    )를 획득하는 단계로서, 상기 제2 모듈로 연산 결과(
    Figure pat00473
    )는
    Figure pat00474
    로 정의되는, 단계; 및
            제2 모듈로 연산 결과(
    Figure pat00475
    ) 그리고 개인키(K private ) 역할을 하는 제1 기준 인버스 p-어레이(
    Figure pat00476
    )의 제2 컨볼루션 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 평문 어레이(
    Figure pat00477
    )를 획득하는 단계로서, 상기 평문 어레이(
    Figure pat00478
    )는
    Figure pat00479
    로 정의되는, 단계를 포함하는, 해독 방법.
  7. 포스트-퀀텀 비대칭 키 생성 시스템으로서,
    프라임 p 그리고 시드 역할을 하는 클래식 스트링(classical string) 및 산술 함수 중 하나에 기초하여, 프라임 p와 관련되고 무한한 개수의 성분들을 갖는 p-벡터(
    Figure pat00480
    )를 생성하도록 구성된 p-벡터 생성 모듈로서, 상기 p-벡터(
    Figure pat00481
    )는
    Figure pat00482
    로 정의되는데, f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, p-벡터 생성 모듈;
    상기 p-벡터 생성 모듈에 연결되고, 그리고 상기 p-벡터(
    Figure pat00483
    )에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
    Figure pat00484
    )를 생성하도록 구성되는 p-어레이 생성 모듈로서, 상기 p-어레이(
    Figure pat00485
    )는
    Figure pat00486
    로 정의되며, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트(I)를 구성하며, 상기 p-어레이(
    Figure pat00487
    )는
    Figure pat00488
    로도 표현되는, p-어레이 생성 모듈;
    상기 p-어레이 생성 모듈에 연결되고, 그리고 상기 p-어레이(
    Figure pat00489
    )에 기초하여, 관련 매트릭스(
    Figure pat00490
    )를 생성하도록 구성되는 관련 매트릭스 생성 모듈로서, 상기 관련 매트릭스(
    Figure pat00491
    )는 :
    Figure pat00492
    로 정의되는데,
    Figure pat00493
    (j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내며, 0 ≤ j ≤ (m-1)인, 관련 매트릭스 생성 모듈;
    상기 관련 매트릭스 생성 모듈에 연결되고, 그리고 상기 관련 매트릭스
    Figure pat00494
    와 사용자-정의된 양의 정수인 모듈러스
    Figure pat00495
    에 기초하여, 상기 모듈러스
    Figure pat00496
    에 대하여 인버스 p-어레이(
    Figure pat00497
    )를 생성하도록 구성된 인버스 p-어레이 생성 모듈로서, 상기 인버스 p-어레이(
    Figure pat00498
    )는
    Figure pat00499
    로 정의되는데,
    Figure pat00500
    는 상기 모듈러스
    Figure pat00501
    에 대한 관련 매트릭스
    Figure pat00502
    의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
    Figure pat00503
    로 정의되고, 그리고
    Figure pat00504
    는 상기 관련 매트릭스
    Figure pat00505
    의 수반 행렬(adjoint matrix)을 나타내는, 인버스 p-어레이 생성 모듈;
    제1 기준 프라임(p 1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p 1 ), b로 표시되는 p-어레이
    Figure pat00506
    의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
    Figure pat00507
    ) 그리고 파라미터(m), 제2 기준 양의 정수(
    Figure pat00508
    ) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p 2 )을 결정하도록 구성된 기준 프라임 결정 모듈로서, 상기 미리 결정된 기준은
    Figure pat00509
    을 포함하는, 기준 프라임 결정 모듈;
    상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제1 기준 프라임(p 1 )이 인버스 p-어레이(
    Figure pat00510
    )의 모듈러스(modulus)(
    Figure pat00511
    )로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
    Figure pat00512
    )를 획득하도록 구성된 개인키 생성 모듈로서, 상기 제1 기준 인버스 p-어레이(
    Figure pat00513
    )는
    Figure pat00514
    로 정의되는 개인키(K private ) 역할을 하는, 개인키 생성 모듈; 및
    상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제2 기준 프라임(p 2 )이 인버스 p-어레이(
    Figure pat00515
    )의 모듈러스(modulus)(
    Figure pat00516
    )로서 기능하게 함으로써, 제2 기준 인버스 p-어레이(
    Figure pat00517
    )를 획득하도록 구성되고, 상기 제2 기준 인버스 p-어레이(
    Figure pat00518
    ), 상기 제1 기준 프라임(p 1 ), 상기 제2 기준 프라임(p 2 ) 및 상기 키-생성 랜덤화 어레이(
    Figure pat00519
    )에 기초하여 키-생성 랜덤화 어레이
    Figure pat00520
    와 관련하여 공개키(K public )를 생성하도록 구성되는 공개키 생성 모듈로서, 상기 키-생성 랜덤화 어레이(
    Figure pat00521
    )는 0과 제1 기준 양의 정수(
    Figure pat00522
    ) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(K public )는 개인키(K private )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
    Figure pat00523
    를 나타내는
    Figure pat00524
    라고도 표시되는 어레이(
    Figure pat00525
    )인, 공개키 생성 모듈을 포함하며,
    Figure pat00526
    는 키 생성 랜덤화 어레이(
    Figure pat00527
    )에 대한 제2 기준 인버스 p-어레이(
    Figure pat00528
    )의 키 생성 랜덤화 함수이며, 그리고
    Figure pat00529
    로 정의되며, 여기서
    Figure pat00530
    는 컨볼루션 곱셈 연산자를 나타내는, 포스트-퀀텀 비대칭 키 생성 방법.
  8. 청구항 7에 있어서,
    상기 p-어레이 생성 모듈, 상기 기준 프라임 결정 모듈, 상기 개인키 생성 모듈 및 상기 공개키 생성 모듈에 연결된 저장 모듈을 더 포함하며,
    상기 저장 모듈은 :
            상기 p-어레이 생성 모듈로부터 수신된 p-어레이(
    Figure pat00531
    ), 상기 기준 프라임 결정 모듈로부터 수신된 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 ), 상기 개인키 생성 모듈로부터 수신된 제1 기준 인버스 p-어레이(
    Figure pat00532
    ), 그리고 상기 공개키 생성 모듈로부터 수신된 제2 기준 인버스 p-어레이(
    Figure pat00533
    )를 저장하는, 포스트-퀀텀 비대칭 키 생성 방법.
  9. 청구항 8에 있어서,
    상기 공개키 생성 모듈은 :
            상기 저장 모듈에 저장된 상기 제2 기준 인버스 p-어레이(
    Figure pat00534
    ), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 ), 그리고 키-생성 랜덤화 어레이(
    Figure pat00535
    )와 상이한 다른 키-생성 랜덤화 어레이(
    Figure pat00536
    )에 기초하여, 상기 다른 키-생성 랜덤화 어레이(
    Figure pat00537
    )와 관련하여 업데이트된 공개키(K * public)를 생성하도록 더 구성되며,
    상기 업데이트된 공개키(K * public)는 개인키(K private )와 쌍을 이루며,
    상기 다른 키-생성 랜덤화 어레이(
    Figure pat00538
    )는 0과 상기 제1 기준 양의 정수(
    Figure pat00539
    ) 사이의 m 개의 숫자 성분들을 가지며, 그리고
    상기 공개키(K public)는
    Figure pat00540
    를 나타내는
    Figure pat00541
    라고도 표시되는, 포스트-퀀텀 비대칭 키 생성 방법.
  10. 암호화 통신 시스템으로서,
    상기 암호화된 통신 시스템은 키 서버, 송신단 및 수신단을 포함하며,
    상기 키 서버는 :
            프라임 p 그리고 시드 역할을 하는 클래식 스트링(classical string) 및 산술 함수 중 하나에 기초하여, 프라임 p와 관련되고 무한한 개수의 성분들을 갖는 p-벡터(
    Figure pat00542
    )를 생성하도록 구성된 p-벡터 생성 모듈로서, 상기 p-벡터(
    Figure pat00543
    )는
    Figure pat00544
    로 정의되는데, f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, p-벡터 생성 모듈;
            상기 p-벡터 생성 모듈에 연결되고, 그리고 상기 p-벡터(
    Figure pat00545
    )에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
    Figure pat00546
    )를 생성하도록 구성되는 p-어레이 생성 모듈로서, 상기 p-어레이(
    Figure pat00547
    )는
    Figure pat00548
    로 정의되며, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트(I)를 구성하며, 상기 p-어레이(
    Figure pat00549
    )는
    Figure pat00550
    로도 표현되는, p-어레이 생성 모듈;
            상기 p-어레이 생성 모듈에 연결되고, 그리고 상기 p-어레이(
    Figure pat00551
    )에 기초하여, 관련 매트릭스(
    Figure pat00552
    )를 생성하도록 구성된 관련 매트릭스 생성 모듈로서, 상기 관련 매트릭스(
    Figure pat00553
    )는 :
             
    Figure pat00554
    로 정의되는데,
    Figure pat00555
    (j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내며, 0 ≤ j ≤ (m-1)인, 관련 매트릭스 생성 모듈;
            상기 관련 매트릭스 생성 모듈에 연결되고, 그리고 상기 관련 매트릭스
    Figure pat00556
    와 사용자-정의된 양의 정수인 모듈러스
    Figure pat00557
    에 기초하여, 상기 모듈러스
    Figure pat00558
    에 대하여 인버스 p-어레이(
    Figure pat00559
    )를 생성하도록 구성된 인버스 p-어레이 생성 모듈로서, 상기 인버스 p-어레이(
    Figure pat00560
    )는
    Figure pat00561
    로 정의되는데,
    Figure pat00562
    는 상기 모듈러스
    Figure pat00563
    에 대한 관련 매트릭스
    Figure pat00564
    의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
    Figure pat00565
    로 정의되고, 그리고
    Figure pat00566
    는 상기 관련 매트릭스
    Figure pat00567
    의 수반 행렬(adjoint matrix)을 나타내는, 인버스 p-어레이 생성 모듈;
            제1 기준 프라임(p 1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p 1 ), b로 표시되는 p-어레이
    Figure pat00568
    의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
    Figure pat00569
    ) 그리고 파라미터(m), 제2 기준 양의 정수(
    Figure pat00570
    ) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p 2 )을 결정하도록 구성된 기준 프라임 결정 모듈로서, 상기 미리 결정된 기준은
    Figure pat00571
    을 포함하는, 기준 프라임 결정 모듈;
            상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제1 기준 프라임(p 1 )이 인버스 p-어레이(
    Figure pat00572
    )의 모듈러스(modulus)(
    Figure pat00573
    )로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
    Figure pat00574
    )를 획득하도록 구성된 개인키 생성 모듈로서, 상기 제1 기준 인버스 p-어레이(
    Figure pat00575
    )는
    Figure pat00576
    로 정의되는 개인키(K private ) 역할을 하는, 개인키 생성 모듈; 및
            상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제2 기준 프라임(p 2 )이 인버스 p-어레이(
    Figure pat00577
    )의 모듈러스(modulus)(
    Figure pat00578
    )로서 기능하게 함으로써, 제2 기준 인버스 p-어레이(
    Figure pat00579
    )를 획득하도록 구성되고, 상기 제2 기준 인버스 p-어레이(
    Figure pat00580
    ), 상기 제1 기준 프라임(p 1 ), 상기 제2 기준 프라임(p 2 ) 및 상기 키-생성 랜덤화 어레이(
    Figure pat00581
    )에 기초하여 키-생성 랜덤화 어레이
    Figure pat00582
    와 관련하여 공개키(K public )를 생성하도록 구성되는 공개키 생성 모듈로서, 상기 키-생성 랜덤화 어레이(
    Figure pat00583
    )는 0과 제1 기준 양의 정수(
    Figure pat00584
    ) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(K public )는 개인키(K private )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
    Figure pat00585
    를 나타내는
    Figure pat00586
    라고도 표시되는 어레이(
    Figure pat00587
    )인, 공개키 생성 모듈을 포함하며,
    Figure pat00588
    는 키 생성 랜덤화 어레이(
    Figure pat00589
    )에 대한 제2 기준 인버스 p-어레이(
    Figure pat00590
    )의 키 생성 랜덤화 함수이며, 그리고
    Figure pat00591
    로 정의되며, 여기서
    Figure pat00592
    는 컨볼루션 곱셈 연산자를 나타내며,
    상기 송신단은 상기 공개키(K public ), 상기 제2 기준 프라임(p 2 ) 및 상기 제2 기준 양의 정수(
    Figure pat00593
    )를 저장하는 제1 저장 유닛, 그리고 상기 제1 저장 유닛에 연결된 제1 프로세서를 포함하며,
    상기 수신단은 상기 개인키(K private ), 상기 p-어레이(
    Figure pat00594
    ), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 )을 저장하는 제2 저장 유닛, 그리고 상기 제2 저장 유닛에 연결된 제2 프로세서를 포함하며,
    상기 수신단에 전송될 평문에 대응하고 그리고 m 개의 숫자 성분들을 갖는 데이터 어레이(
    Figure pat00595
    )에 대해, 상기 제1 프로세서는 상기 제1 저장 유닛에 저장된 공개키(K public ) 및 제2 기준 프라임(p 2 ), 그리고 0과 상기 제2 기준 양의 정수(
    Figure pat00596
    ) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
    Figure pat00597
    )를 사용하여, 상기 데이터 어레이(
    Figure pat00598
    )에 대한 암호화 절차를 수행하고, 그리고 상기 암호화 랜덤화 어레이(
    Figure pat00599
    )에 관한 암호문(
    Figure pat00600
    )을 획득하며, 그리고 상기 송신단은 제1 통신 채널을 통해 상기 수신단에 상기 암호문(
    Figure pat00601
    )을 송신하며, 상기 암호문(
    Figure pat00602
    )은 m 개의 암호화된 숫자 성분들을 가지며,
    상기 제2 프로세서에 의한 상기 암호문(
    Figure pat00603
    )의 수신시, 상기 제2 프로세서는 상기 제2 저장 유닛에 저장된 개인키(K private ), p-어레이(
    Figure pat00604
    ), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 사용하여, 암호문(
    Figure pat00605
    )에 대해 해독 절차를 수행하고, m 개의 해독된 숫자 성분들을 갖고 상기 데이터 어레이(
    Figure pat00606
    )와 동일한 평문 어레이(
    Figure pat00607
    )를 획득하는, 암호화 통신 시스템.
  11. 청구항 10에 있어서,
    상기 평문은 m 개의 문자들을 가지며,
    상기 제1 프로세서는 상기 평문을 상기 데이터 어레이(
    Figure pat00608
    )로 변환하기 위해 미리 결정된 문자-숫자 기술을 사용하도록 구성된 텍스트 변환 모듈을 가지며, 그리고
    상기 데이터 어레이(
    Figure pat00609
    )의 m 개의 숫자 성분들 각각은 0과 상기 제1 기준 양의 정수(
    Figure pat00610
    ) 사이이며, 그리고 상기 평문의 m 개의 문자들 중 대응하는 문자를 나타내는, 암호화 통신 시스템.
  12. 청구항 11에 있어서,
    상기 제1 프로세서는 암호화 랜덤화 함수 생성 모듈, 그리고 상기 텍스트 변환 모듈 및 상기 암호화 랜덤화 함수 생성 모듈에 연결된 암호문 생성 모듈을 가지며, 그리고
    상기 암호화 절차에서, 상기 암호화 랜덤화 함수 생성 모듈은, 공개키(K public ) 및 암호화 랜덤화 어레이(
    Figure pat00611
    )에 기초하여,
    Figure pat00612
    로 정의되는 암호화 랜덤화 함수(
    Figure pat00613
    )를 생성하고; 그리고 상기 암호문 생성 모듈은 상기 데이터 어레이(
    Figure pat00614
    )와 상기 암호화 랜덤화 함수(
    Figure pat00615
    )의 합에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산(modulo operation)을 수행함으로써 암호문(
    Figure pat00616
    )을 획득하고, 상기 암호문(
    Figure pat00617
    )은
    Figure pat00618
    로 표현되는, 암호화 통신 시스템.
  13. 청구항 10에 있어서,
    상기 제2 프로세서는 제1 컨볼루션 모듈 및 상기 제1 컨볼루션 모듈에 연결된 제2 컨볼루션 모듈을 가지며,
    상기 해독 절차에서, 상기 제1 컨볼루션 모듈은 상기 암호문(
    Figure pat00619
    )과 상기 p-어레이(
    Figure pat00620
    )의 제1 컨볼루션 결과를 계산하고, 상기 제1 컨볼루션 결과에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산을 수행하여 제1 모듈로 연산 결과를 획득하며, 그리고 상기 제1 모듈로 연산 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 제2 모듈로 연산 결과(
    Figure pat00621
    )를 획득하며, 상기 제2 모듈로 연산 결과(
    Figure pat00622
    )는
    Figure pat00623
    로 정의되고; 그리고 상기 제2 컨볼루션 모듈은 제2 모듈로 연산 결과(
    Figure pat00624
    ) 그리고 개인키(K private ) 역할을 하는 제1 기준 인버스 p-어레이(
    Figure pat00625
    )의 제2 컨볼루션 결과를 계산하고, 상기 제2 컨볼루션 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 평문 어레이(
    Figure pat00626
    )를 획득하고, 상기 평문 어레이(
    Figure pat00627
    )는
    Figure pat00628
    로 정의되는, 암호화 통신 시스템.
  14. 청구항 10에 있어서,
    상기 공개키(K public ) 전에, 상기 제2 기준 프라임(p 2 ) 및 상기 제2 기준 양의 정수(
    Figure pat00629
    )는 상기 제1 저장 유닛에 저장되며, 상기 키 서버는 제2 통신 채널을 통해 상기 공개키(K public ), 상기 제2 기준 프라임(p 2 ) 및 상기 제2 기준 양의 정수(
    Figure pat00630
    )를 상기 송신단에 송신하며, 그리고 상기 제1 프로세서는 상기 키 서버로부터 수신된 상기 공개키(K public ), 상기 제2 기준 프라임(p 2 ) 및 상기 제2 기준 양의 정수(
    Figure pat00631
    )를 상기 제1 저장 유닛에 저장하며; 그리고
    상기 개인키(K private )전에, 상기 p-어레이(
    Figure pat00632
    ), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 )은 상기 제2 저장 유닛에 저장되며, 상기 키 서버는 제3 통신 채널을 통해 상기 개인키(K private ), 상기 p-어레이(
    Figure pat00633
    ), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 )을 상기 수신단에 송신하며, 그리고 상기 제2 프로세서는 상기 키 서버로부터 수신된 상기 개인키(K private ), 상기 p-어레이(
    Figure pat00634
    ), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 )을 상기 제2 저장 유닛에 저장하는, 암호화 통신 시스템.
  15. 청구항 14에 있어서,
    상기 키 서버는 상기 p-어레이 생성 모듈, 상기 기준 프라임 결정 모듈, 상기 개인키 생성 모듈 및 상기 공개키 생성 모듈에 연결된 저장 모듈을 더 포함하며,
    상기 저장 모듈은 상기 p-어레이 생성 모듈로부터 수신된 p-어레이(
    Figure pat00635
    ), 상기 기준 프라임 결정 모듈로부터 수신된 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 ), 상기 개인키 생성 모듈로부터 수신된 제1 기준 인버스 p-어레이(
    Figure pat00636
    ), 그리고 상기 공개키 생성 모듈로부터 수신된 제2 기준 인버스 p-어레이(
    Figure pat00637
    )를 저장하는, 암호화 통신 시스템.
  16. 청구항 15에 있어서,
    상기 공개키 생성 모듈은 :
            상기 제2 기준 인버스 p-어레이(
    Figure pat00638
    ), 상기 제1 기준 프라임(p 1 ), 상기 제2 기준 프라임(p 2 ), 그리고 키-생성 랜덤화 어레이(
    Figure pat00639
    )와 상이한 다른 키-생성 랜덤화 어레이(
    Figure pat00640
    )에 기초하여, 상기 다른 키-생성 랜덤화 어레이(
    Figure pat00641
    )와 관련하여 업데이트된 공개키(K * public)를 생성하도록 더 구성되며, 상기 업데이트된 공개키(K * public)는 개인키(K private )와 쌍을 이루며, 상기 다른 키-생성 랜덤화 어레이(
    Figure pat00642
    )는 0과 상기 제1 기준 양의 정수(
    Figure pat00643
    ) 사이의 m 개의 숫자 성분들을 가지며, 그리고 상기 공개키(K public)는
    Figure pat00644
    를 나타내는
    Figure pat00645
    라고도 표시되며;
    상기 키 서버는 상기 제2 통신 채널을 통해 상기 송신단에 상기 업데이트된 공개키(K * public)를 송신하며;
    상기 키 서버로부터의 상기 업데이트된 공개키(K * public)의 수신시, 상기 제1 프로세서는 상기 제1 저장 유닛에 저장된 상기 공개키(K public)가 상기 업데이트된 공개키(K * public)가 되도록 업데이트하며;
    상기 공개키(K public)가 상기 업데이트된 공개키(K * public)가 되도록 업데이트한 후, 상기 제1 프로세서는 상기 업데이트된 공개키(K * public), 상기 제2 기준 프라임(p 2 ) 및 암호화 랜덤화 어레이(
    Figure pat00646
    )를 사용하여, 데이터 어레이(
    Figure pat00647
    )에 대해 암호화 절차를 수행하며, 그리고 상기 업데이트된 공개키(K * public) 및 암호화 랜덤화 어레이(
    Figure pat00648
    )와 관련하여 다른 암호문(
    Figure pat00649
    )을 획득하며, 그리고 상기 송신단은 상기 제1 통신 채널을 통해 상기 다른 암호문(
    Figure pat00650
    )을 상기 수신단에 송신하며, 상기 다른 암호문(
    Figure pat00651
    )은 m 개의 암호화된 숫자 성분들을 가지며; 그리고
    상기 제2 프로세서에 의한 상기 다른 암호문(
    Figure pat00652
    )의 수신시, 상기 제2 프로세서는 상기 제2 저장 유닛에 저장된 상기 개인키(K private ), 상기 p-어레이(
    Figure pat00653
    ), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 )을 사용하여 상기 다른 암호문(
    Figure pat00654
    )에 대해 해독 절차를 수행하며, 그리고 평문 어레이(
    Figure pat00655
    )를 획득하는, 암호화 통신 시스템.



KR1020190102150A 2018-09-27 2019-08-21 프라임 모듈로 이중 캡슐화에 기초한 일대다 분산 키 관리 기능을 갖춘 포스트 퀀텀 비대칭 키 암호 시스템 KR102354456B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107134068A TWI672932B (zh) 2018-09-27 2018-09-27 基於質數陣列的後量子非對稱密鑰產生方法及系統、加密方法、解密方法及加密通訊系統
TW107134068 2018-09-27

Publications (2)

Publication Number Publication Date
KR20200036727A true KR20200036727A (ko) 2020-04-07
KR102354456B1 KR102354456B1 (ko) 2022-01-21

Family

ID=67211545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190102150A KR102354456B1 (ko) 2018-09-27 2019-08-21 프라임 모듈로 이중 캡슐화에 기초한 일대다 분산 키 관리 기능을 갖춘 포스트 퀀텀 비대칭 키 암호 시스템

Country Status (6)

Country Link
US (1) US11218308B2 (ko)
EP (1) EP3629517A1 (ko)
JP (2) JP7053537B6 (ko)
KR (1) KR102354456B1 (ko)
CN (1) CN110958112B (ko)
TW (1) TWI672932B (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477016B1 (en) * 2019-09-10 2022-10-18 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11343270B1 (en) 2019-09-10 2022-05-24 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11240014B1 (en) 2019-09-10 2022-02-01 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11626983B1 (en) 2019-09-10 2023-04-11 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11322050B1 (en) * 2020-01-30 2022-05-03 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11449799B1 (en) 2020-01-30 2022-09-20 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11533175B1 (en) 2020-01-30 2022-12-20 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography on a smartcard
US11838410B1 (en) 2020-01-30 2023-12-05 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
KR102222080B1 (ko) * 2020-02-24 2021-03-04 한국전자통신연구원 양자 개체 인증 장치 및 방법
US11271911B2 (en) 2020-02-26 2022-03-08 Amera Lot Inc. Method and apparatus for imprinting private key on IoT
US10817590B1 (en) * 2020-02-26 2020-10-27 Amera IoT Inc. Method and apparatus for creating and using quantum resistant keys
US11256783B2 (en) * 2020-02-26 2022-02-22 Amera IoT Inc. Method and apparatus for simultaneous key generation on device and server for secure communication
US11258602B2 (en) * 2020-02-26 2022-02-22 Amera IoT Inc. Method and apparatus for secure private key storage on IoT device
CN112347498B (zh) * 2020-12-01 2022-10-28 南阳理工学院 一种加密方法、装置、电子设备及可读存储介质
CN113792305B (zh) * 2021-08-18 2023-11-14 广州城建职业学院 加密解密方法、系统、设备及计算机可读存储介质
WO2023198036A1 (zh) * 2022-04-11 2023-10-19 华为技术有限公司 一种密钥生成方法、装置及设备
WO2024026106A1 (en) * 2022-07-28 2024-02-01 Kinsey Brax Digital forge systems and methods

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0920753B1 (en) * 1996-08-19 2006-12-13 NTRU Cryptosystems, Inc. Public key cryptosystem method and apparatus

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
EP0804758B1 (en) 1994-07-29 2005-11-09 Certicom Corp. Elliptic curve encryption systems
US6493449B2 (en) 1998-02-26 2002-12-10 Arithmetica, Inc. Method and apparatus for cryptographically secure algebraic key establishment protocols based on monoids
US7421076B2 (en) 2003-09-17 2008-09-02 Analog Devices, Inc. Advanced encryption standard (AES) engine with real time S-box generation
JP6019453B2 (ja) * 2012-07-05 2016-11-02 株式会社クリプト・ベーシック 暗号化装置、復号化装置、及びプログラム
US20170063530A1 (en) * 2013-08-13 2017-03-02 Michael Stephen Fiske NADO Cryptography with Key Generators
US20160234009A1 (en) * 2015-02-08 2016-08-11 Wenhua Li Chaotic Baseband Modulation Hopping Based Post-Quantum Physical-Layer Encryption
GB2549981B (en) * 2016-05-05 2018-10-10 Jung Tjhai Cen A public key cryptosystem based on the partitioning of elements of vectors
CN107483206B (zh) * 2017-09-30 2023-08-11 数字兵符(福州)科技有限公司 一种快速的量子安全的非对称加密方法
US10581604B2 (en) * 2017-10-17 2020-03-03 Comsats Institute Of Information Technology Post-quantum cryptographic communication protocol
JP6988912B2 (ja) * 2017-11-29 2022-01-05 日本電信電話株式会社 鍵交換システム、端末装置、鍵交換方法、プログラム、および記録媒体
CN108173651A (zh) * 2018-02-11 2018-06-15 众算(上海)数据科技有限公司 一种自有后量子密钥分配方法
DE102018108313A1 (de) * 2018-04-09 2019-10-10 Infineon Technologies Ag Verfahren und Verarbeitungsvorrichtung zum Ausführen einer kryptografischen Operation auf Gitterbasis
US11456877B2 (en) * 2019-06-28 2022-09-27 Intel Corporation Unified accelerator for classical and post-quantum digital signature schemes in computing environments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0920753B1 (en) * 1996-08-19 2006-12-13 NTRU Cryptosystems, Inc. Public key cryptosystem method and apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jeff Hoffstein et al "NTRU: A public key cryptosystem." NTRU Cryptosystems, Inc.(www. ntru. com) (1999.) *
Vinay Kumar et al "Matrix Formulation of NTRU Algorithm using multiple Public keys from Matrix Data Bank for High Degree polynomials." (2013.) *

Also Published As

Publication number Publication date
KR102354456B1 (ko) 2022-01-21
TWI672932B (zh) 2019-09-21
JP2020052393A (ja) 2020-04-02
JP7053537B2 (ja) 2022-04-12
TW202013927A (zh) 2020-04-01
US20200106606A1 (en) 2020-04-02
CN110958112B (zh) 2022-06-28
EP3629517A1 (en) 2020-04-01
JP2022059057A (ja) 2022-04-12
JP7053537B6 (ja) 2023-12-20
CN110958112A (zh) 2020-04-03
US11218308B2 (en) 2022-01-04

Similar Documents

Publication Publication Date Title
KR102354456B1 (ko) 프라임 모듈로 이중 캡슐화에 기초한 일대다 분산 키 관리 기능을 갖춘 포스트 퀀텀 비대칭 키 암호 시스템
US11394526B2 (en) Compressible (F)HE with applications to PIR
US11991285B2 (en) Configurable cryptographic device
KR102116877B1 (ko) 오류를 갖는 페어링을 이용한 새로운 암호 시스템들
EP3583739B1 (en) Key exchange devices and method
US11212099B2 (en) Cryptographic device with updatable shared matrix
US20060143457A1 (en) Authenticated ID-based cryptosystem with no key escrow
WO1997031448A1 (fr) Methode de communication utilisant une cle commune
US11831764B2 (en) End-to-end double-ratchet encryption with epoch key exchange
Sengupta et al. Message mapping and reverse mapping in elliptic curve cryptosystem
EP3547603A1 (en) Configurable device for lattice-based cryptography
JP2006227411A (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
US7356140B2 (en) Encrypting device, decrypting device, cryptosystem including the same devices, encrypting method, and decrypting method
CN108768923A (zh) 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法
US20140044261A1 (en) Method and system of cryptographic processing of a message
Rashed et al. Secured message data transactions with a Digital Envelope (DE)-A higher level cryptographic technique
CN114362926B (zh) 基于密钥池的量子保密通信网络密钥管理通信系统及方法
WO2018011825A1 (en) Encryption and decryption of messages
Verma et al. An Ultra-Secure Router-to-Router Key Exchange System
Lam et al. Cryptography
Sarlabous Introduction to cryptography

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