1 |
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 부분 행렬 를 생성하는 제2 부분 행렬 생성부;N-K의 크기를 갖는 랜덤 벡터 e를 생성하는 랜덤 벡터 생성부; 및상기 비특이 랜덤 행렬 S, 상기 제1 부분 행렬 RA, 상기 제2 부분 행렬 , 상기 랜덤 벡터 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을 복원하는 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치
|
2 |
2
삭제
|
3 |
3
삭제
|
4 |
4
삭제
|
5 |
5
제1항에 있어서,상기 데이터 수신 장치는하기의 수학식 2의 연산에 기초하여 상기 암호화 메시지 c에 대한 복호화 연산을 수행함으로써, 상기 메시지 M을 복원하는 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치
|
6 |
6
삭제
|
7 |
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 부분 행렬 를 생성하는 단계;N-K의 크기를 갖는 랜덤 벡터 e를 생성하는 단계; 및상기 비특이 랜덤 행렬 S, 상기 제1 부분 행렬 RA, 상기 제2 부분 행렬 , 상기 랜덤 벡터 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을 복원하는 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 동작 방법
|
8 |
8
삭제
|
9 |
9
삭제
|
10 |
10
삭제
|
11 |
11
제7항에 있어서,상기 데이터 수신 장치는하기의 수학식 5의 연산에 기초하여 상기 암호화 메시지 c에 대한 복호화 연산을 수행함으로써, 상기 메시지 M을 복원하는 거듭 행렬 기반의 비밀키 암호화가 가능한 데이터 전송 장치의 동작 방법
|
12 |
12
삭제
|
13 |
13
제7항 또는 제11항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
|
14 |
14
제7항 또는 제11항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램
|