KR102001407B1 - Electronic signature apparatus and method using an error recovery scheme based on a parity check matrix - Google Patents
Electronic signature apparatus and method using an error recovery scheme based on a parity check matrix Download PDFInfo
- Publication number
- KR102001407B1 KR102001407B1 KR1020170156149A KR20170156149A KR102001407B1 KR 102001407 B1 KR102001407 B1 KR 102001407B1 KR 1020170156149 A KR1020170156149 A KR 1020170156149A KR 20170156149 A KR20170156149 A KR 20170156149A KR 102001407 B1 KR102001407 B1 KR 102001407B1
- Authority
- KR
- South Korea
- Prior art keywords
- variable
- value
- matrix
- parity check
- rti
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/136—Reed-Muller [RM] codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치 및 방법이 개시된다. 본 발명은 데이터 수신 장치에 전송할 메시지를 기초로 임의의 신드롬 메시지를 생성한 후 패리티 검사 행렬을 이용하여 상기 신드롬 메시지로부터 전자 서명용 오류 벡터를 검출한 후 상기 전자 서명용 오류 벡터를 기초로 전자 서명 값을 생성하여 상기 데이터 수신 장치로 전송함으로써, 기존의 비대칭키 기반의 전자 서명 기법과 전혀 다른 알고리즘에 따른 부인 방지 기능을 제공할 수 있다.An electronic signature apparatus and method using an error recovery technique based on a parity check matrix are disclosed. The present invention generates an arbitrary syndrome message based on a message to be transmitted to a data receiving apparatus, detects an error vector for an electronic signature from the syndrome message using a parity check matrix, and generates an electronic signature value based on the error vector for electronic signature And transmits it to the data receiving apparatus, it is possible to provide a non-repudiation function according to a completely different algorithm from the existing asymmetric key-based digital signature technique.
Description
본 발명은 비대칭키를 활용하여 부인 방지를 수행하는 전자 서명 시스템에 활용될 수 있는 기술들과 관련된다.The present invention relates to techniques that can be utilized in an electronic signature system that performs non-repudiation utilizing an asymmetric key.
최근, 인터넷이 널리 보급됨에 따라, 온라인을 이용한 뱅킹 서비스나 결제 시스템의 도입이 활발하게 이루어지고 있다.Recently, with the widespread use of the Internet, online banking services and payment systems have been actively introduced.
이러한 온라인 뱅킹 서비스나 결제 시스템에서는 계좌 이체나 전자 결제를 하고자 하는 진정한 사람으로부터 계좌 이체 또는 전자 결제 요청이 있는지 여부를 정확하게 판단해야 할 필요가 있다.In such an online banking service or a payment system, it is necessary to accurately determine whether there is a money transfer or an electronic payment request from a true person who intends to transfer money or make electronic payment.
예컨대, A라는 사용자가 온라인 뱅킹 서비스를 통해서 B라는 사용자에게 계좌 이체를 한다고 했을 때, 온라인 뱅킹 서비스를 제공하는 시스템에서는 해당 계좌 이체 요청이 A라는 사용자에 의해서 정말로 이루어진 것인지를 확인해야 할 필요가 있다.For example, when a user A transfers an account to a user B through an online banking service, it is necessary to check whether the account transfer request is really made by the user A in the system providing the online banking service .
이렇게, 특정 사용자로부터 전달되는 메시지가 진정한 사용자에 의해서 전달되는 것인지 여부를 확인하기 위한 보안 서비스를 부인 방지 서비스라고 칭한다.In this way, a security service for checking whether a message delivered from a specific user is delivered by a real user is called a non-repudiation service.
보통, 일반적인 온라인 뱅킹 서비스나 결제 시스템에서 도입하고 있는 부인 방지 서비스는 공개키 기반의 암호화 방식(Public Key Infrastructure: PKI)을 이용한 전자 서명 시스템이 주를 이루고 있다.Generally, the non-repudiation service introduced in general online banking service or payment system is mainly composed of electronic signature system using Public Key Infrastructure (PKI).
공개키 기반의 암호화 방식의 전자 서명 시스템이란 메시지를 전달하는 측에서 해당 메시지에 대한 해시 값에 대해 자신의 개인키로 암호화를 수행하여 전자 서명 값을 생성한 후 해당 메시지와 상기 전자 서명 값을 메시지 수신측에 전달하면, 메시지 수신측에서 상기 개인키에 대응하는 공개키로 상기 전자 서명 값을 복호화하고, 메시지 전송측으로부터 수신한 상기 메시지에 대한 해시 값을 연산한 후 상기 공개키로 복호화한 값과 상기 메시지에 대한 해시 값을 비교하여 두 값이 서로 동일한 것으로 판단되면, 메시지 전송측으로부터 수신된 상기 전자 서명 값이 상기 메시지 전송측의 개인키에 의해서 정말로 암호화된 값임이 입증됨에 따라, 상기 메시지가 진정한 메시지 전송측으로부터 전달된 메시지임을 확인하는 시스템이다.The digital signature system of the public key-based cryptosystem is a system for transmitting a message, encrypting the hash value of the message with its own private key to generate a digital signature value, The message receiver decrypts the digital signature value with a public key corresponding to the private key, calculates a hash value for the message received from the message transmission side, and decrypts the decrypted value with the public key, The digital signature value received from the message transmission side is proved to be a value that is really encrypted by the private key of the message transmission side, And confirms that the message is transmitted from the transmission side.
이러한 공개키 기반의 암호화 방식의 전자 서명 시스템은 일반적으로 널리 알려진 DH(Diffie-Hellman) 알고리즘에 따른 키교환 방식 등을 활용해서, 개인키와 이에 대응하는 공개키를 생성한 후 상기 개인키로 전자 서명 값을 생성하고, 상기 공개키로 상기 전자 서명 값을 검증하는 형태로 운영되고 있다. The digital signature system of the public key based encryption scheme generates a private key and a corresponding public key by using a public key exchange scheme according to a commonly known DH (Diffie-Hellman) algorithm, And verifies the digital signature value with the public key.
이러한 기존의 전자 서명 생성 및 검증 알고리즘은 이미 관련 업계에서 널리 사용되고 있다는 점에서 전자 서명의 위변조 가능성이 높아 보안상 취약성을 가지고 있다.These existing digital signature generation and verification algorithms are already widely used in the related industries, and they are vulnerable due to high possibility of forgery and alteration of digital signatures.
따라서, 기존의 전자 서명 생성 및 검증 알고리즘과 다른 새로운 방식의 전자 서명 생성 및 검증 알고리즘에 대한 연구가 필요하다.Therefore, it is necessary to study new digital signature generation and verification algorithms different from existing digital signature generation and verification algorithms.
본 발명은 데이터 수신 장치에 전송할 메시지를 기초로 임의의 신드롬 메시지를 생성한 후 패리티 검사 행렬을 이용하여 상기 신드롬 메시지로부터 전자 서명용 오류 벡터를 검출한 후 상기 전자 서명용 오류 벡터를 기초로 전자 서명 값을 생성하여 상기 데이터 수신 장치로 전송함으로써, 기존의 비대칭키 기반의 전자 서명 기법과 전혀 다른 알고리즘에 따른 부인 방지 기능을 제공하고자 한다.The present invention generates an arbitrary syndrome message based on a message to be transmitted to a data receiving apparatus, detects an error vector for an electronic signature from the syndrome message using a parity check matrix, and generates an electronic signature value based on the error vector for electronic signature And transmits it to the data receiving apparatus, thereby providing a non-repudiation function according to a completely different algorithm from the conventional asymmetric key-based digital signature technique.
본 발명의 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치는 리드-뮬러(Reed-Muller: RM) 코드로 구성된 (n-k) x n - n과 k는 자연수이고 n은 k보다 큼 - 크기의 선형 부호에 대한 패리티 검사 행렬 H, '1'과 '0'의 코드 값을 성분으로 포함하는 (n-k) x (n-k) 크기의 스크램블링 행렬 Q 및 '1'과 '0'의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 P가 저장되어 있는 개인키 저장부, 데이터 수신 장치로 전송할 평문 메시지 m을 선정된(predetermined) 해시 함수인 h(x) - 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수임 - 에 입력으로 인가하여 제1 해시 값 h(m)을 연산하는 제1 해시 값 연산부, 상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i - 상기 변수 i는 '0'이상인 정수임 - 를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si - 임 - 를 생성하는 신드롬 메시지 생성부, 상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화(Complete Decoding)를 수행하여 - zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐 - 를 만족하는 zT를 연산한 후 zT의 해밍 무게(Hamming Weight)가 선정된 해밍 무게인 w 이하로 연산되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 연산된 zT를 서명용 오류 벡터 zs T로 선택하는 선택부, 상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성하는 전자 서명부 및 상기 데이터 수신 장치에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송하는 전자 서명 전송부를 포함한다.An electronic signature apparatus using an error recovery method based on a parity check matrix according to an embodiment of the present invention includes (nk) xn-n and k composed of Reed-Muller (RM) (Nk) x (nk) scrambling matrix Q and codes of '1' and '0' having a code value of the parity check matrix H, '1' and '0' A hash function h (x) which is a predetermined hash function, h (x), a plaintext message m to be transmitted to the data receiving apparatus, A first hash value calculation unit for calculating a first hash value h (m) by applying the input value as an input to a one-way function for converting an input value into an output value of (nk) bits, , The variable i - the variable i is an integer equal to or greater than 0 - is incremented from 0 to 1 , The result of concatenating the bit value of the variable i with the first hash value h (m) Is applied as input to the hash function h (x) to obtain a second hash value < RTI ID = 0.0 > , And the second hash value ≪ / RTI > The left side of the scrambling matrix Q is multiplied by the inverse matrix Q -1 of the scrambling matrix Q to obtain a syndrome message s i - Im-syndrome message generating unit for generating, each time while the variable i to "0" as a starting increased by '1', the syndrome message s i is generated, relative to the syndrome message s i for each variable i And performs complete decoding based on the parity check matrix H - z T is a transpose of a vector z of size n and has a size of nx 1 - then computes z T , and then the Hamming Weight of z T is calculated to be less than or equal to the selected Hamming weight w selecting a variable i at the time when a signature variable i s, and at the same time selecting unit for selecting a z T calculated in response to the signing variable i s a signature error vector z s T, the left side of the signing error vector z s T By the inverse matrix P -1 of the permutation matrix P , Thereby calculating As a digital signature value for the plaintext message m; and a plaintext message m and a digital signature value < RTI ID = 0.0 > And an electronic signature transmitter for transmitting the signature variable i s .
또한, 본 발명의 다른 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치는 RM 코드로 구성된 (n-k) x n - n과 k는 자연수이고 n은 k보다 큼 - 크기의 선형 부호에 대한 패리티 검사 행렬 H, 상기 패리티 검사 행렬 H에서 복수의 선정된 제1 행들에 위치하는 성분들이 랜덤한 코드 값으로 치환되고, 복수의 선정된 제2 열들에 위치하는 성분들이 '0'의 코드 값으로 치환된 변형 패리티 검사 행렬 Ht, '1'과 '0'의 코드 값을 성분으로 포함하는 (n-k) x (n-k) 크기의 스크램블링 행렬 Q 및 '1'과 '0'의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 P가 저장되어 있는 개인키 저장부, 데이터 수신 장치로 전송할 평문 메시지 m을 선정된 해시 함수인 h(x) - 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수임 - 에 입력으로 인가하여 제1 해시 값 h(m)을 연산하는 제1 해시 값 연산부, 상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i - 상기 변수 i는 '0'이상인 정수임 - 를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si - 임 - 를 생성하는 신드롬 메시지 생성부, 상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화를 수행하여 - zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐 - 를 만족하는 zT를 연산하고, 상기 변형 패리티 검사 행렬 Ht에서 상기 복수의 선정된 제1 행들과 상기 복수의 선정된 제2 열들에 위치하는 코드 값에 기초하여 각 변수 i마다 연산되는 zT의 성분을 조작함으로써, 를 만족하는 zt T를 검출한 후 zt T의 해밍 무게가 선정된 해밍 무게인 w 이하로 검출되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 검출된 zt T를 서명용 오류 벡터 zs T로 선택하는 선택부, 상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성하는 전자 서명부 및 상기 데이터 수신 장치에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송하는 전자 서명 전송부를 포함한다.Also, an electronic signature apparatus using an error recovery method based on a parity check matrix based on a parity check matrix according to another embodiment of the present invention includes (nk) xn-n composed of RM codes, k is a natural number, n is a linear code The parity check matrix H for the parity check matrix H, the components located in the plurality of first rows selected in the parity check matrix H are replaced with random code values, and the components located in the plurality of second selected columns are replaced with codes of '0' (Nk) x (nk) scrambling matrix Q containing the code values of the transformed parity check matrix H t , '1' and '0', and the code values of '1' and '0' And a hash function h (x), which is a hash function h (x), is used to convert the input value to ( nk) into a bit-sized output value. A first hash value calculator for calculating a first hash value h (m) by applying the first hash value h (m) as an input, The result of concatenating the first hash value h (m) with the bit value for the variable i while incrementing the integer from 0 to 1 Is applied as input to the hash function h (x) to obtain a second hash value < RTI ID = 0.0 > , And the second hash value ≪ / RTI > The left side of the scrambling matrix Q is multiplied by the inverse matrix Q -1 of the scrambling matrix Q to obtain a syndrome message s i - Im-syndrome message generating unit for generating, each time while the variable i to "0" as a starting increased by '1', the syndrome message s i is generated, relative to the syndrome message s i for each variable i And performs a full decoding based on the parity check matrix H - z T is a transpose of a vector z of size n and has a size of nx 1, and calculates z T in the modified parity check matrix H t by multiplying the plurality of selected first rows and the plurality By manipulating the components of z T computed for each variable i based on the code values located in the selected second columns, And then detecting the z t T satisfying the variable i at the time is detected more than the Hamming weight of the Hamming weight of z t T selection w and at the same time select a signature variable i s corresponding to the signing variable i s A selector for selecting the detected z t T as a signature error vector z s T , a left side of the signature error vector z s T multiplied by the inverse matrix P -1 of the permutation matrix P , Thereby calculating As a digital signature value for the plaintext message m; and a plaintext message m and a digital signature value < RTI ID = 0.0 > And an electronic signature transmitter for transmitting the signature variable i s .
또한, 본 발명의 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법은 RM 코드로 구성된 (n-k) x n - n과 k는 자연수이고 n은 k보다 큼 - 크기의 선형 부호에 대한 패리티 검사 행렬 H, '1'과 '0'의 코드 값을 성분으로 포함하는 (n-k) x (n-k) 크기의 스크램블링 행렬 Q 및 '1'과 '0'의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 P가 저장되어 있는 개인키 저장부를 유지하는 단계, 데이터 수신 장치로 전송할 평문 메시지 m을 선정된 해시 함수인 h(x) - 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수임 - 에 입력으로 인가하여 제1 해시 값 h(m)을 연산하는 단계, 상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i - 상기 변수 i는 '0'이상인 정수임 - 를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si - 임 - 를 생성하는 단계, 상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화를 수행하여 - zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐 - 를 만족하는 zT를 연산한 후 zT의 해밍 무게가 선정된 해밍 무게인 w 이하로 연산되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 연산된 zT를 서명용 오류 벡터 zs T로 선택하는 단계, 상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성하는 단계 및 상기 데이터 수신 장치에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송하는 단계를 포함한다.Also, an electronic signature method using an error recovery method based on a parity check matrix based on a parity check matrix according to an embodiment of the present invention is characterized in that (nk) xn - n and k composed of RM codes are natural numbers and n is a linear code (Nk) x (nk) scrambling matrix Q including code values of the parity check matrix H, '1' and '0' for the scrambling matrix Q and the code values of '1' and '0' (Nk) of the hash function h (x), which is a predetermined hash function, h (x), and the hash function h (x) (M) by applying a first hash value h (m) to the input of the first hash value h (m) i is an integer equal to or greater than 0, is increased from '0' to '1', and the first hash value The result obtained by concatenating the bit values of the variable i with h (m) Is applied as input to the hash function h (x) to obtain a second hash value < RTI ID = 0.0 > , And the second hash value ≪ / RTI > The left side of the scrambling matrix Q is multiplied by the inverse matrix Q -1 of the scrambling matrix Q to obtain a syndrome message s i - The parity check for generating, each time while the variable i to "0" to start increasing by "1" be the syndrome message s i is generated, the syndrome message s i for each variable i - Im By performing a complete decoding based on the matrix H - z T is the transpose matrix of vector z with size n and has the size of nx 1 - After computing the z T satisfying z T , the variable at the time when the Hamming weight of z T is calculated to be less than the selected Hamming weight w select i to i s signature variable, and at the same time the signing variable i s error the computed z T signature corresponding to the vector selecting a z s T, the signature error vectors and a permutation matrix on the left side of the z s T P Multiplied by the inverse of P -1 , Thereby calculating Generating a plaintext message m and an electronic signature value m for the plaintext message m; And transmitting the signature variable i s .
또한, 본 발명의 다른 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법은 RM 코드로 구성된 (n-k) x n - n과 k는 자연수이고 n은 k보다 큼 - 크기의 선형 부호에 대한 패리티 검사 행렬 H, 상기 패리티 검사 행렬 H에서 복수의 선정된 제1 행들에 위치하는 성분들이 랜덤한 코드 값으로 치환되고, 복수의 선정된 제2 열들에 위치하는 성분들이 '0'의 코드 값으로 치환된 변형 패리티 검사 행렬 Ht, '1'과 '0'의 코드 값을 성분으로 포함하는 (n-k) x (n-k) 크기의 스크램블링 행렬 Q 및 '1'과 '0'의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 P가 저장되어 있는 개인키 저장부를 유지하는 단계, 데이터 수신 장치로 전송할 평문 메시지 m을 선정된 해시 함수인 h(x) - 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수임 - 에 입력으로 인가하여 제1 해시 값 h(m)을 연산하는 단계, 상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i - 상기 변수 i는 '0'이상인 정수임 - 를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si - 임 - 를 생성하는 단계, 상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화를 수행하여 - zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐 - 를 만족하는 zT를 연산하고, 상기 변형 패리티 검사 행렬 Ht에서 상기 복수의 선정된 제1 행들과 상기 복수의 선정된 제2 열들에 위치하는 코드 값에 기초하여 각 변수 i마다 연산되는 zT의 성분을 조작함으로써, 를 만족하는 zt T를 검출한 후 zt T의 해밍 무게가 선정된 해밍 무게인 w 이하로 검출되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 검출된 zt T를 서명용 오류 벡터 zs T로 선택하는 단계, 상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성하는 단계 및 상기 데이터 수신 장치에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송하는 단계를 포함한다.Also, an electronic signature method using an error recovery method based on a parity check matrix based on a parity check matrix according to another embodiment of the present invention is characterized in that (nk) xn-n composed of RM code and k are natural numbers and n is a linear code The parity check matrix H for the parity check matrix H, the components located in the plurality of first rows selected in the parity check matrix H are replaced with random code values, and the components located in the plurality of second selected columns are replaced with codes of '0' (Nk) x (nk) scrambling matrix Q containing the code values of the transformed parity check matrix H t , '1' and '0', and the code values of '1' and '0' Storing a permutation matrix P having a size of nxn as a component; storing a plaintext message m to be transmitted to the data receiving apparatus as a hash function h (x) - the hash function h (x) Converts a value to an (nk) bit-sized output value (M) is computed by applying a first hash value h (m) to the input of the first hash value h (m), wherein the key i is a one-way function, The result of concatenating the first hash value h (m) with the bit value for the variable i while incrementing the integer from 0 to 1 Is applied as input to the hash function h (x) to obtain a second hash value < RTI ID = 0.0 > , And the second hash value ≪ / RTI > The left side of the scrambling matrix Q is multiplied by the inverse matrix Q -1 of the scrambling matrix Q to obtain a syndrome message s i - The parity check for generating, each time while the variable i to "0" to start increasing by "1" be the syndrome message s i is generated, the syndrome message s i for each variable i - Im By performing a complete decoding based on the matrix H - z T is a transpose of a vector z of size n and has a size of nx 1, and calculates z T in the modified parity check matrix H t by multiplying the plurality of selected first rows and the plurality By manipulating the components of z T computed for each variable i based on the code values located in the selected second columns, And then detecting the z t T satisfying the variable i at the time is detected more than the Hamming weight of the Hamming weight of z t T selection w and at the same time select a signature variable i s corresponding to the signing variable i s Selecting the detected z t T as a signature error vector z s T , multiplying the left side of the signature error vector z s T by the inverse matrix P -1 of the permutation matrix P , Thereby calculating Generating a plaintext message m and an electronic signature value m for the plaintext message m; And transmitting the signature variable i s .
본 발명은 데이터 수신 장치에 전송할 메시지를 기초로 임의의 신드롬 메시지를 생성한 후 패리티 검사 행렬을 이용하여 상기 신드롬 메시지로부터 전자 서명용 오류 벡터를 검출한 후 상기 전자 서명용 오류 벡터를 기초로 전자 서명 값을 생성하여 상기 데이터 수신 장치로 전송함으로써, 기존의 비대칭키 기반의 전자 서명 기법과 전혀 다른 알고리즘에 따른 부인 방지 기능을 제공할 수 있다.The present invention generates an arbitrary syndrome message based on a message to be transmitted to a data receiving apparatus, detects an error vector for an electronic signature from the syndrome message using a parity check matrix, and generates an electronic signature value based on the error vector for electronic signature And transmits it to the data receiving apparatus, it is possible to provide a non-repudiation function according to a completely different algorithm from the existing asymmetric key-based digital signature technique.
도 1은 본 발명의 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 변형 패리티 검사 행렬 Ht의 형태에 대한 예시를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법을 도시한 순서도이다.
도 4는 본 발명의 또 다른 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법을 도시한 순서도이다.1 is a diagram illustrating a structure of an electronic signature apparatus using an error recovery scheme based on a parity check matrix according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of a form of a modified parity check matrix H t according to an embodiment of the present invention.
3 is a flowchart illustrating an electronic signature method using an error recovery technique based on a parity check matrix according to an embodiment of the present invention.
4 is a flowchart illustrating an electronic signature method using an error recovery technique based on a parity check matrix according to another embodiment of the present invention.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. It is to be understood that the description is not intended to limit the invention to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals in the drawings are used for similar elements and, unless otherwise defined, all terms used in the specification, including technical and scientific terms, are to be construed in a manner that is familiar to those skilled in the art. It has the same meaning as commonly understood by those who have it.
도 1은 본 발명의 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치의 구조를 도시한 도면이다.1 is a diagram illustrating a structure of an electronic signature apparatus using an error recovery scheme based on a parity check matrix according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일실시예에 다른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치(110)는 개인키 저장부(111), 제1 해시 값 연산부(112), 신드롬 메시지 생성부(113), 선택부(114), 전자 서명부(115) 및 전자 서명 전송부(116)를 포함한다.1, an
개인키 저장부(111)에는 리드-뮬러(Reed-Muller: RM) 코드로 구성된 (n-k) x n 크기의 선형 부호에 대한 패리티 검사 행렬 H, '1'과 '0'의 코드 값을 성분으로 포함하는 (n-k) x (n-k) 크기의 스크램블링 행렬 Q 및 '1'과 '0'의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 P가 저장되어 있다.The private
여기서, n과 k는 자연수이고 n은 k보다 큰 수이다.Where n and k are natural numbers and n is a number greater than k.
RM 코드란 오류 정정 코드로 사용되는 선형 코드를 의미하는 것으로, RM(r, m)으로 표현되는 RM 코드는 길이가 2m이고, m개의 기본 코드를 가지게 되며, 상기 m개의 기본 코드들 간의 곱을 갖는 코드 역시 RM의 기본 코드가 될 수 있다. 그리고, r은 기본 코드들 간의 곱에 사용될 수 있는 기본 코드의 최대 개수를 의미한다. 예컨대, m=4, r=4라고 할 때, RM 코드의 길이는 16이 되고, 이때, 상기 RM 코드는 24으로 표시되므로, 4개의 기본 코드 R1, R2, R3, R4(각 기본 코드의 길이는 16임)를 가지게 된다. 이때, 4개의 기본 코드 R1, R2, R3, R4 간의 곱을 연산한 RM 코드 역시 기본 코드가 될 수 있다. 여기서, r=4이기 때문에 4개의 기본 코드 R1, R2, R3, R4에 대해서는 또 다른 추가 기본 코드를 생성하기 위해서 상기 4개의 기본 코드들 간의 곱에 사용 가능한 최대 개수가 4개가 되기 때문에, 4개의 기본 코드 R1, R2, R3, R4 상호 간의 곱을 최대 4개까지 조합하여 연산함으로써, 추가적인 기본 코드들을 생성할 수 있다. 관련해서, RM(4, 4)에 대해서는 R1, R2, R3, R4에 해당되는 4개의 기본 코드와 R1R2, R1R3, R1R4, R2R3, R2R4, R3R4, R1R2R3, R1R2R4, R1R3R4, R2R3R4, R1R2R3R4로 구성된 11개의 기본 코드를 생성할 수 있고, RM 코드의 특성상 비트 값이 모두 '1'로 구성된 코드도 기본 코드로 가져야 하기 때문에 결과적으로 총 16개의 기본 코드들이 생성될 수 있다. 이러한 RM 코드는 데이터 수신측으로 전송할 메시지를 부호어(codeword)로 인코딩하기 위한 생성 행렬을 구성하는데 사용될 수 있고, 데이터 수신측에 수신된 부호어에 오류가 발생하였는지 여부를 검증하기 위한 패리티 검사 행렬을 구성하는데 사용될 수 있다.The RM code means a linear code used as an error correction code. The RM code expressed by RM (r, m) has a length of 2 m and has m basic codes. The product of the m basic codes The code you have can also be the base code of the RM. And r is the maximum number of basic codes that can be used in the multiplication of the basic codes. For example, m = 4, when that r = 4, the length of the RM code is 16, at this time, so the RM code is represented by 24, of the four basic codes R1, R2, R3, R4 (each primary code The length is 16). At this time, the RM code obtained by multiplying the product of the four basic codes R1, R2, R3, and R4 can also be a basic code. Here, since r = 4, the maximum number of usable products for the multiplication of the four basic codes is four for generating four additional basic codes for the four basic codes R1, R2, R3, and R4, Additional basic codes can be generated by combining up to four products of the basic codes R1, R2, R3, and R4. In relation to RM (4 and 4), 11 basic codes corresponding to R1, R2, R3 and R4 and 11 basic codes consisting of R1R2, R1R3, R1R4, R2R3, R2R4, R3R4, R1R2R3, R1R2R4, R1R3R4, R2R3R4 and R1R2R3R4 Since the basic code can be generated and the code having the bit value of '1' in the characteristic of the RM code also has to be the basic code, a total of 16 basic codes can be generated as a result. The RM code can be used to construct a generator matrix for encoding a message to be transmitted to a data receiver with a codeword, and a parity check matrix for verifying whether an error has occurred in the codeword received at the data receiver Lt; / RTI >
패리티 검사 행렬은 데이터 수신측에 수신된 부호어에 오류가 발생하였는지 여부를 검증하기 위한 행렬로 k x n 크기의 생성 행렬 G가 있을 때, 이에 대응하는 패리티 검사 행렬을 'H'라고 하면, 상기 패리티 검사 행렬 H의 크기는 (n-k) x n 이 되며, 상기 패리티 검사 행렬 H와 상기 생성 행렬 G 사이에는 하기의 수학식 1과 같은 특성이 존재한다.The parity check matrix is a matrix for verifying whether or not an error has occurred in the codeword received at the data receiving side. When there is a kxn generation matrix G, if the corresponding parity check matrix is 'H' The size of the matrix H is (nk) xn, and the parity check matrix H and the generator matrix G have the following Equation (1).
여기서, HT는 패리티 검사 행렬 H의 전치 행렬을 의미한다.Here, H T denotes a transpose matrix of the parity check matrix H.
만약, 데이터 전송측이 생성 행렬 G를 이용해서 부호어 c를 생성하여 데이터 수신측으로 전송함에 따라 데이터 수신측에 수신된 부호어를 'r'이라고 한다면, 상기 부호어 r에 오류가 발생하지 않은 경우, 상기 부호어 r에 대해서는 패리티 검사 행렬 H와의 관계에서 하기의 수학식 2와 같은 특성이 존재한다.If the data transmission side generates the codeword c using the generator matrix G and transmits the codeword c to the data receiving side, if the codeword received at the data receiving end is 'r' and no error occurs in the codeword r , And the codeword r has the following characteristics in relation to the parity check matrix H: < EMI ID = 2.0 >
여기서, rT는 부호어 r의 전치 행렬을 의미한다.Here, r T denotes the transpose matrix of the codeword r.
하지만, 데이터 전송측이 전송한 부호어 c에 오류 e가 발생하였다고 한다면, 데이터 수신측이 수신한 상기 부호어 r은 'c+e'가 될 것이고, 이로 인해 패리티 검사 행렬 H와 상기 부호어 r 사이에는 하기의 수학식 3과 같은 특성을 가지게 된다.However, if an error e occurs in the codeword c transmitted by the data transmission side, the codeword r received by the data receiver side will be 'c + e', and the parity check matrix H and the codeword r The following equation (3) is obtained.
상기 수학식 3에서의 연산과 같이, 데이터 수신측에서는 패리티 검사 행렬을 이용해서 데이터 수신측에 수신된 데이터에 오류가 존재하는지 여부를 검출할 수 있다. 그리고, 상기 수학식 3에서 's'를 신드롬(Syndrome)이라고 한다.As in the operation of Equation (3), the data receiving side can detect whether there is an error in the data received at the data receiving side using the parity check matrix. In Equation (3), 's' is referred to as a syndrome.
패리티 검사 행렬 H가 RM 코드로 구성되는 경우, 상기 수학식 3에서 표현한 신드롬 s에 대해 상기 패리티 검사 행렬 H를 기초로 한 완전 복호(Complete Decoding) 알고리즘을 이용하게 되면, 의 수식을 만족하는 복수의 e들 중 해밍 무게(Hamming Weight)가 최소인 e를 찾아낼 수 있다.When the parity check matrix H is composed of RM codes, if a complete decoding algorithm based on the parity check matrix H is used for the syndrome s expressed in Equation (3) E among the plurality of e satisfying the equation of Eq.
상기 완전 복호 알고리즘이란 r×n 크기의 패리티 검사 행렬과 신드롬 가 있을 때, 를 만족하는 e들 중 해밍 무게가 최소인 e를 찾아내는 복호화 알고리즘이다. 완전 복호 알고리즘을 이용하면, 데이터 전송측이 부호어를 생성하기 위해 사용한 생성 행렬에 지정되어 있는 오류 정정 능력을 초과하는 오류에 대해서도 복호가 가능하며, RM 코드의 복호 방법 중 하나인 재귀 복호는 완전 복호가 가능한 특징이 있다.The complete decoding algorithm is a r × n-size parity check matrix and a syndrome Lt; / RTI > Is the decryption algorithm that finds the e with the smallest Hamming weight. By using the complete decoding algorithm, it is possible to decode an error exceeding the error correction capability specified in the generation matrix used for generating the codeword by the data transmission side, and recursive decoding, which is one of the RM code decoding methods, It is possible to decode it.
여기서, 해밍 무게란 '0'과 "1"로 구성된 코드 값들의 집합에서 '1'이라는 코드 값의 개수를 의미한다.Here, Hamming weight means the number of code values of '1' in the set of code values composed of '0' and '1'.
이렇게, 개인키 저장부(111) 상에 패리티 검사 행렬 H, 스크램블링 행렬 Q 및 순열 행렬 P가 저장되어 있는 상태에서, 데이터 수신 장치(120)로 전송할 평문 메시지를 m이라고 한다면, 제1 해시 값 연산부(112)는 상기 평문 메시지 m을 선정된(predetermined) 해시 함수인 h(x)에 입력으로 인가하여 제1 해시 값 h(m)을 연산한다.If the plaintext message to be transmitted to the
여기서, 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수이다.Here, the hash function h (x) is a one-way function for converting an input value into an output value of (n-k) bits.
신드롬 메시지 생성부(113)는 상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i(상기 변수 i는 '0'이상인 정수임)를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si를 생성한다.The syndrome
이로 인해, 상기 신드롬 메시지 si는 하기의 수학식 4와 같이 표현될 수 있다.Accordingly, the syndrome message s i can be expressed as Equation (4) below.
선택부(114)는 상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화(Complete Decoding)를 수행하여 (zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐)를 만족하는 zT를 연산한 후 zT의 해밍 무게가 선정된 해밍 무게인 w 이하로 연산되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 연산된 zT를 서명용 오류 벡터 zs T로 선택한다.When the syndrome message s i is generated while the variable i is incremented by '1' starting from '0', the
즉, 선택부(114)는 상기 수학식 4에서 나타낸 si에 대해 상기 변수 i를 '0'을 시작으로 해서 '1'씩 증가시키면서 완전 복호화를 수행하여 를 만족하는 zT를 연산해 보고, zT의 해밍 무게가 상기 선정된 해밍 무게인 w 이하로 연산되는 시점에서, zT를 찾는 연산을 중단한 후 해당 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 연산된 zT를 서명용 오류 벡터 zs T로 선택할 수 있다.That is, the
그 이후, 전자 서명부(115)는 상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성한다.Thereafter, the
그리고, 전자 서명 전송부(116)는 데이터 수신 장치(120)에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송할 수 있다.The digital
이때, 본 발명의 일실시예에 따르면, 데이터 수신 장치(120)는 메모리 상에 상기 스크램블링 행렬 Q와 상기 패리티 검사 행렬 H 및 상기 순열 행렬 P가 곱해진 행렬인 (n-k) x n 크기를 갖는 Kpub를 전자 서명에 대한 검증키로 저장하고 있을 수 있다.In this case, according to an embodiment of the present invention, the
여기서, 상기 검증키 Kpub는 하기의 수학식 5와 같이 나타낼 수 있다.Here, the verification key K pub can be expressed by the following equation (5).
만약, 데이터 수신 장치(120)에 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 데이터 수신 장치(120)는 상기 전자 서명 값 가 진정한 데이터 전송측에 의해서 전송된 데이터인지 여부를 검증하기 위해, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 검증키 Kpub와 상기 서명용 변수 is에 기초하여 상기 전자 서명 값 에 대한 검증을 수행할 수 있다.If the plaintext message m and the digital signature value < RTI ID = 0.0 > And when the signing variable i s is received, the
관련해서, 데이터 수신 장치(120)는 상기 전자 서명 값 에 대한 검증을 수행하기 위한 구체적 구성으로, 상기 메모리 상에 상기 해시 함수 h(x)를 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인할 수 있다.In this regard, the
앞서, 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치(110)의 선택부(114)는 해밍 무게가 상기 선정된 해밍 무게인 w 이하를 갖는 서명용 오류 벡터 zs T를 선택한 후 상기 전자 서명 값 을 생성하여 데이터 수신 장치(120)로 전송하였기 때문에, 데이터 수신 장치(120)에 수신된 전자 서명 값인 의 해밍 무게도 상기 선정된 해밍 무게인 w 이하가 되어야 데이터 수신 장치(120)에 정상적으로 데이터가 수신되었다고 볼 수 있을 것이다.The
따라서, 데이터 수신 장치(120)는 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 먼저 확인하게 된다.Accordingly, the
만약, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 데이터 수신 장치(120)는 상기 평문 메시지 m을 상기 메모리 상에 저장되어 있는 상기 해시 함수 h(x)에 입력으로 인가하여 상기 제1 해시 값 h(m)을 연산할 수 있다.If the digital signature value The
그러고 나서, 데이터 수신 장치(120)는 상기 제1 해시 값 h(m)에 상기 서명용 변수 is에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 검증용 해시 값인 을 연산할 수 있다.Then, the
그 이후, 데이터 수신 장치(120)는 상기 검증키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 가 상기 검증용 해시 값인 의 전치 행렬인 와 일치하는지 비교하여 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단할 수 있다.Thereafter, the
관련해서, 상기 검증키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 은 하기의 수학식 6과 같이 나타낼 수 있다.In relation to this, the verification key K pub is set to the digital signature value Lt; RTI ID = 0.0 > Can be expressed by Equation (6) below.
그리고, 상기 검증용 해시 값 의 전치 행렬인 는 하기의 수학식 7과 같이 나타낼 수 있다.Then, the verification hash value ≪ / RTI > Can be expressed by the following Equation (7).
상기 수학식 7에서 는 상기 서명용 변수 is가 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치(110)로부터 데이터 수신 장치(120)로 위조나 변조 없이 정상적으로 수신되었다면, 와 동일한 값이 될 것이다.In Equation (7) If the signature variable i s has been normally received from the
이로 인해, 상기 전자 서명 값 가 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치(110)로부터 데이터 수신 장치(120)로 위조나 변조 없이 정상적으로 수신되었다면, 상기 수학식 6에 따른 와 상기 수학식 7에 따른 는 하기의 수학식 8에서 나타낸 것처럼 동일한 값이 되어야 할 것이다.Thus, the digital signature value Is normally received from the
따라서, 데이터 수신 장치(120)는 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단할 수 있다.Therefore, the
이상, 도 1을 참조하여 본 발명의 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치(110)를 설명하였다.The
지금까지 설명한 실시예에서는 RM 코드로 구성된 패리티 검사 행렬을 기초로 전자 서명을 수행하는 구성을 포함하고 있다는 점에서, 제3자가 RM 코드의 구조적 특성을 기반으로 상기 패리티 검사 행렬을 추측해낼 가능성을 배제할 수 없는 보안상의 약점이 존재할 수 있다. 따라서, 본 발명은 전자 서명의 보안성을 더욱 높이기 위해서, 전술한 실시예와는 다른 변형된 실시예로 전자 서명에 사용되는 패리티 검사 행렬의 구조를 변경함으로써, 제3자가 RM 코드의 구조적 특성을 기반으로 패리티 검사 행렬을 추측해낼 수 없도록 구성될 수도 있다. 관련해서, 이하에서는 도 1을 참조하여 본 발명의 변형된 실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치(110)에 대해 추가적으로 설명하기로 한다.In the embodiment described so far, the third embodiment includes a configuration for performing digital signature based on a parity check matrix composed of RM codes, and thus excludes the possibility that a third party can guess the parity check matrix based on the structural characteristic of the RM code There may be security weaknesses that can not be done. Therefore, in order to further enhance the security of digital signatures, the present invention is a modified embodiment that is different from the above-described embodiment. By changing the structure of the parity check matrix used for digital signatures, The parity check matrix can not be inferred based on the parity check matrix. Hereinafter, an
개인키 저장부(111)에는 RM 코드로 구성된 (n-k) x n 크기의 선형 부호에 대한 패리티 검사 행렬 H, 상기 패리티 검사 행렬 H에서 복수의 선정된 제1 행들에 위치하는 성분들이 랜덤한 코드 값으로 치환되고, 복수의 선정된 제2 열들에 위치하는 성분들이 '0'의 코드 값으로 치환된 변형 패리티 검사 행렬 Ht, '1'과 '0'의 코드 값을 성분으로 포함하는 (n-k) x (n-k) 크기의 스크램블링 행렬 Q 및 '1'과 '0'의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 P가 저장되어 있다.In the private
여기서, n과 k는 자연수이고 n은 k보다 큰 수이다.Where n and k are natural numbers and n is a number greater than k.
보통, 상기 패리티 검사 행렬 H는 하기의 수학식 9에서 표현한 것처럼, 패리티 비트들로 구성된 k x (n-k) 크기의 패리티 부(sub) 행렬 Ps에 대한 전치 행렬인 Ps T와 (n-k) x (n-k) 크기의 단위 행렬 I가 서로 연접된 형태를 가지고 있다.Typically, the parity check matrix, as H is expressed in Equation (9) below, P s T and the (nk) of the pre-matrix for the kx (nk) parity portion (sub) matrix P s of size consisting of a parity bit x ( nk) size matrix I are connected to one another.
이때, 개인키 저장부(110) 상에 저장되어 있는 상기 변형 패리티 검사 행렬 Ht는 상기 수학식 9의 형태를 갖는 상기 패리티 검사 행렬 H에서 복수의 선정된 제1 행들에 위치하는 성분들이 랜덤한 코드 값으로 치환되고, 복수의 선정된 제2 열들에 위치하는 성분들이 '0'의 코드 값으로 치환된 형태를 가지도록 구성될 수 있다.At this time, the modified parity check matrix H t stored on the private
관련해서, 상기 변형 패리티 검사 행렬 Ht는 도 2에 도시된 그림과 같은 형태를 가지도록 구성될 수 있다.In this regard, the modified parity check matrix H t may be configured to have a shape as shown in FIG.
도 2에 도시된 그림과 같이, 상기 변형 패리티 검사 행렬 Ht는 도면부호 211로 표시한 것처럼 상기 패리티 검사 행렬 H의 최하단 행으로부터 p개의 행까지에 존재하는 코드들이 랜덤한 코드 값으로 치환되고, 도면부호 212에 표시한 것처럼 상기 패리티 검사 행렬 H의 최우측 열으로부터 p개의 열까지에 존재하는 코드들이 '0'으로 치환된 형태를 가지도록 구성될 수 있다.As shown in FIG. 2, the modified parity check matrix H t is replaced with a random code value by codes existing from the lowermost row to the p rows of the parity check matrix H, as denoted by
이때, 도 2에서 Ip로 표시한 p x p 크기의 부분에 위치하는 코드들에 대해서는 변형을 수행하지 않음으로써, 상기 변형 패리티 검사 행렬 Ht가 Ip부분에 대해 단위 행렬의 형태를 갖도록 구성될 수 있다.At this time, the deformation is not performed on the codes located at the pxp size portion indicated by I p in FIG. 2, so that the deformed parity check matrix H t may be configured to have the unit matrix form for the I p portion have.
이렇게, 개인키 저장부(111) 상에 패리티 검사 행렬 H, 변형 패리티 검사 행렬 Ht, 스크램블링 행렬 Q 및 순열 행렬 P가 저장되어 있는 상태에서, 데이터 수신 장치(120)로 전송할 평문 메시지를 m이라고 한다면, 제1 해시 값 연산부(112)는 상기 평문 메시지 m을 선정된 해시 함수인 h(x)에 입력으로 인가하여 제1 해시 값 h(m)을 연산한다.When the parity check matrix H, the modified parity check matrix H t , the scrambling matrix Q, and the permutation matrix P are stored on the private
여기서, 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수이다.Here, the hash function h (x) is a one-way function for converting an input value into an output value of (n-k) bits.
신드롬 메시지 생성부(113)는 상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i(상기 변수 i는 '0'이상인 정수임)를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si를 생성한다.The syndrome
이로 인해, 상기 신드롬 메시지 si는 하기의 수학식 10과 같이 표현될 수 있다.Therefore, the syndrome message s i can be expressed as Equation (10) below.
선택부(114)는 상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화를 수행하여 (zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐)를 만족하는 zT를 연산하고, 상기 변형 패리티 검사 행렬 Ht에서 상기 복수의 선정된 제1 행들과 상기 복수의 선정된 제2 열들에 위치하는 코드 값에 기초하여 각 변수 i마다 연산되는 zT의 성분을 조작함으로써, 를 만족하는 zt T를 검출한 후 zt T의 해밍 무게가 선정된 해밍 무게인 w 이하로 검출되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 검출된 zt T를 서명용 오류 벡터 zs T로 선택한다.When the syndrome message s i is generated while the variable i is incremented by '1' starting from '0', the
관련해서, 선택부(114)는 상기 수학식 10에서 나타낸 si에 대해 상기 변수 i를 '0'을 시작으로 해서 '1'씩 증가시키면서 완전 복호화를 수행하여 를 만족하는 zT를 연산할 수 있다.In relation to this, the
그리고, 선택부(114)는 도 2의 형태를 갖는 상기 변형 패리티 검사 행렬 Ht에서 도면부호 211과 도면부호 212로 표시한 치환된 코드 값에 기초하여 각 변수 i마다 연산되는 zT의 성분을 조작함으로써, 를 만족하는 zt T를 검출할 수 있다. 관련해서, 상기 변형 패리티 검사 행렬 Ht는 상기 패리티 검사 행렬 H에서 도면부호 211과 도면부호 212로 표시된 부분의 코드 값만 변경된 행렬이므로, 를 만족하는 zT가 연산되면, n x 1의 크기를 갖는 행렬인 zT에 포함되어 있는 성분들 중 도면부호 211과 도면부호 212의 성분들이 변경됨에 따라 의 연산에 영향을 받는 성분들의 코드 값만을 조작함으로써, 의 연산을 만족하는 zt T를 찾아낼 수 있다.The
이러한 방식으로 선택부(114)는 상기 변수 i를 '1'씩 증가시키면서 각 변수에 대응하는 zt T를 찾으면서, zt T의 해밍 무게가 선정된 해밍 무게인 w 이하로 검출되는 시점에서, zt T를 찾는 연산을 중단한 후 해당 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 연산된 zt T를 서명용 오류 벡터 zs T로 선택할 수 있다.In this manner, the
그 이후, 전자 서명부(115)는 상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성한다.Thereafter, the
그리고, 전자 서명 전송부(116)는 데이터 수신 장치(120)에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송할 수 있다.The digital
이때, 본 발명의 일실시예에 따르면, 데이터 수신 장치(120)는 메모리 상에 상기 스크램블링 행렬 Q와 상기 변형 패리티 검사 행렬 Ht 및 상기 순열 행렬 P가 곱해진 행렬인 (n-k) x n 크기를 갖는 Kpub를 전자 서명에 대한 검증키로 저장하고 있을 수 있다.In this case, according to an embodiment of the present invention, the
여기서, 상기 검증키 Kpub는 하기의 수학식 11과 같이 나타낼 수 있다.Here, the verification key K pub can be expressed by Equation (11) below.
만약, 데이터 수신 장치(120)에 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 데이터 수신 장치(120)는 상기 전자 서명 값 가 진정한 데이터 전송측에 의해서 전송된 데이터인지 여부를 검증하기 위해, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 검증키 Kpub와 상기 서명용 변수 is에 기초하여 상기 전자 서명 값 에 대한 검증을 수행할 수 있다.If the plaintext message m and the digital signature value < RTI ID = 0.0 > And when the signing variable i s is received, the
관련해서, 데이터 수신 장치(120)는 상기 전자 서명 값 에 대한 검증을 수행하기 위한 구체적 구성으로, 상기 메모리 상에 상기 해시 함수 h(x)를 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인할 수 있다.In this regard, the
앞서, 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치(110)의 선택부(114)는 해밍 무게가 상기 선정된 해밍 무게인 w 이하를 갖는 서명용 오류 벡터 zs T를 선택한 후 상기 전자 서명 값 을 생성하여 데이터 수신 장치(120)로 전송하였기 때문에, 데이터 수신 장치(120)에 수신된 전자 서명 값인 의 해밍 무게도 상기 선정된 해밍 무게인 w 이하가 되어야 데이터 수신 장치(120)에 정상적으로 데이터가 수신되었다고 볼 수 있을 것이다.The
따라서, 데이터 수신 장치(120)는 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 먼저 확인하게 된다.Accordingly, the
만약, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 데이터 수신 장치(120)는 상기 평문 메시지 m을 상기 메모리 상에 저장되어 있는 상기 해시 함수 h(x)에 입력으로 인가하여 상기 제1 해시 값 h(m)을 연산할 수 있다.If the digital signature value The
그러고 나서, 데이터 수신 장치(120)는 상기 제1 해시 값 h(m)에 상기 서명용 변수 is에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 검증용 해시 값인 을 연산할 수 있다.Then, the
그 이후, 데이터 수신 장치(120)는 상기 검증키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 가 상기 검증용 해시 값인 의 전치 행렬인 와 일치하는지 비교하여 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단할 수 있다.Thereafter, the
관련해서, 상기 검증키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 은 하기의 수학식 12와 같이 나타낼 수 있다.In relation to this, the verification key K pub is set to the digital signature value Lt; RTI ID = 0.0 > Can be expressed by Equation (12) below.
그리고, 상기 검증용 해시 값 의 전치 행렬인 는 하기의 수학식 13과 같이 나타낼 수 있다.Then, the verification hash value ≪ / RTI > Can be expressed by the following equation (13).
상기 수학식 13에서 는 상기 서명용 변수 is가 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치(110)로부터 데이터 수신 장치(120)로 위조나 변조 없이 정상적으로 수신되었다면, 와 동일한 값이 될 것이다.In Equation (13) If the signature variable i s has been normally received from the
이로 인해, 상기 전자 서명 값 가 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치(110)로부터 데이터 수신 장치(120)로 위조나 변조 없이 정상적으로 수신되었다면, 상기 수학식 12에 따른 와 상기 수학식 13에 따른 는 하기의 수학식 14에서 나타낸 것처럼 동일한 값이 되어야 할 것이다.Thus, the digital signature value Is normally received from the
따라서, 데이터 수신 장치(120)는 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단할 수 있다.Therefore, the
도 3은 본 발명의 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법을 도시한 순서도이다.3 is a flowchart illustrating an electronic signature method using an error recovery technique based on a parity check matrix according to an embodiment of the present invention.
단계(S310)에서는 RM 코드로 구성된 (n-k) x n 크기의 선형 부호에 대한 패리티 검사 행렬 H, '1'과 '0'의 코드 값을 성분으로 포함하는 (n-k) x (n-k) 크기의 스크램블링 행렬 Q 및 '1'과 '0'의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 P가 저장되어 있는 개인키 저장부를 유지한다.In step S310, a scrambling matrix of size (nk) x (nk) including the code value of the parity check matrix H, '1' and '0' for the (nk) Q and a permutation matrix P of size nxn containing '1' and '0' code values as components.
여기서, n과 k는 자연수이고 n은 k보다 큰 수이다. Where n and k are natural numbers and n is a number greater than k.
단계(S320)에서는 데이터 수신 장치로 전송할 평문 메시지 m을 선정된 해시 함수인 h(x)에 입력으로 인가하여 제1 해시 값 h(m)을 연산한다.In step S320, the plaintext message m to be transmitted to the data receiving apparatus is input to the selected hash function h (x) to calculate the first hash value h (m).
상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수이다.The hash function h (x) is a one-way function that transforms the input value into an output value of (n-k) bits in size.
단계(S330)에서는 상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i(상기 변수 i는 '0'이상인 정수임)를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si(임)를 생성한다.In step S330, when the calculation of the first hash value h (m) is completed, the variable i (the variable i is an integer equal to or greater than 0) is increased from '0' to '1' The result obtained by concatenating the bit values of the variable i with h (m) Is applied as input to the hash function h (x) to obtain a second hash value < RTI ID = 0.0 > , And the second hash value ≪ / RTI > The left side of the scrambling matrix Q is multiplied by the inverse matrix Q -1 of the scrambling matrix Q to generate a syndrome message s i ( .
단계(S340)에서는 상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화를 수행하여 (zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐)를 만족하는 zT를 연산한 후 zT의 해밍 무게가 선정된 해밍 무게인 w 이하로 연산되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 연산된 zT를 서명용 오류 벡터 zs T로 선택한다.Step (S340) In as the variable i is increased by "0", starting by '1', the syndrome message s i is each time created, the parity check matrix for the syndrome message s i for each variable i H To perform complete decoding based on (z T is a transpose matrix of vector z with size n), z T is computed to satisfy the following equation: z T = i is selected as the signature variable i s , and at the same time, z T calculated corresponding to the signing variable i s is selected as the signature error vector z s T.
단계(S350)에서는 상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성한다.In step S350, the left side of the signature error vector z s T is multiplied by the inverse matrix P -1 of the permutation matrix P , Thereby calculating As a digital signature value for the plaintext message m.
단계(S360)에서는 상기 데이터 수신 장치에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송한다.In step S360, the plain text message m and the digital signature value < RTI ID = 0.0 > And the signature variable i s .
이때, 본 발명의 일실시예에 따르면, 상기 데이터 수신 장치는 메모리 상에 상기 스크램블링 행렬 Q와 상기 패리티 검사 행렬 H 및 상기 순열 행렬 P가 곱해진 행렬인 (n-k) x n 크기를 갖는 Kpub(임)를 전자 서명에 대한 검증키로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 검증키 Kpub와 상기 서명용 변수 is에 기초하여 상기 전자 서명 값 에 대한 검증을 수행할 수 있다.In this case, according to an embodiment of the present invention, the data reception apparatus may further include: K pub ((nk)) having a size of (nk) xn, which is a matrix obtained by multiplying the scrambling matrix Q by the parity check matrix H and the permutation matrix P, ) As a verification key for an electronic signature, and the plaintext message m and the digital signature value And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, If the confirmed to be not more than the Hamming weight w The selection of a Hamming weight, based on the verification key K pub and the variable i for signing the electronic signature value s Can be performed.
이때, 본 발명의 일실시예에 따르면, 상기 데이터 수신 장치는 상기 메모리 상에 상기 해시 함수 h(x)를 추가로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 평문 메시지 m을 상기 메모리 상에 저장되어 있는 상기 해시 함수 h(x)에 입력으로 인가하여 상기 제1 해시 값 h(m)을 연산하고, 상기 제1 해시 값 h(m)이 연산되면, 상기 제1 해시 값 h(m)에 상기 서명용 변수 is에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 검증용 해시 값인 을 연산하며, 상기 검증키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 가 상기 검증용 해시 값인 의 전치 행렬인 와 일치하는지 비교하여 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단할 수 있다.In this case, according to an embodiment of the present invention, the data receiving apparatus further stores the hash function h (x) on the memory, and the plaintext message m and the digital signature value And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, (M) is input as the input to the hash function h (x) stored on the memory, if it is determined that the hamming weight of the plaintext message m is equal to or less than the predetermined Hamming weight w (M) is a result of concatenating the bit value for the signature variable i s with the first hash value h (m) Is input to the hash function h (x) to generate a hash value for verification To the verification key K pub , Lt; RTI ID = 0.0 > Is the verification hash value ≪ / RTI > And then, The verification hash value ≪ / RTI > The digital signature value < RTI ID = 0.0 > Can be judged to be successful.
도 4는 본 발명의 또 다른 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법을 도시한 순서도이다.4 is a flowchart illustrating an electronic signature method using an error recovery technique based on a parity check matrix according to another embodiment of the present invention.
단계(S410)에서는 RM 코드로 구성된 (n-k) x n 크기의 선형 부호에 대한 패리티 검사 행렬 H, 상기 패리티 검사 행렬 H에서 복수의 선정된 제1 행들에 위치하는 성분들이 랜덤한 코드 값으로 치환되고, 복수의 선정된 제2 열들에 위치하는 성분들이 '0'의 코드 값으로 치환된 변형 패리티 검사 행렬 Ht, '1'과 '0'의 코드 값을 성분으로 포함하는 (n-k) x (n-k) 크기의 스크램블링 행렬 Q 및 '1'과 '0'의 코드 값을 성분으로 포함하는 n x n 크기의 순열 행렬 P가 저장되어 있는 개인키 저장부를 유지한다.In step S410, a parity check matrix H for a (nk) xn-sized linear code composed of RM codes, components located in a plurality of selected first rows in the parity check matrix H are replaced with random code values, (Nk) x (nk) including the code values of the modified parity check matrix H t , '1' and '0' whose components located in a plurality of selected second columns are replaced with code values of '0' Size scrambling matrix Q and a permutation matrix P of size nxn including the code values of '1' and '0' as components.
여기서, n과 k는 자연수이고 n은 k보다 큰 수이다.Where n and k are natural numbers and n is a number greater than k.
단계(S420)에서는 데이터 수신 장치로 전송할 평문 메시지 m을 선정된 해시 함수인 h(x)에 입력으로 인가하여 제1 해시 값 h(m)을 연산한다.In step S420, the plaintext message m to be transmitted to the data receiving apparatus is input to the selected hash function h (x) to calculate the first hash value h (m).
상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수이다.The hash function h (x) is a one-way function that transforms the input value into an output value of (n-k) bits in size.
단계(S430)에서는 상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i(상기 변수 i는 '0'이상인 정수임)를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si(임)를 생성한다.In step S430, when the calculation of the first hash value h (m) is completed, the variable i (the variable i is an integer equal to or greater than 0) is increased from 0 to 1 and the first hash value h The result obtained by concatenating the bit values of the variable i with h (m) Is applied as input to the hash function h (x) to obtain a second hash value < RTI ID = 0.0 > , And the second hash value ≪ / RTI > The left side of the scrambling matrix Q is multiplied by the inverse matrix Q -1 of the scrambling matrix Q to generate a syndrome message s i ( .
단계(S440)에서는 상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화를 수행하여 (zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐)를 만족하는 zT를 연산하고, 상기 변형 패리티 검사 행렬 Ht에서 상기 복수의 선정된 제1 행들과 상기 복수의 선정된 제2 열들에 위치하는 코드 값에 기초하여 각 변수 i마다 연산되는 zT의 성분을 조작함으로써, 를 만족하는 zt T를 검출한 후 zt T의 해밍 무게가 선정된 해밍 무게인 w 이하로 검출되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 검출된 zt T를 서명용 오류 벡터 zs T로 선택한다.Step (S440) In as the variable i is increased by "0", starting by '1', the syndrome message s i is each time created, the parity check matrix for the syndrome message s i for each variable i H To perform complete decoding based on (where z T is a transposed matrix of a vector z of size n, and has a size of nx 1), and calculates z T in the transformed parity check matrix H t by multiplying the plurality of selected first rows and the plurality By manipulating the components of z T computed for each variable i based on the code values located in the selected second columns, And then detecting the z t T satisfying the variable i at the time is detected more than the Hamming weight of the Hamming weight of z t T selection w and at the same time select a signature variable i s corresponding to the signing variable i s It selects the detected z t T to the signature error vector z s T.
단계(S450)에서는 상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성한다.In step S450, the left side of the signature error vector z s T is multiplied by the inverse matrix P -1 of the permutation matrix P , Thereby calculating As a digital signature value for the plaintext message m.
단계(S460)에서는 상기 데이터 수신 장치에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송한다.In step S460, the plaintext message m and the digital signature value < RTI ID = 0.0 > And the signature variable i s .
이때, 본 발명의 일실시예에 따르면, 상기 데이터 수신 장치는 메모리 상에 상기 스크램블링 행렬 Q와 상기 변형 패리티 검사 행렬 Ht 및 상기 순열 행렬 P가 곱해진 행렬인 (n-k) x n 크기를 갖는 Kpub(임)를 전자 서명에 대한 검증키로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 검증키 Kpub와 상기 서명용 변수 is에 기초하여 상기 전자 서명 값 에 대한 검증을 수행할 수 있다.According to an embodiment of the present invention, the data receiving apparatus includes a memory for storing K pub (k) having a size of (nk) xn, which is a matrix obtained by multiplying the scrambling matrix Q by the modified parity check matrix H t and the permuted matrix P, ( ) As a verification key for an electronic signature, and the plaintext message m and the digital signature value And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, If the confirmed to be not more than the Hamming weight w The selection of a Hamming weight, based on the verification key K pub and the variable i for signing the electronic signature value s Can be performed.
이때, 본 발명의 일실시예에 따르면, 상기 데이터 수신 장치는 상기 메모리 상에 상기 해시 함수 h(x)를 추가로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 평문 메시지 m을 상기 메모리 상에 저장되어 있는 상기 해시 함수 h(x)에 입력으로 인가하여 상기 제1 해시 값 h(m)을 연산하고, 상기 제1 해시 값 h(m)이 연산되면, 상기 제1 해시 값 h(m)에 상기 서명용 변수 is에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 검증용 해시 값인 을 연산하며, 상기 검증키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 가 상기 검증용 해시 값인 의 전치 행렬인 와 일치하는지 비교하여 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단할 수 있다.In this case, according to an embodiment of the present invention, the data receiving apparatus further stores the hash function h (x) on the memory, and the plaintext message m and the digital signature value And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, (M) is input as the input to the hash function h (x) stored on the memory, if it is determined that the hamming weight of the plaintext message m is equal to or less than the predetermined Hamming weight w (M) is a result of concatenating the bit value for the signature variable i s with the first hash value h (m) Is input to the hash function h (x) to generate a hash value for verification To the verification key K pub , Lt; RTI ID = 0.0 > Is the verification hash value ≪ / RTI > And then, The verification hash value ≪ / RTI > The digital signature value < RTI ID = 0.0 > Can be judged to be successful.
본 발명의 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.An electronic signature method using an error recovery method based on a parity check matrix according to an embodiment of the present invention can be implemented by a computer program stored in a storage medium for execution through a combination with a computer.
또한, 본 발명의 일실시예에 따른 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, an electronic signature method using an error recovery method based on a parity check matrix according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .
110: 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치
111: 개인키 저장부 112: 제1 해시 값 연산부
113: 신드롬 메시지 생성부 114: 선택부
115: 전자 서명부 116: 전자 서명 전송부
120: 데이터 수신 장치110: Digital signature device using error recovery technique based on parity check matrix
111: Private key storage unit 112: First hash value operation unit
113: Syndrome message generation unit 114:
115: digital signature section 116: digital signature transmission section
120: Data receiving device
Claims (14)
데이터 수신 장치로 전송할 평문 메시지 m을 선정된(predetermined) 해시 함수인 h(x) - 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수임 - 에 입력으로 인가하여 제1 해시 값 h(m)을 연산하는 제1 해시 값 연산부;
상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i - 상기 변수 i는 '0'이상인 정수임 - 를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si - 임 - 를 생성하는 신드롬 메시지 생성부;
상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화(Complete Decoding)를 수행하여 - zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐 - 를 만족하는 zT를 연산한 후 zT의 해밍 무게(Hamming Weight)가 선정된 해밍 무게인 w 이하로 연산되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 연산된 zT를 서명용 오류 벡터 zs T로 선택하는 선택부;
상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성하는 전자 서명부; 및
상기 데이터 수신 장치에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송하는 전자 서명 전송부
를 포함하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치.The code of the parity check matrix H, '1' and '0' for (nk) xn - n and k composed of Reed - Muller (RM) codes is a natural number and n is a linear - A private key storage unit storing a scrambling matrix Q of size (nk) x (nk) including a value as an element and a permutation matrix P of nxn size including a code value of '1' and '0' as an element;
A plaintext message m to be transmitted to the data receiving apparatus is a predetermined hash function h (x) - the hash function h (x) is a one-way function for converting an input value into an output value of (nk) To calculate a first hash value h (m);
When the calculation of the first hash value h (m) is completed, the first hash value h (m) is incremented by 1 from the variable i - the variable i is an integer equal to or greater than 0 A result obtained by concatenating the bit values of the variable i Is applied as input to the hash function h (x) to obtain a second hash value < RTI ID = 0.0 > , And the second hash value ≪ / RTI > The left side of the scrambling matrix Q is multiplied by the inverse matrix Q -1 of the scrambling matrix Q to obtain a syndrome message s i - A syndrome message generating unit for generating a syndrome message;
Each time as the variable i to "0" to start increasing by "1" is the syndrome message s i to be generated, full decoding on the basis of the parity check matrix H for the syndrome message s i for each variable i (Complete Decoding) - z T is a transpose of a vector z of size n and has a size of nx 1 - then computes z T , and then the Hamming Weight of z T is calculated to be less than or equal to the selected Hamming weight w Selecting a variable i at a time point as a signing variable i s and selecting z T computed corresponding to the signing variable i s as a signing error vector z s T ;
The left side of the signature error vector z s T is multiplied by the inverse matrix P -1 of the permutation matrix P , Thereby calculating As an electronic signature value for the plaintext message m; And
The plaintext message m and the digital signature value < RTI ID = 0.0 > And a transmission unit for transmitting the digital signature for signing the variable i s
And an error recovery method based on a parity check matrix including the parity check matrix.
상기 데이터 수신 장치는
메모리 상에 상기 스크램블링 행렬 Q와 상기 패리티 검사 행렬 H 및 상기 순열 행렬 P가 곱해진 행렬인 (n-k) x n 크기를 갖는 Kpub - 임 - 를 전자 서명에 대한 검증키로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 검증키 Kpub와 상기 서명용 변수 is에 기초하여 상기 전자 서명 값 에 대한 검증을 수행하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치.The method according to claim 1,
The data receiving apparatus
K pub having a matrix made of (nk) xn sizes the scrambling matrix Q and the parity check matrix H and the permutation matrix P is multiplied on the memory - , And stores the plaintext message m and the digital signature value < RTI ID = 0.0 > And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, If the confirmed to be not more than the Hamming weight w The selection of a Hamming weight, based on the verification key K pub and the variable i for signing the electronic signature value s Based on a parity check matrix for performing a verification on a parity check matrix.
상기 데이터 수신 장치는
상기 메모리 상에 상기 해시 함수 h(x)를 추가로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 평문 메시지 m을 상기 메모리 상에 저장되어 있는 상기 해시 함수 h(x)에 입력으로 인가하여 상기 제1 해시 값 h(m)을 연산하고,
상기 제1 해시 값 h(m)이 연산되면, 상기 제1 해시 값 h(m)에 상기 서명용 변수 is에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 검증용 해시 값인 을 연산하며,
상기 검증키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 가 상기 검증용 해시 값인 의 전치 행렬인 와 일치하는지 비교하여 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치.3. The method of claim 2,
The data receiving apparatus
Further storing the hash function h (x) on the memory, wherein the plaintext message m and the digital signature value And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, (M) is input as the input to the hash function h (x) stored on the memory, if it is determined that the hamming weight of the plaintext message m is equal to or less than the predetermined Hamming weight w And,
When the first hash value h (m) is calculated, a result value obtained by concatenating the bit value for the signature variable i s with the first hash value h (m) Is input to the hash function h (x) to generate a hash value for verification Lt; / RTI >
The verification key K pub may include the digital signature value Lt; RTI ID = 0.0 > Is the verification hash value ≪ / RTI > And then, The verification hash value ≪ / RTI > The digital signature value < RTI ID = 0.0 > Based on a parity check matrix for judging that the verification of the parity check matrix is successful.
데이터 수신 장치로 전송할 평문 메시지 m을 선정된 해시 함수인 h(x) - 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수임 - 에 입력으로 인가하여 제1 해시 값 h(m)을 연산하는 제1 해시 값 연산부;
상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i - 상기 변수 i는 '0'이상인 정수임 - 를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si - 임 - 를 생성하는 신드롬 메시지 생성부;
상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화(Complete Decoding)를 수행하여 - zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐 - 를 만족하는 zT를 연산하고, 상기 변형 패리티 검사 행렬 Ht에서 상기 복수의 선정된 제1 행들과 상기 복수의 선정된 제2 열들에 위치하는 코드 값에 기초하여 각 변수 i마다 연산되는 zT의 성분을 조작함으로써, 를 만족하는 zt T를 검출한 후 zt T의 해밍 무게(Hamming Weight)가 선정된 해밍 무게인 w 이하로 검출되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 검출된 zt T를 서명용 오류 벡터 zs T로 선택하는 선택부;
상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성하는 전자 서명부; 및
상기 데이터 수신 장치에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송하는 전자 서명 전송부
를 포함하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치.(Nk) xn-n and k composed of Reed-Muller (RM) codes are natural numbers and n is a parity check matrix H for a linear code having a magnitude larger than k, The modified parity check matrix H t , '1' in which the components located in predetermined first rows are replaced with a random code value and the components located in a plurality of the selected second columns are replaced with code values of '0' (Nk) x (nk) sized scrambling matrix Q including code values of '0' and '0' as components and a permutation matrix P of size nxn containing the code values of '1' and '0' A private key storage unit;
The plaintext message m to be transmitted to the data receiving device is selected as a hash function h (x) - the hash function h (x) is input as an input to convert the input value into an output value of (nk) A first hash value calculator for calculating a first hash value h (m);
When the calculation of the first hash value h (m) is completed, the first hash value h (m) is incremented by 1 from the variable i - the variable i is an integer equal to or greater than 0 A result obtained by concatenating the bit values of the variable i Is applied as input to the hash function h (x) to obtain a second hash value < RTI ID = 0.0 > , And the second hash value ≪ / RTI > The left side of the scrambling matrix Q is multiplied by the inverse matrix Q -1 of the scrambling matrix Q to obtain a syndrome message s i - A syndrome message generating unit for generating a syndrome message;
Each time as the variable i to "0" to start increasing by "1" is the syndrome message s i to be generated, full decoding on the basis of the parity check matrix H for the syndrome message s i for each variable i (Complete Decoding) - z T is a transpose of a vector z of size n and has a size of nx 1, and calculates z T in the modified parity check matrix H t by multiplying the plurality of selected first rows and the plurality By manipulating the components of z T computed for each variable i based on the code values located in the selected second columns, Z t T detected then z t T of the Hamming weight (Hamming Weight) the selection of a variable i at the time point is detected as a w less than the Hamming weight and at the same time select a i s signature variable the signing variable satisfying i in response to the detected signature s t z T error vector selection unit for selecting a z s T;
The left side of the signature error vector z s T is multiplied by the inverse matrix P -1 of the permutation matrix P , Thereby calculating As an electronic signature value for the plaintext message m; And
The plaintext message m and the digital signature value < RTI ID = 0.0 > And a transmission unit for transmitting the digital signature for signing the variable i s
And an error recovery method based on a parity check matrix including the parity check matrix.
상기 데이터 수신 장치는
메모리 상에 상기 스크램블링 행렬 Q와 상기 변형 패리티 검사 행렬 Ht 및 상기 순열 행렬 P가 곱해진 행렬인 (n-k) x n 크기를 갖는 Kpub - 임 - 를 전자 서명에 대한 검증키로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 검증키 Kpub와 상기 서명용 변수 is에 기초하여 상기 전자 서명 값 에 대한 검증을 수행하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치.5. The method of claim 4,
The data receiving apparatus
The scrambling matrix in a memory Q with the modified parity check matrix H t K pub and having a matrix of (nk) xn size made the permutation matrix P is multiplied - , And stores the plaintext message m and the digital signature value < RTI ID = 0.0 > And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, If the confirmed to be not more than the Hamming weight w The selection of a Hamming weight, based on the verification key K pub and the variable i for signing the electronic signature value s Based on a parity check matrix for performing a verification on a parity check matrix.
상기 데이터 수신 장치는
상기 메모리 상에 상기 해시 함수 h(x)를 추가로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 평문 메시지 m을 상기 메모리 상에 저장되어 있는 상기 해시 함수 h(x)에 입력으로 인가하여 상기 제1 해시 값 h(m)을 연산하고,
상기 제1 해시 값 h(m)이 연산되면, 상기 제1 해시 값 h(m)에 상기 서명용 변수 is에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 검증용 해시 값인 을 연산하며,
상기 검증키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 가 상기 검증용 해시 값인 의 전치 행렬인 와 일치하는지 비교하여 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 장치.6. The method of claim 5,
The data receiving apparatus
Further storing the hash function h (x) on the memory, wherein the plaintext message m and the digital signature value And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, (M) is input as the input to the hash function h (x) stored on the memory, if it is determined that the hamming weight of the plaintext message m is equal to or less than the predetermined Hamming weight w And,
When the first hash value h (m) is calculated, a result value obtained by concatenating the bit value for the signature variable i s with the first hash value h (m) Is input to the hash function h (x) to generate a hash value for verification Lt; / RTI >
The verification key K pub may include the digital signature value Lt; RTI ID = 0.0 > Is the verification hash value ≪ / RTI > And then, The verification hash value ≪ / RTI > The digital signature value < RTI ID = 0.0 > Based on a parity check matrix for judging that the verification of the parity check matrix is successful.
데이터 수신 장치로 전송할 평문 메시지 m을 선정된(predetermined) 해시 함수인 h(x) - 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수임 - 에 입력으로 인가하여 제1 해시 값 h(m)을 연산하는 단계;
상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i - 상기 변수 i는 '0'이상인 정수임 - 를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si - 임 - 를 생성하는 단계;
상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화(Complete Decoding)를 수행하여 - zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐 - 를 만족하는 zT를 연산한 후 zT의 해밍 무게(Hamming Weight)가 선정된 해밍 무게인 w 이하로 연산되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 연산된 zT를 서명용 오류 벡터 zs T로 선택하는 단계;
상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성하는 단계; 및
상기 데이터 수신 장치에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송하는 단계
를 포함하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법.The code of the parity check matrix H, '1' and '0' for (nk) xn - n and k composed of Reed - Muller (RM) codes is a natural number and n is a linear - (Nk) size scrambling matrix Q containing (nk) x (nk) values as elements and a permutation matrix P of size nxn containing the code values of '1' and '0'step;
A plaintext message m to be transmitted to the data receiving apparatus is a predetermined hash function h (x) - the hash function h (x) is a one-way function for converting an input value into an output value of (nk) To calculate a first hash value h (m);
When the calculation of the first hash value h (m) is completed, the first hash value h (m) is incremented by 1 from the variable i - the variable i is an integer equal to or greater than 0 A result obtained by concatenating the bit values of the variable i Is applied as input to the hash function h (x) to obtain a second hash value < RTI ID = 0.0 > , And the second hash value ≪ / RTI > The left side of the scrambling matrix Q is multiplied by the inverse matrix Q -1 of the scrambling matrix Q to obtain a syndrome message s i - Generating an impulse;
Each time as the variable i to "0" to start increasing by "1" is the syndrome message s i to be generated, full decoding on the basis of the parity check matrix H for the syndrome message s i for each variable i (Complete Decoding) - z T is a transpose of a vector z of size n and has a size of nx 1 - then computes z T , and then the Hamming Weight of z T is calculated to be less than or equal to the selected Hamming weight w Selecting a variable i at a time point as a signing variable i s and simultaneously selecting z T computed corresponding to the signing variable i s as a signing error vector z s T ;
The left side of the signature error vector z s T is multiplied by the inverse matrix P -1 of the permutation matrix P , Thereby calculating As an electronic signature value for the plaintext message m; And
The plaintext message m and the digital signature value < RTI ID = 0.0 > And transmitting the signature variable i s
And an error recovery method based on a parity check matrix including the parity check matrix.
상기 데이터 수신 장치는
메모리 상에 상기 스크램블링 행렬 Q와 상기 패리티 검사 행렬 H 및 상기 순열 행렬 P가 곱해진 행렬인 (n-k) x n 크기를 갖는 Kpub - 임 - 를 전자 서명에 대한 검증키로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 검증키 Kpub와 상기 서명용 변수 is에 기초하여 상기 전자 서명 값 에 대한 검증을 수행하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법.8. The method of claim 7,
The data receiving apparatus
K pub having a matrix made of (nk) xn sizes the scrambling matrix Q and the parity check matrix H and the permutation matrix P is multiplied on the memory - , And stores the plaintext message m and the digital signature value < RTI ID = 0.0 > And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, If the confirmed to be not more than the Hamming weight w The selection of a Hamming weight, based on the verification key K pub and the variable i for signing the electronic signature value s Based on a parity check matrix for performing a verification on the parity check matrix.
상기 데이터 수신 장치는
상기 메모리 상에 상기 해시 함수 h(x)를 추가로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 평문 메시지 m을 상기 메모리 상에 저장되어 있는 상기 해시 함수 h(x)에 입력으로 인가하여 상기 제1 해시 값 h(m)을 연산하고,
상기 제1 해시 값 h(m)이 연산되면, 상기 제1 해시 값 h(m)에 상기 서명용 변수 is에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 검증용 해시 값인 을 연산하며,
상기 검증키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 가 상기 검증용 해시 값인 의 전치 행렬인 와 일치하는지 비교하여 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법.9. The method of claim 8,
The data receiving apparatus
Further storing the hash function h (x) on the memory, wherein the plaintext message m and the digital signature value And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, (M) is input as the input to the hash function h (x) stored on the memory, if it is determined that the hamming weight of the plaintext message m is equal to or less than the predetermined Hamming weight w And,
When the first hash value h (m) is calculated, a result value obtained by concatenating the bit value for the signature variable i s with the first hash value h (m) Is input to the hash function h (x) to generate a hash value for verification Lt; / RTI >
The verification key K pub may include the digital signature value Lt; RTI ID = 0.0 > Is the verification hash value ≪ / RTI > And then, The verification hash value ≪ / RTI > The digital signature value < RTI ID = 0.0 > Based on a parity check matrix for determining that the verification of the digital signature is successful.
데이터 수신 장치로 전송할 평문 메시지 m을 선정된 해시 함수인 h(x) - 상기 해시 함수 h(x)는 입력 값을 (n-k) 비트 크기의 출력 값으로 변환시키는 일방향 함수임 - 에 입력으로 인가하여 제1 해시 값 h(m)을 연산하는 단계;
상기 제1 해시 값 h(m)의 연산이 완료되면, 변수 i - 상기 변수 i는 '0'이상인 정수임 - 를 '0'부터 '1'씩 증가시키면서, 상기 제1 해시 값 h(m)에 상기 변수 i에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 제2 해시 값인 을 연산하고, 상기 제2 해시 값인 의 전치 행렬인 의 좌측 변에 상기 스크램블링 행렬 Q의 역행렬인 Q-1을 곱하여 신드롬 메시지 si - 임 - 를 생성하는 단계;
상기 변수 i가 '0'을 시작으로 해서 '1'씩 증가되면서 상기 신드롬 메시지 si가 생성될 때마다, 각 변수 i에서의 상기 신드롬 메시지 si에 대해 상기 패리티 검사 행렬 H를 기초로 완전 복호화(Complete Decoding)를 수행하여 - zT는 크기가 n인 벡터 z의 전치 행렬로 n x 1의 크기를 가짐 - 를 만족하는 zT를 연산하고, 상기 변형 패리티 검사 행렬 Ht에서 상기 복수의 선정된 제1 행들과 상기 복수의 선정된 제2 열들에 위치하는 코드 값에 기초하여 각 변수 i마다 연산되는 zT의 성분을 조작함으로써, 를 만족하는 zt T를 검출한 후 zt T의 해밍 무게(Hamming Weight)가 선정된 해밍 무게인 w 이하로 검출되는 시점에서의 변수 i를 서명용 변수 is로 선택함과 동시에 상기 서명용 변수 is에 대응하여 검출된 zt T를 서명용 오류 벡터 zs T로 선택하는 단계;
상기 서명용 오류 벡터 zs T의 좌측 변에 상기 순열 행렬 P의 역행렬인 P-1을 곱하여 를 연산함으로써, 상기 연산된 을 상기 평문 메시지 m에 대한 전자 서명 값으로 생성하는 단계; 및
상기 데이터 수신 장치에 대해 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is를 전송하는 단계
를 포함하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법.(Nk) xn-n and k composed of Reed-Muller (RM) codes are natural numbers and n is a parity check matrix H for a linear code having a magnitude larger than k, The modified parity check matrix H t , '1' in which the components located in predetermined first rows are replaced with a random code value and the components located in a plurality of the selected second columns are replaced with code values of '0' (Nk) x (nk) sized scrambling matrix Q including code values of '0' and '0' as components and a permutation matrix P of size nxn containing the code values of '1' and '0' Maintaining a private key store;
The plaintext message m to be transmitted to the data receiving device is selected as a hash function h (x) - the hash function h (x) is input as an input to convert the input value into an output value of (nk) Computing a first hash value h (m);
When the calculation of the first hash value h (m) is completed, the first hash value h (m) is incremented by 1 from the variable i - the variable i is an integer equal to or greater than 0 A result obtained by concatenating the bit values of the variable i Is applied as input to the hash function h (x) to obtain a second hash value < RTI ID = 0.0 > , And the second hash value ≪ / RTI > The left side of the scrambling matrix Q is multiplied by the inverse matrix Q -1 of the scrambling matrix Q to obtain a syndrome message s i - Generating an impulse;
Each time as the variable i to "0" to start increasing by "1" is the syndrome message s i to be generated, full decoding on the basis of the parity check matrix H for the syndrome message s i for each variable i (Complete Decoding) - z T is a transpose of a vector z of size n and has a size of nx 1, and calculates z T in the modified parity check matrix H t by multiplying the plurality of selected first rows and the plurality By manipulating the components of z T computed for each variable i based on the code values located in the selected second columns, Z t T detected then z t T of the Hamming weight (Hamming Weight) the selection of a variable i at the time point is detected as a w less than the Hamming weight and at the same time select a i s signature variable the signing variable satisfying i in response to the detected signature s t z T error vector selecting a z s T;
The left side of the signature error vector z s T is multiplied by the inverse matrix P -1 of the permutation matrix P , Thereby calculating As an electronic signature value for the plaintext message m; And
The plaintext message m and the digital signature value < RTI ID = 0.0 > And transmitting the signature variable i s
And an error recovery method based on a parity check matrix including the parity check matrix.
상기 데이터 수신 장치는
메모리 상에 상기 스크램블링 행렬 Q와 상기 변형 패리티 검사 행렬 Ht 및 상기 순열 행렬 P가 곱해진 행렬인 (n-k) x n 크기를 갖는 Kpub - 임 - 를 전자 서명에 대한 검증키로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 검증키 Kpub와 상기 서명용 변수 is에 기초하여 상기 전자 서명 값 에 대한 검증을 수행하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법.11. The method of claim 10,
The data receiving apparatus
The scrambling matrix in a memory Q with the modified parity check matrix H t K pub and having a matrix of (nk) xn size made the permutation matrix P is multiplied - , And stores the plaintext message m and the digital signature value < RTI ID = 0.0 > And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, If the confirmed to be not more than the Hamming weight w The selection of a Hamming weight, based on the verification key K pub and the variable i for signing the electronic signature value s Based on a parity check matrix for performing a verification on the parity check matrix.
상기 데이터 수신 장치는
상기 메모리 상에 상기 해시 함수 h(x)를 추가로 저장하고 있고, 상기 평문 메시지 m과 상기 전자 서명 값 및 상기 서명용 변수 is가 수신되면, 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인지 여부를 확인한 후 상기 전자 서명 값 의 해밍 무게가 상기 선정된 해밍 무게인 w 이하인 것으로 확인되면, 상기 평문 메시지 m을 상기 메모리 상에 저장되어 있는 상기 해시 함수 h(x)에 입력으로 인가하여 상기 제1 해시 값 h(m)을 연산하고,
상기 제1 해시 값 h(m)이 연산되면, 상기 제1 해시 값 h(m)에 상기 서명용 변수 is에 대한 비트 값을 연접한 결과 값 를 상기 해시 함수 h(x)에 입력으로 인가하여 검증용 해시 값인 을 연산하며,
상기 검증키 Kpub에 상기 전자 서명 값 을 곱한 결과 값인 가 상기 검증용 해시 값인 의 전치 행렬인 와 일치하는지 비교하여 상기 가 상기 검증용 해시 값 의 전치 행렬인 와 일치하는 것으로 판단되면, 상기 전자 서명 값 에 대한 검증을 성공으로 판단하는 패리티 검사 행렬에 기초한 오류 복원 기법을 이용하는 전자 서명 방법.12. The method of claim 11,
The data receiving apparatus
Further storing the hash function h (x) on the memory, wherein the plaintext message m and the digital signature value And when the signature variable i s is received, Of the hamming weight is less than or equal to the predetermined hamming weight w, (M) is input as the input to the hash function h (x) stored on the memory, if it is determined that the hamming weight of the plaintext message m is equal to or less than the predetermined Hamming weight w And,
When the first hash value h (m) is calculated, a result value obtained by concatenating the bit value for the signature variable i s with the first hash value h (m) Is input to the hash function h (x) to generate a hash value for verification Lt; / RTI >
The verification key K pub may include the digital signature value Lt; RTI ID = 0.0 > Is the verification hash value ≪ / RTI > And then, The verification hash value ≪ / RTI > The digital signature value < RTI ID = 0.0 > Based on a parity check matrix for determining that the verification of the digital signature is successful.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170156149A KR102001407B1 (en) | 2017-11-22 | 2017-11-22 | Electronic signature apparatus and method using an error recovery scheme based on a parity check matrix |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170156149A KR102001407B1 (en) | 2017-11-22 | 2017-11-22 | Electronic signature apparatus and method using an error recovery scheme based on a parity check matrix |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190058834A KR20190058834A (en) | 2019-05-30 |
KR102001407B1 true KR102001407B1 (en) | 2019-07-18 |
Family
ID=66675632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170156149A KR102001407B1 (en) | 2017-11-22 | 2017-11-22 | Electronic signature apparatus and method using an error recovery scheme based on a parity check matrix |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102001407B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102258955B1 (en) * | 2019-06-10 | 2021-06-01 | 주식회사 다날핀테크 | Payment service apparatus for supporting payment processing based on virtual currency along with pos terminal at offline merchant and operating method thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007113888A1 (en) | 2006-03-31 | 2007-10-11 | Universita' Degli Studi Di Milano | Method for generating and verifying security information obtained by means of biometric readings |
KR101593673B1 (en) | 2014-08-29 | 2016-02-15 | 고려대학교 산학협력단 | Method and Apparatus for generating encrypted signature based lattices, Method and Apparatus for restoring encrypted signature based lattices |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040036460A (en) * | 2002-10-26 | 2004-04-30 | 삼성전자주식회사 | LDPC decoding apparatus and method |
KR100594818B1 (en) * | 2004-04-13 | 2006-07-03 | 한국전자통신연구원 | A Decoding Apparatus of Low-Density Parity-Check Codes Using Sequential Decoding, and a method thereof |
KR20170075200A (en) * | 2015-12-23 | 2017-07-03 | 성신여자대학교 산학협력단 | Apparatus for encoding and decoding using low density parity check codes, method thereof and computer recordable medium storing the method |
-
2017
- 2017-11-22 KR KR1020170156149A patent/KR102001407B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007113888A1 (en) | 2006-03-31 | 2007-10-11 | Universita' Degli Studi Di Milano | Method for generating and verifying security information obtained by means of biometric readings |
KR101593673B1 (en) | 2014-08-29 | 2016-02-15 | 고려대학교 산학협력단 | Method and Apparatus for generating encrypted signature based lattices, Method and Apparatus for restoring encrypted signature based lattices |
Also Published As
Publication number | Publication date |
---|---|
KR20190058834A (en) | 2019-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5564434B2 (en) | Methods and entities for probabilistic symmetric encryption | |
US7933905B2 (en) | Universal-hash-function-family calculation unit and shared-key generation system | |
Gaborit et al. | Lightweight code-based identification and signature | |
Wang | Quantum resistant random linear code based public key encryption scheme RLCE | |
KR101913100B1 (en) | Data encryption apparatus and method using an encryption key based on puncturing of a generator matrix | |
KR101942030B1 (en) | Electronic device for performing code-based encryption supporting integrity verification of a message and operating method thereof | |
KR101913644B1 (en) | Code-based encryption apparatus and method capable of message authentication | |
Kuznetsov et al. | New approach to the implementation of post-quantum digital signature scheme | |
CN102449951A (en) | Method for performing a cryptographic task in an electronic component | |
KR102211648B1 (en) | Electronic device capable of data communication through electronic signatures based on syndrome and operating method thereof | |
KR101873881B1 (en) | Digital signature apparatus and method with enhanced data security | |
KR102001407B1 (en) | Electronic signature apparatus and method using an error recovery scheme based on a parity check matrix | |
Kobara et al. | On the one-wayness against chosen-plaintext attacks of the Loidreau's modified McEliece PKC | |
KR20210133801A (en) | Method for doing quantum-resistant signature based on Ring-LWR and system thereof | |
KR101978684B1 (en) | Code-based encryption apparatus and method capable of preventing replay attack | |
EP2991266B1 (en) | Encrypted text matching system, method, and computer readable medium | |
Kim et al. | PALOMA: binary separable Goppa-based KEM | |
US20150281256A1 (en) | Batch verification method and apparatus thereof | |
KR20030070733A (en) | Digital signature method using RSA public-key cryptographic based on CRT and apparatus therefor | |
Samokhina et al. | Code-based cryptosystems evolution | |
CN112613078A (en) | Document electronic signature method, signature verification method and device | |
Roering | Coding theory-based cryptopraphy: McEliece cryptosystems in Sage | |
KR20100039048A (en) | Method and apparatus of digital signature using crt-rsa modula exponentiation algorithm against fault attacks, and recording medium using it | |
WO2011033642A1 (en) | Signature generation device and signature verification device | |
Khan et al. | Modified Niederreiter type of GPT cryptosystem based on reducible rank codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right |