KR102381623B1 - Computing device capable of code-based data operation and operating method thereof - Google Patents
Computing device capable of code-based data operation and operating method thereof Download PDFInfo
- Publication number
- KR102381623B1 KR102381623B1 KR1020190177948A KR20190177948A KR102381623B1 KR 102381623 B1 KR102381623 B1 KR 102381623B1 KR 1020190177948 A KR1020190177948 A KR 1020190177948A KR 20190177948 A KR20190177948 A KR 20190177948A KR 102381623 B1 KR102381623 B1 KR 102381623B1
- Authority
- KR
- South Korea
- Prior art keywords
- codeword
- message
- matrix
- convolution
- generation matrix
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- 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/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- 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/12—Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치 및 그 동작 방법이 개시된다. 본 발명은 컴퓨팅 장치에서 데이터 연산 처리가 수행될 때, 평문 메시지를 그대로 활용하는 것이 아니라, 메시지를 코드화한 후 코드화된 메시지를 기초로 데이터 연산 처리가 수행되도록 함으로써, 데이터 연산 과정에서의 보안을 강화할 수 있다.Disclosed are a computing device capable of performing sign-based data arithmetic processing and an operating method thereof. When data operation processing is performed in a computing device, the present invention does not utilize a plaintext message as it is, but encodes a message and then enables data operation processing to be performed based on the coded message, thereby enhancing security in the data operation process. can
Description
본 발명은 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치 및 그 동작 방법에 대한 것이다.The present invention relates to a computing device capable of performing sign-based data arithmetic processing and an operating method thereof.
최근, 다양한 분야에서 컴퓨팅 장치가 활용됨에 따라, 컴퓨팅 장치에 대한 공격에 대비할 수 있는 보안 기술이 중요한 이슈로 대두되고 있다.Recently, as computing devices are utilized in various fields, a security technology capable of preparing for attacks on computing devices has emerged as an important issue.
특히, 최근에는 원자력 발전소 등과 같은 대규모 산업 시설이나 자율 주행 차량 등에도 컴퓨팅 장치가 도입됨에 따라, 외부로부터의 악의적인 공격에 방어할 수 있는 지능화된 보안 기술의 도입이 필수로 자리잡고 있다.In particular, as computing devices are recently introduced to large-scale industrial facilities such as nuclear power plants or autonomous vehicles, it is essential to introduce intelligent security technology capable of defending against malicious attacks from the outside.
컴퓨팅 장치는 다양한 연산 처리 모듈을 통해 데이터 연산을 수행하게 된다. 만약, 컴퓨팅 장치 내부에서 데이터가 연산되는 과정에서 외부로부터의 악의적인 데이터 조작이나 에러 유발 등이 발생하게 되는 경우, 데이터 연산이 잘못 처리됨으로 인해 큰 문제가 발생할 수 있다.The computing device performs data operation through various operation processing modules. If malicious data manipulation or error generation from the outside occurs in the process of data calculation inside the computing device, a big problem may occur due to data calculation being processed incorrectly.
기존의 컴퓨팅 장치에서의 데이터 연산 처리는 컴퓨팅 장치에서 생성된 평문 메시지를 그대로 이용한다는 점에서 외부로부터의 데이터 조작에 취약한 문제가 있었다. 예컨대, 컴퓨팅 장치에서 생성된 제1 메시지와 제2 메시지를 서로 논리합하는 연산을 수행한다고 하였을 때, 기존의 컴퓨팅 장치는 상기 제1 메시지와 상기 제2 메시지를 평문 메시지 상태에서 그대로 논리합하기 때문에 제3자에 의한 데이터 조작에 쉽게 노출되는 문제가 있었다.The data operation processing in the existing computing device has a problem in that it is vulnerable to data manipulation from the outside in that it uses the plaintext message generated by the computing device as it is. For example, when it is assumed that an operation of ORing a first message and a second message generated by a computing device is performed, the existing computing device logically ORs the first message and the second message in a plaintext message state. There was a problem of being easily exposed to data manipulation by a person.
따라서, 컴퓨팅 장치에서 데이터 연산 처리가 수행될 때, 평문 메시지를 그대로 활용하는 것이 아니라, 메시지를 코드화한 후 코드화된 메시지를 기초로 데이터 연산 처리가 수행되도록 함으로써, 데이터 연산 과정에서의 보안을 강화할 수 있는 기술에 대한 연구가 필요하다.Therefore, when data operation processing is performed in the computing device, the security in the data operation process can be enhanced by encoding the message and then performing the data operation processing based on the coded message, rather than using the plaintext message as it is. There is a need for research on the technology.
본 발명은 컴퓨팅 장치에서 데이터 연산 처리가 수행될 때, 평문 메시지를 그대로 활용하는 것이 아니라, 메시지를 코드화한 후 코드화된 메시지를 기초로 데이터 연산 처리가 수행되도록 함으로써, 데이터 연산 과정에서의 보안을 강화할 수 있도록 한다.When data operation processing is performed in a computing device, the present invention does not utilize a plaintext message as it is, but encodes a message and then enables data operation processing to be performed based on the coded message, thereby enhancing security in the data operation process. make it possible
본 발명의 일실시예에 따른 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치는 t(t는 자연수)비트의 코드에 대한 에러 정정 능력을 갖는 미리 설정된 k x n(k와 n은 2이상의 자연수로 n은 k보다 큰 수임)크기의 생성행렬(generator matrix)이 저장되어 있는 생성행렬 저장부, 상기 컴퓨팅 장치에서 생성된 제1 메시지와 제2 메시지에 대해 논리합이 수행되도록 하는 제1 연산 명령이 인가되면, 상기 생성행렬을 기초로 상기 제1 메시지에 대한 인코딩을 수행함으로써, 제1 코드워드(codeword)를 생성하고, 상기 생성행렬을 기초로 상기 제2 메시지에 대한 인코딩을 수행함으로써, 제2 코드워드를 생성하는 인코딩부, 상기 제1 코드워드와 상기 제2 코드워드가 생성되면, 상기 제1 코드워드와 상기 제2 코드워드를 논리합하여 제1 연산 코드워드를 생성한 후 상기 제1 연산 코드워드를 디코딩부로 전달하는 데이터 연산부 및 상기 데이터 연산부로부터 상기 제1 연산 코드워드를 전달받아, 상기 제1 연산 코드워드에 대해 상기 생성행렬을 기초로 에러 정정 기반의 디코딩을 수행함으로써, 상기 제1 메시지와 상기 제2 메시지가 논리합된 합산 메시지를 복원하는 상기 디코딩부를 포함한다.A computing device capable of performing sign-based data arithmetic processing according to an embodiment of the present invention has a preset kxn (k and n are natural numbers of 2 or more, n is k) having an error correction capability for t (t is a natural number) bit code. When a generation matrix storage unit in which a generator matrix of a larger size is stored, and a first operation command to perform an OR operation on the first message and the second message generated by the computing device is applied, the A first codeword is generated by encoding the first message based on a generation matrix, and a second codeword is generated by encoding the second message based on the generation matrix. when the first codeword and the second codeword are generated, the encoding unit generates a first operation codeword by ORing the first codeword and the second codeword, and then decodes the first operation codeword The first message and the first message are received by receiving the first operation codeword from the data operation unit and the data operation unit transmitted to the unit, and performing error correction-based decoding on the first operation codeword based on the generation matrix. and the decoding unit for restoring the sum message in which the two messages are ORed.
또한, 본 발명의 일실시예에 따른 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 동작 방법은 t(t는 자연수)비트의 코드에 대한 에러 정정 능력을 갖는 미리 설정된 k x n(k와 n은 2이상의 자연수로 n은 k보다 큰 수임)크기의 생성행렬이 저장되어 있는 생성행렬 저장부를 유지하는 단계, 상기 컴퓨팅 장치에서 생성된 제1 메시지와 제2 메시지에 대해 논리합이 수행되도록 하는 제1 연산 명령이 인가되면, 인코딩부가 상기 생성행렬을 기초로 상기 제1 메시지에 대한 인코딩을 수행함으로써, 제1 코드워드를 생성하고, 상기 생성행렬을 기초로 상기 제2 메시지에 대한 인코딩을 수행함으로써, 제2 코드워드를 생성하는 단계, 상기 제1 코드워드와 상기 제2 코드워드가 생성되면, 데이터 연산부가 상기 제1 코드워드와 상기 제2 코드워드를 논리합하여 제1 연산 코드워드를 생성한 후 상기 제1 연산 코드워드를 디코딩부로 전달하는 단계 및 상기 디코딩부가 상기 데이터 연산부로부터 상기 제1 연산 코드워드를 전달받아, 상기 제1 연산 코드워드에 대해 상기 생성행렬을 기초로 에러 정정 기반의 디코딩을 수행함으로써, 상기 제1 메시지와 상기 제2 메시지가 논리합된 합산 메시지를 복원하는 단계를 포함한다.In addition, according to an embodiment of the present invention, the operating method of a computing device capable of performing sign-based data operation processing includes a preset kxn (k and n is 2 or more) having an error correction capability for t (t is a natural number) bit code. A step of maintaining a generation matrix storage in which a generation matrix of a size (n is a number greater than k) is stored as a natural number, and a first operation instruction for performing an OR on the first message and the second message generated by the computing device. If approved, the encoding unit generates a first codeword by performing encoding on the first message based on the generation matrix, and performs encoding on the second message based on the generation matrix to obtain a second code generating a word; when the first codeword and the second codeword are generated, a data operation unit generates a first operation codeword by ORing the first codeword and the second codeword, and then the first operation codeword is generated. transmitting an operation codeword to a decoding unit, and the decoding unit receives the first operation codeword from the data operation unit, and performs error correction-based decoding on the first operation codeword based on the generation matrix, and restoring a sum message in which the first message and the second message are ORed together.
본 발명은 컴퓨팅 장치에서 데이터 연산 처리가 수행될 때, 평문 메시지를 그대로 활용하는 것이 아니라, 메시지를 코드화한 후 코드화된 메시지를 기초로 데이터 연산 처리가 수행되도록 함으로써, 데이터 연산 과정에서의 보안을 강화할 수 있다.When data operation processing is performed in a computing device, the present invention does not utilize a plaintext message as it is, but encodes a message and then enables data operation processing to be performed based on the coded message, thereby enhancing security in the data operation process. can
도 1은 본 발명의 일실시예에 따른 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 동작 방법을 도시한 순서도이다.1 is a diagram illustrating a structure of a computing device capable of performing code-based data arithmetic processing according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating an operating method of a computing device capable of performing sign-based data operation processing according to an embodiment of the present invention.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. These descriptions are not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, like reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, refer to those of ordinary skill in the art to which the present invention belongs. It has the same meaning as is commonly understood by those who have it.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, in various embodiments of the present invention, each of the components, functional blocks or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic. A circuit, an integrated circuit, an ASIC (Application Specific Integrated Circuit), etc. may be implemented as various well-known devices or mechanical elements, and may be implemented separately or two or more may be integrated into one.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks in the accompanying block diagram or steps in the flowchart are computer program instructions that are loaded in a processor or memory of equipment capable of data processing, such as a general-purpose computer, a special-purpose computer, a portable notebook computer, and a network computer, and perform specified functions. can be interpreted as meaning Since these computer program instructions may be stored in a memory provided in a computer device or in a computer-readable memory, the functions described in the blocks of the block diagram or the steps of the flowchart are produced as articles of manufacture containing instruction means for performing the same. it might be In addition, each block or each step may represent a module, segment, or portion of code comprising one or more executable instructions for executing the specified logical function(s). It should also be noted that, in some alternative embodiments, it is also possible for the functions recited in blocks or steps to be executed out of the prescribed order. For example, two blocks or steps shown one after another may be performed substantially simultaneously or in the reverse order, and in some cases, some blocks or steps may be omitted.
도 1은 본 발명의 일실시예에 따른 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 구조를 도시한 도면이다.1 is a diagram illustrating a structure of a computing device capable of performing code-based data arithmetic processing according to an embodiment of the present invention.
도 1을 참조하면, 본 발명에 따른 컴퓨팅 장치(110)는 생성행렬 저장부(111), 인코딩부(112), 데이터 연산부(113) 및 디코딩부(114)를 포함한다.Referring to FIG. 1 , a
생성행렬 저장부(111)에는 t(t는 자연수)비트의 코드에 대한 에러 정정 능력을 갖는 미리 설정된 k x n(k와 n은 2이상의 자연수로 n은 k보다 큰 수임)크기의 생성행렬(generator matrix)이 저장되어 있다.In the generator
생성행렬은 데이터 전송측이 데이터 수신측으로 데이터를 전송할 때, 데이터 수신측이 에러 정정을 수행할 수 있도록 코드워드(codeword)를 생성하는데 사용되는 행렬로, 데이터 전송측이 소정의 생성행렬을 기초로 코드워드를 생성하여 데이터 수신측으로 전송하면, 데이터 수신측에서는 생성행렬에 대응하는 패리티 검사 행렬을 통해 수신된 데이터로부터 에러와 원본 데이터를 복원할 수 있게 된다.The generation matrix is a matrix used for generating a codeword so that the data receiving side can perform error correction when the data transmitting side transmits data to the data receiving side, and the data transmitting side is based on a predetermined generation matrix When the codeword is generated and transmitted to the data receiving side, the data receiving side can restore the error and original data from the received data through the parity check matrix corresponding to the generation matrix.
인코딩부(112)는 컴퓨팅 장치(110)에서 생성된 제1 메시지와 제2 메시지에 대해 논리합이 수행되도록 하는 제1 연산 명령이 인가되면, 상기 생성행렬을 기초로 상기 제1 메시지에 대한 인코딩을 수행함으로써, 제1 코드워드를 생성하고, 상기 생성행렬을 기초로 상기 제2 메시지에 대한 인코딩을 수행함으로써, 제2 코드워드를 생성한다.The
예컨대, 상기 생성행렬을 'G'라고 하고, 상기 제1 메시지에 대한 메시지 벡터를 'm1', 상기 제2 메시지에 대한 메시지 벡터를 'm2'라고 하는 경우, 인코딩부(112)는 하기의 수학식 1의 연산에 따라 상기 제1 코드워드 'c1'을 생성할 수 있고, 하기의 수학식 2의 연산에 따라 상기 제2 코드워드 'c2'를 생성할 수 있다.For example, if the generation matrix is 'G', the message vector for the first message is 'm 1 ', and the message vector for the second message is 'm 2 ', the
데이터 연산부(113)는 상기 제1 코드워드와 상기 제2 코드워드가 생성되면, 상기 제1 코드워드와 상기 제2 코드워드를 논리합하여 제1 연산 코드워드를 생성한 후 상기 제1 연산 코드워드를 디코딩부로 전달한다.When the first codeword and the second codeword are generated, the
관련해서, 데이터 연산부(113)는 하기의 수학식 3의 연산에 따라 상기 제1 연산 코드워드 'c1+c2'를 생성할 수 있다.In relation to this, the
디코딩부(114)는 데이터 연산부(113)로부터 상기 제1 연산 코드워드를 전달받아, 상기 제1 연산 코드워드에 대해 상기 생성행렬을 기초로 에러 정정 기반의 디코딩을 수행함으로써, 상기 제1 메시지와 상기 제2 메시지가 논리합된 합산 메시지를 복원한다.The
이때, 본 발명의 일실시예에 따르면, 디코딩부(114)는 상기 생성행렬에 대응하는 패리티 검사 행렬을 생성하고, 상기 패리티 검사 행렬을 기초로 상기 제1 연산 코드워드에 대한 신드롬 디코딩(Syndrome Decoding)을 수행함으로써, 상기 제1 메시지와 상기 제2 메시지가 논리합된 상기 합산 메시지를 복원할 수 있다.At this time, according to an embodiment of the present invention, the
우선, 패리티 검사 행렬은 데이터 전송측이 소정의 생성행렬을 기반으로 인코딩된 코드워드를 데이터 수신측으로 전송하였을 때, 데이터 수신측이 수신한 데이터에 에러가 발생하였는지 여부를 검증하기 위한 행렬로, k x n크기의 생성행렬 'G'에 대응하는 패리티 검사 행렬 'H'는 크기가 (n-k) x n이고, 상기 생성행렬 'G'와의 관계에서 하기의 수학식 4와 같은 특성을 갖는다.First, the parity check matrix is a matrix for verifying whether an error occurs in the data received by the data receiving side when the data transmitting side transmits a codeword encoded based on a predetermined generation matrix to the data receiving side, kxn The size of the parity check matrix 'H' corresponding to the generation matrix 'G' of the size is (nk) x n, and in relation to the generation matrix 'G', it has the characteristics shown in Equation 4 below.
여기서, HT는 상기 패리티 검사 행렬의 전치 행렬을 의미한다.Here, H T denotes a transpose matrix of the parity check matrix.
관련해서, 디코딩부(114)는 데이터 연산부(113)로부터 상기 제1 연산 코드워드가 전달되면, 상기 생성행렬에 대응하는 패리티 검사 행렬을 생성한 후 상기 제1 연산 코드워드에 대해 상기 패리티 검사 행렬을 기초로 하기의 수학식 5에 따른 연산을 수행할 수 있다.In relation to this, when the first operation codeword is transmitted from the
여기서, 'r'은 데이터 연산부(113)에서 전달된 상기 제1 연산 코드워드로, 상기 제1 연산 코드워드는 원래 수학식 3에서 나타낸 바와 같이, '(m1+m2)G'이지만 데이터 연산 과정이나 데이터 전달 과정에서 소정의 에러가 적용될 수 있다. 만약, 상기 제1 연산 코드워드에 적용된 에러에 따른 에러 벡터를 'e'라고 하는 경우, 상기 수학식 5는 하기의 수학식 6과 같이 나타낼 수 있다.Here, 'r' is the first operation codeword transmitted from the
여기서, 는 배타적 논리합 연산을 의미한다. 상기 수학식 5에서와 같은 연산을 통해 산출된 'S'를 신드롬(Syndrome)이라고 하는데, 상기 수학식 5에 따라 연산되는 신드롬 'S'는 상기 수학식 6에서 나타낸 바와 같이, 와 동일하기 때문에, 디코딩부(114)는 상기 수학식 5의 연산을 통해 신드롬 'S'를 산출한 후 상기 신드롬 'S'와 상기 패리티 검사 행렬을 기초로 를 만족하는 에러 벡터 'e'를 찾아낼 수 있다.here, is an exclusive-OR operation. 'S' calculated through the operation as in Equation 5 is called a syndrome, and the syndrome 'S' calculated according to Equation 5 is as shown in Equation 6, Since it is the same as , the
그러고 나서, 디코딩부(114)는 상기 에러 벡터 'e'를 기초로 에러가 제거된 상기 제1 연산 코드워드인 '(m1+m2)G'을 복원하고, 상기 제1 연산 코드워드로부터 상기 제1 메시지와 상기 제2 메시지가 논리합된 합산 메시지인 '(m1+m2)'를 복원할 수 있다.Then, the
본 발명의 일실시예에 따르면, 인코딩부(112)는 컴퓨팅 장치(110)에서 생성된 제3 메시지와 제4 메시지에 대해 합성곱(convolution)이 수행되도록 하는 제2 연산 명령이 인가되면, 상기 생성행렬을 기초로 상기 제3 메시지에 대한 인코딩을 수행함으로써, 제3 코드워드를 생성하고, 상기 생성행렬을 기초로 상기 제4 메시지에 대한 인코딩을 수행함으로써, 제4 코드워드를 생성할 수 있다.According to an embodiment of the present invention, the
예컨대, 상기 생성행렬을 'G'라고 하고, 상기 제3 메시지에 대한 메시지 벡터를 'm3', 상기 제4 메시지에 대한 메시지 벡터를 'm4'라고 하는 경우, 인코딩부(112)는 하기의 수학식 7의 연산에 따라 상기 제3 코드워드 'c3'을 생성할 수 있고, 하기의 수학식 8의 연산에 따라 상기 제4 코드워드 'c4'를 생성할 수 있다.For example, if the generation matrix is 'G', the message vector for the third message is 'm 3 ', and the message vector for the fourth message is 'm 4 ', the
이때, 데이터 연산부(113)는 상기 제3 코드워드와 상기 제4 코드워드가 생성되면, 상기 제3 코드워드와 상기 제4 코드워드를 아다마르곱(Hadamard product)하여 제2 연산 코드워드를 생성하고, 상기 제2 연산 코드워드에 대해 미리 설정된 부트스트랩 행렬을 곱하여 상기 제2 연산 코드워드를 합성곱 코드워드로 변환한 후 상기 합성곱 코드워드를 디코딩부(114)로 전달할 수 있다.In this case, when the third codeword and the fourth codeword are generated, the
여기서, 상기 합성곱 코드워드는 상기 제3 메시지와 상기 제4 메시지를 합성곱한 결과에 대해 상기 생성행렬을 기초로 인코딩을 수행한 코드워드를 의미한다.Here, the convolution codeword means a codeword obtained by performing encoding on the result of convolution of the third message and the fourth message based on the generation matrix.
또한, 아다마르 곱이란 같은 크기의 벡터나 행렬에서 각 성분을 곱하는 연산을 의미하는 것으로, [a b c]와 [x y z]라는 벡터가 존재할 때, 두 벡터 간의 아다마르 곱은 [ax by cz]로 연산될 수 있다.In addition, the Hadamard product means the operation of multiplying each component in a vector or matrix of the same size. can
관련해서, 데이터 연산부(113)는 하기의 수학식 9의 연산에 따라, 상기 제2 연산 코드워드를 상기 합성곱 코드워드 'ccov'로 변환할 수 있다.In relation to this, the
여기서, 'B'는 상기 부트스트랩 행렬, ''는 아다마르곱을 의미한다. 상기 부트스트랩 행렬은 상기 수학식 9를 통해 연산되는 결과가 상기 제3 메시지와 상기 제4 메시지를 합성곱한 결과에 대해 상기 생성행렬을 기초로 인코딩을 수행한 코드워드와 같아지도록 미리 설계된 행렬이기 때문에, 상기 수학식 9에서 연산된 합성곱 코드워드는 하기의 수학식 10과 같이, 상기 제3 메시지와 상기 제4 메시지를 합성곱한 결과에 대해 상기 생성행렬을 기초로 인코딩을 수행한 코드워드와 같아지게 된다.Here, 'B' is the bootstrap matrix, ' ' stands for Hadamarch. Since the bootstrap matrix is a matrix previously designed so that the result calculated through Equation 9 is the same as the codeword obtained by performing encoding based on the generation matrix on the result of convolution of the third message and the fourth message. , the convolution codeword calculated in Equation 9 is the same as the codeword obtained by performing encoding based on the generation matrix on the result of convolution of the third message and the fourth message as shown in Equation 10 below. will lose
여기서, ''은 합성곱을 의미한다.here, ' ' means convolution.
이때, 본 발명의 일실시예에 따르면, 생성행렬 저장부(111)에 저장되어 있는 상기 생성행렬은 1차 리드-뮬러(Reed-Muller: RM) 코드 구성된 생성행렬일 수 있다.In this case, according to an embodiment of the present invention, the generation matrix stored in the generation
이때, 상기 제3 코드워드와 상기 제4 코드워드가 아다마르곱됨에 따라 상기 제3 코드워드와 상기 제4 코드워드에 각각 적용되어 있던 1차 RM 코드는 상기 제2 연산 코드워드에서 2차 RM 코드로 변환되게 된다. 즉, 상기 수학식 7과 8에서 상기 제3 코드워드와 상기 제4 코드워드에 적용되어 있던 생성행렬 'G'를 구성하는 1차 RM 코드는 ''와 같이, 상기 제2 연산 코드워드로의 연산이 수행됨에 따라 2차 RM 코드로 변환된다.In this case, as the third codeword and the fourth codeword are Hadamard multiplied, the primary RM code applied to the third codeword and the fourth codeword, respectively, is a secondary RM in the second operation codeword. converted to code. That is, in Equations 7 and 8, the primary RM code constituting the generation matrix 'G' applied to the third codeword and the fourth codeword is ' ', as the operation on the second operation codeword is performed, it is converted into a secondary RM code.
이때, 상기 부트스트랩 행렬은 상기 제2 연산 코드워드에 적용되어 있는 2차 RM 코드를 1차 RM 코드로 변환함과 동시에 상기 제2 연산 코드워드에서 상기 변환된 1차 RM 코드에 따른 생성행렬에 곱해지는 메시지 값이 상기 제3 메시지와 상기 제4 메시지를 합성곱한 결과와 동일해지도록 설정된 행렬일 수 있다.At this time, the bootstrap matrix converts the secondary RM code applied to the second operation codeword into the primary RM code, and at the same time, in the generation matrix according to the converted primary RM code in the second operation codeword. The multiplied message value may be a matrix configured to be equal to a result of convolution of the third message and the fourth message.
즉, 상기 부트스트랩 행렬은 ''라는 상기 제2 연산 코드워드가 생성되었을 때, 상기 제2 연산 코드워드를 소정의 메시지 'mk'와 1차 RM 코드에 따른 생성행렬의 곱의 형태인 ''로 변환하되, 메시지 'mk'가 상기 제3 메시지와 상기 제4 메시지를 합성곱한 결과인 ''와 동일해지도록 미리 설정된 행렬일 수 있다.That is, the bootstrap matrix is ' When the second operation codeword of ' is generated, the second operation codeword is in the form of a product of a predetermined message 'm k ' and a generation matrix according to the primary RM code. ', but the message 'm k ' is the result of convolution of the third message and the fourth message. It may be a matrix preset to be equal to '.
이렇게, 데이터 연산부(113)에서 상기 합성곱 코드워드가 생성되면, 디코딩부(114)는 데이터 연산부(113)로부터 상기 합성곱 코드워드를 전달받아, 상기 합성곱 코드워드에 대해 상기 생성행렬을 기초로 에러 정정 기반의 디코딩을 수행함으로써, 상기 제3 메시지와 상기 제4 메시지가 합성곱된 합성곱 메시지를 복원할 수 있다.In this way, when the
이때, 본 발명의 일실시예에 따르면, 디코딩부(114)는 상기 생성행렬에 대응하는 패리티 검사 행렬을 생성하고, 상기 패리티 검사 행렬을 기초로 상기 합성곱 코드워드에 대한 신드롬 디코딩을 수행함으로써, 상기 제3 메시지와 상기 제4 메시지가 합성곱된 상기 합성곱 메시지를 복원할 수 있다.At this time, according to an embodiment of the present invention, the
관련해서, 디코딩부(114)는 데이터 연산부(113)로부터 상기 합성곱 코드워드가 전달되면, 상기 생성행렬에 대응하는 패리티 검사 행렬을 생성한 후 상기 합성곱 연산 코드워드에 대해 상기 패리티 검사 행렬을 기초로 하기의 수학식 11에 따른 연산을 수행할 수 있다.In relation to this, when the convolution codeword is transmitted from the
여기서, 'rcov'은 데이터 연산부(113)에서 전달된 상기 합성곱 코드워드로, 상기 합성곱 코드워드는 원래 수학식 10에서 나타낸 바와 같이, ''이지만 데이터 연산 과정이나 데이터 전달 과정에서 소정의 에러가 적용될 수 있다. 만약, 상기 합성곱 코드워드에 적용된 에러에 따른 에러 벡터를 'e1'이라고 하는 경우, 상기 수학식 11는 하기의 수학식 12와 같이 나타낼 수 있다.Here, 'r cov ' is the convolution codeword transmitted from the
이때, 디코딩부(114)는 상기 수학식 11의 연산을 통해 신드롬 'Scov'를 산출한 후 상기 신드롬 'Scov'와 상기 패리티 검사 행렬을 기초로 를 만족하는 에러 벡터 'e1'를 찾아낼 수 있다.At this time, the
그러고 나서, 디코딩부(114)는 상기 에러 벡터 'e1'을 기초로 에러가 제거된 상기 합성곱 코드워드인 ''을 복원하고, 상기 합성곱 코드워드로부터 상기 제3 메시지와 상기 제4 메시지가 합성곱된 합성곱 메시지인 ''를 복원할 수 있다.Then, the decoding unit 114 ' is the convolutional codeword from which the error has been removed based on the error vector 'e 1 '. ' is a convolutional message in which the third message and the fourth message are convolved from the convolution codeword. ' can be restored.
도 2는 본 발명의 일실시예에 따른 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 동작 방법을 도시한 순서도이다.FIG. 2 is a flowchart illustrating an operating method of a computing device capable of performing sign-based data arithmetic processing according to an embodiment of the present invention.
단계(S210)에서는 t(t는 자연수)비트의 코드에 대한 에러 정정 능력을 갖는 미리 설정된 k x n(k와 n은 2이상의 자연수로 n은 k보다 큰 수임)크기의 생성행렬이 저장되어 있는 생성행렬 저장부를 유지한다.In step S210, a generation matrix having a preset size of kxn (k and n are natural numbers greater than or equal to 2 and n is a number greater than k) having error correction capability for t (t is a natural number) bit code is stored. maintain storage.
단계(S220)에서는 상기 컴퓨팅 장치에서 생성된 제1 메시지와 제2 메시지에 대해 논리합이 수행되도록 하는 제1 연산 명령이 인가되면, 인코딩부가 상기 생성행렬을 기초로 상기 제1 메시지에 대한 인코딩을 수행함으로써, 제1 코드워드를 생성하고, 상기 생성행렬을 기초로 상기 제2 메시지에 대한 인코딩을 수행함으로써, 제2 코드워드를 생성한다.In step S220, when a first operation command for performing an OR on the first message and the second message generated by the computing device is applied, the encoding unit encodes the first message based on the generation matrix By doing so, the first codeword is generated, and the second codeword is generated by encoding the second message based on the generation matrix.
단계(S230)에서는 상기 제1 코드워드와 상기 제2 코드워드가 생성되면, 데이터 연산부가 상기 제1 코드워드와 상기 제2 코드워드를 논리합하여 제1 연산 코드워드를 생성한 후 상기 제1 연산 코드워드를 디코딩부로 전달한다.In step S230, when the first codeword and the second codeword are generated, a data operation unit generates a first operation codeword by ORing the first codeword and the second codeword, and then the first operation The codeword is transmitted to the decoding unit.
단계(S240)에서는 상기 디코딩부가 상기 데이터 연산부로부터 상기 제1 연산 코드워드를 전달받아, 상기 제1 연산 코드워드에 대해 상기 생성행렬을 기초로 에러 정정 기반의 디코딩을 수행함으로써, 상기 제1 메시지와 상기 제2 메시지가 논리합된 합산 메시지를 복원한다.In step S240, the decoding unit receives the first operation codeword from the data operation unit, and performs error correction-based decoding on the first operation codeword based on the generation matrix, so that the first message and The sum message in which the second message is ORed is restored.
이때, 본 발명의 일실시예에 따르면, 단계(S240)에서는 상기 디코딩부가 상기 생성행렬에 대응하는 패리티 검사 행렬을 생성하고, 상기 패리티 검사 행렬을 기초로 상기 제1 연산 코드워드에 대한 신드롬 디코딩을 수행함으로써, 상기 제1 메시지와 상기 제2 메시지가 논리합된 상기 합산 메시지를 복원할 수 있다.At this time, according to an embodiment of the present invention, in step S240, the decoding unit generates a parity check matrix corresponding to the generation matrix, and performs syndrome decoding for the first operation codeword based on the parity check matrix. By doing so, it is possible to recover the summed message in which the first message and the second message are ORed together.
또한, 본 발명의 일실시예에 따르면, 상기 컴퓨팅 장치의 동작 방법은 상기 컴퓨팅 장치에서 생성된 제3 메시지와 제4 메시지에 대해 합성곱이 수행되도록 하는 제2 연산 명령이 인가되면, 상기 인코딩부가 상기 생성행렬을 기초로 상기 제3 메시지에 대한 인코딩을 수행함으로써, 제3 코드워드를 생성하고, 상기 생성행렬을 기초로 상기 제4 메시지에 대한 인코딩을 수행함으로써, 제4 코드워드를 생성하는 단계, 상기 제3 코드워드와 상기 제4 코드워드가 생성되면, 상기 데이터 연산부가 상기 제3 코드워드와 상기 제4 코드워드를 아다마르곱하여 제2 연산 코드워드를 생성하고, 상기 제2 연산 코드워드에 대해 미리 설정된 부트스트랩 행렬을 곱하여 상기 제2 연산 코드워드를 합성곱 코드워드(상기 합성곱 코드워드는 상기 제3 메시지와 상기 제4 메시지를 합성곱한 결과에 대해 상기 생성행렬을 기초로 인코딩을 수행한 코드워드를 의미함)로 변환한 후 상기 합성곱 코드워드를 상기 디코딩부로 전달하는 단계 및 상기 디코딩부가 상기 데이터 연산부로부터 상기 합성곱 코드워드를 전달받아, 상기 합성곱 코드워드에 대해 상기 생성행렬을 기초로 에러 정정 기반의 디코딩을 수행함으로써, 상기 제3 메시지와 상기 제4 메시지가 합성곱된 합성곱 메시지를 복원하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, in the method of operating the computing device, when a second operation command for performing convolution on the third message and the fourth message generated by the computing device is applied, the encoding unit generating a third codeword by performing encoding on the third message based on a generation matrix, and generating a fourth codeword by performing encoding on the fourth message based on the generation matrix; When the third codeword and the fourth codeword are generated, the data operation unit generates a second operation codeword by Hadamard multiplication of the third codeword and the fourth codeword, and adds the second operation codeword to the second operation codeword. The second operation codeword is multiplied by a bootstrap matrix preset for after converting to a single codeword), transferring the convolution codeword to the decoding unit, and the decoding unit receiving the convolution codeword from the data operation unit, and the generation matrix The method may further include reconstructing a convolutional message obtained by convolution of the third message and the fourth message by performing error correction-based decoding based on .
이때, 본 발명의 일실시예에 따르면, 상기 생성행렬은 1차 RM 코드 구성된 생성행렬이고, 상기 부트스트랩 행렬은 상기 제2 연산 코드워드에 적용되어 있는 2차 RM 코드(상기 제3 코드워드와 상기 제4 코드워드가 아다마르곱됨에 따라 상기 제3 코드워드와 상기 제4 코드워드에 각각 적용되어 있던 1차 RM 코드는 상기 제2 연산 코드워드에서 2차 RM 코드로 변환됨)를 1차 RM 코드로 변환함과 동시에 상기 제2 연산 코드워드에서 상기 변환된 1차 RM 코드에 따른 생성행렬에 곱해지는 메시지 값이 상기 제3 메시지와 상기 제4 메시지를 합성곱한 결과와 동일해지도록 설정된 행렬일 수 있다.At this time, according to an embodiment of the present invention, the generation matrix is a generation matrix composed of a primary RM code, and the bootstrap matrix is a secondary RM code applied to the second operation codeword (the third codeword and As the fourth codeword is multiplied by Hadamard, the primary RM code applied to the third codeword and the fourth codeword is converted into a secondary RM code in the second operation codeword) A matrix set such that a message value multiplied by a generation matrix according to the converted primary RM code in the second operation codeword at the same time as conversion into an RM code becomes the same as a result of convolution of the third message and the fourth message can be
또한, 본 발명의 일실시예에 따르면, 상기 합성곱 메시지를 복원하는 단계는 상기 디코딩부가 상기 생성행렬에 대응하는 패리티 검사 행렬을 생성하고, 상기 패리티 검사 행렬을 기초로 상기 합성곱 코드워드에 대한 신드롬 디코딩을 수행함으로써, 상기 제3 메시지와 상기 제4 메시지가 합성곱된 상기 합성곱 메시지를 복원할 수 있다.In addition, according to an embodiment of the present invention, in the step of restoring the convolution message, the decoding unit generates a parity check matrix corresponding to the generation matrix, and based on the parity check matrix, By performing syndrome decoding, it is possible to recover the convolutional message in which the third message and the fourth message are convolved.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 동작 방법은 도 1을 이용하여 설명한 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, an operating method of a computing device capable of performing a code-based data operation processing according to an embodiment of the present invention has been described with reference to FIG. 2 . Here, the operating method of the computing device capable of processing data based on sign data according to an embodiment of the present invention corresponds to the configuration and operation of the
본 발명의 일실시예에 따른 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The method of operating a computing device capable of performing code-based data arithmetic processing according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution through combination with a computer.
또한, 본 발명의 일실시예에 따른 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the method of operating a computing device capable of performing code-based data arithmetic processing 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, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, in the present invention, specific matters such as specific components, etc., and limited embodiments and drawings have been described, but these are only provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations are possible from these descriptions by those of ordinary skill in the art to which the present invention pertains.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and not only the claims described below, but also all of the claims and all equivalents or equivalent modifications to the claims will be said to belong to the scope of the spirit of the present invention. .
110: 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치
111: 생성행렬 저장부
112: 인코딩부
113: 데이터 연산부
114: 디코딩부110: Computing device capable of processing data arithmetic based on code
111: generative matrix storage unit
112: encoding unit
113: data operation unit
114: decoding unit
Claims (12)
t(t는 자연수)비트의 코드에 대한 에러 정정 능력을 갖는 미리 설정된 k x n(k와 n은 2이상의 자연수로 n은 k보다 큰 수임)크기의 생성행렬(generator matrix) - 상기 생성행렬은 1차 리드-뮬러(Reed-Muller: RM) 코드 구성된 생성행렬임 - 이 저장되어 있는 생성행렬 저장부;
상기 컴퓨팅 장치에서 생성된 제1 메시지와 제2 메시지에 대해 논리합이 수행되도록 하는 제1 연산 명령이 인가되면, 상기 생성행렬을 기초로 상기 제1 메시지에 대한 인코딩을 수행함으로써, 제1 코드워드(codeword)를 생성하고, 상기 생성행렬을 기초로 상기 제2 메시지에 대한 인코딩을 수행함으로써, 제2 코드워드를 생성하는 인코딩부;
상기 제1 코드워드와 상기 제2 코드워드가 생성되면, 상기 제1 코드워드와 상기 제2 코드워드를 논리합하여 제1 연산 코드워드를 생성한 후 상기 제1 연산 코드워드를 디코딩부로 전달하는 데이터 연산부; 및
상기 데이터 연산부로부터 상기 제1 연산 코드워드를 전달받아, 상기 제1 연산 코드워드에 대해 상기 생성행렬을 기초로 에러 정정 기반의 디코딩을 수행함으로써, 상기 제1 메시지와 상기 제2 메시지가 논리합된 합산 메시지를 복원하는 상기 디코딩부
를 포함하고,
상기 인코딩부는
상기 컴퓨팅 장치에서 생성된 제3 메시지와 제4 메시지에 대해 합성곱(convolution)이 수행되도록 하는 제2 연산 명령이 인가되면, 상기 생성행렬을 기초로 상기 제3 메시지에 대한 인코딩을 수행함으로써, 제3 코드워드를 생성하고, 상기 생성행렬을 기초로 상기 제4 메시지에 대한 인코딩을 수행함으로써, 제4 코드워드를 생성하고,
상기 데이터 연산부는
상기 제3 코드워드와 상기 제4 코드워드가 생성되면, 상기 제3 코드워드와 상기 제4 코드워드를 아다마르곱(Hadamard product)하여 제2 연산 코드워드를 생성하고, 상기 제2 연산 코드워드에 대해 미리 설정된 부트스트랩 행렬 - 상기 부트스트랩 행렬은 상기 제2 연산 코드워드에 적용되어 있는 2차 RM 코드(상기 제3 코드워드와 상기 제4 코드워드가 아다마르곱됨에 따라 상기 제3 코드워드와 상기 제4 코드워드에 각각 적용되어 있던 1차 RM 코드는 상기 제2 연산 코드워드에서 2차 RM 코드로 변환됨)를 1차 RM 코드로 변환함과 동시에 상기 제2 연산 코드워드에서 상기 변환된 1차 RM 코드에 따른 생성행렬에 곱해지는 메시지 값이 상기 제3 메시지와 상기 제4 메시지를 합성곱한 결과와 동일해지도록 설정된 행렬임 - 을 곱하여 상기 제2 연산 코드워드를 합성곱 코드워드 - 상기 합성곱 코드워드는 상기 제3 메시지와 상기 제4 메시지를 합성곱한 결과에 대해 상기 생성행렬을 기초로 인코딩을 수행한 코드워드를 의미함 - 로 변환한 후 상기 합성곱 코드워드를 상기 디코딩부로 전달하며,
상기 디코딩부는
상기 데이터 연산부로부터 상기 합성곱 코드워드를 전달받아, 상기 합성곱 코드워드에 대해 상기 생성행렬을 기초로 에러 정정 기반의 디코딩을 수행함으로써, 상기 제3 메시지와 상기 제4 메시지가 합성곱된 합성곱 메시지를 복원하는 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치.In a computing device capable of processing data arithmetic based on a sign,
A generator matrix of a preset size of kxn (k and n are natural numbers greater than or equal to 2 and n is a number greater than k) having error correction capability for t (t is a natural number) bit code - the generator matrix is a first-order Reed-Muller (RM) is a generation matrix composed of codes - a generation matrix storage unit in which this is stored;
When a first operation command for performing a logical OR on the first message and the second message generated by the computing device is applied, encoding is performed on the first message based on the generation matrix, whereby a first codeword ( an encoding unit generating a second codeword by generating a codeword) and encoding the second message based on the generation matrix;
When the first codeword and the second codeword are generated, the first operation codeword is generated by ORing the first codeword and the second codeword, and then the first operation codeword is transmitted to the decoding unit. arithmetic unit; and
By receiving the first operation codeword from the data operation unit and performing error correction-based decoding on the first operation codeword based on the generation matrix, the first message and the second message are logically summed the decoding unit to restore the message
including,
the encoding unit
When a second operation command for performing convolution on the third message and the fourth message generated by the computing device is applied, encoding the third message based on the generation matrix is performed, thereby generating a fourth codeword by generating 3 codewords and performing encoding on the fourth message based on the generation matrix;
The data operation unit
When the third codeword and the fourth codeword are generated, a Hadamard product of the third codeword and the fourth codeword is performed to generate a second operation codeword, and the second operation codeword is generated. Bootstrap matrix preset for - The bootstrap matrix is a secondary RM code applied to the second operation codeword (the third codeword as the third codeword and the fourth codeword are Hadamard multiplied) and the first RM code applied to the fourth codeword is converted into the second RM code in the second operation codeword) into the primary RM code, and at the same time, the conversion in the second operation codeword The message value multiplied by the generation matrix according to the primary RM code is a matrix set to be the same as the result of convolution of the third message and the fourth message. The convolutional codeword means a codeword obtained by performing encoding based on the generation matrix on the result of convolution of the third message and the fourth message. After converting the convolutional codeword into convey,
the decoding unit
Convolution of the third message and the fourth message by receiving the convolution codeword from the data operation unit and performing error correction-based decoding on the convolution codeword based on the generation matrix A computing device capable of processing sign-based data operations to restore messages.
상기 디코딩부는
상기 생성행렬에 대응하는 패리티 검사 행렬을 생성하고, 상기 패리티 검사 행렬을 기초로 상기 제1 연산 코드워드에 대한 신드롬 디코딩(Syndrome Decoding)을 수행함으로써, 상기 제1 메시지와 상기 제2 메시지가 논리합된 상기 합산 메시지를 복원하는 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치.According to claim 1,
the decoding unit
The first message and the second message are ORed by generating a parity check matrix corresponding to the generation matrix, and performing syndrome decoding on the first operation codeword based on the parity check matrix. A computing device capable of performing a sign-based data operation processing to restore the sum message.
상기 디코딩부는
상기 생성행렬에 대응하는 패리티 검사 행렬을 생성하고, 상기 패리티 검사 행렬을 기초로 상기 합성곱 코드워드에 대한 신드롬 디코딩을 수행함으로써, 상기 제3 메시지와 상기 제4 메시지가 합성곱된 상기 합성곱 메시지를 복원하는 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치.According to claim 1,
the decoding unit
The convolution message in which the third message and the fourth message are convolved by generating a parity check matrix corresponding to the generation matrix and performing syndrome decoding on the convolution codeword based on the parity check matrix Computing device capable of processing sign-based data operation to restore
t(t는 자연수)비트의 코드에 대한 에러 정정 능력을 갖는 미리 설정된 k x n(k와 n은 2이상의 자연수로 n은 k보다 큰 수임)크기의 생성행렬(generator matrix) - 상기 생성행렬은 1차 리드-뮬러(Reed-Muller: RM) 코드 구성된 생성행렬임 - 이 저장되어 있는 생성행렬 저장부를 유지하는 단계;
상기 컴퓨팅 장치에서 생성된 제1 메시지와 제2 메시지에 대해 논리합이 수행되도록 하는 제1 연산 명령이 인가되면, 인코딩부가 상기 생성행렬을 기초로 상기 제1 메시지에 대한 인코딩을 수행함으로써, 제1 코드워드(codeword)를 생성하고, 상기 생성행렬을 기초로 상기 제2 메시지에 대한 인코딩을 수행함으로써, 제2 코드워드를 생성하는 단계;
상기 제1 코드워드와 상기 제2 코드워드가 생성되면, 데이터 연산부가 상기 제1 코드워드와 상기 제2 코드워드를 논리합하여 제1 연산 코드워드를 생성한 후 상기 제1 연산 코드워드를 디코딩부로 전달하는 단계;
상기 디코딩부가 상기 데이터 연산부로부터 상기 제1 연산 코드워드를 전달받아, 상기 제1 연산 코드워드에 대해 상기 생성행렬을 기초로 에러 정정 기반의 디코딩을 수행함으로써, 상기 제1 메시지와 상기 제2 메시지가 논리합된 합산 메시지를 복원하는 단계;
상기 컴퓨팅 장치에서 생성된 제3 메시지와 제4 메시지에 대해 합성곱(convolution)이 수행되도록 하는 제2 연산 명령이 인가되면, 상기 인코딩부가 상기 생성행렬을 기초로 상기 제3 메시지에 대한 인코딩을 수행함으로써, 제3 코드워드를 생성하고, 상기 생성행렬을 기초로 상기 제4 메시지에 대한 인코딩을 수행함으로써, 제4 코드워드를 생성하는 단계;
상기 제3 코드워드와 상기 제4 코드워드가 생성되면, 상기 데이터 연산부가 상기 제3 코드워드와 상기 제4 코드워드를 아다마르곱(Hadamard product)하여 제2 연산 코드워드를 생성하고, 상기 제2 연산 코드워드에 대해 미리 설정된 부트스트랩 행렬 - 상기 부트스트랩 행렬은 상기 제2 연산 코드워드에 적용되어 있는 2차 RM 코드(상기 제3 코드워드와 상기 제4 코드워드가 아다마르곱됨에 따라 상기 제3 코드워드와 상기 제4 코드워드에 각각 적용되어 있던 1차 RM 코드는 상기 제2 연산 코드워드에서 2차 RM 코드로 변환됨)를 1차 RM 코드로 변환함과 동시에 상기 제2 연산 코드워드에서 상기 변환된 1차 RM 코드에 따른 생성행렬에 곱해지는 메시지 값이 상기 제3 메시지와 상기 제4 메시지를 합성곱한 결과와 동일해지도록 설정된 행렬임 - 을 곱하여 상기 제2 연산 코드워드를 합성곱 코드워드 - 상기 합성곱 코드워드는 상기 제3 메시지와 상기 제4 메시지를 합성곱한 결과에 대해 상기 생성행렬을 기초로 인코딩을 수행한 코드워드를 의미함 - 로 변환한 후 상기 합성곱 코드워드를 상기 디코딩부로 전달하는 단계; 및
상기 디코딩부가 상기 데이터 연산부로부터 상기 합성곱 코드워드를 전달받아, 상기 합성곱 코드워드에 대해 상기 생성행렬을 기초로 에러 정정 기반의 디코딩을 수행함으로써, 상기 제3 메시지와 상기 제4 메시지가 합성곱된 합성곱 메시지를 복원하는 단계
를 포함하는 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 동작 방법.In the operating method of a computing device capable of processing data arithmetic based on a sign,
A generator matrix of a preset size of kxn (k and n are natural numbers greater than or equal to 2 and n is a number greater than k) having error correction capability for t (t is a natural number) bit code - the generator matrix is a first-order Reed-Muller (RM) code is a generation matrix composed of - maintaining the stored generation matrix storage;
When a first arithmetic command for performing a logical OR on the first message and the second message generated by the computing device is applied, the encoding unit encodes the first message based on the generation matrix, thereby generating a first code generating a second codeword by generating a codeword and performing encoding on the second message based on the generation matrix;
When the first codeword and the second codeword are generated, a data operation unit generates a first operation codeword by ORing the first codeword and the second codeword, and then sends the first operation codeword to a decoding unit delivering;
The decoding unit receives the first operation codeword from the data operation unit, and performs error correction-based decoding on the first operation codeword based on the generation matrix, so that the first message and the second message are restoring an ORed sum message;
When a second operation command for performing convolution on the third message and the fourth message generated by the computing device is applied, the encoding unit encodes the third message based on the generation matrix generating a third codeword by doing so, and generating a fourth codeword by performing encoding on the fourth message based on the generation matrix;
When the third codeword and the fourth codeword are generated, the data operation unit generates a second operation codeword by performing Hadamard product of the third codeword and the fourth codeword, and the second operation codeword is generated. Bootstrap matrix preset for 2 operation codewords - The bootstrap matrix is a secondary RM code applied to the second operation codeword (as the third codeword and the fourth codeword are Hadamard multiplied, the The first RM code applied to the third codeword and the fourth codeword, respectively, is converted into the secondary RM code in the second operation codeword) into the primary RM code, and at the same time, the second operation code The message value multiplied by the generation matrix according to the converted primary RM code in the word is a matrix set to be the same as the result of convolution of the third message and the fourth message - by multiplying the second operation codeword by synthesizing Product codeword - The convolution codeword means a codeword obtained by performing encoding on the result of convolution of the third message and the fourth message based on the generation matrix. transmitting to the decoding unit; and
The decoding unit receives the convolution codeword from the data operation unit and performs error correction-based decoding on the convolution codeword based on the generation matrix, so that the third message and the fourth message are convolutional. Steps to restore the convolutional message
A method of operating a computing device capable of processing a sign-based data operation comprising a.
상기 합산 메시지를 복원하는 단계는
상기 디코딩부가 상기 생성행렬에 대응하는 패리티 검사 행렬을 생성하고, 상기 패리티 검사 행렬을 기초로 상기 제1 연산 코드워드에 대한 신드롬 디코딩(Syndrome Decoding)을 수행함으로써, 상기 제1 메시지와 상기 제2 메시지가 논리합된 상기 합산 메시지를 복원하는 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 동작 방법.7. The method of claim 6,
The step of restoring the sum message is
The decoding unit generates a parity check matrix corresponding to the generation matrix, and performs syndrome decoding on the first operation codeword based on the parity check matrix, whereby the first message and the second message A method of operating a computing device capable of performing a sign-based data operation processing to restore the sum message in which the logical OR is performed.
상기 합성곱 메시지를 복원하는 단계는
상기 디코딩부가 상기 생성행렬에 대응하는 패리티 검사 행렬을 생성하고, 상기 패리티 검사 행렬을 기초로 상기 합성곱 코드워드에 대한 신드롬 디코딩을 수행함으로써, 상기 제3 메시지와 상기 제4 메시지가 합성곱된 상기 합성곱 메시지를 복원하는 부호 기반의 데이터 연산 처리가 가능한 컴퓨팅 장치의 동작 방법.7. The method of claim 6,
The step of restoring the convolutional message is
The decoding unit generates a parity check matrix corresponding to the generation matrix, and performs syndrome decoding on the convolution codeword based on the parity check matrix, whereby the third message and the fourth message are convolutioned. A method of operating a computing device capable of processing a sign-based data operation to restore a convolution message.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190177948A KR102381623B1 (en) | 2019-12-30 | 2019-12-30 | Computing device capable of code-based data operation and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190177948A KR102381623B1 (en) | 2019-12-30 | 2019-12-30 | Computing device capable of code-based data operation and operating method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210085176A KR20210085176A (en) | 2021-07-08 |
KR102381623B1 true KR102381623B1 (en) | 2022-03-31 |
Family
ID=76893587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190177948A KR102381623B1 (en) | 2019-12-30 | 2019-12-30 | Computing device capable of code-based data operation and operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102381623B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002111505A (en) * | 2000-09-29 | 2002-04-12 | Sanyo Electric Co Ltd | Decoding circuit and decoding method for hadamard- transformed data |
KR101942030B1 (en) * | 2018-11-13 | 2019-01-24 | 동국대학교 산학협력단 | Electronic device for performing code-based encryption supporting integrity verification of a message and operating method thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7934137B2 (en) * | 2006-02-06 | 2011-04-26 | Qualcomm Incorporated | Message remapping and encoding |
-
2019
- 2019-12-30 KR KR1020190177948A patent/KR102381623B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002111505A (en) * | 2000-09-29 | 2002-04-12 | Sanyo Electric Co Ltd | Decoding circuit and decoding method for hadamard- transformed data |
KR101942030B1 (en) * | 2018-11-13 | 2019-01-24 | 동국대학교 산학협력단 | Electronic device for performing code-based encryption supporting integrity verification of a message and operating method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20210085176A (en) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101270815B1 (en) | In-place transformations with applications to encoding and decoding various classes of codes | |
JP4036338B2 (en) | Method and apparatus for correcting and detecting multiple spotty byte errors in a byte with a limited number of error bytes | |
TWI285310B (en) | Method and apparatus for iterative hard-decision forward error correction decoding | |
US20150222292A1 (en) | Multi-bit error correction method and apparatus based on a bch code and memory system | |
EP3852275A1 (en) | Method, device and apparatus for storing data, computer readable storage medium | |
KR101942030B1 (en) | Electronic device for performing code-based encryption supporting integrity verification of a message and operating method thereof | |
CN110837436B (en) | Method for automatically decoding erasure codes in lightweight manner on finite field and intelligent terminal module | |
CN101795175B (en) | Data verifying method and device | |
EP3713096B1 (en) | Method and device for decoding staircase code, and storage medium | |
KR102213345B1 (en) | Method for constructing parity-check concatenated polar codes and apparatus therefor | |
US8631307B2 (en) | Method for encoding and/or decoding multimensional and a system comprising such method | |
US20240048157A1 (en) | Encoding method, decoding method, electronic device and storage medium | |
CN114389752A (en) | Cyclic redundancy check code generation method, apparatus, device, medium, and program product | |
KR102381623B1 (en) | Computing device capable of code-based data operation and operating method thereof | |
US11128475B2 (en) | Electronic device capable of data communication through electronic signatures based on syndrome and operating method thereof | |
US20200021314A1 (en) | Apparatus and Method for Multi-Code Distributed Storage | |
CA2688398A1 (en) | A systematic encoder with arbitrary parity positions | |
US20140258807A1 (en) | Decoding and Optimized Implementation of SECDED Codes over GF(q) | |
KR101894566B1 (en) | Data transmission apparatus and method for encoding by integrating authentication and error correction | |
EP0661841A2 (en) | Parity and syndrome generation for error and correction in digital communication systems | |
WO2016119120A1 (en) | Fec decoding apparatus and method | |
US9183076B2 (en) | Using carry-less multiplication (CLMUL) to implement erasure code | |
Okeke et al. | A comparative study between hamming code and Reed-Solomon code in byte error detection and correction | |
JP5826202B2 (en) | Encoding device, decoding device, encoding method, decoding method, and program | |
CN110287716B (en) | Data storage method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |