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

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

Info

Publication number
KR102354456B1
KR102354456B1 KR1020190102150A KR20190102150A KR102354456B1 KR 102354456 B1 KR102354456 B1 KR 102354456B1 KR 1020190102150 A KR1020190102150 A KR 1020190102150A KR 20190102150 A KR20190102150 A KR 20190102150A KR 102354456 B1 KR102354456 B1 KR 102354456B1
Authority
KR
South Korea
Prior art keywords
array
key
prime
inverse
public
Prior art date
Application number
KR1020190102150A
Other languages
English (en)
Other versions
KR20200036727A (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/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/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/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)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (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 112019085707348-pat00001
로서 표기되는 벡터를 생성하는 단계로서, 상기  p-벡터(
Figure 112019085707348-pat00002
)는 무한한 개수의 성분들을 가지며, 그리고
Figure 112019085707348-pat00003
로 정의되며, 여기서 f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, 단계;
B) I = (p, s, t)로서 인스턴스의 개념을 정의하는 단계로서, p는 프라임이며, s 및 t는 사용자-정의되는 양의 정수들인, 단계;
C) p-벡터(
Figure 112019085707348-pat00004
) 및 인스턴스 I = (p, s, t)에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
Figure 112019085707348-pat00005
)를 생성하는 단계로서, 상기 p-어레이(
Figure 112019085707348-pat00006
)는
Figure 112019085707348-pat00007
로 정의되며, I = (p, s, t)가 공지된 경우 상기 p-어레이(
Figure 112019085707348-pat00008
)는
Figure 112019085707348-pat00009
로도 표현되는, 단계;
D) 상기 p-어레이(
Figure 112019085707348-pat00010
)에 기초하여, 관련 매트릭스(
Figure 112019085707348-pat00011
)를 생성하는 단계로서, 상기 관련 매트릭스(
Figure 112019085707348-pat00012
)는 :
Figure 112019085707348-pat00013
로 정의되며, 여기서
Figure 112019085707348-pat00014
(j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내는(0 ≤ j ≤ (m-1)), 단계;
E) 관련 매트릭스
Figure 112019085707348-pat00015
와 사용자-정의된 양의 정수인 모듈러스
Figure 112019085707348-pat00016
에 기초하여, 상기 모듈러스
Figure 112019085707348-pat00017
에 대하여 인버스 p-어레이(
Figure 112019085707348-pat00018
)를 생성하는 단계로서, 상기 인버스 p-어레이(
Figure 112019085707348-pat00019
)는
Figure 112019085707348-pat00020
로 정의되며, 여기서,
Figure 112019085707348-pat00021
는 상기 모듈러스
Figure 112019085707348-pat00022
에 대한 관련 매트릭스
Figure 112019085707348-pat00023
의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
Figure 112019085707348-pat00024
로 정의되고, 그리고
Figure 112019085707348-pat00025
는 상기 관련 매트릭스
Figure 112019085707348-pat00026
의 수반 행렬(adjoint matrix)을 나타내는, 단계;
F) 제1 기준 프라임(p 1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p 1 ), b로 표시되는 p-어레이
Figure 112019085707348-pat00027
의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
Figure 112019085707348-pat00028
) 그리고 파라미터(m), 제2 기준 양의 정수(
Figure 112019085707348-pat00029
) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p 2 )을 결정하는 단계로서, 상기 미리 결정된 기준은
Figure 112019085707348-pat00030
을 포함하는, 단계;
G) 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 ) 각각이 인버스 p-어레이(
Figure 112019085707348-pat00031
)의 모듈러스(modulus)(
Figure 112019085707348-pat00032
)로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
Figure 112019085707348-pat00033
) 및 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00034
)를 획득하는 단계로서, 상기 제1 기준 인버스 p-어레이(
Figure 112019085707348-pat00035
)는
Figure 112019085707348-pat00036
로 정의되는 개인키(K private ) 역할을 하는, 단계; 및
H) 상기 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00037
), 상기 제1 기준 프라임(p 1 ), 상기 제2 기준 프라임(p 2 ) 및 상기 키-생성 랜덤화 어레이(
Figure 112019085707348-pat00038
)와 관련하여 공개키(K public )를 생성하는 단계로서, 키-생성 랜덤화 어레이(
Figure 112019085707348-pat00039
)는 0과 제1 기준 양의 정수(
Figure 112019085707348-pat00040
) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(K public )는 개인키(K private )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
Figure 112019085707348-pat00041
라고도 표시되는 어레이(
Figure 112019085707348-pat00042
)이며,
Figure 112019085707348-pat00043
를 나타내며, 
Figure 112019085707348-pat00044
는 키 생성 랜덤화 어레이(
Figure 112019085707348-pat00045
)에 대한 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00046
)의 키 생성 랜덤화 함수이며, 그리고
Figure 112019085707348-pat00047
로 정의되며, 여기서
Figure 112019085707348-pat00048
는 컨볼루션 곱셈 연산자를 나타내는, 단계.
이 개시서에 따르면, 암호화 방법은 프로세서에 의해 구현되며, 상기 암호화 방법은 :
        이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에 따라 생성되는 공개키(K public ), 이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 프라임(p 2 ), 그리고 0과 이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 양의 정수(
Figure 112019085707348-pat00049
) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
Figure 112019085707348-pat00050
)를 사용하여, 전송될 평문에 대응하고 m 개의 숫자 성분들을 갖는 데이터 어레이(
Figure 112019085707348-pat00051
)에 대한 암호화 절차를 수행하고, 상기 암호화 랜덤화 어레이(
Figure 112019085707348-pat00052
)에 관한 암호문(
Figure 112019085707348-pat00053
)을 획득하는 단계로서, 상기 암호문(
Figure 112019085707348-pat00054
)은 m 개의 암호화된 숫자 성분들을 갖는, 단계를 포함한다.
이 개시서에 따르면, 해독 방법은 프로세서에 의해 구현되며, 상기 해독 방법은 :
        이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 p-어레이(
Figure 112019085707348-pat00055
), 개인키(K private ), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 사용하여, 암호문(
Figure 112019085707348-pat00056
)에 대해 해독 절차를 수행하고, m 개의 해독된 숫자성분들을 갖는 평문 어레이(
Figure 112019085707348-pat00057
)를 획득하는 단계를 포함하며,
여기서, 상기 암호문(
Figure 112019085707348-pat00058
)은 :
이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에 따라 생성되는 공개키, 이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 프라임(p 2 ), 그리고 0과 이 개시서의 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 양의 정수(
Figure 112019085707348-pat00059
) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
Figure 112019085707348-pat00060
)를 사용하여, 전송될 평문에 대응하고 m 개의 숫자 성분들을 갖는 데이터 어레이(
Figure 112019085707348-pat00061
)에 대한 암호화 절차를 수행하고, 그리고 상기 암호화 랜덤화 어레이(
Figure 112019085707348-pat00062
)와 관련되고 m 개의 암호화된 숫자 성분들을 갖는 암호문(
Figure 112019085707348-pat00063
)을 획득함으로써 생성된다.
이 개시서에 따르면, 포스트-퀀텀 비대칭 키 생성 시스템은 :
프라임 p 그리고 시드 역할을 하는 클래식 스트링(classical string) 및 산술 함수 중 하나에 기초하여, 프라임 p와 관련되고 무한한 개수의 성분들을 갖는 p-벡터(
Figure 112019085707348-pat00064
)를 생성하도록 구성된 p-벡터 생성 모듈로서, 상기 p-벡터(
Figure 112019085707348-pat00065
)는
Figure 112019085707348-pat00066
로 정의되며, 여기서 f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, p-벡터 생성 모듈;
상기 p-벡터 생성 모듈에 연결되고, 그리고 상기 p-벡터(
Figure 112019085707348-pat00067
)에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
Figure 112019085707348-pat00068
)를 생성하도록 구성되는 p-어레이 생성 모듈로서, 상기 p-어레이(
Figure 112019085707348-pat00069
)는
Figure 112019085707348-pat00070
로 정의되며, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트(I)를 구성하며, 상기 p-어레이(
Figure 112019085707348-pat00071
)는
Figure 112019085707348-pat00072
로도 표현되는, p-어레이 생성 모듈;
상기 p-어레이 생성 모듈에 연결되고, 그리고 상기 p-어레이(
Figure 112019085707348-pat00073
)에 기초하여, 관련 매트릭스(
Figure 112019085707348-pat00074
)를 생성하도록 구성된 관련 매트릭스 생성 모듈로서, 상기 관련 매트릭스(
Figure 112019085707348-pat00075
)는 :
Figure 112019085707348-pat00076
로 정의되며, 여기서
Figure 112019085707348-pat00077
(j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내는(0 ≤ j ≤ (m-1)), 관련 매트릭스 생성 모듈;
상기 관련 매트릭스 생성 모듈에 연결되고, 그리고 상기 관련 매트릭스
Figure 112019085707348-pat00078
와 사용자-정의된 양의 정수인 모듈러스
Figure 112019085707348-pat00079
에 기초하여, 상기 모듈러스
Figure 112019085707348-pat00080
에 대하여 인버스 p-어레이(
Figure 112019085707348-pat00081
)를 생성하도록 구성된 인버스 p-어레이 생성 모듈로서, 상기 인버스 p-어레이(
Figure 112019085707348-pat00082
)는
Figure 112019085707348-pat00083
로 정의되며, 여기서,
Figure 112019085707348-pat00084
는 상기 모듈러스
Figure 112019085707348-pat00085
에 대한 관련 매트릭스
Figure 112019085707348-pat00086
의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
Figure 112019085707348-pat00087
로 정의되고, 그리고
Figure 112019085707348-pat00088
는 상기 관련 매트릭스
Figure 112019085707348-pat00089
의 수반 행렬(adjoint matrix)을 나타내는, 인버스 p-어레이 생성 모듈;
제1 기준 프라임(p 1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p 1 ), b로 표시되는 p-어레이
Figure 112019085707348-pat00090
의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
Figure 112019085707348-pat00091
) 그리고 파라미터(m), 제2 기준 양의 정수(
Figure 112019085707348-pat00092
) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p 2 )을 결정하도록 구성된 기준 프라임 결정 모듈로서, 상기 미리 결정된 기준은
Figure 112019085707348-pat00093
을 포함하는, 기준 프라임 결정 모듈;
상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제1 기준 프라임(p 1 )이 인버스 p-어레이(
Figure 112019085707348-pat00094
)의 모듈러스(modulus)(
Figure 112019085707348-pat00095
)로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
Figure 112019085707348-pat00096
)를 획득하도록 구성된 개인키 생성 모듈로서, 상기 제1 기준 인버스 p-어레이(
Figure 112019085707348-pat00097
)는
Figure 112019085707348-pat00098
로 정의되는 개인키(K private ) 역할을 하는, 개인키 생성 모듈; 및
상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제2 기준 프라임(p 2 )이 인버스 p-어레이(
Figure 112019085707348-pat00099
)의 모듈러스(modulus)(
Figure 112019085707348-pat00100
)로서 기능하게 함으로써, 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00101
)를 획득하도록 구성되고, 상기 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00102
), 상기 제1 기준 프라임(p 1 ), 상기 제2 기준 프라임(p 2 ) 및 상기 키-생성 랜덤화 어레이(
Figure 112019085707348-pat00103
)에 기초하여 키-생성 랜덤화 어레이
Figure 112019085707348-pat00104
와 관련하여 공개키(K public )를 생성하도록 구성되는 공개키 생성 모듈로서, 상기 키-생성 랜덤화 어레이(
Figure 112019085707348-pat00105
)는 0과 제1 기준 양의 정수(
Figure 112019085707348-pat00106
) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(K public )는 개인키(K private )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
Figure 112019085707348-pat00107
라고도 표시되는 어레이(
Figure 112019085707348-pat00108
)이며,
Figure 112019085707348-pat00109
를 나타내는, 공개키 생성 모듈을 포함하며,
여기서,
Figure 112019085707348-pat00110
는 키 생성 랜덤화 어레이(
Figure 112019085707348-pat00111
)에 대한 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00112
)의 키 생성 랜덤화 함수이며, 그리고
Figure 112019085707348-pat00113
로 정의되며, 여기서
Figure 112019085707348-pat00114
는 컨볼루션 곱셈 연산자를 나타낸다.
이 개시서에 따르면, 암호화 통신 시스템은 키 서버, 송신단 및 수신단을 포함하며,
상기 키 서버는 :
프라임 p 그리고 시드 역할을 하는 클래식 스트링(classical string) 및 산술 함수 중 하나에 기초하여, 프라임 p와 관련되고 무한한 개수의 성분들을 갖는 p-벡터(
Figure 112019085707348-pat00115
)를 생성하도록 구성된 p-벡터 생성 모듈로서, 상기 p-벡터(
Figure 112019085707348-pat00116
)는
Figure 112019085707348-pat00117
로 정의되며, 여기서 f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, p-벡터 생성 모듈;
상기 p-벡터 생성 모듈에 연결되고, 그리고 상기 p-벡터(
Figure 112019085707348-pat00118
)에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
Figure 112019085707348-pat00119
)를 생성하도록 구성되는 p-어레이 생성 모듈로서, 상기 p-어레이(
Figure 112019085707348-pat00120
)는
Figure 112019085707348-pat00121
로 정의되며, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트(I)를 구성하며, 상기 p-어레이(
Figure 112019085707348-pat00122
)는
Figure 112019085707348-pat00123
로도 표현되는, p-어레이 생성 모듈;
상기 p-어레이 생성 모듈에 연결되고, 그리고 상기 p-어레이(
Figure 112019085707348-pat00124
)에 기초하여, 관련 매트릭스(
Figure 112019085707348-pat00125
)를 생성하도록 구성된 관련 매트릭스 생성 모듈로서, 상기 관련 매트릭스(
Figure 112019085707348-pat00126
)는 :
Figure 112019085707348-pat00127
로 정의되며, 여기서
Figure 112019085707348-pat00128
(j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내는(0 ≤ j ≤ (m-1)), 관련 매트릭스 생성 모듈;
상기 관련 매트릭스 생성 모듈에 연결되고, 그리고 상기 관련 매트릭스
Figure 112019085707348-pat00129
와 사용자-정의된 양의 정수인 모듈러스
Figure 112019085707348-pat00130
에 기초하여, 상기 모듈러스
Figure 112019085707348-pat00131
에 대하여 인버스 p-어레이(
Figure 112019085707348-pat00132
)를 생성하도록 구성된 인버스 p-어레이 생성 모듈로서, 상기 인버스 p-어레이(
Figure 112019085707348-pat00133
)는
Figure 112019085707348-pat00134
로 정의되며, 여기서,
Figure 112019085707348-pat00135
는 상기 모듈러스
Figure 112019085707348-pat00136
에 대한 관련 매트릭스
Figure 112019085707348-pat00137
의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
Figure 112019085707348-pat00138
로 정의되고, 그리고
Figure 112019085707348-pat00139
는 상기 관련 매트릭스
Figure 112019085707348-pat00140
의 수반 행렬(adjoint matrix)을 나타내는, 인버스 p-어레이 생성 모듈;
제1 기준 프라임(p 1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p 1 ), b로 표시되는 p-어레이
Figure 112019085707348-pat00141
의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
Figure 112019085707348-pat00142
) 그리고 파라미터(m), 제2 기준 양의 정수(
Figure 112019085707348-pat00143
) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p 2 )을 결정하도록 구성된 기준 프라임 결정 모듈로서, 상기 미리 결정된 기준은
Figure 112019085707348-pat00144
을 포함하는, 기준 프라임 결정 모듈;
상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제1 기준 프라임(p 1 )이 인버스 p-어레이(
Figure 112019085707348-pat00145
)의 모듈러스(modulus)(
Figure 112019085707348-pat00146
)로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
Figure 112019085707348-pat00147
)를 획득하도록 구성된 개인키 생성 모듈로서, 상기 제1 기준 인버스 p-어레이(
Figure 112019085707348-pat00148
)는
Figure 112019085707348-pat00149
로 정의되는 개인키(K private ) 역할을 하는, 개인키 생성 모듈; 및
상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제2 기준 프라임(p 2 )이 인버스 p-어레이(
Figure 112019085707348-pat00150
)의 모듈러스(modulus)(
Figure 112019085707348-pat00151
)로서 기능하게 함으로써, 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00152
)를 획득하도록 구성되고, 상기 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00153
), 상기 제1 기준 프라임(p 1 ), 상기 제2 기준 프라임(p 2 ) 및 상기 키-생성 랜덤화 어레이(
Figure 112019085707348-pat00154
)에 기초하여 키-생성 랜덤화 어레이
Figure 112019085707348-pat00155
와 관련하여 공개키(K public )를 생성하도록 구성되는 공개키 생성 모듈로서, 상기 키-생성 랜덤화 어레이(
Figure 112019085707348-pat00156
)는 0과 제1 기준 양의 정수(
Figure 112019085707348-pat00157
) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(K public )는 개인키(K private )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
Figure 112019085707348-pat00158
라고도 표시되는 어레이(
Figure 112019085707348-pat00159
)이며,
Figure 112019085707348-pat00160
를 나타내는, 공개키 생성 모듈을 포함하며,
Figure 112019085707348-pat00161
는 키 생성 랜덤화 어레이(
Figure 112019085707348-pat00162
)에 대한 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00163
)의 키 생성 랜덤화 함수이며, 그리고
Figure 112019085707348-pat00164
로 정의되며, 여기서
Figure 112019085707348-pat00165
는 컨볼루션 곱셈 연산자를 나타내며,
상기 송신단은 상기 공개키(K public ), 상기 제2 기준 프라임(p 2 ) 및 상기 제2 기준 양의 정수(
Figure 112019085707348-pat00166
)를 저장하는 제1 저장 유닛, 그리고 상기 제1 저장 유닛에 연결된 제1 프로세서를 포함하며,
상기 수신단은 상기 개인키(K private ), 상기 p-어레이(
Figure 112019085707348-pat00167
), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 )을 저장하는 제2 저장 유닛, 그리고 상기 제2 저장 유닛에 연결된 제2 프로세서를 포함하며,
상기 수신단에 전송될 평문에 대응하고 그리고 m 개의 숫자 성분들을 갖는 데이터 어레이(
Figure 112019085707348-pat00168
)에 대해, 상기 제1 프로세서는 상기 제1 저장 유닛에 저장된 공개키(K public ) 및 제2 기준 프라임(p 2 ), 그리고 0과 상기 제2 기준 양의 정수(
Figure 112019085707348-pat00169
) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
Figure 112019085707348-pat00170
)를 사용하여, 상기 데이터 어레이(
Figure 112019085707348-pat00171
)에 대한 암호화 절차를 수행하고, 그리고 상기 암호화 랜덤화 어레이(
Figure 112019085707348-pat00172
)에 관한 암호문(
Figure 112019085707348-pat00173
)을 획득하며, 그리고 상기 송신단은 제1 통신 채널을 통해 상기 수신단에 상기 암호문(
Figure 112019085707348-pat00174
)을 송신하며, 상기 암호문(
Figure 112019085707348-pat00175
)은 m 개의 암호화된 숫자 성분들을 가지며,
상기 제2 프로세서에 의한 상기 암호문(
Figure 112019085707348-pat00176
)의 수신시, 상기 제2 프로세서는 상기 제2 저장 유닛에 저장된 개인키(K private ), p-어레이(
Figure 112019085707348-pat00177
), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 사용하여, 암호문(
Figure 112019085707348-pat00178
)에 대해 해독 절차를 수행하고, m 개의 해독된 숫자 성분들을 갖고 상기 데이터 어레이(
Figure 112019085707348-pat00179
)와 동일한 평문 어레이(
Figure 112019085707348-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 112019085707348-pat00181
를 생성한다. 이 실시예에서, p-벡터
Figure 112019085707348-pat00182
는 다음과 같이 정의된다 :
Figure 112019085707348-pat00183
여기서, f는 시드 역할을 하는 산술 함수 또는 클래식 스트링이다(후자의 경우, f( p n )는 클래식 스트링에서 n번째 문자를 나타낸다).
일례에서, 시드는 다음의 산술 함수 f( p n )로서 예시된다 :
n = 0인 경우,
Figure 112019085707348-pat00184
; 그리고
n > 0인 경우,
Figure 112019085707348-pat00185
-----(1)
단계 S32에서, p-어레이 생성 모듈(13)은, p-벡터
Figure 112019085707348-pat00186
에 기초하여, m 개의 성분을 가지며 프라임 p와 관련되고 다음과 같이 정의되는 p-어레이
Figure 112019085707348-pat00187
를 생성한다 :
Figure 112019085707348-pat00188
여기서, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트 I를 구성한다(이하, I=(p, s, t) 라고도 지칭됨). p-어레이
Figure 112019085707348-pat00189
의 표현은 이후에
Figure 112019085707348-pat00190
로 간략화될 수 있다. 예를 들어, I=(3, 0, 1) 그리고 m = 5일 때, p-벡터
Figure 112019085707348-pat00191
3 및 p-어레이
Figure 112019085707348-pat00192
(또는 간단히
Figure 112019085707348-pat00193
)는 각각 다음의 방정식 (2) 및 방정식 (3)과 같이 구할 수 있다.
Figure 112019085707348-pat00194
3 = [1, -7, 3, -2, 0, -5, 0, -8, 0, -7, …] --- (2)
Figure 112019085707348-pat00195
  --- (3)
다른 예로서, 비밀 함수 f와 비밀 인스턴스 I에 의해
Figure 112019085707348-pat00196
가 주어지게 한다 :
Figure 112019085707348-pat00197
 --- (4)
상기 2 개의 예들은 시드 및 제1 파라미터 세트 I에 기초하여 p-어레이가 생성되는 방법을 예시적으로 보여준다. 제1 파라미터 세트 I를 저장함으로써, 대응하는 p-어레이는 언제든지 시드에 기초하여 획득될 수 있다.
단계 S33에서, p-어레이 생성 모듈(13)은 p-어레이
Figure 112019085707348-pat00198
의 m 개의 성분들 각각이 0이 아닌지 여부를 판단한다. 판단이 긍정적일 때(즉, p-어레이
Figure 112019085707348-pat00199
의 m 개의 성분들 모두가 0이 아닐 때), p-어레이 생성 모듈(13)은 p-어레이
Figure 112019085707348-pat00200
를 관련 매트릭스 생성 모듈(14)에 출력하고, p-어레이
Figure 112019085707348-pat00201
를 저장 모듈(19)에 저장한다(단계 S34). 예를 들어, 방정식 (3) 및 방정식 (4) 각각에 도시된 바와 같이 p-어레이
Figure 112019085707348-pat00202
의 5 개의 성분들 모두가 0이 아니다. p-어레이 생성 모듈(13)이 p-어레이
Figure 112019085707348-pat00203
의 m 개의 성분들 중 임의의 하나가 0이라고 판단할 때, 흐름도는 단계 S32로 되돌아가서, 사용자가 상이한 제1 파라미터 세트 I(즉, 새로운 제1 파라미터 세트 I에서의 프라임 p 및 파라미터들 s, t 중 적어도 하나는 원래의 제1 파라미터 세트 I에서의 것과 다르다)를 단계 S32에 적용할 수 있게 한다. 단계 S32는 단계 S33에서의 판단이 긍정적일 때까지 상이한 제1 파라미터 세트들 I로 반복될 수 있다.
단계 S35에서, 관련 매트릭스 생성 모듈(14)은 p-어레이 생성 모듈(13)로부터 수신된 p-어레이
Figure 112019085707348-pat00204
에 기초하여 관련 매트릭스
Figure 112019085707348-pat00205
를 생성하며, 그리고 상기 관련 매트릭스
Figure 112019085707348-pat00206
를 인버스 p-어레이 생성 모듈(15)에 출력한다. 관련 매트릭스
Figure 112019085707348-pat00207
는 다음과 같이 정의된다 :
Figure 112019085707348-pat00208
여기서,
Figure 112019085707348-pat00209
(j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타낸다(여기서, 0 ≤ j ≤ (m-1)). 방정식 (4)에서의 p-어레이
Figure 112019085707348-pat00210
에 이어, 관련 매트릭스 생성 모듈(14)에 의해 생성되는 관련 매트릭스는 방정식 (5)에 도시된 바와 같을 것이다 :
Figure 112019085707348-pat00211
 --- (5)
단계 S36에서, 관련 매트릭스
Figure 112019085707348-pat00212
와 사용자-정의된 양의 정수인 모듈러스
Figure 112019085707348-pat00213
에 기초하여, 인버스 p-어레이 생성 모듈(15)은 모듈러스
Figure 112019085707348-pat00214
에 대하여 인버스 p-어레이
Figure 112019085707348-pat00215
를 생성한다. 인버스 p-어레이 생성 모듈(15)은 개인키 생성 모듈(17) 및 공개키 생성 모듈(18)에 상기 인버스 p-어레이
Figure 112019085707348-pat00216
를 출력한다. 인버스 p-어레이
Figure 112019085707348-pat00217
는 다음과 같이 정의된다 :
Figure 112019085707348-pat00218
여기서,
Figure 112019085707348-pat00219
는 모듈러스
Figure 112019085707348-pat00220
에 대한 관련 매트릭스
Figure 112019085707348-pat00221
의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
Figure 112019085707348-pat00222
로 정의되고, 그리고
Figure 112019085707348-pat00223
는 관련 매트릭스
Figure 112019085707348-pat00224
의 수반 행렬(adjoint matrix)을 나타낸다.
단계 S37에서, 기준 프라임 결정 모듈(16)은 제1 기준 프라임(p 1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p 1 ), b로 표시되는 p-어레이
Figure 112019085707348-pat00225
의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
Figure 112019085707348-pat00226
) 그리고 파라미터(m), 제2 기준 양의 정수(
Figure 112019085707348-pat00227
) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p 2 )을 결정한다. 상기 미리 결정된 기준은
Figure 112019085707348-pat00228
을 포함한다. 상기 기준 프라임 결정 모듈(16)은 개인키 생성 모듈(17)에 제1 기준 프라임(p 1 )을 출력하며, 공개키 생성 모듈(18)에 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 출력하며, 그리고 저장 모듈(19)에 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 저장한다. 방정식 (4)의 예에 따르면,
Figure 112019085707348-pat00229
이 획득된다. 또한,  S = (m,
Figure 112019085707348-pat00230
, r) = (5, 120, 120) 및
Figure 112019085707348-pat00231
= 120의 예시적인 조건 하에서, 기준 프라임 결정 모듈(16)이 p 1 = 251을 선택할 때, 미리 결정된 기준은 :
Figure 112019085707348-pat00232
을 포함할 것이며, 예를 들어, p 2 = 18072001인 것으로 결정될 수 있지만, 본 개시서는 미리 결정된 기준이 만족되는 한 이와 관련하여 제한되지 않는다.
단계 S36 및 S37에 후속하는 단계 S38에서, 개인키 생성 모듈(17)은 제1 기준 인버스 p-어레이
Figure 112019085707348-pat00233
를 획득하기 위해 제1 기준 프라임(p 1 )이 인버스 p-어레이(
Figure 112019085707348-pat00234
)의 모듈러스(modulus)(
Figure 112019085707348-pat00235
)로서 기능하게 한다. 제1 기준 인버스 p-어레이(
Figure 112019085707348-pat00236
)는
Figure 112019085707348-pat00237
로 정의되는 개인키(K private ) 역할을 한다(즉, K private =
Figure 112019085707348-pat00238
). 개인키 생성 모듈(17)은 저장 모듈(19)에 제1 기준 인버스 p-어레이(
Figure 112019085707348-pat00239
)를 저장한다. p 1 = 251 인 방정식(5)의 이전 예에 따르면,
Figure 112019085707348-pat00240
이기 때문에, L251 =(68)-1(mod 251)=48이 획득될 수 있으며, 그리고 개인키(K private )는 다음과 같이 획득될 것이다 :
K private =
Figure 112019085707348-pat00241
=
Figure 112019085707348-pat00242
=
Figure 112019085707348-pat00243
L251
Figure 112019085707348-pat00244
Figure 112019085707348-pat00245
Figure 112019085707348-pat00246
Figure 112019085707348-pat00247
= [164, 128, 92, 223, 74]
                                                    ----(6)
단계 S36 및 S37에 후속하는 단계 S39에서, 공개키 생성 모듈(18)은 제2 기준 인버스 p-어레이
Figure 112019085707348-pat00248
를 획득하기 위해 제2 기준 프라임(p 2 )이 인버스 p-어레이(
Figure 112019085707348-pat00249
)의 모듈러스(modulus)(
Figure 112019085707348-pat00250
)로서 기능하게 하며, 그리고 저장 모듈(19)에 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00251
)를 저장한다. m = 5, p = 3, p 2 = 18072001 및
Figure 112019085707348-pat00252
= 120의 이전 예에 따라,
Figure 112019085707348-pat00253
Figure 112019085707348-pat00254
이기 때문에, 다음이 획득된다 :
Figure 112019085707348-pat00255
=
Figure 112019085707348-pat00256
Figure 112019085707348-pat00257
Figure 112019085707348-pat00258
=
Figure 112019085707348-pat00259
L18072001[1, 0, ..., 0]
Figure 112019085707348-pat00260
Figure 112019085707348-pat00261
=
Figure 112019085707348-pat00262
--- (7)
단계 S40에서, 공개키 생성 모듈(18)은 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00263
), 제1 기준 프라임(p 1 ), 제2 기준 프라임(p 2 ) 및 키-생성 랜덤화 어레이(
Figure 112019085707348-pat00264
)에 기초하여 키-생성 랜덤화 어레이
Figure 112019085707348-pat00265
와 관련하여 공개키(K public )를 생성한다. 키-생성 랜덤화 어레이(
Figure 112019085707348-pat00266
)는 0과 제1 기준 양의 정수(
Figure 112019085707348-pat00267
) 사이의(0과
Figure 112019085707348-pat00268
포함) m 개의 숫자 성분을 갖는다(예를 들어, 0과
Figure 112019085707348-pat00269
사이의 m개의 임의의 정수). 공개키(K public )는 개인키(K private )와 쌍을 이룬다. 이 실시예에서, 공개키(K public )는 m 개의 숫자 성분들을 포함하고
Figure 112019085707348-pat00270
라고도 표시되는 어레이(
Figure 112019085707348-pat00271
)이며,
Figure 112019085707348-pat00272
를 나타낸다.
Figure 112019085707348-pat00273
는 키 생성 랜덤화 어레이(
Figure 112019085707348-pat00274
)에 대한 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00275
)의 키 생성 랜덤화 함수이며, 그리고
Figure 112019085707348-pat00276
로 정의되며, 여기서
Figure 112019085707348-pat00277
는 컨볼루션 곱셈 연산자를 나타낸다. 방정식 (7)에서 m=5, p=3, p 1 =251, p 2 =18072001,
Figure 112019085707348-pat00278
=120 및
Figure 112019085707348-pat00279
인 이전 예에 따르면,
Figure 112019085707348-pat00280
라고 가정되는 예시적인 키-생성 랜덤화 어레이가 사용되는 경우, 공개키(K public )는 다음과 같이 방정식(6)의 개인키(K private )를 사용하여 획득된다 :
 
Figure 112021083332938-pat00664
 --- (8)
그러나, 방정식(6)에서 개인키(K private )를 사용하여 획득되는 공개키(K public )는 이에 한정되지는 않는다.
Figure 112019085707348-pat00282
라고 가정되는 다른 예시적인 키 생성 랜덤화 어레이가 공개키 생성 모듈(18)에 의해 사용된다면, 다른 공개키(K * public)는 다음과 같이 방정식(6)의 개인키(K private )를 사용하여 획득된다 :
Figure 112019085707348-pat00283
 --(9)
즉, 공개키 생성 모듈(18)은 상이한 키-생성 랜덤화 어레이를 사용함으로써 동일한 개인키(K private )와 쌍을 이루는 상이한 공개키들을 생성할 수 있으며, 공개키를 리프레시할 때 키 서버(1)를 선호(favoring)한다.
비대칭 키 생성 절차가 완료되면, 키 서버(1)는 키 서버(1)와 송신단(2) 사이의 통신 채널(도 1의 C2)을 통해 송신단(2)에 공개키(K public )(공개키(K public )가 생성된 경우), 제2 기준 프라임(p 2 ) 및 제2 기준 양의 정수(
Figure 112019085707348-pat00284
)를 송신하며, 그리고 키 서버(1)와 수신단(3) 사이의 통신 채널(도 1의 C3)을 통해 수신단(3)에 개인키(K private ), p-어레이(
Figure 112019085707348-pat00285
), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 송신한다.
도 5를 참조하면, 송신단(2)의 프로세서(22)는 키 서버(1)로부터 수신된 공개키(K public ), 제2 기준 프라임(p 2 ) 및 제2 기준 양의 정수(
Figure 112019085707348-pat00286
)를 저장 유닛(21)에 저장한다. 이 실시예에서, 프로세서(22)는 텍스트 변환 모듈(221), 암호화 랜덤화 함수 생성 모듈(encryption randomization function generation module)(222), 그리고 상기 텍스트 변환 모듈(221) 및 상기 암호화 랜덤화 함수 생성 모듈(222)에 연결된 암호문 생성 모듈(223)을 갖도록 구성된다.
또한, 도 7을 참조하면, 송신단(2)에 의해 수행되는 암호화 절차가 도시되어 있다. 단계 S71에서, 텍스트 변환 모듈(221)은 ASCII 코드와 같은 미리 결정된 문자-숫자 기술을 사용하여, 암호화될 m 개의 문자들을 갖는 평문을 m 개의 숫자 성분을 갖는 데이터 어레이(
Figure 112019085707348-pat00287
)로 변환한다. 구체적으로, 데이터 어레이(
Figure 112019085707348-pat00288
)의 m 개의 숫자 성분들 각각은 0과 제1 기준 양의 정수(
Figure 112019085707348-pat00289
) 사이이며, 그리고 평문의 m 개의 문자들 중 대응하는 하나를 나타낸다. 예를 들어, 평문 “Hello”(즉, m = 5)의 경우, ASCII 코드에 기초하여 획득되는 데이터 어레이(
Figure 112019085707348-pat00290
)는 :
Figure 112019085707348-pat00291
 ---- (1)
일 것이지만, 본 개시서는 임의의 특정 문자-숫자 기술로 제한되지 않는다.
단계 S72에서, 암호화 랜덤화 함수 생성 모듈(222)은 공개키(K public ) 및 암호화 랜덤화 어레이(
Figure 112019085707348-pat00292
)에 기초하여 암호화 랜덤화 함수(
Figure 112019085707348-pat00293
)를 생성한다.  암호화 랜덤화 어레이(
Figure 112019085707348-pat00294
)는 0과 제2 기준 양의 정수(
Figure 112019085707348-pat00295
) 사이의 m 개의 숫자 성분들을 갖는다. 암호화 랜덤화 함수(
Figure 112019085707348-pat00296
)는
Figure 112019085707348-pat00297
로서 정의된다. 제2 파라미터 세트 S=(m,
Figure 112019085707348-pat00298
, r)=(5, 120, 120)이고 공개키 K public =
Figure 112019085707348-pat00299
=
Figure 112019085707348-pat00300
인 이전 예에 따라, 암호화 랜덤화 어레이가
Figure 112019085707348-pat00301
로 예시되는 경우, 결과물인 암호화 랜덤화 함수(
Figure 112019085707348-pat00302
)는 다음과 같을 것이다 :
Figure 112019085707348-pat00303
---------- (11)
암호화 랜덤화 어레이가
Figure 112019085707348-pat00304
로 예시되는 다른 경우, 결과물인 암호화 랜덤화 함수
Figure 112019085707348-pat00305
는 다음과 같을 것이다 :
Figure 112019085707348-pat00306
                --- (12)
즉, 암호화 랜덤화 함수 생성 모듈(222)은 상이한 암호화 랜덤화 어레이들을 사용하여 상이한 암호화 랜덤화 함수들을 생성할 수 있다.
단계 S71 및 S72에 후속하는 단계 S73에서, 암호문 생성 모듈(223)은 (텍스트 변환 모듈(221)로부터 수신된) 데이터 어레이(
Figure 112019085707348-pat00307
)와 (암호화 랜덤화 함수 생성 모듈(222)로부터 수신된) 암호화 랜덤화 함수(
Figure 112019085707348-pat00308
)의 합에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산을 수행함으로써 암호화 랜덤화 함수와 관련하여 암호문(
Figure 112019085707348-pat00309
)을 획득한다. 암호문(
Figure 112019085707348-pat00310
)은 m 개의 암호화된 숫자 성분들을 가지며, 그리고
Figure 112019085707348-pat00311
로 표현된다. 데이터 어레이(
Figure 112019085707348-pat00312
) 및 암호화 랜덤화 함수(
Figure 112019085707348-pat00313
)가 방정식 (10) 및 방정식 (11)으로 표시되는 예에서, 결과물인 암호문(
Figure 112019085707348-pat00314
)은 다음과 같을 것이다 :
Figure 112019085707348-pat00315
Figure 112019085707348-pat00316
                ---- (13)
데이터 어레이(
Figure 112019085707348-pat00317
) 및 암호화 랜덤화 함수(
Figure 112019085707348-pat00318
)가 방정식 (10) 및 방정식 (12)에 도시된 예에서, 결과적인 암호문(
Figure 112019085707348-pat00319
)은 다음과 같을 것이다 :
Figure 112019085707348-pat00320
Figure 112019085707348-pat00321
  ---- (14)
암호화 절차 완료 후에, 송신단(2)은 송신단(2)과 수신단(3) 사이의 통신 채널(도 1의 C1)을 통해 수신단(3)에 암호문(
Figure 112019085707348-pat00322
)을 송신한다. 통신 채널(C1)은 본 개시서에 따라 암호화 통신 시스템(100)에 의해 암호화되지 않은 채널일 수 있다.
도 1 및 도 6을 참조하면, 송신단(3)의 프로세서(32)는 키 서버(1)로부터 수신되는 개인키(K private ), p-어레이(
Figure 112019085707348-pat00323
), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 저장 유닛(31)에 저장한다. 이 실시예에서, 프로세서(32)는 제1 컨볼루션 모듈(321), 그리고 상기 제1 컨볼루션 모듈(321)에 연결된 제2 컨볼루션 모듈(322)을 갖도록 구성된다.
도 8을 더 참조하면, 수신단(3)에 의해 수신되는 암호문(
Figure 112019085707348-pat00324
)에 수행될 해독 절차가 도시된다. 단계 S81에서, 제1 컨볼루션 모듈(321)은 암호문(
Figure 112019085707348-pat00325
)과 p-어레이(
Figure 112019085707348-pat00326
)의 제1 컨볼루션 결과(즉,
Figure 112019085707348-pat00327
)를 계산하며, 상기 제1 컨볼루션 결과에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산을 수행하여 제1 모듈로 연산 결과(즉,
Figure 112019085707348-pat00328
)를 획득하며, 그리고 상기 제1 모듈로 연산 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 제2 모듈로 연산 결과(
Figure 112019085707348-pat00329
)를 획득한다. 제2 모듈로 연산 결과(
Figure 112019085707348-pat00330
)는
Figure 112019085707348-pat00331
로 정의된다. p 1 = 251, p 2 = 18072001, p-어레이는 방정식 (4)의
Figure 112019085707348-pat00332
이며, 암호문은 방정식 (13)의
Figure 112019085707348-pat00333
인 이전 예에 따라, 결과물인 제1 모듈로 연산 결과 및 제2 모듈로 연산 결과는 다음과 같을 것이다 :
Figure 112019085707348-pat00334
Figure 112019085707348-pat00335
               --- (15)
p 1 = 251, p 2 = 18072001, p-어레이는 방정식 (4)의
Figure 112019085707348-pat00336
이며, 암호문은 방정식 (14)의
Figure 112019085707348-pat00337
인 다른 예에 따라, 결과물인 제1 모듈로 연산 결과 및 제2 모듈로 연산 결과는 다음과 같을 것이다 :
Figure 112019085707348-pat00338
Figure 112019085707348-pat00339
Figure 112019085707348-pat00340
                        --- (16)
방정식 (15) 및 방정식 (16)으로부터, 제1 컨볼루션 모듈(321)은 상이한 암호문들
Figure 112019085707348-pat00341
Figure 112019085707348-pat00342
을 사용함으로써 동일한 제2 모듈로 연산 결과(
Figure 112019085707348-pat00343
Figure 112019085707348-pat00344
)를 획득한다는 것에 유의한다.
단계 S82에서, 제2 컨볼루션 모듈(322)은 제2 모듈로 연산 결과(
Figure 112019085707348-pat00345
) 그리고 개인키(K private ) 역할을 하는 제1 기준 인버스 p-어레이(
Figure 112019085707348-pat00346
)의 제2 컨볼루션 결과를 계산하며, 상기 제2 컨볼루션 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 평문 어레이(
Figure 112019085707348-pat00347
)를 획득한다. 이 때, 평문 어레이(
Figure 112019085707348-pat00348
)는 m 개의 해독된 숫자 성분들을 가지며, 그리고
Figure 112019085707348-pat00349
로 정의된다. p 1 = 251인 이전 예에 따르면, 개인키(K private )는 방정식 (6)의
Figure 112019085707348-pat00350
이며, 그리고 제2 모듈로 연산 결과는 방정식 (15)의
Figure 112019085707348-pat00351
이며, 획득된 평문 어레이(
Figure 112019085707348-pat00352
)는 다음과 같을 것이다 :
Figure 112019085707348-pat00353
획득된 평문 어레이(
Figure 112019085707348-pat00354
)가 방정식 (10)의 데이터 어레이(
Figure 112019085707348-pat00355
)와 동일한 것을 볼 수 있다. 따라서, 수신단(3)은 평문 어레이(
Figure 112019085707348-pat00356
)의 해독된 숫자 성분들 모두를 문자들로 변환함으로써 평문 “Hello”를 성공적으로 획득할 수 있다.
다시 도 1 및 도 2를 참조하면, 암호 통신 시스템(100)이 키 리프레시를 수행할 필요가 있을 때, 키 서버(1)의 공개키 생성 모듈(18)은 원래의 공개키(K public )를 생성하는데 사용되는 키-생성 랜덤화 어레이(
Figure 112019085707348-pat00357
)와 상이한 키-생성 랜덤화 어레이(
Figure 112019085707348-pat00358
)(예를 들어,
Figure 112019085707348-pat00359
)와 관련하여, 제2 기준 인버스 p-어레이(
Figure 112019085707348-pat00360
), 제1 기준 프라임(p 1 ), 제2 기준 프라임(p 2 ) 및 키-생성 랜덤화 어레이(
Figure 112019085707348-pat00361
)에 기초하여, 개인키(K private )와 쌍을 이루는 업데이트된 공개키(K * public)(예를 들어, 방정식 (9)의
Figure 112019085707348-pat00362
)를 생성하기 위해 단계 S40(도 4 참조)을 수행하는데 사용될 수 있다. 이와 유사하게, 업데이트된 공개키(K * public)는
Figure 112019085707348-pat00363
Figure 112019085707348-pat00364
로 표기되는
Figure 112019085707348-pat00365
로 표현될 수 있다. 그 다음, 키 서버(1)는 통신 채널(C2)을 통해 송신단(2)에 업데이트된 공개키(K * public)를 송신하며, 그리고 송신단(2)의 프로세서(22)는 저장부(21)에서 공개키(K public)를 업데이트된 공개키(K * public)로 업데이트한다.
저장 유닛(21)의 공개키를 업데이트한 후, 송신단(2)의 프로세서(22)는 업데이트된 공개키(K * public), 제2 기준 프라임(p 2 ) 및 암호화 랜덤화 어레이(
Figure 112019085707348-pat00366
)를 사용하여, 데이터 어레이(
Figure 112019085707348-pat00367
)에 대해 암호화 절차를 수행할 수 있으며, 그리고 업데이트된 공개키(K * public) 및 암호화 랜덤화 어레이(
Figure 112019085707348-pat00368
)와 관련하여 다른 암호문(
Figure 112019085707348-pat00369
)을 획득할 수 있다. 암호문(
Figure 112019085707348-pat00370
)은 m 개의 암호화된 숫자 성분들을 가지며, 그리고 송신단(2)의 프로세서(22)에 의해 통신 채널(C1)을 통해 수신단(3)에 전송된다. m = 5,
Figure 112019085707348-pat00371
= 120인 이전 예에서, 데이터 어레이는 방정식(10)의
Figure 112019085707348-pat00372
이며, 그리고 공개키는 방정식 (9)의 K * public이며,
Figure 112019085707348-pat00373
일 때, 결과물인 암호문(
Figure 112019085707348-pat00374
)은 다음과 같을 것이다 :
Figure 112019085707348-pat00375
                --- (17)
Figure 112019085707348-pat00376
인 다른 경우, 결과물인 암호문(
Figure 112019085707348-pat00377
)은 다음과 같을 것이다 :
Figure 112019085707348-pat00378
              --- (18)
수신단(3)의 프로세서(32)가 송신단(2)으로부터 암호문(
Figure 112019085707348-pat00379
)을 수신할 때, 프로세서(32)는 개인키(K private ), p-어레이(
Figure 112019085707348-pat00380
), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 사용하여 암호문(
Figure 112019085707348-pat00381
)에 대해 해독 절차를 수행하며, 이로써 평문 어레이(
Figure 112019085707348-pat00382
)를 획득한다. p 1 = 251, p 2 = 18072001인 이전 예에 따르면, p-어레이는 방정식(4)의
Figure 112019085707348-pat00383
이며, 그리고 암호문은 방정식 (17)의
Figure 112019085707348-pat00384
이며, 결과물인 제1 모듈로 연산 결과 및 제2 모듈로 연산 결과(
Figure 112019085707348-pat00385
)는 각각 다음과 같을 것이다 :
Figure 112019085707348-pat00386
Figure 112019085707348-pat00387
p 1 = 251, p 2 = 18072001, p-어레이가 방정식 (4)의
Figure 112019085707348-pat00388
이며, 암호문이 방정식 (18)의
Figure 112019085707348-pat00389
인 다른 예에서, 결과물인 제1 모듈로 연산 결과 및 제2 모듈로 연산 결과는 각각 다음과 같을 것이다 :
Figure 112019085707348-pat00390
Figure 112019085707348-pat00391
수신단(3)이 업데이트된 공개키(K * public)를 사용하여 암호화된 상이한 암호문들(예를 들어,
Figure 112019085707348-pat00392
Figure 112019085707348-pat00393
)을 수신하더라도, 개인키(K private )를 사용하여 동일한 제2 모듈로 연산 결과(
Figure 112019085707348-pat00394
Figure 112019085707348-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 112021083332938-pat00396
    )를 생성하는 단계로서, 상기 p-벡터(
    Figure 112021083332938-pat00397
    )는
    Figure 112021083332938-pat00398
    로 정의되는데, f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, 단계;
    B) p-벡터(
    Figure 112021083332938-pat00399
    )에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
    Figure 112021083332938-pat00400
    )를 생성하는 단계로서, 상기 p-어레이(
    Figure 112021083332938-pat00401
    )는
    Figure 112021083332938-pat00402
    로 정의되며, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트(I)를 구성하며, 상기 p-어레이(
    Figure 112021083332938-pat00403
    )는
    Figure 112021083332938-pat00404
    로도 표현되는, 단계;
    C) 상기 p-어레이(
    Figure 112021083332938-pat00405
    )에 기초하여, 관련 매트릭스(
    Figure 112021083332938-pat00406
    )를 생성하는 단계로서, 상기 관련 매트릭스(
    Figure 112021083332938-pat00407
    )는 :
    Figure 112021083332938-pat00408
    로 정의되는데,
    Figure 112021083332938-pat00409
    (j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내고, 0 ≤ j ≤ (m-1)인, 단계;
    D) 관련 매트릭스
    Figure 112021083332938-pat00410
    와 사용자-정의된 양의 정수인 모듈러스
    Figure 112021083332938-pat00411
    에 기초하여, 상기 모듈러스
    Figure 112021083332938-pat00412
    에 대하여 인버스 p-어레이(
    Figure 112021083332938-pat00413
    )를 생성하는 단계로서, 상기 인버스 p-어레이(
    Figure 112021083332938-pat00414
    )는
    Figure 112021083332938-pat00415
    로 정의되는데,
    Figure 112021083332938-pat00416
    는 상기 모듈러스
    Figure 112021083332938-pat00417
    에 대한 관련 매트릭스
    Figure 112021083332938-pat00418
    의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
    Figure 112021083332938-pat00419
    로 정의되고, 그리고
    Figure 112021083332938-pat00420
    는 상기 관련 매트릭스
    Figure 112021083332938-pat00421
    의 수반 행렬(adjoint matrix)을 나타내는, 단계;
    E) 제1 기준 프라임(p1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p1 ), b로 표시되는 p-어레이
    Figure 112021083332938-pat00422
    의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
    Figure 112021083332938-pat00423
    ) 그리고 파라미터(m), 제2 기준 양의 정수(
    Figure 112021083332938-pat00424
    ) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p2 )을 결정하는 단계로서, 상기 미리 결정된 기준은
    Figure 112021083332938-pat00425
    을 포함하는, 단계;
    F) 제1 기준 프라임(p1 ) 및 제2 기준 프라임(p2 ) 각각이 인버스 p-어레이(
    Figure 112021083332938-pat00426
    )의 모듈러스(modulus)(
    Figure 112021083332938-pat00427
    )로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
    Figure 112021083332938-pat00428
    ) 및 제2 기준 인버스 p-어레이(
    Figure 112021083332938-pat00429
    )를 획득하는 단계로서, 상기 제1 기준 인버스 p-어레이(
    Figure 112021083332938-pat00430
    )는
    Figure 112021083332938-pat00431
    로 정의되는 개인키(Kprivate ) 역할을 하는, 단계; 및
    G) 상기 제2 기준 인버스 p-어레이(
    Figure 112021083332938-pat00432
    ), 상기 제1 기준 프라임(p1 ), 상기 제2 기준 프라임(p2 ) 및 키-생성 랜덤화 어레이(
    Figure 112021083332938-pat00433
    )에 기초하여 키-생성 랜덤화 어레이
    Figure 112021083332938-pat00434
    와 관련하여 공개키(Kpublic )를 생성하는 단계로서, 키-생성 랜덤화 어레이(
    Figure 112021083332938-pat00435
    )는 0과 제1 기준 양의 정수(
    Figure 112021083332938-pat00436
    ) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(Kpublic )는 개인키(Kprivate )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
    Figure 112021083332938-pat00437
    를 나타내는
    Figure 112021083332938-pat00438
    라고도 표시되는 어레이(
    Figure 112021083332938-pat00439
    )이며,
    Figure 112021083332938-pat00440
    는 키 생성 랜덤화 어레이(
    Figure 112021083332938-pat00441
    )에 대한 제2 기준 인버스 p-어레이(
    Figure 112021083332938-pat00442
    )의 키 생성 랜덤화 함수이며, 그리고
    Figure 112021083332938-pat00443
    로 정의되며, 여기서
    Figure 112021083332938-pat00444
    는 컨볼루션 곱셈 연산자를 나타내는, 단계를 포함하는, 포스트-퀀텀 비대칭 키 생성 방법.
  2. 프로세서에 의해 구현되는 암호화 방법으로서,
    청구항 1에 따른 포스트-퀀텀 비대칭 키 생성 방법에 따라 생성되는 공개키(K public ), 상기 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 프라임(p 2 ), 그리고 0과 상기 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 양의 정수(
    Figure 112019085707348-pat00445
    ) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
    Figure 112019085707348-pat00446
    )를 사용하여, 전송될 평문에 대응하고 m 개의 숫자 성분들을 갖는 데이터 어레이(
    Figure 112019085707348-pat00447
    )에 대한 암호화 절차를 수행하고, 그리고 상기 암호화 랜덤화 어레이(
    Figure 112019085707348-pat00448
    )에 관한 암호문(
    Figure 112019085707348-pat00449
    )을 획득하는 단계로서, 상기 암호문(
    Figure 112019085707348-pat00450
    )은 m 개의 암호화된 숫자 성분들을 갖는, 단계를 포함하는, 암호화 방법.
  3. 청구항 2에 있어서,
    상기 평문은 m 개의 문자들을 가지며,
    상기 데이터 어레이(
    Figure 112019085707348-pat00451
    )의 m 개의 숫자 성분들 각각은 0과 상기 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제1 기준 양의 정수(
    Figure 112019085707348-pat00452
    ) 사이이며, 그리고 상기 평문의 m 개의 문자들 중 대응하는 문자를 나타내는, 암호화 방법.
  4. 청구항 2에 있어서,
    상기 암호화 절차는 :
            공개키(K public ) 및 암호화 랜덤화 어레이(
    Figure 112019085707348-pat00453
    )에 기초하여,
    Figure 112019085707348-pat00454
    로 정의되는 암호화 랜덤화 함수(
    Figure 112019085707348-pat00455
    )를 생성하는 단계; 및
            상기 데이터 어레이(
    Figure 112019085707348-pat00456
    )와 상기 암호화 랜덤화 함수(
    Figure 112019085707348-pat00457
    )의 합에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산(modulo operation)을 수행함으로써 암호문(
    Figure 112019085707348-pat00458
    )을 획득하는 단계로서, 상기 암호문(
    Figure 112019085707348-pat00459
    )은
    Figure 112019085707348-pat00460
    로 표현되는, 단계를 포함하는, 암호화 방법.
  5. 프로세서에 의해 구현되는 해독 방법으로서,
    청구항 1에 따른 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 p-어레이(
    Figure 112019085707348-pat00461
    ), 개인키(K private ), 제1 기준 프라임(p 1 ) 및 제2 기준 프라임(p 2 )을 사용하여, 암호문(
    Figure 112019085707348-pat00462
    )에 대해 해독 절차를 수행하고, m 개의 해독된 숫자 성분들을 갖는 평문 어레이(
    Figure 112019085707348-pat00463
    )를 획득하는 단계를 포함하며,
    상기 암호문(
    Figure 112019085707348-pat00464
    )은 :
            상기 포스트-퀀텀 비대칭 키 생성 방법에 따라 생성되는 공개키, 상기 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 프라임(p 2 ), 그리고 0과 상기 포스트-퀀텀 비대칭 키 생성 방법에서 사용되는 제2 기준 양의 정수(
    Figure 112019085707348-pat00465
    ) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
    Figure 112019085707348-pat00466
    )를 사용하여, 전송될 평문에 대응하고 m 개의 숫자 성분들을 갖는 데이터 어레이(
    Figure 112019085707348-pat00467
    )에 대한 암호화 절차를 수행하고, 그리고 상기 암호화 랜덤화 어레이(
    Figure 112019085707348-pat00468
    )와 관련되고 m 개의 암호화된 숫자 성분들을 갖는 암호문(
    Figure 112019085707348-pat00469
    )을 획득함으로써 생성되는, 해독 방법.
  6. 청구항 5에 있어서,
    상기 해독 절차는 :
            상기 암호문(
    Figure 112019085707348-pat00470
    )과 상기 p-어레이(
    Figure 112019085707348-pat00471
    )의 제1 컨볼루션 결과에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산을 수행하여 제1 모듈로 연산 결과를 획득하며, 그리고 상기 제1 모듈로 연산 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 제2 모듈로 연산 결과(
    Figure 112019085707348-pat00472
    )를 획득하는 단계로서, 상기 제2 모듈로 연산 결과(
    Figure 112019085707348-pat00473
    )는
    Figure 112019085707348-pat00474
    로 정의되는, 단계; 및
            제2 모듈로 연산 결과(
    Figure 112019085707348-pat00475
    ) 그리고 개인키(K private ) 역할을 하는 제1 기준 인버스 p-어레이(
    Figure 112019085707348-pat00476
    )의 제2 컨볼루션 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 평문 어레이(
    Figure 112019085707348-pat00477
    )를 획득하는 단계로서, 상기 평문 어레이(
    Figure 112019085707348-pat00478
    )는
    Figure 112019085707348-pat00479
    로 정의되는, 단계를 포함하는, 해독 방법.
  7. 포스트-퀀텀 비대칭 키 생성 시스템으로서,
    프라임 p 그리고 시드 역할을 하는 클래식 스트링(classical string) 및 산술 함수 중 하나에 기초하여, 프라임 p와 관련되고 무한한 개수의 성분들을 갖는 p-벡터(
    Figure 112021083332938-pat00480
    )를 생성하도록 구성된 p-벡터 생성 모듈로서, 상기 p-벡터(
    Figure 112021083332938-pat00481
    )는
    Figure 112021083332938-pat00482
    로 정의되는데, f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, p-벡터 생성 모듈;
    상기 p-벡터 생성 모듈에 연결되고, 그리고 상기 p-벡터(
    Figure 112021083332938-pat00483
    )에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
    Figure 112021083332938-pat00484
    )를 생성하도록 구성되는 p-어레이 생성 모듈로서, 상기 p-어레이(
    Figure 112021083332938-pat00485
    )는
    Figure 112021083332938-pat00486
    로 정의되며, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트(I)를 구성하며, 상기 p-어레이(
    Figure 112021083332938-pat00487
    )는
    Figure 112021083332938-pat00488
    로도 표현되는, p-어레이 생성 모듈;
    상기 p-어레이 생성 모듈에 연결되고, 그리고 상기 p-어레이(
    Figure 112021083332938-pat00489
    )에 기초하여, 관련 매트릭스(
    Figure 112021083332938-pat00490
    )를 생성하도록 구성되는 관련 매트릭스 생성 모듈로서, 상기 관련 매트릭스(
    Figure 112021083332938-pat00491
    )는 :
    Figure 112021083332938-pat00492
    로 정의되는데,
    Figure 112021083332938-pat00493
    (j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내며, 0 ≤ j ≤ (m-1)인, 관련 매트릭스 생성 모듈;
    상기 관련 매트릭스 생성 모듈에 연결되고, 그리고 상기 관련 매트릭스
    Figure 112021083332938-pat00494
    와 사용자-정의된 양의 정수인 모듈러스
    Figure 112021083332938-pat00495
    에 기초하여, 상기 모듈러스
    Figure 112021083332938-pat00496
    에 대하여 인버스 p-어레이(
    Figure 112021083332938-pat00497
    )를 생성하도록 구성된 인버스 p-어레이 생성 모듈로서, 상기 인버스 p-어레이(
    Figure 112021083332938-pat00498
    )는
    Figure 112021083332938-pat00499
    로 정의되는데,
    Figure 112021083332938-pat00500
    는 상기 모듈러스
    Figure 112021083332938-pat00501
    에 대한 관련 매트릭스
    Figure 112021083332938-pat00502
    의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
    Figure 112021083332938-pat00503
    로 정의되고, 그리고
    Figure 112021083332938-pat00504
    는 상기 관련 매트릭스
    Figure 112021083332938-pat00505
    의 수반 행렬(adjoint matrix)을 나타내는, 인버스 p-어레이 생성 모듈;
    제1 기준 프라임(p1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p1 ), b로 표시되는 p-어레이
    Figure 112021083332938-pat00506
    의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
    Figure 112021083332938-pat00507
    ) 그리고 파라미터(m), 제2 기준 양의 정수(
    Figure 112021083332938-pat00508
    ) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p2 )을 결정하도록 구성된 기준 프라임 결정 모듈로서, 상기 미리 결정된 기준은
    Figure 112021083332938-pat00509
    을 포함하는, 기준 프라임 결정 모듈;
    상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제1 기준 프라임(p1 )이 인버스 p-어레이(
    Figure 112021083332938-pat00510
    )의 모듈러스(modulus)(
    Figure 112021083332938-pat00511
    )로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
    Figure 112021083332938-pat00512
    )를 획득하도록 구성된 개인키 생성 모듈로서, 상기 제1 기준 인버스 p-어레이(
    Figure 112021083332938-pat00513
    )는
    Figure 112021083332938-pat00514
    로 정의되는 개인키(Kprivate ) 역할을 하는, 개인키 생성 모듈; 및
    상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제2 기준 프라임(p2 )이 인버스 p-어레이(
    Figure 112021083332938-pat00515
    )의 모듈러스(modulus)(
    Figure 112021083332938-pat00516
    )로서 기능하게 함으로써, 제2 기준 인버스 p-어레이(
    Figure 112021083332938-pat00517
    )를 획득하도록 구성되고, 상기 제2 기준 인버스 p-어레이(
    Figure 112021083332938-pat00518
    ), 상기 제1 기준 프라임(p1 ), 상기 제2 기준 프라임(p2 ) 및 키-생성 랜덤화 어레이(
    Figure 112021083332938-pat00519
    )에 기초하여 키-생성 랜덤화 어레이
    Figure 112021083332938-pat00520
    와 관련하여 공개키(Kpublic )를 생성하도록 구성되는 공개키 생성 모듈로서, 상기 키-생성 랜덤화 어레이(
    Figure 112021083332938-pat00521
    )는 0과 제1 기준 양의 정수(
    Figure 112021083332938-pat00522
    ) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(Kpublic )는 개인키(Kprivate )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
    Figure 112021083332938-pat00523
    를 나타내는
    Figure 112021083332938-pat00524
    라고도 표시되는 어레이(
    Figure 112021083332938-pat00525
    )인, 공개키 생성 모듈을 포함하며,
    Figure 112021083332938-pat00526
    는 키 생성 랜덤화 어레이(
    Figure 112021083332938-pat00527
    )에 대한 제2 기준 인버스 p-어레이(
    Figure 112021083332938-pat00528
    )의 키 생성 랜덤화 함수이며, 그리고
    Figure 112021083332938-pat00529
    로 정의되며, 여기서
    Figure 112021083332938-pat00530
    는 컨볼루션 곱셈 연산자를 나타내는, 포스트-퀀텀 비대칭 키 생성 시스템.
  8. 청구항 7에 있어서,
    상기 p-어레이 생성 모듈, 상기 기준 프라임 결정 모듈, 상기 개인키 생성 모듈 및 상기 공개키 생성 모듈에 연결된 저장 모듈을 더 포함하며,
    상기 저장 모듈은 :
            상기 p-어레이 생성 모듈로부터 수신된 p-어레이(
    Figure 112021083332938-pat00531
    ), 상기 기준 프라임 결정 모듈로부터 수신된 상기 제1 기준 프라임(p1 ) 및 상기 제2 기준 프라임(p2 ), 상기 개인키 생성 모듈로부터 수신된 제1 기준 인버스 p-어레이(
    Figure 112021083332938-pat00532
    ), 그리고 상기 공개키 생성 모듈로부터 수신된 제2 기준 인버스 p-어레이(
    Figure 112021083332938-pat00533
    )를 저장하는, 포스트-퀀텀 비대칭 키 생성 시스템.
  9. 청구항 8에 있어서,
    상기 공개키 생성 모듈은 :
            상기 저장 모듈에 저장된 상기 제2 기준 인버스 p-어레이(
    Figure 112021083332938-pat00534
    ), 상기 제1 기준 프라임(p1 ) 및 상기 제2 기준 프라임(p2 ), 그리고 키-생성 랜덤화 어레이(
    Figure 112021083332938-pat00535
    )와 상이한 다른 키-생성 랜덤화 어레이(
    Figure 112021083332938-pat00536
    )에 기초하여, 상기 다른 키-생성 랜덤화 어레이(
    Figure 112021083332938-pat00537
    )와 관련하여 업데이트된 공개키(K* public)를 생성하도록 더 구성되며,
    상기 업데이트된 공개키(K* public)는 개인키(Kprivate )와 쌍을 이루며,
    상기 다른 키-생성 랜덤화 어레이(
    Figure 112021083332938-pat00538
    )는 0과 상기 제1 기준 양의 정수(
    Figure 112021083332938-pat00539
    ) 사이의 m 개의 숫자 성분들을 가지며, 그리고
    상기 공개키(K public)는
    Figure 112021083332938-pat00540
    를 나타내는
    Figure 112021083332938-pat00541
    라고도 표시되는, 포스트-퀀텀 비대칭 키 생성 시스템.
  10. 암호화 통신 시스템으로서,
    상기 암호화된 통신 시스템은 키 서버, 송신단 및 수신단을 포함하며,
    상기 키 서버는 :
            프라임 p 그리고 시드 역할을 하는 클래식 스트링(classical string) 및 산술 함수 중 하나에 기초하여, 프라임 p와 관련되고 무한한 개수의 성분들을 갖는 p-벡터(
    Figure 112021083332938-pat00542
    )를 생성하도록 구성된 p-벡터 생성 모듈로서, 상기 p-벡터(
    Figure 112021083332938-pat00543
    )는
    Figure 112021083332938-pat00544
    로 정의되는데, f는 상기 시드 역할을 하는 클래식 스트링 및 산술 함수 중 상기 하나를 나타내는, p-벡터 생성 모듈;
            상기 p-벡터 생성 모듈에 연결되고, 그리고 상기 p-벡터(
    Figure 112021083332938-pat00545
    )에 기초하여, m 개의 성분들을 갖고 프라임 p와 관련되는 p-어레이(
    Figure 112021083332938-pat00546
    )를 생성하도록 구성되는 p-어레이 생성 모듈로서, 상기 p-어레이(
    Figure 112021083332938-pat00547
    )는
    Figure 112021083332938-pat00548
    로 정의되며, 파라미터들 m, s 및 t 각각은 사용자-정의되는 양의 정수이며, 그리고 프라임 p 및 파라미터들 s, t는 협력하여 제1 파라미터 세트(I)를 구성하며, 상기 p-어레이(
    Figure 112021083332938-pat00549
    )는
    Figure 112021083332938-pat00550
    로도 표현되는, p-어레이 생성 모듈;
            상기 p-어레이 생성 모듈에 연결되고, 그리고 상기 p-어레이(
    Figure 112021083332938-pat00551
    )에 기초하여, 관련 매트릭스(
    Figure 112021083332938-pat00552
    )를 생성하도록 구성된 관련 매트릭스 생성 모듈로서, 상기 관련 매트릭스(
    Figure 112021083332938-pat00553
    )는 :
             
    Figure 112021083332938-pat00554
    로 정의되는데,
    Figure 112021083332938-pat00555
    (j)는 p-어레이의 m 개의 성분들 중 (j+1) 번째 성분을 나타내며, 0 ≤ j ≤ (m-1)인, 관련 매트릭스 생성 모듈;
            상기 관련 매트릭스 생성 모듈에 연결되고, 그리고 상기 관련 매트릭스
    Figure 112021083332938-pat00556
    와 사용자-정의된 양의 정수인 모듈러스
    Figure 112021083332938-pat00557
    에 기초하여, 상기 모듈러스
    Figure 112021083332938-pat00558
    에 대하여 인버스 p-어레이(
    Figure 112021083332938-pat00559
    )를 생성하도록 구성된 인버스 p-어레이 생성 모듈로서, 상기 인버스 p-어레이(
    Figure 112021083332938-pat00560
    )는
    Figure 112021083332938-pat00561
    로 정의되는데,
    Figure 112021083332938-pat00562
    는 상기 모듈러스
    Figure 112021083332938-pat00563
    에 대한 관련 매트릭스
    Figure 112021083332938-pat00564
    의 행렬식(determinant)의 인버스 모듈러스를 나타내며,
    Figure 112021083332938-pat00565
    로 정의되고, 그리고
    Figure 112021083332938-pat00566
    는 상기 관련 매트릭스
    Figure 112021083332938-pat00567
    의 수반 행렬(adjoint matrix)을 나타내는, 인버스 p-어레이 생성 모듈;
            제1 기준 프라임(p1 )을 임의로 선택하고, 그리고 상기 제1 기준 프라임(p1 ), b로 표시되는 p-어레이
    Figure 112021083332938-pat00568
    의 m 개의 성분들 중 가장 큰 것, 제1 기준 양의 정수(
    Figure 112021083332938-pat00569
    ) 그리고 파라미터(m), 제2 기준 양의 정수(
    Figure 112021083332938-pat00570
    ) 및 제3 기준 양의 정수(r)로 구성된 제2 파라미터 세트(S)와 관련된 미리 결정된 기준에 기초하여 제2 기준 프라임(p2 )을 결정하도록 구성된 기준 프라임 결정 모듈로서, 상기 미리 결정된 기준은
    Figure 112021083332938-pat00571
    을 포함하는, 기준 프라임 결정 모듈;
            상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제1 기준 프라임(p1 )이 인버스 p-어레이(
    Figure 112021083332938-pat00572
    )의 모듈러스(modulus)(
    Figure 112021083332938-pat00573
    )로서 기능하게 함으로써, 제1 기준 인버스 p-어레이(
    Figure 112021083332938-pat00574
    )를 획득하도록 구성된 개인키 생성 모듈로서, 상기 제1 기준 인버스 p-어레이(
    Figure 112021083332938-pat00575
    )는
    Figure 112021083332938-pat00576
    로 정의되는 개인키(Kprivate ) 역할을 하는, 개인키 생성 모듈; 및
            상기 인버스 p-어레이 생성 모듈 및 상기 기준 프라임 결정 모듈에 연결되고, 그리고 제2 기준 프라임(p2 )이 인버스 p-어레이(
    Figure 112021083332938-pat00577
    )의 모듈러스(modulus)(
    Figure 112021083332938-pat00578
    )로서 기능하게 함으로써, 제2 기준 인버스 p-어레이(
    Figure 112021083332938-pat00579
    )를 획득하도록 구성되고, 상기 제2 기준 인버스 p-어레이(
    Figure 112021083332938-pat00580
    ), 상기 제1 기준 프라임(p1 ), 상기 제2 기준 프라임(p2 ) 및 키-생성 랜덤화 어레이(
    Figure 112021083332938-pat00581
    )에 기초하여 키-생성 랜덤화 어레이
    Figure 112021083332938-pat00582
    와 관련하여 공개키(Kpublic )를 생성하도록 구성되는 공개키 생성 모듈로서, 상기 키-생성 랜덤화 어레이(
    Figure 112021083332938-pat00583
    )는 0과 제1 기준 양의 정수(
    Figure 112021083332938-pat00584
    ) 사이의 m 개의 숫자 성분을 가지며, 그리고 공개키(Kpublic )는 개인키(Kprivate )와 쌍을 이루며, 그리고 m 개의 숫자 성분들을 포함하고
    Figure 112021083332938-pat00585
    를 나타내는
    Figure 112021083332938-pat00586
    라고도 표시되는 어레이(
    Figure 112021083332938-pat00587
    )인, 공개키 생성 모듈을 포함하며,
    Figure 112021083332938-pat00588
    는 키 생성 랜덤화 어레이(
    Figure 112021083332938-pat00589
    )에 대한 제2 기준 인버스 p-어레이(
    Figure 112021083332938-pat00590
    )의 키 생성 랜덤화 함수이며, 그리고
    Figure 112021083332938-pat00591
    로 정의되며, 여기서
    Figure 112021083332938-pat00592
    는 컨볼루션 곱셈 연산자를 나타내며,
    상기 송신단은 상기 공개키(Kpublic ), 상기 제2 기준 프라임(p2 ) 및 상기 제2 기준 양의 정수(
    Figure 112021083332938-pat00593
    )를 저장하는 제1 저장 유닛, 그리고 상기 제1 저장 유닛에 연결된 제1 프로세서를 포함하며,
    상기 수신단은 상기 개인키(Kprivate ), 상기 p-어레이(
    Figure 112021083332938-pat00594
    ), 상기 제1 기준 프라임(p1 ) 및 상기 제2 기준 프라임(p2 )을 저장하는 제2 저장 유닛, 그리고 상기 제2 저장 유닛에 연결된 제2 프로세서를 포함하며,
    상기 수신단에 전송될 평문에 대응하고 그리고 m 개의 숫자 성분들을 갖는 데이터 어레이(
    Figure 112021083332938-pat00595
    )에 대해, 상기 제1 프로세서는 상기 제1 저장 유닛에 저장된 공개키(Kpublic ) 및 제2 기준 프라임(p2 ), 그리고 0과 상기 제2 기준 양의 정수(
    Figure 112021083332938-pat00596
    ) 사이의 m 개의 숫자 성분들을 갖는 암호화 랜덤화 어레이(
    Figure 112021083332938-pat00597
    )를 사용하여, 상기 데이터 어레이(
    Figure 112021083332938-pat00598
    )에 대한 암호화 절차를 수행하고, 그리고 상기 암호화 랜덤화 어레이(
    Figure 112021083332938-pat00599
    )에 관한 암호문(
    Figure 112021083332938-pat00600
    )을 획득하며, 그리고 상기 송신단은 제1 통신 채널을 통해 상기 수신단에 상기 암호문(
    Figure 112021083332938-pat00601
    )을 송신하며, 상기 암호문(
    Figure 112021083332938-pat00602
    )은 m 개의 암호화된 숫자 성분들을 가지며,
    상기 제2 프로세서에 의한 상기 암호문(
    Figure 112021083332938-pat00603
    )의 수신시, 상기 제2 프로세서는 상기 제2 저장 유닛에 저장된 개인키(Kprivate ), p-어레이(
    Figure 112021083332938-pat00604
    ), 제1 기준 프라임(p1 ) 및 제2 기준 프라임(p2 )을 사용하여, 암호문(
    Figure 112021083332938-pat00605
    )에 대해 해독 절차를 수행하고, m 개의 해독된 숫자 성분들을 갖고 상기 데이터 어레이(
    Figure 112021083332938-pat00606
    )와 동일한 평문 어레이(
    Figure 112021083332938-pat00607
    )를 획득하는, 암호화 통신 시스템.
  11. 청구항 10에 있어서,
    상기 평문은 m 개의 문자들을 가지며,
    상기 제1 프로세서는 상기 평문을 상기 데이터 어레이(
    Figure 112019085707348-pat00608
    )로 변환하기 위해 미리 결정된 문자-숫자 기술을 사용하도록 구성된 텍스트 변환 모듈을 가지며, 그리고
    상기 데이터 어레이(
    Figure 112019085707348-pat00609
    )의 m 개의 숫자 성분들 각각은 0과 상기 제1 기준 양의 정수(
    Figure 112019085707348-pat00610
    ) 사이이며, 그리고 상기 평문의 m 개의 문자들 중 대응하는 문자를 나타내는, 암호화 통신 시스템.
  12. 청구항 11에 있어서,
    상기 제1 프로세서는 암호화 랜덤화 함수 생성 모듈, 그리고 상기 텍스트 변환 모듈 및 상기 암호화 랜덤화 함수 생성 모듈에 연결된 암호문 생성 모듈을 가지며, 그리고
    상기 암호화 절차에서, 상기 암호화 랜덤화 함수 생성 모듈은, 공개키(K public ) 및 암호화 랜덤화 어레이(
    Figure 112019085707348-pat00611
    )에 기초하여,
    Figure 112019085707348-pat00612
    로 정의되는 암호화 랜덤화 함수(
    Figure 112019085707348-pat00613
    )를 생성하고; 그리고 상기 암호문 생성 모듈은 상기 데이터 어레이(
    Figure 112019085707348-pat00614
    )와 상기 암호화 랜덤화 함수(
    Figure 112019085707348-pat00615
    )의 합에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산(modulo operation)을 수행함으로써 암호문(
    Figure 112019085707348-pat00616
    )을 획득하고, 상기 암호문(
    Figure 112019085707348-pat00617
    )은
    Figure 112019085707348-pat00618
    로 표현되는, 암호화 통신 시스템.
  13. 청구항 10에 있어서,
    상기 제2 프로세서는 제1 컨볼루션 모듈 및 상기 제1 컨볼루션 모듈에 연결된 제2 컨볼루션 모듈을 가지며,
    상기 해독 절차에서, 상기 제1 컨볼루션 모듈은 상기 암호문(
    Figure 112019085707348-pat00619
    )과 상기 p-어레이(
    Figure 112019085707348-pat00620
    )의 제1 컨볼루션 결과를 계산하고, 상기 제1 컨볼루션 결과에 대해 제2 기준 프라임(p 2 )으로 모듈로 연산을 수행하여 제1 모듈로 연산 결과를 획득하며, 그리고 상기 제1 모듈로 연산 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 제2 모듈로 연산 결과(
    Figure 112019085707348-pat00621
    )를 획득하며, 상기 제2 모듈로 연산 결과(
    Figure 112019085707348-pat00622
    )는
    Figure 112019085707348-pat00623
    로 정의되고; 그리고 상기 제2 컨볼루션 모듈은 제2 모듈로 연산 결과(
    Figure 112019085707348-pat00624
    ) 그리고 개인키(K private ) 역할을 하는 제1 기준 인버스 p-어레이(
    Figure 112019085707348-pat00625
    )의 제2 컨볼루션 결과를 계산하고, 상기 제2 컨볼루션 결과에 대해 제1 기준 프라임(p 1 )으로 모듈로 연산을 수행하여 평문 어레이(
    Figure 112019085707348-pat00626
    )를 획득하고, 상기 평문 어레이(
    Figure 112019085707348-pat00627
    )는
    Figure 112019085707348-pat00628
    로 정의되는, 암호화 통신 시스템.
  14. 청구항 10에 있어서,
    상기 공개키(K public ) 전에, 상기 제2 기준 프라임(p 2 ) 및 상기 제2 기준 양의 정수(
    Figure 112019085707348-pat00629
    )는 상기 제1 저장 유닛에 저장되며, 상기 키 서버는 제2 통신 채널을 통해 상기 공개키(K public ), 상기 제2 기준 프라임(p 2 ) 및 상기 제2 기준 양의 정수(
    Figure 112019085707348-pat00630
    )를 상기 송신단에 송신하며, 그리고 상기 제1 프로세서는 상기 키 서버로부터 수신된 상기 공개키(K public ), 상기 제2 기준 프라임(p 2 ) 및 상기 제2 기준 양의 정수(
    Figure 112019085707348-pat00631
    )를 상기 제1 저장 유닛에 저장하며; 그리고
    상기 개인키(K private )전에, 상기 p-어레이(
    Figure 112019085707348-pat00632
    ), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 )은 상기 제2 저장 유닛에 저장되며, 상기 키 서버는 제3 통신 채널을 통해 상기 개인키(K private ), 상기 p-어레이(
    Figure 112019085707348-pat00633
    ), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 )을 상기 수신단에 송신하며, 그리고 상기 제2 프로세서는 상기 키 서버로부터 수신된 상기 개인키(K private ), 상기 p-어레이(
    Figure 112019085707348-pat00634
    ), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 )을 상기 제2 저장 유닛에 저장하는, 암호화 통신 시스템.
  15. 청구항 14에 있어서,
    상기 키 서버는 상기 p-어레이 생성 모듈, 상기 기준 프라임 결정 모듈, 상기 개인키 생성 모듈 및 상기 공개키 생성 모듈에 연결된 저장 모듈을 더 포함하며,
    상기 저장 모듈은 상기 p-어레이 생성 모듈로부터 수신된 p-어레이(
    Figure 112019085707348-pat00635
    ), 상기 기준 프라임 결정 모듈로부터 수신된 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 ), 상기 개인키 생성 모듈로부터 수신된 제1 기준 인버스 p-어레이(
    Figure 112019085707348-pat00636
    ), 그리고 상기 공개키 생성 모듈로부터 수신된 제2 기준 인버스 p-어레이(
    Figure 112019085707348-pat00637
    )를 저장하는, 암호화 통신 시스템.
  16. 청구항 15에 있어서,
    상기 공개키 생성 모듈은 :
            상기 제2 기준 인버스 p-어레이(
    Figure 112019085707348-pat00638
    ), 상기 제1 기준 프라임(p 1 ), 상기 제2 기준 프라임(p 2 ), 그리고 키-생성 랜덤화 어레이(
    Figure 112019085707348-pat00639
    )와 상이한 다른 키-생성 랜덤화 어레이(
    Figure 112019085707348-pat00640
    )에 기초하여, 상기 다른 키-생성 랜덤화 어레이(
    Figure 112019085707348-pat00641
    )와 관련하여 업데이트된 공개키(K * public)를 생성하도록 더 구성되며, 상기 업데이트된 공개키(K * public)는 개인키(K private )와 쌍을 이루며, 상기 다른 키-생성 랜덤화 어레이(
    Figure 112019085707348-pat00642
    )는 0과 상기 제1 기준 양의 정수(
    Figure 112019085707348-pat00643
    ) 사이의 m 개의 숫자 성분들을 가지며, 그리고 상기 공개키(K public)는
    Figure 112019085707348-pat00644
    를 나타내는
    Figure 112019085707348-pat00645
    라고도 표시되며;
    상기 키 서버는 상기 제2 통신 채널을 통해 상기 송신단에 상기 업데이트된 공개키(K * public)를 송신하며;
    상기 키 서버로부터의 상기 업데이트된 공개키(K * public)의 수신시, 상기 제1 프로세서는 상기 제1 저장 유닛에 저장된 상기 공개키(K public)가 상기 업데이트된 공개키(K * public)가 되도록 업데이트하며;
    상기 공개키(K public)가 상기 업데이트된 공개키(K * public)가 되도록 업데이트한 후, 상기 제1 프로세서는 상기 업데이트된 공개키(K * public), 상기 제2 기준 프라임(p 2 ) 및 암호화 랜덤화 어레이(
    Figure 112019085707348-pat00646
    )를 사용하여, 데이터 어레이(
    Figure 112019085707348-pat00647
    )에 대해 암호화 절차를 수행하며, 그리고 상기 업데이트된 공개키(K * public) 및 암호화 랜덤화 어레이(
    Figure 112019085707348-pat00648
    )와 관련하여 다른 암호문(
    Figure 112019085707348-pat00649
    )을 획득하며, 그리고 상기 송신단은 상기 제1 통신 채널을 통해 상기 다른 암호문(
    Figure 112019085707348-pat00650
    )을 상기 수신단에 송신하며, 상기 다른 암호문(
    Figure 112019085707348-pat00651
    )은 m 개의 암호화된 숫자 성분들을 가지며; 그리고
    상기 제2 프로세서에 의한 상기 다른 암호문(
    Figure 112019085707348-pat00652
    )의 수신시, 상기 제2 프로세서는 상기 제2 저장 유닛에 저장된 상기 개인키(K private ), 상기 p-어레이(
    Figure 112019085707348-pat00653
    ), 상기 제1 기준 프라임(p 1 ) 및 상기 제2 기준 프라임(p 2 )을 사용하여 상기 다른 암호문(
    Figure 112019085707348-pat00654
    )에 대해 해독 절차를 수행하며, 그리고 평문 어레이(
    Figure 112019085707348-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 KR20200036727A (ko) 2020-04-07
KR102354456B1 true 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
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
US11477016B1 (en) * 2019-09-10 2022-10-18 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
US11449799B1 (en) 2020-01-30 2022-09-20 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
US11838410B1 (en) 2020-01-30 2023-12-05 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
KR102222080B1 (ko) * 2020-02-24 2021-03-04 한국전자통신연구원 양자 개체 인증 장치 및 방법
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
US10817590B1 (en) * 2020-02-26 2020-10-27 Amera IoT Inc. Method and apparatus for creating and using quantum resistant keys
US11258602B2 (en) * 2020-02-26 2022-02-22 Amera IoT Inc. Method and apparatus for secure private key storage on IoT device
US11271911B2 (en) 2020-02-26 2022-03-08 Amera Lot Inc. Method and apparatus for imprinting private key on IoT
CN112347498B (zh) * 2020-12-01 2022-10-28 南阳理工学院 一种加密方法、装置、电子设备及可读存储介质
CN113792305B (zh) * 2021-08-18 2023-11-14 广州城建职业学院 加密解密方法、系统、设备及计算机可读存储介质
WO2023198036A1 (zh) * 2022-04-11 2023-10-19 华为技术有限公司 一种密钥生成方法、装置及设备
US20240037553A1 (en) * 2022-07-28 2024-02-01 Brax Kinsey 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
CN110958112B (zh) 2022-06-28
TW202013927A (zh) 2020-04-01
JP2020052393A (ja) 2020-04-02
JP7053537B6 (ja) 2023-12-20
US20200106606A1 (en) 2020-04-02
EP3629517A1 (en) 2020-04-01
CN110958112A (zh) 2020-04-03
TWI672932B (zh) 2019-09-21
JP2022059057A (ja) 2022-04-12
US11218308B2 (en) 2022-01-04
KR20200036727A (ko) 2020-04-07
JP7053537B2 (ja) 2022-04-12

Similar Documents

Publication Publication Date Title
KR102354456B1 (ko) 프라임 모듈로 이중 캡슐화에 기초한 일대다 분산 키 관리 기능을 갖춘 포스트 퀀텀 비대칭 키 암호 시스템
US11394526B2 (en) Compressible (F)HE with applications to PIR
US11431498B2 (en) Quantum-augmentable hybrid encryption system and method
US11991285B2 (en) Configurable cryptographic device
US7054445B2 (en) Authentication method and schemes for data integrity protection
US8320559B1 (en) Identity-based-encryption system
US11212099B2 (en) Cryptographic device with updatable shared matrix
WO1997031448A1 (fr) Methode de communication utilisant une cle commune
US20230019301A1 (en) Attribute-based encryption (abe) method with multiple tracing attribute authorities for cloud-assisted internet-of-things (iot)
US20170005792A1 (en) Key agreement device and method
Yusfrizal et al. Key management using combination of Diffie–Hellman key exchange with AES encryption
CN107147626B (zh) 一种AES算法与ElGamal算法相结合的加密文件传输方法
Balasubramanian Hash functions and their applications
KR20030047148A (ko) Rsa를 이용한 클라이언트/서버 기반의 메신저 보안 방법
CN108768923A (zh) 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法
EP1456997B1 (en) System and method for symmetrical cryptography
JP2004246350A (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
US20140044261A1 (en) Method and system of cryptographic processing of a message
Xu et al. Efficient Private Information Retrieval Protocol with Homomorphically Computing Univariate Polynomials
JP2014017763A (ja) 暗号更新システム、暗号更新要求装置、暗号更新装置、復号装置、暗号更新方法、および、コンピュータ・プログラム
Wang et al. CP-ABE Optimization via the Flexible Integration of Access Policies Containing Multiple Shared Subpolicies
JP2886516B2 (ja) 暗号鍵共有システム
Abdelgader et al. Design of a secure file transfer system using hybrid encryption techniques
JPH1079729A (ja) 共通鍵通信方法
Atighehchi et al. A cryptographic keys transfer protocol for secure communicating systems

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