KR102096359B1 - 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법 - Google Patents

거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102096359B1
KR102096359B1 KR1020180053757A KR20180053757A KR102096359B1 KR 102096359 B1 KR102096359 B1 KR 102096359B1 KR 1020180053757 A KR1020180053757 A KR 1020180053757A KR 20180053757 A KR20180053757 A KR 20180053757A KR 102096359 B1 KR102096359 B1 KR 102096359B1
Authority
KR
South Korea
Prior art keywords
matrix
message
size
random
secret key
Prior art date
Application number
KR1020180053757A
Other languages
English (en)
Other versions
KR20190129306A (ko
Inventor
김영식
Original Assignee
조선대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 조선대학교산학협력단 filed Critical 조선대학교산학협력단
Priority to KR1020180053757A priority Critical patent/KR102096359B1/ko
Publication of KR20190129306A publication Critical patent/KR20190129306A/ko
Application granted granted Critical
Publication of KR102096359B1 publication Critical patent/KR102096359B1/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/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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법이 개시된다. 본 발명에 따른 거듭 행렬(involutory matrix) 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법은 거듭 행렬의 특성에 기반하여 설계된 비밀키를 기초로 메시지를 암호화해서 데이터 수신 장치로 전송함으로써, 상기 데이터 수신 장치가 상기 비밀키를 기초로 단순한 복호화 연산을 수행하는 방식으로 원본 데이터의 복원이 가능하도록 지원할 수 있어, 비교적 낮은 연산 성능을 갖는 기기들 간의 데이터 송수신시에도 높은 보안성을 제공할 수 있다.

Description

거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법{DATA TRANSMISSION APPARATUS CAPABLE OF SECRET KEY ENCRYPTION BASED ON INVOLUTORY MATRIX AND OPERATING METHOD THEREOF}
본 발명은 데이터 송수신 과정에서 비밀키를 기반으로 데이터의 암복호화가 가능하도록 지원하는 기술들과 관련된다.
최근, 다양한 형태의 정보가 생성되고 유통됨에 따라, 해킹이나 잘못된 경로로의 정보 전달로 인해 중요한 정보가 제3자에게 노출되는 등의 피해가 발생하고 있다.
특히, 정보의 전달과정에서 군사 정보나 개인 정보 등과 같은 중요 정보에 어떠한 방어 기제가 적용되어 있지 않은 상태에서 이러한 중요 정보가 우연히 제3자에게 전달된다면, 제3자가 손쉽게 중요 정보에 접근할 수 있어, 큰 피해가 발생할 수 있다.
최근에는 이러한 중요 정보의 노출을 방지하기 위해, 중요 정보를 소정의 암호화키를 이용하여 암호화한 후 이를 상대방에게 전달하는 기법 등이 도입되고 있다.
일반적인 데이터 암호화 방식은 데이터 전송측과 데이터 수신측이 동일한 비밀키를 공유하고 있다가, 데이터 전송측이 비밀키로 데이터를 암호화해서 전송하면, 데이터 수신측이 동일한 비밀키로 데이터를 복호화하는 방식이 사용된다.
기존의 비밀키로 데이터를 암호화하고 복호화하는 방식은 AES(Advanced Encryption Standard) 암호화 알고리즘이 주로 사용되는데, 해당 알고리즘은 사물인터넷 환경에서 활용되는 센서와 같은 제한된 연산 성능을 갖는 기기에서 활용되기에 적절하지 못한 측면이 존재한다.
따라서, 기존의 AES 암호화 알고리즘보다 경량화되면서도 안전한 데이터 송수신을 보장할 수 있는 암복호화 기법에 대한 연구가 필요하다.
본 발명에 따른 거듭 행렬(involutory matrix) 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법은 거듭 행렬의 특성에 기반하여 설계된 비밀키를 기초로 메시지를 암호화해서 데이터 수신 장치로 전송함으로써, 상기 데이터 수신 장치가 상기 비밀키를 기초로 단순한 복호화 연산을 수행하는 방식으로 원본 데이터의 복원이 가능하도록 지원하여, 비교적 낮은 연산 성능을 갖는 기기들 간의 데이터 송수신시에도 높은 보안성을 제공할 수 있도록 한다.
본 발명의 일실시예에 따른 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치는 N x N(여기서, N은 4이상의 자연수) 크기의 '1'과 '0'의 코드 값으로 구성된 거듭 행렬(involutory matrix) G와 선정된(predetermined) 해시 함수가 저장되어 있는 정보 저장부, K x K(여기서, K는 2이상 N미만의 크기를 갖는 자연수) 크기의 비특이(nonsingular) 랜덤 행렬을 생성하기 위해서 미리 지정된 시드(seed) 데이터와 N x N 크기의 '1'과 '0'의 코드 값으로 구성된 랜덤 순열 행렬 P 및 K개의 미리 지정된 인덱스 값들이 비밀키로 저장되어 있는 비밀키 저장부, K비트의 크기를 갖는 메시지 M에 대한 데이터 암호화 전송 명령이 인가되면, 상기 거듭 행렬 G 및 상기 선정된 해시 함수와 함께 상기 비밀키로 저장되어 있는 상기 시드 데이터, 상기 랜덤 순열 행렬 P 및 상기 K개의 미리 지정된 인덱스 값들을 기초로 상기 메시지 M을 암호화하여 암호화 메시지 c를 생성하는 메시지 암호화부 및 상기 암호화 메시지 c를 데이터 수신 장치로 전송하는 암호화 메시지 전송부를 포함한다.
또한, 본 발명의 일실시예에 따른 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 동작 방법은 N x N(여기서, N은 4이상의 자연수) 크기의 '1'과 '0'의 코드 값으로 구성된 거듭 행렬 G와 선정된 해시 함수가 저장되어 있는 정보 저장부를 유지하는 단계, K x K(여기서, K는 2이상 N미만의 크기를 갖는 자연수) 크기의 비특이 랜덤 행렬을 생성하기 위해서 미리 지정된 시드 데이터와 N x N 크기의 '1'과 '0'의 코드 값으로 구성된 랜덤 순열 행렬 P 및 K개의 미리 지정된 인덱스 값들이 비밀키로 저장되어 있는 비밀키 저장부를 유지하는 단계, K비트의 크기를 갖는 메시지 M에 대한 데이터 암호화 전송 명령이 인가되면, 상기 거듭 행렬 G 및 상기 선정된 해시 함수와 함께 상기 비밀키로 저장되어 있는 상기 시드 데이터, 상기 랜덤 순열 행렬 P 및 상기 K개의 미리 지정된 인덱스 값들을 기초로 상기 메시지 M을 암호화하여 암호화 메시지 c를 생성하는 단계 및 상기 암호화 메시지 c를 데이터 수신 장치로 전송하는 단계를 포함한다.
본 발명에 따른 거듭 행렬(involutory matrix) 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법은 거듭 행렬의 특성에 기반하여 설계된 비밀키를 기초로 메시지를 암호화해서 데이터 수신 장치로 전송함으로써, 상기 데이터 수신 장치가 상기 비밀키를 기초로 단순한 복호화 연산을 수행하는 방식으로 원본 데이터의 복원이 가능하도록 지원할 수 있어, 비교적 낮은 연산 성능을 갖는 기기들 간의 데이터 송수신시에도 높은 보안성을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 거듭 행렬(involutory matrix) 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
도 1은 본 발명의 일실시예에 따른 거듭 행렬(involutory matrix) 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치(110)는 정보 저장부(111), 비밀키 저장부(112), 메시지 암호화부(113) 및 암호화 메시지 전송부(114)를 포함한다.
정보 저장부(111)에는 N x N(여기서, N은 4이상의 자연수) 크기의 '1'과 '0'의 코드 값으로 구성된 거듭 행렬(involutory matrix) G와 선정된(predetermined) 해시 함수가 저장되어 있다.
여기서, 거듭 행렬(involutory matrix)이란 자신과 자신의 역행렬이 동일한 행렬을 의미하는 것으로, N x N 크기의 거듭 행렬이 존재한다고 하였을 때, 하기의 수학식 1과 같은 조건을 만족하는 행렬을 의미한다.
Figure 112018046057285-pat00001
여기서, IN은 N x N 크기의 항등 행렬이다.
이러한 거듭 행렬은 다음의 특성을 가지고 있다.
우선, N x N 크기의 거듭 행렬 G를 구성하는 N개의 행들 각각과 N개의 열들 각각의 인덱스 값을 순차적으로 '1, 2, 3, ..., N'이라고 가정하자.
이때, 상기 거듭 행렬 G를 구성하는 상기 N개의 행들 중 K개의 임의의 인덱스 값들에 대응하는 위치 상에 존재하는 K개의 행들을 선택하여 상기 K개의 행들 각각을 구성하는 N개의 성분들만으로 구성된 K x N 크기의 부분 행렬을 RA라고 하자.
그리고, 상기 거듭 행렬 G를 구성하는 상기 N개의 행들 중 상기 K개의 인덱스 값들에 대응되지 않는 나머지 위치 상에 존재하는 N-K개의 행들을 선택하여 상기 N-K개의 행들 각각을 구성하는 N개의 성분들만으로 구성된 (N-K) x N 크기의 부분 행렬을
Figure 112018046057285-pat00002
라고 하자.
그리고, 상기 거듭 행렬 G를 구성하는 N개의 열들 중 상기 K개의 인덱스 값들에 대응하는 위치 상에 존재하는 K개의 열들을 선택하여 상기 K개의 열들 각각을 구성하는 N개의 성분들만으로 구성된 N x K 크기의 부분 행렬을 CA라고 하자.
마지막으로, 상기 거듭 행렬 G를 구성하는 N개의 열들 중 상기 K개의 인덱스 값들에 대응되지 않는 나머지 위치 상에 존재하는 N-K개의 열들을 선택하여 상기 N-K개의 열들 각각을 구성하는 N개의 성분들만으로 구성된 N x (N-K) 크기의 부분 행렬을
Figure 112018046057285-pat00003
라고 하자.
이때, RA,
Figure 112018046057285-pat00004
, CA,
Figure 112018046057285-pat00005
에 대해서는 하기의 수학식 2와 같은 성질을 만족하게 된다.
Figure 112018046057285-pat00006
여기서, IK는 K x K 크기를 갖는 항등행렬, 0(N-K) x K은 (N-K) x K 크기를 갖는 영행렬, 0K x (N-K)는 K x (N-K) 크기를 갖는 영행렬, IN-K는 N-K 크기를 갖는 항등행렬을 의미한다.
이러한 거듭 행렬 G는 상기 수학식 1과 상기 수학식 2를 만족하는 행렬로, 본 발명의 일실시예에 따르면, 정보 저장부(111) 상에 저장되는 상기 거듭 행렬 G는 극 부호(polar code)의 2 x 2 크기의 커널 행렬 F(여기서,
Figure 112018046057285-pat00007
)의 n-fold 크로네커 곱인
Figure 112018046057285-pat00008
(여기서,
Figure 112018046057285-pat00009
)을 연산함으로써 생성할 수 있다.
비밀키 저장부(112)는 K x K(여기서, K는 2이상 N미만의 크기를 갖는 자연수) 크기의 비특이(nonsingular) 랜덤 행렬을 생성하기 위해서 미리 지정된 시드(seed) 데이터와 N x N 크기의 '1'과 '0'의 코드 값으로 구성된 랜덤 순열 행렬 P 및 K개의 미리 지정된 인덱스 값들이 비밀키로 저장되어 있다.
여기서, 상기 시드 데이터는 다음의 과정을 통해서 생성될 수 있다.
우선, k 비트의 크기를 갖는 랜덤 백터 L과 카운터 값 i를 연접한 데이터를 정보 저장부(111) 상에 저장되어 있는 상기 선정된 해시 함수에 입력으로 인가함으로써, 해시 값을 연산해 본다.
이때, 상기 카운터 값 i를 '0'에서 부터 '1'씩 증가시키면서 해시 값을 연산해보는데, 해시 값의 크기가 K2비트 이상이 되는지 확인해 본 후 해시 값의 크기가 K2비트 이상이 되지 않을 경우에 상기 카운터 값 i를 증가시키는 방식으로 해시 값의 연산을 반복 수행함으로써, K2비트 이상의 해시 값을 찾아낸다.
이렇게, 해시 값이 찾아지면, 해시 값을 구성하는 '1'과 '0'의 각 비트 코드를 K x K 크기의 행렬의 각 성분으로 하나씩 배치시켜서 행렬을 생성한 후 해당 행렬의 역행렬의 존재 여부를 검사하게 된다.
만약, 해당 행렬의 역행렬이 존재하는 경우에, 상기 카운터 값 i를 다시 증가시켜서 해시 값을 연산한 후 연산된 해시 값을 기초로 행렬을 생성해 내고, 해당 행렬의 역행렬이 존재하는지 여부를 검사하는 방식의 과정을 반복 수행해서, 역행렬이 존재하지 않는 즉, 비특이 행렬이 나올 때까지 상기 과정을 반복 수행하여 최종 비특이 랜덤 행렬을 생성해 낸다.
이렇게, 최종적으로 비특이 랜덤 행렬의 생성이 완료되면, 해당 비특이 랜덤 행렬이 생성된 시점에서 사용된 상기 랜덤 벡터 L과 카운터 값 i를 상기 시드 데이터로 결정한 후 비밀키 저장부(112) 상에 상기 시드 데이터를 비밀키의 한 종류로 저장해 둘 수 있다.
메시지 암호화부(113)는 K비트의 크기를 갖는 메시지 M에 대한 데이터 암호화 전송 명령이 인가되면, 상기 거듭 행렬 G 및 상기 선정된 해시 함수와 함께 상기 비밀키로 저장되어 있는 상기 시드 데이터, 상기 랜덤 순열 행렬 P 및 상기 K개의 미리 지정된 인덱스 값들을 기초로 상기 메시지 M을 암호화하여 암호화 메시지 c를 생성한다.
이때, 본 발명의 일실시예에 따르면, 메시지 암호화부(113)는 비특이 랜덤 행렬 생성부(115), 제1 부분 행렬 생성부(116), 제2 부분 행렬 생성부(117), 랜덤 벡터 생성부(118) 및 암호화 연산 처리부(119)를 포함할 수 있다.
비특이 랜덤 행렬 생성부(115)는 상기 시드 데이터를 상기 선정된 해시 함수에 입력으로 인가하여 해시 값을 생성하고, 상기 해시 값을 구성하는 '1'과 '0'의 코드 값을 기초로 K x K 크기의 '1'과 '0'의 코드 값으로 구성된 비특이 랜덤 행렬 S를 생성한다.
관련해서, 앞서 설명한 바와 같이, 상기 시드 데이터는 상기 선정된 해시 함수에 입력으로 인가되었을 때, K2비트 이상의 크기를 갖는 해시 값이 생성되도록 지정된 입력 데이터이기 때문에, 비특이 랜덤 행렬 생성부(115)는 상기 시드 데이터를 상기 선정된 해시 함수에 입력으로 인가하여 K2비트 이상의 크기를 갖는 해시 값을 생성한 후 상기 해시 값을 구성하는 K2개 이상의 '1'과 '0'의 코드 값들을 K x K 크기의 행렬의 각 성분에 하나씩 순차적으로 배치함으로써, 상기 K x K 크기의 비특이 랜덤 행렬 S를 생성할 수 있다.
제1 부분 행렬 생성부(116)는 상기 거듭 행렬 G를 구성하는 N개의 행들 중 상기 K개의 미리 지정된 인덱스 값들에 대응하는 위치 상에 존재하는 K개의 행들을 선택하여 상기 K개의 행들 각각을 구성하는 N개의 성분들만으로 구성된 K x N 크기의 제1 부분 행렬 RA를 생성한다.
제2 부분 행렬 생성부(117)는 상기 거듭 행렬 G를 구성하는 N개의 행들 중 상기 K개의 미리 지정된 인덱스 값들에 대응되지 않는 위치 상에 존재하는 N-K개의 행들을 선택하여 상기 N-K개의 행들 각각을 구성하는 N개의 성분들만으로 구성된 (N-K) x N 크기의 제2 부분 행렬
Figure 112018046057285-pat00010
를 생성한다.
랜덤 벡터 생성부(118)는 N-K의 크기를 갖는 랜덤 벡터 e를 생성한다.
암호화 연산 처리부(119)는 상기 비특이 랜덤 행렬 S, 상기 제1 부분 행렬 RA, 상기 제2 부분 행렬
Figure 112018046057285-pat00011
, 상기 랜덤 벡터 e 및 상기 랜덤 순열 행렬 P를 기초로 상기 메시지 M에 대한 암호화 연산을 수행함으로써, 상기 암호화 메시지 c에 대한 생성을 처리한다.
이때, 본 발명의 일실시예에 따르면, 암호화 연산 처리부(119)는 하기의 수학식 3의 연산에 기초하여 상기 메시지 M에 대한 암호화 연산을 수행함으로써, 상기 암호화 메시지 c에 대한 생성을 처리할 수 있다.
Figure 112018046057285-pat00012
여기서, '
Figure 112018046057285-pat00013
'은 배타적 논리합 연산을 의미하며, 본 발명에서 발생하는 행렬 연산에서의 합계는 모두 비트 연산에 대한 것으로 배타적 논리합 연산으로 수행된다.
이렇게, 상기 암호화 메시지 c가 생성되면, 암호화 메시지 전송부(114)는 상기 암호화 메시지 c를 데이터 수신 장치(120)로 전송한다.
이렇게, 데이터 수신 장치(120)로 상기 암호화 메시지 c가 전송되면, 데이터 수신 장치(120)는 상기 암호화 메시지 c로부터 원 메시지인 메시지 M의 복원을 수행할 수 있는데, 데이터 수신 장치(120)가 상기 암호화 메시지 c에 대해서 복호화를 수행하는 과정을 설명하면 다음과 같다.
우선, 데이터 수신 장치(120)는 메모리 상에 상기 거듭 행렬 G와 상기 선정된 해시 함수를 저장하고 있음과 동시에 상기 시드 데이터, 상기 랜덤 순열 행렬 P 및 상기 K개의 미리 지정된 인덱스 값들을 상기 비밀키로 저장하고 있다.
이때, 데이터 수신 장치(120)로 상기 암호화 메시지 c가 수신되면, 데이터 수신 장치(120)는 상기 메모리 상에 저장되어 있는 상기 시드 데이터를 상기 선정된 해시 함수에 입력으로 인가하여 해시 값을 생성한 후 상기 해시 값을 구성하는 '1'과 '0'의 코드 값을 기초로 K x K 크기의 '1'과 '0'의 코드 값으로 구성된 상기 비특이 랜덤 행렬 S를 생성할 수 있다.
관련해서, 상기 시드 데이터는 상기 선정된 해시 함수에 입력으로 인가되었을 때, K2비트 이상의 크기를 갖는 해시 값이 생성되도록 지정된 입력 데이터이기 때문에, 데이터 수신 장치(120)는 상기 시드 데이터를 상기 선정된 해시 함수에 입력으로 인가하여 K2비트 이상의 크기를 갖는 해시 값을 생성한 후 상기 해시 값을 구성하는 K2개 이상의 '1'과 '0'의 코드 값들을 K x K 크기의 행렬의 각 성분에 하나씩 순차적으로 배치함으로써, 상기 K x K 크기의 비특이 랜덤 행렬 S를 생성할 수 있다.
그리고, 데이터 수신 장치(120)는 상기 거듭 행렬 G를 구성하는 N개의 열들 중 상기 K개의 미리 지정된 인덱스 값들에 대응하는 위치 상에 존재하는 K개의 열들을 선택하여 상기 K개의 열들 각각을 구성하는 N개의 성분들만으로 구성된 N x K 크기의 제3 부분 행렬 CA를 생성할 수 있다.
그 이후, 데이터 수신 장치(120)는 상기 비특이 랜덤 행렬 S, 상기 제3 부분 행렬 CA 및 상기 메모리 상에 저장되어 있는 상기 랜덤 순열 행렬 P를 기초로 상기 암호화 메시지 c에 대한 복호화 연산을 수행함으로써, 상기 메시지 M을 복원할 수 있다.
이때, 본 발명의 일실시예에 따르면, 데이터 수신 장치(120)는 하기의 수학식 4의 연산에 기초하여 상기 암호화 메시지 c에 대한 복호화 연산을 수행함으로써, 상기 메시지 M을 복원할 수 있다.
Figure 112018046057285-pat00014
여기서, PT는 상기 랜덤 순열 행렬 P의 전치 행렬, S-1은 상기 비특이 랜덤 행렬 S의 역행렬이다.
여기서, 상기 수학식 4의 연산 과정을 자세히 나타내면, 하기의 수학식 5와 같이 표현할 수 있다.
Figure 112018046057285-pat00015
여기서,
Figure 112018046057285-pat00016
이기 때문에, 상기 수학식 5는 하기의 수학식 6과 같이 표현될 수 있다.
Figure 112018046057285-pat00017
이때, 상기 거듭 행렬 G에 대해서는 상기 수학식 2에서 나타낸 바와 같은 성질에 따라,
Figure 112018046057285-pat00018
Figure 112018046057285-pat00019
을 만족하기 때문에, 상기 수학식 6은 하기의 수학식 7과 같이 표현될 수 있다.
Figure 112018046057285-pat00020
이로 인해, 결국 데이터 수신 장치(120)는 상기 수학식 4에서 나타낸 연산을 수행함으로써, 원래 메시지인 메시지 M을 복원해 낼 수 있다.
결국, 본 발명에 따른 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치(110)는 거듭 행렬의 특성에 기반하여 설계된 비밀키를 기초로 메시지를 암호화해서 데이터 수신 장치(120)로 전송함으로써, 데이터 수신 장치(120)가 상기 비밀키를 기초로 단순한 복호화 연산을 수행하는 방식으로 원본 데이터의 복원이 가능하도록 지원할 수 있어, 비교적 낮은 연산 성능을 갖는 기기들 간의 데이터 송수신시에도 높은 보안성을 제공할 수 있다.
본 발명의 일실시예에 따르면, 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치(110)는 데이터 수신 장치(120)로 전송할 메시지가 K비트의 크기를 갖지 않는 메시지인 경우, K비트의 크기를 갖는 메시지로 만들기 위한 전처리 과정을 수행할 수 있다. 예컨대, K비트 크기 미만의 원본 메시지가 존재한다고 하였을 때, 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치(110)는 난수화 패딩 알고리즘인 OAEP(Optimal Asymmetric Encryption Padding) 알고리즘 등을 이용하여 원본 메시지에 소정의 데이터를 패딩함으로써, K비트 크기의 메시지로 만든 후 본 발명에 따른 거듭 행렬 기반의 비밀키 암호화 처리를 수행할 수 있다.
도 2는 본 발명의 일실시예에 따른 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 N x N(여기서, N은 4이상의 자연수) 크기의 '1'과 '0'의 코드 값으로 구성된 거듭 행렬 G와 선정된 해시 함수가 저장되어 있는 정보 저장부를 유지한다.
단계(S220)에서는 K x K(여기서, K는 2이상 N미만의 크기를 갖는 자연수) 크기의 비특이 랜덤 행렬을 생성하기 위해서 미리 지정된 시드 데이터와 N x N 크기의 '1'과 '0'의 코드 값으로 구성된 랜덤 순열 행렬 P 및 K개의 미리 지정된 인덱스 값들이 비밀키로 저장되어 있는 비밀키 저장부를 유지한다.
단계(S230)에서는 K비트의 크기를 갖는 메시지 M에 대한 데이터 암호화 전송 명령이 인가되면, 상기 거듭 행렬 G 및 상기 선정된 해시 함수와 함께 상기 비밀키로 저장되어 있는 상기 시드 데이터, 상기 랜덤 순열 행렬 P 및 상기 K개의 미리 지정된 인덱스 값들을 기초로 상기 메시지 M을 암호화하여 암호화 메시지 c를 생성한다.
단계(S240)에서는 상기 암호화 메시지 c를 데이터 수신 장치로 전송한다.
이때, 본 발명의 일실시예에 따르면, 단계(S230)에서는 상기 시드 데이터를 상기 선정된 해시 함수에 입력으로 인가하여 해시 값을 생성하고, 상기 해시 값을 구성하는 '1'과 '0'의 코드 값을 기초로 K x K 크기의 '1'과 '0'의 코드 값으로 구성된 비특이 랜덤 행렬 S를 생성하는 단계, 상기 거듭 행렬 G를 구성하는 N개의 행들 중 상기 K개의 미리 지정된 인덱스 값들에 대응하는 위치 상에 존재하는 K개의 행들을 선택하여 상기 K개의 행들 각각을 구성하는 N개의 성분들만으로 구성된 K x N 크기의 제1 부분 행렬 RA를 생성하는 단계, 상기 거듭 행렬 G를 구성하는 N개의 행들 중 상기 K개의 미리 지정된 인덱스 값들에 대응되지 않는 위치 상에 존재하는 N-K개의 행들을 선택하여 상기 N-K개의 행들 각각을 구성하는 N개의 성분들만으로 구성된 (N-K) x N 크기의 제2 부분 행렬
Figure 112018046057285-pat00021
를 생성하는 단계, N-K의 크기를 갖는 랜덤 벡터 e를 생성하는 단계 및 상기 비특이 랜덤 행렬 S, 상기 제1 부분 행렬 RA, 상기 제2 부분 행렬
Figure 112018046057285-pat00022
, 상기 렌덤 벡터 e 및 상기 랜덤 순열 행렬 P를 기초로 상기 메시지 M에 대한 암호화 연산을 수행함으로써, 상기 암호화 메시지 c에 대한 생성을 처리하는 단계를 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 암호화 메시지 c에 대한 생성을 처리하는 단계는 상기 수학식 3의 연산에 기초하여 상기 메시지 M에 대한 암호화 연산을 수행함으로써, 상기 암호화 메시지 c에 대한 생성을 처리할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 데이터 수신 장치는 메모리 상에 상기 거듭 행렬 G와 상기 선정된 해시 함수를 저장하고 있음과 동시에 상기 시드 데이터, 상기 랜덤 순열 행렬 P 및 상기 K개의 미리 지정된 인덱스 값들을 상기 비밀키로 저장하고 있을 수 있다.
이때, 상기 데이터 수신 장치는 상기 암호화 메시지 c가 수신되면, 상기 메모리 상에 저장되어 있는 상기 시드 데이터를 상기 선정된 해시 함수에 입력으로 인가하여 해시 값을 생성한 후 상기 해시 값을 구성하는 '1'과 '0'의 코드 값을 기초로 K x K 크기의 '1'과 '0'의 코드 값으로 구성된 상기 비특이 랜덤 행렬 S를 생성하고, 상기 거듭 행렬 G를 구성하는 N개의 열들 중 상기 K개의 미리 지정된 인덱스 값들에 대응하는 위치 상에 존재하는 K개의 열들을 선택하여 상기 K개의 열들 각각을 구성하는 N개의 성분들만으로 구성된 N x K 크기의 제3 부분 행렬 CA를 생성할 수 있다.
그 이후, 상기 데이터 수신 장치는 상기 비특이 랜덤 행렬 S, 상기 제3 부분 행렬 CA 및 상기 메모리 상에 저장되어 있는 상기 랜덤 순열 행렬 P를 기초로 상기 암호화 메시지 c에 대한 복호화 연산을 수행함으로써, 상기 메시지 M을 복원할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 데이터 수신 장치는 상기 수학식 4의 연산에 기초하여 상기 암호화 메시지 c에 대한 복호화 연산을 수행함으로써, 상기 메시지 M을 복원할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 거듭 행렬 G는 2 x 2 크기의 커널 행렬 F(여기서,
Figure 112018046057285-pat00023
)의 n-fold 크로네커 곱인
Figure 112018046057285-pat00024
(여기서,
Figure 112018046057285-pat00025
)으로 연산되는 행렬로서 상기 수학식 1의 조건을 만족하는 행렬일 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 동작 방법은 도 1을 이용하여 설명한 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치
111: 정보 저장부 112: 비밀키 저장부
113: 메시지 암호화부 114: 암호화 메시지 전송부
115: 비특이 랜덤 행렬 생성부 116: 제1 부분 행렬 생성부
117: 제2 부분 행렬 생성부 118: 랜덤 벡터 생성부
119: 암호화 연산 처리부
120: 데이터 수신 장치

Claims (14)

  1. N x N(여기서, N은 4이상의 자연수) 크기의 '1'과 '0'의 코드 값으로 구성된 거듭 행렬(involutory matrix) G와 선정된(predetermined) 해시 함수가 저장되어 있는 정보 저장부;
    K x K(여기서, K는 2이상 N미만의 크기를 갖는 자연수) 크기의 비특이(nonsingular) 랜덤 행렬을 생성하기 위해서 미리 지정된 시드(seed) 데이터와 N x N 크기의 '1'과 '0'의 코드 값으로 구성된 랜덤 순열 행렬 P 및 K개의 미리 지정된 인덱스 값들이 비밀키로 저장되어 있는 비밀키 저장부;
    K비트의 크기를 갖는 메시지 M에 대한 데이터 암호화 전송 명령이 인가되면, 상기 거듭 행렬 G 및 상기 선정된 해시 함수와 함께 상기 비밀키로 저장되어 있는 상기 시드 데이터, 상기 랜덤 순열 행렬 P 및 상기 K개의 미리 지정된 인덱스 값들을 기초로 상기 메시지 M을 암호화하여 암호화 메시지 c를 생성하는 메시지 암호화부; 및
    상기 암호화 메시지 c를 데이터 수신 장치로 전송하는 암호화 메시지 전송부
    를 포함하고,
    상기 메시지 암호화부는
    상기 시드 데이터를 상기 선정된 해시 함수에 입력으로 인가하여 해시 값을 생성하고, 상기 해시 값을 구성하는 '1'과 '0'의 코드 값을 기초로 K x K 크기의 '1'과 '0'의 코드 값으로 구성된 비특이 랜덤 행렬 S를 생성하는 비특이 랜덤 행렬 생성부;
    상기 거듭 행렬 G를 구성하는 N개의 행들 중 상기 K개의 미리 지정된 인덱스 값들에 대응하는 위치 상에 존재하는 K개의 행들을 선택하여 상기 K개의 행들 각각을 구성하는 N개의 성분들만으로 구성된 K x N 크기의 제1 부분 행렬 RA를 생성하는 제1 부분 행렬 생성부;
    상기 거듭 행렬 G를 구성하는 N개의 행들 중 상기 K개의 미리 지정된 인덱스 값들에 대응되지 않는 위치 상에 존재하는 N-K개의 행들을 선택하여 상기 N-K개의 행들 각각을 구성하는 N개의 성분들만으로 구성된 (N-K) x N 크기의 제2 부분 행렬
    Figure 112020011441849-pat00044
    를 생성하는 제2 부분 행렬 생성부;
    N-K의 크기를 갖는 랜덤 벡터 e를 생성하는 랜덤 벡터 생성부; 및
    상기 비특이 랜덤 행렬 S, 상기 제1 부분 행렬 RA, 상기 제2 부분 행렬
    Figure 112020011441849-pat00045
    , 상기 랜덤 벡터 e 및 상기 랜덤 순열 행렬 P를 기초로 하기의 수학식 1의 연산에 따라 상기 메시지 M에 대한 암호화 연산을 수행함으로써, 상기 암호화 메시지 c에 대한 생성을 처리하는 암호화 연산 처리부
    를 포함하고,
    상기 데이터 수신 장치는
    메모리 상에 상기 거듭 행렬 G와 상기 선정된 해시 함수를 저장하고 있음과 동시에 상기 시드 데이터, 상기 랜덤 순열 행렬 P 및 상기 K개의 미리 지정된 인덱스 값들을 상기 비밀키로 저장하고 있으며,
    상기 암호화 메시지 c가 수신되면, 상기 메모리 상에 저장되어 있는 상기 시드 데이터를 상기 선정된 해시 함수에 입력으로 인가하여 해시 값을 생성한 후 상기 해시 값을 구성하는 '1'과 '0'의 코드 값을 기초로 K x K 크기의 '1'과 '0'의 코드 값으로 구성된 상기 비특이 랜덤 행렬 S를 생성하고,
    상기 거듭 행렬 G를 구성하는 N개의 열들 중 상기 K개의 미리 지정된 인덱스 값들에 대응하는 위치 상에 존재하는 K개의 열들을 선택하여 상기 K개의 열들 각각을 구성하는 N개의 성분들만으로 구성된 N x K 크기의 제3 부분 행렬 CA를 생성하며,
    그 이후, 상기 비특이 랜덤 행렬 S, 상기 제3 부분 행렬 CA 및 상기 메모리 상에 저장되어 있는 상기 랜덤 순열 행렬 P를 기초로 상기 암호화 메시지 c에 대한 복호화 연산을 수행함으로써, 상기 메시지 M을 복원하는 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치.
    [수학식 1]
    Figure 112020011441849-pat00046
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 데이터 수신 장치는
    하기의 수학식 2의 연산에 기초하여 상기 암호화 메시지 c에 대한 복호화 연산을 수행함으로써, 상기 메시지 M을 복원하는 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치.
    [수학식 2]
    Figure 112020011441849-pat00029

    여기서, PT는 상기 랜덤 순열 행렬 P의 전치 행렬, S-1은 상기 비특이 랜덤 행렬 S의 역행렬임.
  6. 삭제
  7. N x N(여기서, N은 4이상의 자연수) 크기의 '1'과 '0'의 코드 값으로 구성된 거듭 행렬(involutory matrix) G와 선정된(predetermined) 해시 함수가 저장되어 있는 정보 저장부를 유지하는 단계;
    K x K(여기서, K는 2이상 N미만의 크기를 갖는 자연수) 크기의 비특이(nonsingular) 랜덤 행렬을 생성하기 위해서 미리 지정된 시드(seed) 데이터와 N x N 크기의 '1'과 '0'의 코드 값으로 구성된 랜덤 순열 행렬 P 및 K개의 미리 지정된 인덱스 값들이 비밀키로 저장되어 있는 비밀키 저장부를 유지하는 단계;
    K비트의 크기를 갖는 메시지 M에 대한 데이터 암호화 전송 명령이 인가되면, 상기 거듭 행렬 G 및 상기 선정된 해시 함수와 함께 상기 비밀키로 저장되어 있는 상기 시드 데이터, 상기 랜덤 순열 행렬 P 및 상기 K개의 미리 지정된 인덱스 값들을 기초로 상기 메시지 M을 암호화하여 암호화 메시지 c를 생성하는 단계; 및
    상기 암호화 메시지 c를 데이터 수신 장치로 전송하는 단계
    를 포함하고,
    상기 암호화 메시지 c를 생성하는 단계는
    상기 시드 데이터를 상기 선정된 해시 함수에 입력으로 인가하여 해시 값을 생성하고, 상기 해시 값을 구성하는 '1'과 '0'의 코드 값을 기초로 K x K 크기의 '1'과 '0'의 코드 값으로 구성된 비특이 랜덤 행렬 S를 생성하는 단계;
    상기 거듭 행렬 G를 구성하는 N개의 행들 중 상기 K개의 미리 지정된 인덱스 값들에 대응하는 위치 상에 존재하는 K개의 행들을 선택하여 상기 K개의 행들 각각을 구성하는 N개의 성분들만으로 구성된 K x N 크기의 제1 부분 행렬 RA를 생성하는 단계;
    상기 거듭 행렬 G를 구성하는 N개의 행들 중 상기 K개의 미리 지정된 인덱스 값들에 대응되지 않는 위치 상에 존재하는 N-K개의 행들을 선택하여 상기 N-K개의 행들 각각을 구성하는 N개의 성분들만으로 구성된 (N-K) x N 크기의 제2 부분 행렬
    Figure 112020011441849-pat00047
    를 생성하는 단계;
    N-K의 크기를 갖는 랜덤 벡터 e를 생성하는 단계; 및
    상기 비특이 랜덤 행렬 S, 상기 제1 부분 행렬 RA, 상기 제2 부분 행렬
    Figure 112020011441849-pat00048
    , 상기 랜덤 벡터 e 및 상기 랜덤 순열 행렬 P를 기초로 하기의 수학식 4의 연산에 따라 상기 메시지 M에 대한 암호화 연산을 수행함으로써, 상기 암호화 메시지 c에 대한 생성을 처리하는 단계
    를 포함하고,
    상기 데이터 수신 장치는
    메모리 상에 상기 거듭 행렬 G와 상기 선정된 해시 함수를 저장하고 있음과 동시에 상기 시드 데이터, 상기 랜덤 순열 행렬 P 및 상기 K개의 미리 지정된 인덱스 값들을 상기 비밀키로 저장하고 있으며,
    상기 암호화 메시지 c가 수신되면, 상기 메모리 상에 저장되어 있는 상기 시드 데이터를 상기 선정된 해시 함수에 입력으로 인가하여 해시 값을 생성한 후 상기 해시 값을 구성하는 '1'과 '0'의 코드 값을 기초로 K x K 크기의 '1'과 '0'의 코드 값으로 구성된 상기 비특이 랜덤 행렬 S를 생성하고,
    상기 거듭 행렬 G를 구성하는 N개의 열들 중 상기 K개의 미리 지정된 인덱스 값들에 대응하는 위치 상에 존재하는 K개의 열들을 선택하여 상기 K개의 열들 각각을 구성하는 N개의 성분들만으로 구성된 N x K 크기의 제3 부분 행렬 CA를 생성하며,
    그 이후, 상기 비특이 랜덤 행렬 S, 상기 제3 부분 행렬 CA 및 상기 메모리 상에 저장되어 있는 상기 랜덤 순열 행렬 P를 기초로 상기 암호화 메시지 c에 대한 복호화 연산을 수행함으로써, 상기 메시지 M을 복원하는 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 동작 방법.
    [수학식 4]
    Figure 112020011441849-pat00049
  8. 삭제
  9. 삭제
  10. 삭제
  11. 제7항에 있어서,
    상기 데이터 수신 장치는
    하기의 수학식 5의 연산에 기초하여 상기 암호화 메시지 c에 대한 복호화 연산을 수행함으로써, 상기 메시지 M을 복원하는 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 동작 방법.
    [수학식 5]
    Figure 112020011441849-pat00037

    여기서, PT는 상기 랜덤 순열 행렬 P의 전치 행렬, S-1은 상기 비특이 랜덤 행렬 S의 역행렬임.
  12. 삭제
  13. 제7항 또는 제11항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  14. 제7항 또는 제11항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020180053757A 2018-05-10 2018-05-10 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법 KR102096359B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180053757A KR102096359B1 (ko) 2018-05-10 2018-05-10 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180053757A KR102096359B1 (ko) 2018-05-10 2018-05-10 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20190129306A KR20190129306A (ko) 2019-11-20
KR102096359B1 true KR102096359B1 (ko) 2020-04-03

Family

ID=68729216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180053757A KR102096359B1 (ko) 2018-05-10 2018-05-10 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102096359B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102326527B1 (ko) * 2020-06-23 2021-11-15 서울대학교산학협력단 비대칭 암호화 기반의 보안 통신을 수행하는 데이터 전송 장치 및 그 동작 방법
KR102375509B1 (ko) * 2020-09-07 2022-03-17 주식회사 한글과컴퓨터 복수의 포맷 변환 서버들에 문서의 포맷 변환을 위한 작업 할당을 수행하는 문서 파일의 포맷 변환 작업 할당 장치 및 그 동작 방법
CN113973160A (zh) * 2021-09-28 2022-01-25 河北汉光重工有限责任公司 一种图像与指令加密方法及远程无人靶车

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jorge Nakahara Jr, Elcio Abrahao, A New Involutory MDS Matrix for the AES. IJ Network Security, 2009, Vol. 9, pp.109-116. 1부.*
Reza Hooshmand, Mohammad Reza Aref, Taraneh Eghlidos, Secret key cryptosystem based on non-systematic polar codes. Wireless Personal Communications, 2015, Vol. 84, pp.1345-1373. 1부.*

Also Published As

Publication number Publication date
KR20190129306A (ko) 2019-11-20

Similar Documents

Publication Publication Date Title
EP3058678B1 (en) System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption
US8050401B2 (en) High speed configurable cryptographic architecture
EP3552338B1 (en) Method of rsa signature or decryption protected using a homomorphic encryption
US8077863B2 (en) Secret sharing apparatus, method, and program
US10853497B2 (en) Method and system for providing an update of code on a memory-constrained device
EP3584989A1 (en) Tweakable block ciphers for secure data encryption
KR101112157B1 (ko) 데이터 암호화 방법
KR102096359B1 (ko) 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치 및 그 동작 방법
KR102397579B1 (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
KR101942030B1 (ko) 메시지에 대한 무결성 검증이 지원되는 부호 기반의 암호화가 가능한 전자 장치 및 그 동작 방법
KR101913644B1 (ko) 메시지 인증이 가능한 부호 기반 암호화 장치 및 방법
KR102295263B1 (ko) 블록체인을 기반으로 데이터의 분산 암호화 관리를 가능하게 하는 데이터 관리 장치 및 그 동작 방법
KR102244290B1 (ko) 데이터 전송 장치와 데이터 수신 장치 간의 보안 통신을 지원하는 암호화 통신 장치 및 그 동작 방법
CN111010266B (zh) 消息的加解密、读写方法、装置、计算机设备和存储介质
US11108543B2 (en) Method for encrypting data for distributed storage
US10256970B2 (en) Secure data transformations
JP7226829B2 (ja) データ処理装置、方法及びコンピュータプログラム
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
KR101978684B1 (ko) 재생 공격 방지가 가능한 부호 기반 암호화 장치 및 방법
US8411852B2 (en) Diffusion oriented method and apparatus for stream cryptography
KR20170103321A (ko) 보안성이 강화된 순서보존 암호화 방법 및 장치
KR101942037B1 (ko) 비밀키 암호화를 통한 데이터 통신을 수행하는 자동차 전자 제어 장치 및 그 동작 방법
CN111008837A (zh) 区块链账户私钥恢复方法、装置、计算机设备及存储介质
KR20230087983A (ko) Dghv 기반 완전 동형암호 시스템 및 이를 이용한 연산 방법
CN117834111A (zh) 一种数据加密、解密方法及线上贷款系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right