1 |
1
"1"과 "0"의 코드 값을 성분으로 포함하는 k x k 크기의 이진 정칙 행렬 S, t비트의 코드에 대한 오류 정정 능력을 가지면서 "1"과 "0"의 코드 값을 성분으로 포함하는 k x n 크기의 생성 행렬 Ge 및 "1"과 "0"의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 P가 곱해진 선정된(predetermined) 공개키 Kpub(Kpub=SGeP)가 저장되어 있는 공개키 저장부;데이터 수신 장치로 전송할 원본 메시지 m에 대해 1비트 이상의 패딩(padding) 비트를 패딩하여 k(k는 자연수임)비트 크기를 갖는 메시지 M을 생성하는 패딩부;q(q는 k보다 작은 자연수임)비트 크기를 갖는 난수 r을 제1 해시 함수 G - 상기 제1 해시 함수 G는 q비트 크기의 입력 값을 k비트 크기의 출력 값으로 확장시키는 일방향 함수임 - 에 입력으로 인가하여 k비트 크기를 갖는 제1 해시 값 G(r)을 생성하고, 상기 메시지 M과 상기 제1 해시 값 G(r)을 배타적 논리합 연산함으로써, k비트 크기의 제1 연산 값 X를 생성하는 제1 연산부;상기 제1 연산 값 X를 제2 해시 함수 H - 상기 제2 해시 함수 H는 k비트 크기의 입력 값을 q비트 크기의 출력 값으로 축소시키는 일방향 함수임 - 에 입력으로 인가하여 q비트 크기를 갖는 제2 해시 값 H(X)를 생성하고, 상기 난수 r과 상기 제2 해시 값 H(X)를 배타적 논리합 연산함으로써, q비트 크기의 제2 연산 값 Y를 생성하는 제2 연산부;상기 제2 연산 값 Y로부터 해밍 무게(Hamming Weight)가 t(t는 자연수임)이면서, 크기가 n(n은 자연수임)인 오류 벡터 e를 생성하는 오류 벡터 생성부;상기 제1 연산 값 X에 대해 상기 공개키 Kpub와 상기 오류 벡터 e를 기초로 부호 기반 암호화를 수행함으로써, 암호화 메시지 c를 생성하는 암호화부; 및상기 암호화 메시지 c를 상기 데이터 수신 장치로 전송하는 암호화 메시지 전송부를 포함하고,상기 암호화부는상기 제1 연산 값 X에 상기 공개키 Kpub를 곱하여 결과 값 c'을 생성하고, 상기 결과 값 c'과 상기 오류 벡터 e에 대해 배타적 논리합 연산을 수행함으로써, 상기 암호화 메시지 c를 생성하는 재생 공격 방지가 가능한 부호 기반 암호화 장치
|
2 |
2
삭제
|
3 |
3
제1항에 있어서,상기 오류 벡터 생성부는q비트 크기의 입력 값을 t의 해밍 무게를 갖는 n비트 크기의 출력 값으로 매핑(mapping) 변환하도록 설계된 매핑 함수에 대해 상기 제2 연산 값 Y를 입력으로 인가하여 상기 오류 벡터 e를 생성하는 재생 공격 방지가 가능한 부호 기반 암호화 장치
|
4 |
4
제1항에 있어서,상기 오류 벡터 생성부는q비트 크기를 갖는 2q개의 서로 다른 입력 값들 각각에 대해, t의 해밍 무게를 가지면서 n비트 크기를 갖는 서로 다른 출력 값들이 매핑되어 있는 매핑 테이블을 참조하여, 상기 매핑 테이블로부터 상기 제2 연산 값 Y와 동일한 입력 값에 매핑되어 있는 출력 값을 상기 오류 벡터 e로 생성하는 재생 공격 방지가 가능한 부호 기반 암호화 장치
|
5 |
5
제3항에 있어서,상기 데이터 수신 장치는메모리 상에 상기 이진 정칙 행렬 S, 상기 생성 행렬 Ge 및 상기 순열 행렬 P를 상기 공개키 Kpub에 대응하는 개인키로 각각 저장하고 있음과 동시에, 상기 제1 해시 함수 G와 상기 제2 해시 함수 H 및 상기 매핑 함수를 저장하고 있으며,상기 암호화 메시지 c가 수신되면, 상기 암호화 메시지 c로부터 상기 메모리 상에 저장되어 있는 상기 이진 정칙 행렬 S, 상기 생성 행렬 Ge 및 상기 순열 행렬 P를 기초로한 오류 정정을 수행함으로써, 상기 제1 연산 값 X를 복원하고,상기 암호화 메시지 c로부터 상기 복원된 제1 연산 값 X와 상기 이진 정칙 행렬 S, 상기 생성 행렬 Ge 및 상기 순열 행렬 P를 이용하여 상기 오류 벡터 e를 추출하고, 상기 추출된 오류 벡터 e에 대해 상기 매핑 함수에 대한 역연산을 수행함으로써, 상기 제2 연산 값 Y를 복원한 후 상기 제1 해시 함수 G와 상기 제2 해시 함수 H를 기초로 상기 복원된 제1 연산 값 X와 상기 복원된 제2 연산 값 Y로부터 상기 메시지 M을 복원하여 상기 복원된 메시지 M에서 상기 패딩 비트를 제거함으로써, 상기 원본 메시지 m을 복호화하는 재생 공격 방지가 가능한 부호 기반 암호화 장치
|
6 |
6
제5항에 있어서,상기 데이터 수신 장치는상기 암호화 메시지 c가 수신되면, 상기 암호화 메시지 c에 대해 상기 메모리 상에 저장되어 있는 상기 순열 행렬 P의 역행렬 P-1을 곱하여 cP-1을 연산하고, 상기 생성 행렬 Ge를 기초로 상기 cP-1에 대한 오류 정정을 수행하여 상기 제1 연산 값 X와 상기 이진 정칙 행렬 S가 곱해진 XS를 연산한 후 상기 XS에 대해 상기 이진 정칙 행렬 S의 역행렬 S-1을 곱하여 상기 제1 연산 값 X를 복원하고,상기 암호화 메시지 c에 대해, 상기 복원된 제1 연산 값 X와 상기 이진 정칙 행렬 S, 상기 생성 행렬 Ge 및 상기 순열 행렬 P가 곱해진 결과 값을 배타적 논리합함으로써, 상기 오류 벡터 e를 추출하고, 상기 추출된 오류 벡터 e에 대해 상기 매핑 함수에 대한 역연산을 수행함으로써, 상기 제2 연산 값 Y를 복원하며,상기 제2 해시 함수 H에 대해 상기 복원된 제1 연산 값 X를 입력으로 인가하여 상기 제2 해시 값 H(X)를 연산하고, 상기 복원된 제2 연산 값 Y와 상기 제2 해시 값 H(X)를 배타적 논리합함으로써, 상기 난수 r을 복원하고,상기 제1 해시 함수 G에 대해 상기 복원된 난수 r을 입력으로 인가하여 상기 제1 해시 값 G(r)을 연산하고, 상기 복원된 제1 연산 값 X와 상기 제1 해시 값 G(r)을 배타적 논리합함으로써, 상기 메시지 M을 복원한 후 상기 복원된 메시지 M에서 상기 패딩 비트를 제거함으로써, 상기 원본 메시지 m을 복호화하는 재생 공격 방지가 가능한 부호 기반 암호화 장치
|
7 |
7
"1"과 "0"의 코드 값을 성분으로 포함하는 k x k 크기의 이진 정칙 행렬 S, t비트의 코드에 대한 오류 정정 능력을 가지면서 "1"과 "0"의 코드 값을 성분으로 포함하는 k x n 크기의 생성 행렬 Ge 및 "1"과 "0"의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 P가 곱해진 선정된(predetermined) 공개키 Kpub(Kpub=SGeP)가 저장되어 있는 공개키 저장부를 유지하는 단계;데이터 수신 장치로 전송할 원본 메시지 m에 대해 1비트 이상의 패딩(padding) 비트를 패딩하여 k(k는 자연수임)비트 크기를 갖는 메시지 M을 생성하는 단계;q(q는 k보다 작은 자연수임)비트 크기를 갖는 난수 r을 제1 해시 함수 G - 상기 제1 해시 함수 G는 q비트 크기의 입력 값을 k비트 크기의 출력 값으로 확장시키는 일방향 함수임 - 에 입력으로 인가하여 k비트 크기를 갖는 제1 해시 값 G(r)을 생성하고, 상기 메시지 M과 상기 제1 해시 값 G(r)을 배타적 논리합 연산함으로써, k비트 크기의 제1 연산 값 X를 생성하는 단계;상기 제1 연산 값 X를 제2 해시 함수 H - 상기 제2 해시 함수 H는 k비트 크기의 입력 값을 q비트 크기의 출력 값으로 축소시키는 일방향 함수임 - 에 입력으로 인가하여 q비트 크기를 갖는 제2 해시 값 H(X)를 생성하고, 상기 난수 r과 상기 제2 해시 값 H(X)를 배타적 논리합 연산함으로써, q비트 크기의 제2 연산 값 Y를 생성하는 단계;상기 제2 연산 값 Y로부터 해밍 무게(Hamming Weight)가 t(t는 자연수임)이면서, 크기가 n(n은 자연수임)인 오류 벡터 e를 생성하는 단계;상기 제1 연산 값 X에 대해 상기 공개키 Kpub와 상기 오류 벡터 e를 기초로 부호 기반 암호화를 수행함으로써, 암호화 메시지 c를 생성하는 단계; 및상기 암호화 메시지 c를 상기 데이터 수신 장치로 전송하는 단계를 포함하고,상기 암호화 메시지 c를 생성하는 단계는상기 제1 연산 값 X에 상기 공개키 Kpub를 곱하여 결과 값 c'을 생성하고, 상기 결과 값 c'과 상기 오류 벡터 e에 대해 배타적 논리합 연산을 수행함으로써, 상기 암호화 메시지 c를 생성하는 재생 공격 방지가 가능한 부호 기반 암호화 방법
|
8 |
8
삭제
|
9 |
9
제7항에 있어서,상기 오류 벡터 e를 생성하는 단계는q비트 크기의 입력 값을 t의 해밍 무게를 갖는 n비트 크기의 출력 값으로 매핑(mapping) 변환하도록 설계된 매핑 함수에 대해 상기 제2 연산 값 Y를 입력으로 인가하여 상기 오류 벡터 e를 생성하는 재생 공격 방지가 가능한 부호 기반 암호화 방법
|
10 |
10
제7항에 있어서,상기 오류 벡터 e를 생성하는 단계는q비트 크기를 갖는 2q개의 서로 다른 입력 값들 각각에 대해, t의 해밍 무게를 가지면서 n비트 크기를 갖는 서로 다른 출력 값들이 매핑되어 있는 매핑 테이블을 참조하여, 상기 매핑 테이블로부터 상기 제2 연산 값 Y와 동일한 입력 값에 매핑되어 있는 출력 값을 상기 오류 벡터 e로 생성하는 재생 공격 방지가 가능한 부호 기반 암호화 방법
|
11 |
11
제9항에 있어서,상기 데이터 수신 장치는메모리 상에 상기 이진 정칙 행렬 S, 상기 생성 행렬 Ge 및 상기 순열 행렬 P를 상기 공개키 Kpub에 대응하는 개인키로 각각 저장하고 있음과 동시에, 상기 제1 해시 함수 G와 상기 제2 해시 함수 H 및 상기 매핑 함수를 저장하고 있으며,상기 암호화 메시지 c가 수신되면, 상기 암호화 메시지 c로부터 상기 메모리 상에 저장되어 있는 상기 이진 정칙 행렬 S, 상기 생성 행렬 Ge 및 상기 순열 행렬 P를 기초로한 오류 정정을 수행함으로써, 상기 제1 연산 값 X를 복원하고,상기 암호화 메시지 c로부터 상기 복원된 제1 연산 값 X와 상기 이진 정칙 행렬 S, 상기 생성 행렬 Ge 및 상기 순열 행렬 P를 이용하여 상기 오류 벡터 e를 추출하고, 상기 추출된 오류 벡터 e에 대해 상기 매핑 함수에 대한 역연산을 수행함으로써, 상기 제2 연산 값 Y를 복원한 후 상기 제1 해시 함수 G와 상기 제2 해시 함수 H를 기초로 상기 복원된 제1 연산 값 X와 상기 복원된 제2 연산 값 Y로부터 상기 메시지 M을 복원하여 상기 복원된 메시지 M에서 상기 패딩 비트를 제거함으로써, 상기 원본 메시지 m을 복호화하는 재생 공격 방지가 가능한 부호 기반 암호화 방법
|
12 |
12
제11항에 있어서,상기 데이터 수신 장치는상기 암호화 메시지 c가 수신되면, 상기 암호화 메시지 c에 대해 상기 메모리 상에 저장되어 있는 상기 순열 행렬 P의 역행렬 P-1을 곱하여 cP-1을 연산하고, 상기 생성 행렬 Ge를 기초로 상기 cP-1에 대한 오류 정정을 수행하여 상기 제1 연산 값 X와 상기 이진 정칙 행렬 S가 곱해진 XS를 연산한 후 상기 XS에 대해 상기 이진 정칙 행렬 S의 역행렬 S-1을 곱하여 상기 제1 연산 값 X를 복원하고,상기 암호화 메시지 c에 대해, 상기 복원된 제1 연산 값 X와 상기 이진 정칙 행렬 S, 상기 생성 행렬 Ge 및 상기 순열 행렬 P가 곱해진 결과 값을 배타적 논리합함으로써, 상기 오류 벡터 e를 추출하고, 상기 추출된 오류 벡터 e에 대해 상기 매핑 함수에 대한 역연산을 수행함으로써, 상기 제2 연산 값 Y를 복원하며,상기 제2 해시 함수 H에 대해 상기 복원된 제1 연산 값 X를 입력으로 인가하여 상기 제2 해시 값 H(X)를 연산하고, 상기 복원된 제2 연산 값 Y와 상기 제2 해시 값 H(X)를 배타적 논리합함으로써, 상기 난수 r을 복원하고,상기 제1 해시 함수 G에 대해 상기 복원된 난수 r을 입력으로 인가하여 상기 제1 해시 값 G(r)을 연산하고, 상기 복원된 제1 연산 값 X와 상기 제1 해시 값 G(r)을 배타적 논리합함으로써, 상기 메시지 M을 복원한 후 상기 복원된 메시지 M에서 상기 패딩 비트를 제거함으로써, 상기 원본 메시지 m을 복호화하는 재생 공격 방지가 가능한 부호 기반 암호화 방법
|
13 |
13
제7항, 제9항, 제10항, 제11항 또는 제12항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
|
14 |
14
제7항, 제9항, 제10항, 제11항 또는 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램
|