1 |
1
리드-뮬러(Reed-Muller: RM) 코드로 구성된 (n-k) x n - n과 k는 자연수이고 n은 k보다 큼 - 크기의 선형 부호에 대한 패리티 검사 행렬 H, '1'과 '0'의 코드 값을 성분으로 포함하는 (n-k) x (n-k) 크기의 가역 행렬 S 및 '1'과 '0'의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 Q가 전자 서명을 위한 개인키로 저장되어 있는 개인키 저장부;데이터 수신 장치로 전송할 평문 메시지 m과 상기 가역 행렬 S에 기초하여, 신드롬(syndrome)으로 사용될 신드롬 데이터 si를 생성하는 신드롬 데이터 생성부;상기 패리티 검사 행렬 H를 기초로 상기 신드롬 데이터 si에 대해 오류 검출을 위한 신드롬 디코딩(Syndrome Decoding)을 수행하여 서명용 오류 벡터 esT를 생성하는 오류 벡터 생성부;상기 서명용 오류 벡터 esT의 좌측 변에 상기 순열 행렬 Q의 역행렬인 Q-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성하는 전자 서명부; 및상기 데이터 수신 장치로 상기 평문 메시지 m과 상기 전자 서명 값 를 전송하는 전자 서명 전송부를 포함하는 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치
|
2 |
2
제1항에 있어서,상기 패리티 검사 행렬 H는상기 RM 코드로 구성된 k x n 크기의 생성 행렬 G에서, 상기 생성 행렬 G를 구성하는 n개의 열들을 n/4개별로 구분하였을 때 구성되는 또 다른 RM 코드로 이루어진 복수의 부분 행렬들 중 적어도 하나의 부분 행렬에 포함된 p - p는 자연수 - 개의 행에 존재하는 성분을 랜덤하게 순열해서 만든 생성 행렬인 Gm에 대응하는 패리티 검사 행렬인 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치
|
3 |
3
제1항에 있어서,상기 신드롬 데이터 생성부는상기 평문 메시지 m을 선정된(predetermined) 해시 함수인 h(x) - 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수임 - 에 입력으로 인가하여 제1 해시 값 h(m)을 연산하는 제1 해시 값 연산부; 및상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i - 상기 변수 i는 '0'이상인 정수임 - 를 랜덤하게 선정하면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 가역 행렬 S의 역행렬인 S-1을 곱하여 상기 신드롬 데이터 si - 임 - 를 생성하는 신드롬 생성부를 포함하는 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치
|
4 |
4
제3항에 있어서,상기 오류 벡터 생성부는상기 변수 i가 랜덤하게 선정되면서 상기 신드롬 데이터 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 데이터 si에 대해 상기 패리티 검사 행렬 H를 기초로 오류 검출을 위한 완전 복호화(Complete Decoding)를 수행하여 - eT는 크기가 n인 벡터 e의 전치 행렬로 n x 1의 크기를 가짐 - 를 만족하는 eT를 연산한 후 eT의 해밍 무게(Hamming Weight)가 선정된 해밍 무게인 w 이하로 연산되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 연산된 eT를 상기 서명용 오류 벡터 esT로 선택하고,상기 전자 서명 전송부는상기 데이터 수신 장치로 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송하는 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치
|
5 |
5
제4항에 있어서,상기 데이터 수신 장치는메모리 상에 상기 가역 행렬 S와 상기 패리티 검사 행렬 H 및 상기 순열 행렬 Q가 곱해진 행렬인 (n-k) x n 크기를 갖는 Kpub - 임 - 를 전자 서명의 검증을 위한 공개키로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 공개키 Kpub와 상기 서명용 변수 is에 기초하여 상기 전자 서명 값 에 대한 검증을 수행하는 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치
|
6 |
6
제5항에 있어서,상기 데이터 수신 장치는상기 메모리 상에 상기 해시 함수 h(x)를 추가로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 평문 메시지 m을 상기 메모리 상에 저장되어 있는 상기 해시 함수 h(x)에 입력으로 인가하여 상기 제1 해시 값 h(m)을 연산하고, 상기 제1 해시 값 h(m)이 연산되면, 상기 제1 해시 값 h(m)에 상기 서명용 변수 is에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 검증용 해시 값인 을 연산하며,상기 공개키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 가 상기 검증용 해시 값인 의 전치 행렬인 와 일치하는지 비교하여 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단하는 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치
|
7 |
7
리드-뮬러(Reed-Muller: RM) 코드로 구성된 (n-k) x n - n과 k는 자연수이고 n은 k보다 큼 - 크기의 선형 부호에 대한 패리티 검사 행렬 H, '1'과 '0'의 코드 값을 성분으로 포함하는 (n-k) x (n-k) 크기의 가역 행렬 S 및 '1'과 '0'의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 Q가 전자 서명을 위한 개인키로 저장되어 있는 개인키 저장부를 유지하는 단계;데이터 수신 장치로 전송할 평문 메시지 m과 상기 가역 행렬 S에 기초하여, 신드롬(syndrome)으로 사용될 신드롬 데이터 si를 생성하는 단계;상기 패리티 검사 행렬 H를 기초로 상기 신드롬 데이터 si에 대해 오류 검출을 위한 신드롬 디코딩(Syndrome Decoding)을 수행하여 서명용 오류 벡터 esT를 생성하는 단계;상기 서명용 오류 벡터 esT의 좌측 변에 상기 순열 행렬 Q의 역행렬인 Q-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성하는 단계; 및상기 데이터 수신 장치로 상기 평문 메시지 m과 상기 전자 서명 값 를 전송하는 단계를 포함하는 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치의 동작 방법
|
8 |
8
제7항에 있어서,상기 패리티 검사 행렬 H는상기 RM 코드로 구성된 k x n 크기의 생성 행렬 G에서, 상기 생성 행렬 G를 구성하는 n개의 열들을 n/4개별로 구분하였을 때 구성되는 또 다른 RM 코드로 이루어진 복수의 부분 행렬들 중 적어도 하나의 부분 행렬에 포함된 p - p는 자연수 - 개의 행에 존재하는 성분을 랜덤하게 순열해서 만든 생성 행렬인 Gm에 대응하는 패리티 검사 행렬인 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치의 동작 방법
|
9 |
9
제7항에 있어서,상기 신드롬 데이터 si를 생성하는 단계는상기 평문 메시지 m을 선정된(predetermined) 해시 함수인 h(x) - 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수임 - 에 입력으로 인가하여 제1 해시 값 h(m)을 연산하는 단계; 및상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i - 상기 변수 i는 '0'이상인 정수임 - 를 랜덤하게 선정하면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 가역 행렬 S의 역행렬인 S-1을 곱하여 상기 신드롬 데이터 si - 임 - 를 생성하는 단계를 포함하는 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치의 동작 방법
|
10 |
10
제9항에 있어서,상기 서명용 오류 벡터 esT를 생성하는 단계는상기 변수 i가 랜덤하게 선정되면서 상기 신드롬 데이터 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 데이터 si에 대해 상기 패리티 검사 행렬 H를 기초로 오류 검출을 위한 완전 복호화(Complete Decoding)를 수행하여 - eT는 크기가 n인 벡터 e의 전치 행렬로 n x 1의 크기를 가짐 - 를 만족하는 eT를 연산한 후 eT의 해밍 무게(Hamming Weight)가 선정된 해밍 무게인 w 이하로 연산되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 연산된 eT를 상기 서명용 오류 벡터 esT로 선택하고,상기 전자 서명 값 를 전송하는 단계는상기 데이터 수신 장치로 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송하는 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치의 동작 방법
|
11 |
11
제10항에 있어서,상기 데이터 수신 장치는메모리 상에 상기 가역 행렬 S와 상기 패리티 검사 행렬 H 및 상기 순열 행렬 Q가 곱해진 행렬인 (n-k) x n 크기를 갖는 Kpub - 임 - 를 전자 서명의 검증을 위한 공개키로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 공개키 Kpub와 상기 서명용 변수 is에 기초하여 상기 전자 서명 값 에 대한 검증을 수행하는 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치의 동작 방법
|
12 |
12
제11항에 있어서,상기 데이터 수신 장치는상기 메모리 상에 상기 해시 함수 h(x)를 추가로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 평문 메시지 m을 상기 메모리 상에 저장되어 있는 상기 해시 함수 h(x)에 입력으로 인가하여 상기 제1 해시 값 h(m)을 연산하고, 상기 제1 해시 값 h(m)이 연산되면, 상기 제1 해시 값 h(m)에 상기 서명용 변수 is에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 검증용 해시 값인 을 연산하며,상기 공개키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 가 상기 검증용 해시 값인 의 전치 행렬인 와 일치하는지 비교하여 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단하는 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치의 동작 방법
|
13 |
13
제7항 내지 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
|
14 |
14
제7항 내지 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램
|