1 |
1
t(t는 자연수)비트의 코드에 대한 오류 정정 능력을 갖는 리드-뮬러(Reed-Muller: RM) 코드를 기초로 k x n(k와 n은 자연수) 크기의 생성 행렬 G - 상기 생성 행렬 G의 각 행은 RM 코드로 구성되어 있음 - 를 생성하는 생성 행렬 생성부; 상기 생성 행렬 G로부터 a(a는 자연수)개의 선정된(predetermined) 지점의 열에 위치하는 비트 값들을 천공(puncturing)하여 천공된 생성 행렬 GD - 상기 천공된 생성 행렬 GD의 크기는 k x (n-a)임 - 를 생성하는 생성 행렬 천공부;k x k 크기의 스크램블링 행렬 S와 (n-a) x (n-a) 크기의 순열 행렬 P를 생성하는 행렬 생성부;상기 스크램블링 행렬 S, 상기 천공된 생성 행렬 GD 및 상기 순열 행렬 P를 곱하여 공개키 Kpub(Kpub=SGDP)를 생성하는 공개키 생성부; 및데이터 수신 장치로 전송할 메시지 m을 상기 공개키 Kpub를 기초로 암호화를 수행하여 암호화 메시지 c를 생성한 후 상기 암호화 메시지 c를 상기 데이터 수신 장치로 전송하는 메시지 암호화 전송부를 포함하고,상기 생성 행렬 천공부는상기 생성 행렬 G를 구성하는 각 행에 존재하는 RM 코드들 중 최소 해밍 무게(Hamming Weight)를 갖는 제1 코드를 추출하는 제1 추출부;상기 제1 코드를 구성하는 비트열에서 "1"의 비트 값이 위치하는 적어도 하나의 제1 지점을 확인하는 제1 지점 확인부;상기 생성 행렬 G로부터 상기 적어도 하나의 제1 지점에 해당되는 열에 위치하는 비트 값들을 추출하여 상기 적어도 하나의 제1 지점에 해당되는 열에 위치하는 비트 값들로 구성된 제1 행렬을 생성하는 중간 행렬 생성부;상기 제1 행렬을 구성하는 각 행에 존재하는 코드들 중 최소 해밍 무게를 갖는 제2 코드를 추출하는 제2 추출부;상기 제2 코드를 구성하는 비트열에서 "1"의 비트 값이 위치하는 적어도 하나의 제2 지점을 확인하는 제2 지점 확인부; 및상기 생성 행렬 G로부터 상기 적어도 하나의 제2 지점에 해당되는 열에 위치하는 비트 값들을 천공함으로써, 상기 a개의 선정된 지점의 열에 위치하는 비트 값들에 대한 천공을 수행하는 천공부를 포함하는 생성 행렬의 천공에 기초한 암호화키를 사용하는 데이터 암호화 장치
|
2 |
2
삭제
|
3 |
3
제1항에 있어서,상기 메시지 암호화 전송부는 이하의 해밍 무게를 가지면서 n-a 비트의 길이를 갖는 랜덤 벡터 e를 생성하고, 상기 메시지 m에 상기 공개키 Kpub를 곱한 결과 값 c'과 상기 랜덤 벡터 e의 합을 연산(2진 연산임)함으로써, 상기 암호화 메시지 c를 생성하는 생성 행렬의 천공에 기초한 암호화키를 사용하는 데이터 암호화 장치
|
4 |
4
제3항에 있어서,상기 데이터 수신 장치는메모리 상에 상기 공개키에 대응하는 개인키로 상기 생성 행렬 G, 상기 스크램블링 행렬 S, 상기 순열 행렬 P 및 상기 a개의 선정된 지점에 대한 정보를 저장하고 있고, 상기 암호화 메시지 c가 수신되면, 상기 암호화 메시지 c에 대해 상기 메모리 상에 저장되어 있는 상기 생성 행렬 G, 상기 스크램블링 행렬 S, 상기 순열 행렬 P 및 상기 a개의 선정된 지점에 대한 정보를 기초로 복호화를 수행하여 상기 메시지 m을 복호화하는 생성 행렬의 천공에 기초한 암호화키를 사용하는 데이터 암호화 장치
|
5 |
5
제4항에 있어서,상기 데이터 수신 장치는상기 암호화 메시지 c가 수신되면, 상기 암호화 메시지 c에 대해 상기 순열 행렬 P의 역행렬 P-1을 곱하여 cP-1을 연산하고, 상기 a개의 선정된 지점에 대한 정보와 상기 생성 행렬 G를 기초로 상기 cP-1에 대한 오류 정정을 수행하여 상기 메시지 m과 상기 스크램블링 행렬 S가 곱해진 mS를 연산한 후 상기 mS에 대해 상기 스크램블링 행렬 S의 역행렬 S-1을 곱하여 상기 메시지 m을 복호화하는 생성 행렬의 천공에 기초한 암호화키를 사용하는 데이터 암호화 장치
|
6 |
6
t(t는 자연수)비트의 코드에 대한 오류 정정 능력을 갖는 리드-뮬러(Reed-Muller: RM) 코드를 기초로 k x n(k와 n은 자연수) 크기의 생성 행렬 G - 상기 생성 행렬 G의 각 행은 RM 코드로 구성되어 있음 - 를 생성하는 단계; 상기 생성 행렬 G로부터 a(a는 자연수)개의 선정된(predetermined) 지점의 열에 위치하는 비트 값들을 천공(puncturing)하여 천공된 생성 행렬 GD - 상기 천공된 생성 행렬 GD의 크기는 k x (n-a)임 - 를 생성하는 단계;k x k 크기의 스크램블링 행렬 S와 (n-a) x (n-a) 크기의 순열 행렬 P를 생성하는 단계;상기 스크램블링 행렬 S, 상기 천공된 생성 행렬 GD 및 상기 순열 행렬 P를 곱하여 공개키 Kpub(Kpub=SGDP)를 생성하는 단계; 및데이터 수신 장치로 전송할 메시지 m을 상기 공개키 Kpub를 기초로 암호화를 수행하여 암호화 메시지 c를 생성한 후 상기 암호화 메시지 c를 상기 데이터 수신 장치로 전송하는 단계를 포함하고,상기 천공된 생성 행렬 GD를 생성하는 단계는상기 생성 행렬 G를 구성하는 각 행에 존재하는 RM 코드들 중 최소 해밍 무게(Hamming Weight)를 갖는 제1 코드를 추출하는 단계;상기 제1 코드를 구성하는 비트열에서 "1"의 비트 값이 위치하는 적어도 하나의 제1 지점을 확인하는 단계;상기 생성 행렬 G로부터 상기 적어도 하나의 제1 지점에 해당되는 열에 위치하는 비트 값들을 추출하여 상기 적어도 하나의 제1 지점에 해당되는 열에 위치하는 비트 값들로 구성된 제1 행렬을 생성하는 단계;상기 제1 행렬을 구성하는 각 행에 존재하는 코드들 중 최소 해밍 무게를 갖는 제2 코드를 추출하는 단계;상기 제2 코드를 구성하는 비트열에서 "1"의 비트 값이 위치하는 적어도 하나의 제2 지점을 확인하는 단계; 및상기 생성 행렬 G로부터 상기 적어도 하나의 제2 지점에 해당되는 열에 위치하는 비트 값들을 천공함으로써, 상기 a개의 선정된 지점의 열에 위치하는 비트 값들에 대한 천공을 수행하는 단계를 포함하는 생성 행렬의 천공에 기초한 암호화키를 사용하는 데이터 암호화 방법
|
7 |
7
삭제
|
8 |
8
제6항에 있어서,상기 암호화 메시지 c를 상기 데이터 수신 장치로 전송하는 단계는 이하의 해밍 무게를 가지면서 n-a 비트의 길이를 갖는 랜덤 벡터 e를 생성하고, 상기 메시지 m에 상기 공개키 Kpub를 곱한 결과 값 c'과 상기 랜덤 벡터 e의 합을 연산(2진 연산임)함으로써, 상기 암호화 메시지 c를 생성하는 생성 행렬의 천공에 기초한 암호화키를 사용하는 데이터 암호화 방법
|
9 |
9
제8항에 있어서,상기 데이터 수신 장치는메모리 상에 상기 공개키에 대응하는 개인키로 상기 생성 행렬 G, 상기 스크램블링 행렬 S, 상기 순열 행렬 P 및 상기 a개의 선정된 지점에 대한 정보를 저장하고 있고, 상기 암호화 메시지 c가 수신되면, 상기 암호화 메시지 c에 대해 상기 메모리 상에 저장되어 있는 상기 생성 행렬 G, 상기 스크램블링 행렬 S, 상기 순열 행렬 P 및 상기 a개의 선정된 지점에 대한 정보를 기초로 복호화를 수행하여 상기 메시지 m을 복호화하는 생성 행렬의 천공에 기초한 암호화키를 사용하는 데이터 암호화 방법
|
10 |
10
제9항에 있어서,상기 데이터 수신 장치는상기 암호화 메시지 c가 수신되면, 상기 암호화 메시지 c에 대해 상기 순열 행렬 P의 역행렬 P-1을 곱하여 cP-1을 연산하고, 상기 a개의 선정된 지점에 대한 정보와 상기 생성 행렬 G를 기초로 상기 cP-1에 대한 오류 정정을 수행하여 상기 메시지 m과 상기 스크램블링 행렬 S가 곱해진 mS를 연산한 후 상기 mS에 대해 상기 스크램블링 행렬 S의 역행렬 S-1을 곱하여 상기 메시지 m을 복호화하는 생성 행렬의 천공에 기초한 암호화키를 사용하는 데이터 암호화 방법
|
11 |
11
제6항, 제8항, 제9항 또는 제10항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
|
12 |
12
제6항, 제8항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램
|