KR101984297B1 - 메시지 인코딩 방법, 메시지 암호화 방법 및 장치 - Google Patents

메시지 인코딩 방법, 메시지 암호화 방법 및 장치 Download PDF

Info

Publication number
KR101984297B1
KR101984297B1 KR1020190037993A KR20190037993A KR101984297B1 KR 101984297 B1 KR101984297 B1 KR 101984297B1 KR 1020190037993 A KR1020190037993 A KR 1020190037993A KR 20190037993 A KR20190037993 A KR 20190037993A KR 101984297 B1 KR101984297 B1 KR 101984297B1
Authority
KR
South Korea
Prior art keywords
message
matrix
block
message block
bit
Prior art date
Application number
KR1020190037993A
Other languages
English (en)
Inventor
이동환
김용현
박종환
서민혜
Original Assignee
국방과학연구소
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국방과학연구소, 고려대학교 산학협력단 filed Critical 국방과학연구소
Priority to KR1020190037993A priority Critical patent/KR101984297B1/ko
Application granted granted Critical
Publication of KR101984297B1 publication Critical patent/KR101984297B1/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/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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명의 일 실시예에 따른 메시지 암호화 장치는, 메시지를 인코딩하여 제1 행렬을 생성하는 인코딩부와,
Figure 112019033385118-pat00090
(상기 B, 상기 m 및 상기 v 각각은 기지정된 양의 정수)에서 랜덤하게 제2 행렬을 선택하고,
Figure 112019033385118-pat00091
(상기 GDs는 기지정된 가우시안 분포, 상기 n은 상기 m보다 작도록 기지정된 양의 정수)에서 랜덤하게 제3 행렬을 선택하고,
Figure 112019033385118-pat00092
(상기 k는 m-n 보다 작도록 기지정된 양의 정수)에서 랜덤하게 제4 행렬을 선택하는 행렬 선택부와, 미리 생성된 공개키, 상기 제2 행렬, 및 상기 제3 행렬을 이용하여 암호문의 제1 부분을 생성하고, 상기 공개키, 상기 제1 행렬, 상기 제2 행렬 및 상기 제4 행렬을 이용하여 상기 암호문의 제2 부분을 생성하는 암호문 생성부와, 상기 제1 부분과 상기 제2 부분에 기초하여 상기 암호문을 출력하는 출력부를 포함할 수 있다.

Description

메시지 인코딩 방법, 메시지 암호화 방법 및 장치 {METHOD FOR MESSAGE ENCODING, METHOD AND APPARATUS FOR MESSAGE ENCRYPTION}
본 발명은 메시지 인코딩 방법, 메시지 암호화 방법 및 장치에 관한 것이다. 보다 구체적으로, 본 발명은 다중 비트 인코딩을 이용한 공개키 기반 메시지 암호화 방법 및 이를 이용한 메시지 암호화 장치에 관한 것이다.
암호화 방법에는 크게 대칭키 암호화 방법과 비대칭키 암호화 방법이 있다. 대칭키 암호화 방법은 암호화에 사용하는 키와 복호화에 사용하는 키가 동일하기 때문에 속도는 빠르지만 키의 분실 등으로 인해 보안성이 담보되지 않는 단점이 있었다. 그러한 문제를 해결하기 위하여 등장한 것이 비대칭키 암호화 방법(이하, '공개키 암호화 방법')이다. 비대칭키 암호화 방법에 의하면 제3자에게 공개하는 공개키와, 사용자 본인만 보유하는 비밀키(개인키)를 사용하며, 암호문을 수신인의 공개키로 암호화하면, 수신인은 암호문을 자신만이 가지고 있는 비밀키로 복호화하게 된다.
비대칭암호화 방법 중에서 대표적인 것이 1978년에 Ron Rivest, Adi Shamir, Leonard Adleman이 제안한 RSA 방식이며, 초기 스킴(scheme)에서 계속 발전하여 현재 가장 상업적으로 널리 사용되고 있다.
그러나 현재 연구가 활발하고 향후 등장할 예정인 양자 컴퓨터가 실용화되면 RSA 방식의 비대칭 암호문은 양자 컴퓨터에 의해 손쉽게 풀릴 수 있기 때문에 그에 대한 대안이 필요해지는 상황이다.
이러한 상황에서, 2005년 Regev에 의해 LWE(Learning With Errors problem) 기반의 공개키 암호 기법이 제안된 바 있다(O. Regev. On lattices, learning with errors, random linear codes, and cryptography. In STOC, LNCS, pages 84-93, 2005). 그 후로도 Regev에 의해 제안된 LWE 기법에 기초하여 공개키 암호화 기술은 지속적으로 발전해 왔다.
그러나, Regev에 의해 제안된 LWE 기법을 이용하는 암호화 방식은 1비트 메시지를 복원하기 위해 1번의 비교 연산을 수행해야 한다. 즉, 메시지가 n비트인 경우, 복호화 과정에서 메시지를 정확하게 복원하기 위해서는 행렬 연산 외에도 n번의 비교 연산을 추가적으로 수행해야 한다. 따라서, n 비트와 같은 다중 비트를 보다 효율적으로 암호화(또는 복호화)하기 위한 방안이 요구된다.
한국등록특허 제10-1905689호 (2018년 10월 01일 등록)
본 발명이 해결하고자 하는 과제는, 다중 비트를 보다 효율적으로 인코딩하거나 디코딩할 수 있는 공개키 암호화 방법 및 장치를 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 바로 제한되지 않으며, 언급되지는 않았으나 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있는 목적을 포함할 수 있다.
본 발명의 일 실시예에 따른 적어도 하나의 프로세서에 의해 수행되는 적어도 하나의 메시지 블록으로 구성된 메시지의 인코딩 방법에 있어서, 적어도 하나의 프로세서에 의해 수행되는, 적어도 하나의 메시지 블록으로 구성된 메시지의 인코딩 방법에 있어서, 상기 메시지를 상기 적어도 하나의 메시지 블록으로 구분하는 단계와, 상기 적어도 하나의 메시지 블록 각각에 추가 메시지를 연결하는 단계와, 상기 적어도 하나의 메시지 블록 각각에서 발생 가능한 에러의 크기는 d 비트이고, 상기 추가 메시지는 크기가 d+1 비트인 비트 스트링(string)을 포함하며, 상기 비트 스트링은
Figure 112019033385118-pat00001
일 수 있다.
또한, 상기 인코딩된 적어도 하나의 메시지 블록 각각의 추가 메시지는 디코딩되는 과정에서 제거될 수 있다.
또한, 상기 메시지는
Figure 112019033385118-pat00002
비트이고, 상기 적어도 하나의 메시지 블록은
Figure 112019033385118-pat00003
개이며, 상기 적어도 하나의 메시지 블록 각각은
Figure 112019033385118-pat00004
보다 작은 크기인 t비트일 수 있다.
본 발명의 일 실시예에 따른 적어도 하나의 프로세서에 의해 수행되는 메시지 암호화 방법에 있어서, 메시지를 인코딩하여 제1 행렬을 생성하는 단계와,
Figure 112019033385118-pat00005
(상기 B, 상기 m 및 상기 v 각각은 기지정된 양의 정수)에서 랜덤하게 제2 행렬을 선택하는 단계와,
Figure 112019033385118-pat00006
(상기 GDs는 기지정된 가우시안 분포, 상기 n은 상기 m보다 작도록 기지정된 양의 정수)에서 랜덤하게 제3 행렬을 선택하고,
Figure 112019033385118-pat00007
(상기 k는 m-n 보다 작도록 기지정된 양의 정수)에서 랜덤하게 제4 행렬을 선택하는 단계와, 미리 생성된 공개키, 상기 제2 행렬, 및 상기 제3 행렬을 이용하여 암호문의 제1 부분을 생성하는 단계와, 상기 공개키, 상기 제1 행렬, 상기 제2 행렬 및 상기 제4 행렬을 이용하여 상기 암호문의 제2 부분을 생성하는 단계와, 상기 제1 부분과 상기 제2 부분에 기초하여 상기 암호문을 출력하는 단계를 포함할 수 있다.
또한, 상기 메시지는 적어도 하나의 메시지 블록으로 구성되고, 상기 제1 행렬을 생성하는 단계는, 상기 메시지를 적어도 하나의 메시지 블록으로 구분하는 단계와, 상기 적어도 하나의 메시지 블록 각각에 추가 메시지를 연결하여 상기 메시지를 상기 제1 행렬로 출력하는 단계를 포함하고, 상기 적어도 하나의 메시지 블록 각각에서 발생 가능한 에러의 크기는 d 비트이고, 상기 추가 메시지는 d+1 비트 크기의 비트 스트링을 포함하며, 상기 비트 스트링은
Figure 112019033385118-pat00008
일 수 있다.
또한, 상기 인코딩된 적어도 하나의 메시지 블록 각각의 추가 메시지는 디코딩되는 과정에서 제거될 수 있다.
또한, 상기 메시지는
Figure 112019033385118-pat00009
비트이고, 상기 적어도 하나의 메시지 블록은
Figure 112019033385118-pat00010
개이며, 상기 적어도 하나의 메시지 블록 각각은
Figure 112019033385118-pat00011
보다 작은 크기인 t비트일 수 있다.
또한, 상기 제1 행렬은,
Figure 112019033385118-pat00012
행렬을 포함하고, 상기 암호문은, 미리 생성된 비밀키가 입력됨에 기초하여 복호화가 수행되는 구성일 수 있다.
또한, 상기 공개키와 상기 비밀키 각각은,
Figure 112019033385118-pat00013
(상기 m은 상기 n은 )에서 랜덤하게 선택된 제5 행렬,
Figure 112019033385118-pat00014
에서 랜덤하게 선택된 제6 행렬, 및
Figure 112019033385118-pat00015
에서 랜덤하게 선택된 제7 행렬을 이용하여 산출되는 제8 행렬의 적어도 일부로 이루어질 수 있다.
또한, 상기 제8 행렬은, F = AX+E (mod q) (상기 F는 상기 제8 행렬, 상기 A는 상기 제5 행렬, 상기 X는 상기 제6 행렬, 상기 E는 상기 제7 행렬)일 수 있다.
본 발명의 일 실시예에 따른 메시지 암호화 장치는, 메시지를 인코딩하여 제1 행렬을 생성하는 인코딩부와,
Figure 112019033385118-pat00016
(상기 B, 상기 m 및 상기 v 각각은 기지정된 양의 정수)에서 랜덤하게 제2 행렬을 선택하고,
Figure 112019033385118-pat00017
(상기 GDs는 기지정된 가우시안 분포, 상기 n은 상기 m보다 작도록 기지정된 양의 정수)에서 랜덤하게 제3 행렬을 선택하고,
Figure 112019033385118-pat00018
(상기 k는 m-n 보다 작도록 기지정된 양의 정수)에서 랜덤하게 제4 행렬을 선택하는 행렬 선택부와, 미리 생성된 공개키, 상기 제2 행렬, 및 상기 제3 행렬을 이용하여 암호문의 제1 부분을 생성하고, 상기 공개키, 상기 제1 행렬, 상기 제2 행렬 및 상기 제4 행렬을 이용하여 상기 암호문의 제2 부분을 생성하는 암호문 생성부와, 상기 제1 부분과 상기 제2 부분에 기초하여 상기 암호문을 출력하는 출력부를 포함할 수 있다.
또한, 상기 인코딩부는, 상기 메시지를 적어도 하나의 메시지 블록으로 구분하고, 상기 적어도 하나의 메시지 블록 각각에 추가 메시지를 연결하여 상기 메시지를 상기 제1 행렬로 출력하며, 상기 적어도 하나의 메시지 블록 각각에서 발생 가능한 에러의 크기는 d 비트이고, 상기 추가 메시지는 d+1 비트 크기의 비트 스트링을 포함하며, 상기 비트 스트링은
Figure 112019033385118-pat00019
일 수 있다.
또한, 상기 인코딩된 적어도 하나의 메시지 블록 각각의 추가 메시지는 디코딩되는 과정에서 제거될 수 있다.
또한, 상기 메시지는
Figure 112019033385118-pat00020
비트이고, 상기 적어도 하나의 메시지 블록은
Figure 112019033385118-pat00021
개이며, 상기 적어도 하나의 메시지 블록 각각은
Figure 112019033385118-pat00022
보다 작은 크기인 t비트일 수 있다.
또한, 상기 제1 행렬은,
Figure 112019033385118-pat00023
행렬을 포함하고, 상기 암호문은, 미리 생성된 비밀키가 입력됨에 기초하여 복호화가 수행되는 구성일 수 있다.
본 발명의 실시예에 따른 암호화 방법 및 장치는, 메시지의 가공 과정에서 발생가능한 에러의 크기를 고려하여 다중 비트 인코딩을 수행함으로써, 비교 연산을 최소화여 메시지 암호화 및 복호화의 효율을 향상시키고, 보다 정확하게 메시지가 복호화되도록 할 수 있다.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 암호화 장치에 의해 인코딩 된 메시지를 개념적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 암호화 장치에 의해 인코딩 된 메시지에 에러가 삽입되는 경우의 예를 도시한다.
도 3은 본 발명의 일 실시예에 따른 암호화 장치의 기능 블록도를 도시한다.
도 4는 본 발명의 일 실시예에 따른 암호화 방법의 각 단계의 흐름을 도시한다.
도 5는 본 발명의 일 실시예에 따른 암호화 방법에서 인코딩 단계의 흐름을 구체적으로 도시한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 포함할 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로서 이해되어야 한다.
제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 이와 같은 용어들에 의해 한정되지는 않는다. 이 용어들은 하나의 구성요소들을 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 암호화 장치에 의해 인코딩된 메시지를 개념적으로 도시한다.
도 1을 참조하면, 암호화 장치에 의해 인코딩된 메시지는
Figure 112019033385118-pat00024
행렬로 나타날 수 있다. 메시지는 t 비트 크기를 가지는 메시지 블록으로 구성될 수 있으며, 메시지 블록은 도 1에서 도시된 바와 같이 M[1,1] 내지 M[v,k]와 같은 메시지에 대한
Figure 112019033385118-pat00025
행렬의 성분으로 표현될 수 있다.
메시지에 대해 인코딩이 수행되면, 메시지 블록 각각에 메시지 고유의 내용과 관련된 d+1 비트 크기의 추가 메시지가 t 비트에 연결(또는 부가)될 수 있다. d는 메시지 암호화 과정에서 생성되는 에러의 크기로, 미리 지정된 값(또는 미리 공개된 값)일 수 있다. 추가 메시지는 이러한 에러의 크기를 반영하여, 에러의 크기보다 큰 크기를 가지도록 메시지의 인코딩 과정에서 메시지 블록 각각에 추가되는 것일 수 있다.
구체적으로, 추가 메시지는,
Figure 112019033385118-pat00026
형태를 가지는 d+1 크기의 비트 스트링일 수 있다. 이에 따라, 추가 메시지가 추가된 메시지 블록은 도 1과 같이, t 비트에 1의 값을 가지는 한 개의 비트가 연결된 후, 이어서 0의 값을 가지는 d개의 비트가 연결될 수 있다.
도 2는 본 발명의 일 실시예에 따른 암호화 장치에 의해 인코딩 된 메시지에 에러가 삽입되는 경우의 예를 도시한다.
도 2를 참조하면, 추가 메시지가 부가된 메시지 블록의 각각에 에러(ε)가 삽입될 수 있다. 여기서, 에러는 LWE(Learning With Error) 기법에 기초하여, 공개키와 비밀키를 생성하는 단계에서부터 보안을 향상시키기 위해 생성하는 값일 수 있다.
구체적으로, 에러의 생성 범주는 미리 지정되어 있을 수 있으며, 이에 따라 발생 가능한 에러의 크기가 미리 결정되어 있을 수 있다. 예를 들어, 에러는 소정의 표준편차를 가지는 이산 가우시안 분포에서 랜덤하게 산출될 수 있으나, 이에 제한되는 것을 아니다. 에러의 생성과 관련하여서는 통상의 기술자에게 용이한 바 자세한 설명은 생략하겠다.
도 2를 참조하면, 추가 메시지는 d+1 비트 크기를 가지는
Figure 112019033385118-pat00027
일 수 있다. 구체적으로, 추가 메시지는 메시지 블록에 연결되는
Figure 112019033385118-pat00028
라는 값을 가지는 비트 스트링일 수 있다. 한편,
Figure 112019033385118-pat00029
는 같은 개수의 행을 가지는 행렬을 나란히 연결하여 새로운 행렬을 산출하는 기호로, 통상의 기술자에게 용이한 바 자세한 설명은 생략하겠다.
추가 메시지는 메시지를 구성하는 메시지 블록 각각에 연결될 수 있다. i행, j열에서의 메시지 블록 M( i,j )에 대해, 추가 메시지가 연결되면, 메시지 블록은
Figure 112019033385118-pat00030
의 형태로 나타날 수 있다. 추가 메시지는 메시지 블록 각각에 모두 연결되기 때문에, 인코딩 결과
Figure 112019033385118-pat00031
(이하, '출력값')가 출력될 수 있다. 도 2는 출력값을 개념적으로 도시한다.
d는 상술한 바와 같이 기지정된 에러의 크기일 수 있고, 이에 따라, 암호화 과정에서 인코딩에 의한 출력값에 에러가 삽입될 수 있다. 에러가 양수인 경우, 출력값은 제1 형태(11)와 같이 도출될 수 있다. 에러가 음수인 경우, 출력값은 제2 형태(12)와 같이 도출될 수 있다.
보다 구체적으로 설명하면, 에러가 양수인 경우, 발생한 에러는 출력값의 하위 비트 영벡터 부분에 더해지기 때문에 메시지 블록에 어떠한 영향도 주지 않는다. 즉, 메시지 블록 M의 인코딩 출력값과 에러의 덧셈 결과는
Figure 112019033385118-pat00032
가 된다.
에러가 음수인 경우, 발생한 에러는 출력값의 하위 비트 영벡터 부분보다 상위 비트에까지 영향을 주게 된다. 하지만, 추가 메시지의 삽입에 의해 중간에 비트 1이 존재하기 때문에, 메시지에는 에러가 전이되지 않는다. 즉, 메시지의 인코딩 출력값과 에러의 덧셈 결과는
Figure 112019033385118-pat00033
가 된다.
후술하겠으나, 암호화 장치는 추가 메시지를 삽입하여 메시지에 대한 인코딩을 수행하고, 인코딩 결과 출력된 출력값에 에러를 더하는 것에 기초하여 암호화를 수행할 수 있다. 이와 같이 암호화된 암호문의 복호화 과정에서는 추가 메시지 크기만큼의 비트를 제거하기만 하면 되기 때문에, 메시지의 크기만큼의 비트 각각에 대해, 예를 들어 메시지 크기가 20 비트이면 20 비트 각각에 대한 비교 연산을 수행하지 않고 보다 신속하게 복호화를 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 암호화 장치의 기능 블록도를 도시한다. 이하 사용되는 '…부'등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 3을 참조하면, 암호화 장치(100)는 인코딩부(110), 행렬 선택부(120), 암호문 생성부(130), 암호문 출력부(140)를 포함할 수 있다. 인코딩부(110)는 마이크로프로세서(microprocessor)를 포함하는 연산 장치에 의해 구현될 수 있으며, 이는 후술할 행렬 선택부(120), 암호문 생성부(130), 암호문 출력부(140)에 있어서도 같다.
인코딩부(110)는 메시지를 인코딩하여 제1 행렬을 생성할 수 있다. 보다 구체적으로, 인코딩부(110)는 메시지를 적어도 하나의 메시지 블록으로 나눌 수 있다. 적어도 하나의 메시지 블록으로 나누어진 메시지는 행렬의 형태로 나타날 수 있다. 예를 들어, 적어도 하나의 메시지 블록의 수가
Figure 112019033385118-pat00034
개(예: 6개)인 경우, 행렬의 성분의 개수는
Figure 112019033385118-pat00035
개(예: 6개)일 수 있고, 이에 따라 메시지는 적어도 하나의 메시지 블록을 성분으로 가지는
Figure 112019033385118-pat00036
행렬(2x3 행렬, 즉, v열과 k행을 가지는 행렬)로 나타날 수 있다.
인코딩부(110)는 나누어진 적어도 하나의 메시지 블록 각각에 추가 메시지를 연결할 수 있다. 적어도 하나의 메시지 블록 각각에 연결되는 추가 메시지는 (d+1) 크기를 가지는 비트 스트링인
Figure 112019033385118-pat00037
일 수 있다. 여기서, d는 메시지 암호문의 복호화 과정에서 발생 가능한 에러의 크기로, 기지정된 값일 수 있다. 즉, 추가 메시지는 에러의 크기보다 큰 값으로 미리 지정되어, 적어도 하나의 메시지 블록에 연결될 수 있다.
인코딩부(110)는 상술한 바와 같이 적어도 하나의 메시지 블록으로 메시지를 구분하고 추가 메시지를 삽입함으로써 메시지에 대한 인코딩을 수행할 수 있다. 인코딩부(110)는 추가 메시지가 삽입된 적어도 하나의 메시지 블록 각각을 행렬의 성분으로 가지는 메시지에 대한 행렬을 제1 행렬로 출력할 수 있다. 제1 행렬은 인코딩 결과 출력된 출력값일 수 있다.
행렬 선택부(120)는 암호화를 위한 복수의 행렬을 각각 선택할 수 있다. 보다 구체적으로, 행렬 선택부(120)는
Figure 112019033385118-pat00038
(B, m 및 v 각각은 기지정된 양의 정수)에서 랜덤하게 제2 행렬을 선택하고,
Figure 112019033385118-pat00039
(GDs는 기지정된 가우시안 분포, n은 m 보다 작도록 기지정된 양의 정수)에서 랜덤하게 제3 행렬을 선택하고,
Figure 112019033385118-pat00040
(k는 m-n 보다 작도록 기지정된 양의 정수)에서 랜덤하게 제4 행렬을 선택할 수 있다.
행렬 선택부(120)는 [-B,B]의 범위에서 성분을 가지는
Figure 112019033385118-pat00041
행렬을 제2 행렬로 선택할 수 있다. 예를 들어, 제2 행렬이
Figure 112019033385118-pat00042
에서 랜덤하게 선택되는 경우, 제2 행렬은 m개의 행을 가지고 v개의 열을 가지는 행렬일 수 있으며, 제2 행렬의 성분은 -1, 0 및 1 중에서 랜덤하게 선택된 것일 수 있다. 다시 말해, 제2 행렬은
Figure 112019033385118-pat00043
행렬로 그 성분이 -1, 0 또는 1로 구성된 것일 수 있다. 경우에 따라, m은 n+k를 만족하는 양의 정수 일 수 있고, v는 인코딩되어 출력되는 제1 행렬의 행의 개수로 기지정된 값일 수 있다. 여기서, k는 제1 행렬의 열의 개수일 수 있다.
행렬 선택부(120)는 기지정된 가우시안 분포 GDs에서 v개의 행과 n개의 열을 가지는 제3 행렬과 v개의 행과 k개의 열을 가지는 제4 행렬 각각의 성분을 랜덤하게 선택할 수 있다.
암호문 생성부(130)는 제1 행렬 내지 제4 행렬을 이용하여 암호문을 생성할 수 있다. 보다 구체적으로, 암호문 생성부(130)는 공개키, 제2 행렬, 제3 행렬을 이용하여 암호문의 제1 부분을 생성하고, 공개키, 제2 행렬, 제4 행렬을 이용하여 암호문의 제2 부분을 생성할 수 있다. 여기서, 공개키는 제1 부분과 제2 부분으로 이루어질 수 있으며, LWE 방법에 기초하여 미리 생성된 것일 수 있다.
암호문 출력부(140)는 생성된 암호문을 출력할 수 있다. 보다 구체적으로, 암호문 출력부(140)는 암호문의 제1 부분과 암호문의 제2 부분이 생성되면, 이에 기초하여 암호문을 출력할 수 있다. 예를 들어, 암호문의 제1 부분이 C-1이고, 암호문의 제2 부분이 C2이면, (C1,C2)의 형태로 암호문을 출력할 수 있다. 이와 같이 암호화된 메시지를 포함하는 암호문은 메시지를 전달받고자 하는 다른 사용자에게 전달될 수 있다.
보다 구체적으로 설명하면, 암호문의 제1 부분은 하기의 수학식 1과 같을 수 있다.
Figure 112019033385118-pat00044
수학식 1에서, C1은 암호문의 제1 부분, RT는 R의 전치 행렬(transposed matrix)이며, R은 제2 행렬, A는 공개키의 제1 부분, E1은 제3 행렬, q는 기지정된 정수일 수 있다.
암호문의 제2 부분은 하기의 수학식 2와 같을 수 있다.
Figure 112019033385118-pat00045
수학식 2에서, C-2은 암호문의 제2 부분, B는 공개키의 제2 부분, E2는 제4 행렬, M은 제1 행렬일 수 있다.
이에 기초하여, 암호문 생성부(130)는 (C1, C2)로 암호문을 생성할 수 있다.
한편, 공개키는 LWE 방법에 기초하여 미리 생성된 것일 수 있다. 이러한 공개키와 함께 암호문의 해독을 위한 비밀키가 미리 생성될 수 있다. 도시하지는 않았으나, 경우에 따라 암호화 장치(100)는 키생성부를 더 포함할 수 있고, 공개키와 비밀키는 키생성부에 생성될 수 있다. 구체적으로, 공개키와 비밀키의 생성에 대해 설명하면 다음과 같다.
키생성부는,
Figure 112019033385118-pat00046
부터
Figure 112019033385118-pat00047
범위 내에 속하는 모든 정수들의 집합인
Figure 112019033385118-pat00048
에서 공개키의 제1 부분을 랜덤하게 선택할 수 있다. 키생성부는
Figure 112019033385118-pat00049
에서 비밀키를 랜덤하게 선택하고,
Figure 112019033385118-pat00050
에서 제5 행렬을 랜덤하게 선택할 수 있다. 이에 기초하여 키생성부는 공개키의 제2 부분을 도출하여 최종적으로, 공개키와 비밀키를 생성할 수 있다. 공개키의 제2 부분은 하기의 수학식 3에 의해 도출될 수 있다.
Figure 112019033385118-pat00051
수학식 3에서, B는 공개키의 제2 부분, A는 공개키의 제1 부분, X는 비밀키, E는 제5 행렬, 수학식 1과 2의 q와 대응하는 값으로 미리 지정된 값일 수 있다. 이에 따라, 공개키는 (A, B)로 결정되고, 비밀키는 X로 결정될 수 있다.
한편, 비밀키를 이용하면 암호문 생성부(130)에 의해 생성된 암호문에 대한 복호화가 이루어져 암호화되었던 메시지의 원본이 도출될 수 있다. 후술하겠으나, 이러한 복호화 과정은 별도의 부분(예: 복호화부 또는 복호화 장치)에 의해 수행될 수 있다.
보다 구체적으로, 복호화는 하기의 수학식 4에 의해 이루어질 수 있다.
Figure 112019033385118-pat00052
수학식 4에서, M은 인코딩 된 후 암호화 되기 전의 메시지일 수 있다. 수학식 4를 참조하면, 암호문의 제1 부분, 제2 부분, 비밀키를 이용하여 암호화 되기 전의 메시지가 도출가능함을 알 수 있다.
수학식 4에 의해 암호화되기 전의 메시지는 메시지 블록의 크기(예: t)와 암호화에 이용되었던 기지정된 상수 q를 이용하여, 인코딩되기 전의 메시지, 즉 원본 메시지를 도출할 수 있다. 암호화되기 전의 메시지는 원본 메시지에 대해 메시지 블록 별로 추가 메시지가 삽입된 상태의 메시지로, 인코딩 과정에서 삽입된 추가 메시지를 제거하여 원본 메시지가 도출될 수 있다.
구체적으로 예를 들면,
Figure 112019033385118-pat00053
Figure 112019033385118-pat00054
에 대하여,
Figure 112019033385118-pat00055
를 계산하여, 행렬의 (i,j)번째 원소인 M[i,j]의 최상위 t 비트를 메시지 블록
Figure 112019033385118-pat00056
(
Figure 112019033385118-pat00057
)로 치환한 후, 메시지 블록을 이어서 최종적으로 원본 메시지가 도출되도록 할 수 있다. 원본 메시지는,
Figure 112019033385118-pat00058
비트의 메시지, 즉,
Figure 112019033385118-pat00059
일 수 있다.
한편, 도시하지는 않았으나 암호화 장치(100)는 복호화부를 포함할 수 있고, 상술한 복호화 과정은 복호화부에 의해 수행될 수 있다. 그러나, 경우에 따라, 복호화 과정은 암호화 장치와 구분되어 별개로 존재하는 복호화 장치에 의해 독립적으로 수행될 수도 있다.
도 4는 본 발명의 일 실시예에 따른 암호화 방법의 각 단계의 흐름을 도시한다. 또한, 도 4에 도시된 방법의 각 단계는 경우에 따라 도면에 도시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다.
도 4를 참조하면, 인코딩부(110)는 메시지를 인코딩하여 제1 행렬을 생성할 수 있다(S110). 행렬 선택부(120)는
Figure 112019033385118-pat00060
(상기 B, 상기 m 및 상기 v 각각은 기지정된 양의 정수)에서 랜덤하게 제2 행렬을 선택할 수 있다(S120).
행렬 선택부(120)는
Figure 112019033385118-pat00061
(상기 GDs는 기지정된 가우시안 분포, 상기 n은 상기 m보다 작도록 기지정된 양의 정수)에서 랜덤하게 제3 행렬을 선택하고,
Figure 112019033385118-pat00062
(상기 k는 m-n 보다 작도록 기지정된 양의 정수)에서 랜덤하게 제4 행렬을 선택할 수 있다(S130).
암호문 생성부(130)는 공개키, 제1 행렬 내지 제4 행렬을 이용하여 암호문을 생성할 수 있다(S140). 구체적으로, 암호문 생성부(130)는 미리 생성된 공개키, 제2 행렬 및 제3 행렬을 이용하여 암호문의 제1 부분을 생성하고, 공개키, 제1 행렬, 제2 행렬 및 제4 행렬을 이용하여 암호문의 제2 부분을 생성할 수 있다.
암호문 출력부(140)는 생성된 암호문을 출력할 수 있다(S140). 출력된 암호문은 메시지를 전달 받고자하는 다른 사용자에게 전달될 수 있다. 다른 사용자가 도 3을 통해 상술한 복호화 과정의 수행이 가능한 복호화 장치와 비밀키를 가지고 있는 경우, 암호문은 비밀키와 복호화 장치에 기초하여 복호화되어, 원본 메시지가 도출될 수 있다.
도 5는 본 발명의 일 실시예에 따른 암호화 방법에서 인코딩 단계의 흐름을 구체적으로 도시한다. 도 5에 도시된 방법의 각 단계는 경우에 따라 도면에 도시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다.
도 5를 참조하면, 인코딩부(110)는 메시지를 적어도 하나의 메시지 블록으로 구분할 수 있다(S210). 보다 구체적으로, 인코딩부(110)는 적어도 하나의 메시지 블록이 소정의 크기를 가지도록 메시지를 나눌 수 있다. 예를 들어, 인코딩부(110)는 적어도 하나의 메시지 블록 각각이 t 비트가 되도록
Figure 112019033385118-pat00063
비트의 메시지를 나눌 수 있다.
인코딩부(110)는 적어도 하나의 메시지 블록 각각에 추가 메시지를 연결할 수 있다(S220). 인코딩부(110)는 적어도 하나의 메시지 블록 각각에 d+1 비트의 비트 스트링인 추가 메시지를 연결할 수 있다. 적어도 하나의 메시지 블록 각각에 추가 메시지가 연결되면 인코딩이 완료될 수 있다. 이에 따라, 인코딩된 메시지에 대해 암호화가 수행될 수 있다.
본 발명의 일 실시예에 따른 암호화 장치(100)는 메시지 블록에 추가 메시지를 삽입하여 암호화를 수행함으로써, 복호화 과정에서 추가 메시지를 제거함에 의해 메시지를 복원할 수 있기 때문에, 보다 용이하게 복호화가 수행되도록 할 수 있다. 보다 구체적으로, 암호화 장치(100)에 의해 암호화된 메시지의 복호화 과정에서는 비트 별 비교 연산을 수행될 필요가 없어 보다 신속하고 효율적으로 복호화가 수행될 수 있다.
또한, 본 발명의 일 실시예에 따른 암호화 장치(100)는 추가 연산 없이, 추가 메시지를 삽입하는 방식으로 한번에 t 비트의 메시지 블록을 인코딩할 수 있다. 즉, 암호화/복호화가 t 비트 단위로 수행될 수 있어
Figure 112019033385118-pat00064
비트의 메시지의 경우,
Figure 112019033385118-pat00065
번의 연산만 수행되면 되기 때문에,
Figure 112019033385118-pat00066
번의 연산이 수행되어야 했던 기존의 기법에 비해 보다 효율적으로 암호화/복호화가 수행되도록 할 수 있다.
또한, 본 발명의 일 실시예에 따른 암호화 장치(100)는 메시지 블록에 추가되는 메시지의 크기가 에러의 크기보다 크기 때문에, 에러가 삽입되더라도 메시지에 영향을 미치지 않으며, 에러가 삽입된 추가 메시지만 제거하면 되기 때문에, 보다 정확하고 신속하게 복호화가 수행되도록 할 수 있다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 암호화 장치
110: 인코딩부
120: 행렬선택부
130: 암호문 생성부
140: 암호문 출력부

Claims (15)

  1. 적어도 하나의 프로세서에 의해 수행되는, 적어도 하나의 메시지 블록으로 구성된 메시지의 인코딩 방법에 있어서,
    상기 메시지를 상기 적어도 하나의 메시지 블록으로 구분하는 단계와,
    상기 적어도 하나의 메시지 블록 각각에 추가 메시지를 연결하는 단계와,
    상기 적어도 하나의 메시지 블록 각각에서 발생 가능한 에러의 크기는 d 비트이고,
    상기 추가 메시지는 크기가 d+1 비트인 비트 스트링(string)을 포함하며,
    상기 비트 스트링은
    Figure 112019033385118-pat00067

    메시지 인코딩 방법.
  2. 제1항에 있어서,
    상기 인코딩된 적어도 하나의 메시지 블록 각각의 추가 메시지는 디코딩되는 과정에서 제거되는
    메시지 인코딩 방법.
  3. 제1항에 있어서,
    상기 메시지는
    Figure 112019033385118-pat00068
    비트이고,
    상기 적어도 하나의 메시지 블록은
    Figure 112019033385118-pat00069
    개이며, 상기 적어도 하나의 메시지 블록 각각은
    Figure 112019033385118-pat00070
    보다 작은 크기인 t비트인
    메시지 인코딩 방법.
  4. 적어도 하나의 프로세서에 의해 수행되는 메시지 암호화 방법에 있어서,
    메시지를 인코딩하여 제1 행렬을 생성하는 단계와,
    Figure 112019033385118-pat00071
    (상기 B, 상기 m 및 상기 v 각각은 기지정된 양의 정수)에서 랜덤하게 제2 행렬을 선택하는 단계와,
    Figure 112019033385118-pat00072
    (상기 GDs는 기지정된 가우시안 분포, 상기 n은 상기 m보다 작도록 기지정된 양의 정수)에서 랜덤하게 제3 행렬을 선택하고,
    Figure 112019033385118-pat00073
    (상기 k는 m-n 보다 작도록 기지정된 양의 정수)에서 랜덤하게 제4 행렬을 선택하는 단계와,
    미리 생성된 공개키, 상기 제2 행렬, 및 상기 제3 행렬을 이용하여 암호문의 제1 부분을 생성하는 단계와,
    상기 공개키, 상기 제1 행렬, 상기 제2 행렬 및 상기 제4 행렬을 이용하여 상기 암호문의 제2 부분을 생성하는 단계와,
    상기 제1 부분과 상기 제2 부분에 기초하여 상기 암호문을 출력하는 단계를 포함하는
    메시지 암호화 방법.
  5. 제4항에 있어서,
    상기 메시지는 적어도 하나의 메시지 블록으로 구성되고,
    상기 제1 행렬을 생성하는 단계는,
    상기 메시지를 적어도 하나의 메시지 블록으로 구분하는 단계와,
    상기 적어도 하나의 메시지 블록 각각에 추가 메시지를 연결하여 상기 메시지를 상기 제1 행렬로 출력하는 단계를 포함하고,
    상기 적어도 하나의 메시지 블록 각각에서 발생 가능한 에러의 크기는 d 비트이고,
    상기 추가 메시지는 d+1 비트 크기의 비트 스트링을 포함하며,
    상기 비트 스트링은
    Figure 112019033385118-pat00074

    메시지 암호화 방법.
  6. 제5항에 있어서,
    상기 인코딩된 적어도 하나의 메시지 블록 각각의 추가 메시지는 디코딩되는 과정에서 제거되는
    메시지 암호화 방법.
  7. 제6항에 있어서,
    상기 메시지는
    Figure 112019033385118-pat00075
    비트이고,
    상기 적어도 하나의 메시지 블록은
    Figure 112019033385118-pat00076
    개이며, 상기 적어도 하나의 메시지 블록 각각은
    Figure 112019033385118-pat00077
    보다 작은 크기인 t비트인
    메시지 암호화 방법.
  8. 제4항에 있어서,
    상기 제1 행렬은,
    Figure 112019033385118-pat00078
    행렬을 포함하고,
    상기 암호문은,
    미리 생성된 비밀키가 입력됨에 기초하여 복호화가 수행되는 구성인
    메시지 암호화 방법.
  9. 제8항에 있어서,
    상기 공개키와 상기 비밀키 각각은,
    Figure 112019033385118-pat00079
    (상기 m은 상기 n은 )에서 랜덤하게 선택된 제5 행렬,
    Figure 112019033385118-pat00080
    에서 랜덤하게 선택된 제6 행렬, 및
    Figure 112019033385118-pat00081
    에서 랜덤하게 선택된 제7 행렬을 이용하여 산출되는 제8 행렬의 적어도 일부로 이루어진
    메시지 암호화 방법.
  10. 제9항에 있어서,
    상기 제8 행렬은,
    F = AX+E (mod q) (상기 F는 상기 제8 행렬, 상기 A는 상기 제5 행렬, 상기 X는 상기 제6 행렬, 상기 E는 상기 제7 행렬)이고,
    메시지 암호화 방법.
  11. 메시지를 인코딩하여 제1 행렬을 생성하는 인코딩부와,
    Figure 112019033385118-pat00082
    (상기 B, 상기 m 및 상기 v 각각은 기지정된 양의 정수)에서 랜덤하게 제2 행렬을 선택하고,
    Figure 112019033385118-pat00083
    (상기 GDs는 기지정된 가우시안 분포, 상기 n은 상기 m보다 작도록 기지정된 양의 정수)에서 랜덤하게 제3 행렬을 선택하고,
    Figure 112019033385118-pat00084
    (상기 k는 m-n 보다 작도록 기지정된 양의 정수)에서 랜덤하게 제4 행렬을 선택하는 행렬 선택부와,
    미리 생성된 공개키, 상기 제2 행렬, 및 상기 제3 행렬을 이용하여 암호문의 제1 부분을 생성하고, 상기 공개키, 상기 제1 행렬, 상기 제2 행렬 및 상기 제4 행렬을 이용하여 상기 암호문의 제2 부분을 생성하는 암호문 생성부와,
    상기 제1 부분과 상기 제2 부분에 기초하여 상기 암호문을 출력하는 출력부를 포함하는
    메시지 암호화 장치.
  12. 제11항에 있어서,
    상기 인코딩부는,
    상기 메시지를 적어도 하나의 메시지 블록으로 구분하고,
    상기 적어도 하나의 메시지 블록 각각에 추가 메시지를 연결하여 상기 메시지를 상기 제1 행렬로 출력하며,
    상기 적어도 하나의 메시지 블록 각각에서 발생 가능한 에러의 크기는 d 비트이고,
    상기 추가 메시지는 d+1 비트 크기의 비트 스트링을 포함하며,
    상기 비트 스트링은
    Figure 112019033385118-pat00085

    메시지 암호화 장치.
  13. 제12항에 있어서,
    상기 인코딩된 적어도 하나의 메시지 블록 각각의 추가 메시지는 디코딩되는 과정에서 제거되는
    메시지 암호화 장치.
  14. 제13항에 있어서,
    상기 메시지는
    Figure 112019033385118-pat00086
    비트이고,
    상기 적어도 하나의 메시지 블록은
    Figure 112019033385118-pat00087
    개이며, 상기 적어도 하나의 메시지 블록 각각은
    Figure 112019033385118-pat00088
    보다 작은 크기인 t비트인
    메시지 암호화 장치.
  15. 제11항에 있어서,
    상기 제1 행렬은,
    Figure 112019033385118-pat00089
    행렬을 포함하고,
    상기 암호문은,
    미리 생성된 비밀키가 입력됨에 기초하여 복호화가 수행되는 구성인
    메시지 암호화 장치.
KR1020190037993A 2019-04-01 2019-04-01 메시지 인코딩 방법, 메시지 암호화 방법 및 장치 KR101984297B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190037993A KR101984297B1 (ko) 2019-04-01 2019-04-01 메시지 인코딩 방법, 메시지 암호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190037993A KR101984297B1 (ko) 2019-04-01 2019-04-01 메시지 인코딩 방법, 메시지 암호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101984297B1 true KR101984297B1 (ko) 2019-05-31

Family

ID=66657238

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190037993A KR101984297B1 (ko) 2019-04-01 2019-04-01 메시지 인코딩 방법, 메시지 암호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101984297B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527979B1 (ko) * 2007-01-26 2015-06-12 탈레스 정보 송신 보안 방법
KR20180056380A (ko) * 2016-11-18 2018-05-28 서울대학교산학협력단 공개키를 이용하여 암호화하는 연산 장치 및 그 암호화 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527979B1 (ko) * 2007-01-26 2015-06-12 탈레스 정보 송신 보안 방법
KR20180056380A (ko) * 2016-11-18 2018-05-28 서울대학교산학협력단 공개키를 이용하여 암호화하는 연산 장치 및 그 암호화 방법
KR101905689B1 (ko) 2016-11-18 2018-12-05 서울대학교산학협력단 공개키를 이용하여 암호화하는 연산 장치 및 그 암호화 방법

Similar Documents

Publication Publication Date Title
US20170324554A1 (en) Public Key Cryptosystem Based On Partitioning Of Galois Field Elements
US7451310B2 (en) Parallelizable authentication tree for random access storage
US20040078576A1 (en) Pseudo-random number generator
KR20110004474A (ko) 갈루아 폐체 암호 시스템
US10419207B2 (en) Cryptographic apparatuses and methods for encrypting and decrypting data using automata
KR101913100B1 (ko) 생성 행렬의 천공에 기초한 암호화키를 사용하는 데이터 암호화 장치 및 방법
KR101942030B1 (ko) 메시지에 대한 무결성 검증이 지원되는 부호 기반의 암호화가 가능한 전자 장치 및 그 동작 방법
US20040083251A1 (en) Parallel modulo arithmetic using bitwise logical operations
Kim et al. A secure information transmission scheme with a secret key based on polar coding
JP5689826B2 (ja) 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム
US20070277043A1 (en) Methods for Generating Identification Values for Identifying Electronic Messages
US20040078570A1 (en) Method of protecting a cryptosystem from a multiple transmission attack
EP1287641B1 (en) A method of validating an encrypted message
EP1287638B1 (en) Decoding of cipher polynomials
US20040076291A1 (en) End of message markers
Lee et al. Ciphertext-only attack on linear feedback shift register-based Esmaeili-Gulliver cryptosystem
KR101984297B1 (ko) 메시지 인코딩 방법, 메시지 암호화 방법 및 장치
JP2001282103A (ja) 暗号化方法
JP2006133380A (ja) 復号装置と復号プログラム及び暗号通信システム
JPH11161164A (ja) 公開鍵暗号方式と暗号化装置および復号装置
Kumar et al. A New Digital Encryption Scheme: Binary Matrix Rotations Encryption Algorithm

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant