KR100403820B1 - Apparatus for encrypting plane data and method thereof - Google Patents
Apparatus for encrypting plane data and method thereof Download PDFInfo
- Publication number
- KR100403820B1 KR100403820B1 KR10-2001-0039529A KR20010039529A KR100403820B1 KR 100403820 B1 KR100403820 B1 KR 100403820B1 KR 20010039529 A KR20010039529 A KR 20010039529A KR 100403820 B1 KR100403820 B1 KR 100403820B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- key
- unit
- bit
- bits
- Prior art date
Links
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/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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 정보 인증 및 보안처리를 위한 암호화 처리장치에 관한 것으로, 평문데이터를 입력받아 소정의 크기의 비트수로 블럭화하여 기록하는 데이터레지스터부; 블럭화한 데이터의 순서를 소정의 방식으로 재배치하는 데이터치환부; 난수발생기에 의해서 생성되는 암호화를 위한 키를 저장하는 키레지스터부; 키레지스터부로부터 암호화를 위한 키를 입력받아 소정의 비트수를 가지는 2개의 키데이터로 분리하여 변환하는 키변환부; 데이터치환부로부터 재배치된 평문데이터를 키변환부에서 출력하는 키데이터에 의해서 그 평문데이터를 암호화데이터로 변환하는 암호화부; 암호화데이터를 평문데이터의 비트의 순서와 동일하게 재배치하는 데이터역치환부; 데이터역치환부에서 출력하는 암호화데이터을 저장하는 암호화저장부; 데이터레지스터부 내지 암호화저장부의 동작을 위한 제어신호를 발생하는 제어부를 포함하므로, 전자상거래의 보안성을 확보할 수 있고 짧은 처리시간을 요하는 이동물체에 장착하여 무선으로 거래를 무선통신으로 가능하게 한다.The present invention relates to an encryption processing apparatus for information authentication and security processing, comprising: a data register unit for receiving plain text data and blocking the data into a predetermined number of bits; A data replacing unit for rearranging the order of the blocked data in a predetermined manner; A key register unit for storing a key for encryption generated by the random number generator; A key conversion unit which receives a key for encryption from the key register unit and converts the key into two pieces of key data having a predetermined number of bits; An encryption unit for converting the plain text data rearranged from the data replacing unit into encrypted data by the key data outputted from the key converting unit; A data reverse exchanger for rearranging the encrypted data in the same order as the bits of the plain text data; An encryption storage unit for storing encrypted data output from the data reverse exchange unit; It includes a control unit for generating a control signal for the operation of the data register unit or the encryption storage unit, it is possible to secure the security of the electronic commerce and to be mounted on a mobile object requiring a short processing time to enable the transaction wirelessly do.
Description
본 발명은 정보 인증 및 보안처리를 위한 암호화 분야에 관한 것으로, 특히 전자상거래의 암호화 인증 또는 무선통신으로 전자통행요금징수를 할 경우에 그 데이터를 인증하는 암호화 처리장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the field of encryption for information authentication and security processing, and more particularly, to an encryption processing apparatus for authenticating data when performing electronic toll billing by encryption authentication or wireless communication in electronic commerce.
전자상거래 또는 아이씨카드를 사용한 거래가 활발히 진행 중인데, 특히 이동물체에 통신단말기를 장착하여 무선으로 거래를 하는 경우에 이동물체 상호간의 통신오류 때문에 특정의 통신구간내에서 통신이 이루어져야 하는 데, 암호화를 소프트웨어 처리알고리즘으로 수행하는 경우에는 처리시간이 과다하여 이동물체 상호간 또는 이동물체와 기지국간의 인증처리가 어렵게 되고 암호화에 사용되는 키의 도난 또는 복사의 가능성을 가지는 문제점을 가지게 된다.E-commerce or transactions using IC cards are actively in progress, especially when a mobile terminal is equipped with a communication terminal and the transaction is performed wirelessly. In the case of performing the processing algorithm, the processing time is excessive, making it difficult to perform authentication processing between each moving object or between the moving object and the base station, and have a problem of theft or copying of a key used for encryption.
본 발명이 이루고자 하는 기술적 과제는, 상기 문제점들을 해결하기 위해 정보를 인증하는 보안알고리즘을 하드웨어를 구현한 암호화처리장치를 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide an encryption processing apparatus that implements a hardware security algorithm for authenticating information in order to solve the above problems.
본 발명이 이루고자 하는 기술적 과제는, 상기 문제점들을 해결하기 위해 정보를 인증하는 암호화처리방법을 제공하는 데 있다.An object of the present invention is to provide an encryption processing method for authenticating information in order to solve the above problems.
본 발명이 이루고자 하는 기술적 과제는, 상기 문제점들을 해결하기 위해 정보를 인증하는 암호화데이터를 해독하는 해독화처리방법을 제공하는 데 있다SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a decryption processing method for decrypting encrypted data for authenticating information in order to solve the above problems.
도 1은 본 발명에 따른 암호화처리장치를 나타내는 블럭도를 나타내는 도면이다.1 is a block diagram showing an encryption processing apparatus according to the present invention.
도 2는 본 발명에 따른 암호화처리장치의 암호화부의 블럭도를 나타내는 도면이다.2 is a block diagram of an encryption unit of an encryption processing apparatus according to the present invention.
도 3은 본 발명에 따른 암호화부에서 평문데이터를 암호화하는 흐름을 나타내는 도면이다.3 is a diagram illustrating a flow of encrypting plain text data in the encryption unit according to the present invention.
도 4는 본 발명에 따른 난수발생기에서 생성된 64비트 크기의 마스터키를 암호화에 사용되는 48비트의 키데이터로 변환하는 흐름을 나타내는 도면이다.4 is a diagram illustrating a flow of converting a 64-bit master key generated by a random number generator according to the present invention into 48-bit key data used for encryption.
도 5는 본 발명에 따른 암호화처리방법에 대한 흐름을 나타내는 도면이다.5 is a diagram illustrating a flow of an encryption processing method according to the present invention.
상기의 과제를 이루기 위한 본 발명에 따른 암호화처리장치는, 평문데이터를 입력받아 소정의 크기의 비트수로 블럭화하여 기록하는 데이터레지스터부;상기 블럭화한 데이터의 순서를 소정의 방식으로 재배치하는 데이터치환부;난수발생기에 의해서 생성되는 암호화를 위한 키를 저장하는 키레지스터부;상기 키레지스터부로부터 암호화를 위한 키를 입력받아 소정의 비트수를 가지는 2개의 키데이터로 분리하여 변환하는 키변환부;상기 데이터치환부로부터 재배치된 평문데이터를 상기 키변환부에서 출력하는 키데이터에 의해서 그 평문데이터를 암호화데이터로 변환하는 암호화부;상기 암호화데이터를 상기 평문데이터의 비트의 순서와 동일하게 재배치하는 데이터역치환부;상기 데이터역치환부에서 출력하는 암호화데이터을 저장하는 암호화저장부;상기 데이터레지스터부 내지 암호화저장부의 동작을 위한 제어신호를 발생하는 제어부를 포함한다.According to an aspect of the present invention, there is provided an encryption processing apparatus including: a data register unit for receiving plain text data and blocking and recording the data in a predetermined number of bits; data replacement for rearranging the order of the blocked data in a predetermined manner; A key register unit for storing a key for encryption generated by a random number generator; a key converter for receiving a key for encryption from the key register unit and converting the key into two pieces of key data having a predetermined number of bits; An encryption unit for converting the plain text data rearranged from the data replacing unit into encrypted data by key data outputted from the key converting unit; data for rearranging the encrypted data in the order of bits of the plain text data An encryption unit for storing the encrypted data output from the data reverse exchange unit; And a controller configured to generate a control signal for operating the data register unit or the encryption storage unit.
상기의 과제를 이루기 위한 본 발명에 따른 암호화처리방법은, (a) 평문데이터를 입력받아 소정의 크기의 비트수로 블럭화하여 기록하는 단계;(b) 상기 블럭화한 데이터의 순서를 소정의 방식으로 재배치하는 단계;(c) 난수를 발생함으로써 생성되는 암호화키를 입력받아 저장하는 단계;(d) 상기 (c)단계로부터 암호화키를 입력받아 소정의 비트수를 가지는 2개의 키데이터로 분리하여 변환하는 단계;(e) 상기 (b)단계에서 재배치된 평문데이터를 상기 (d)단계에서 출력하는 키데이터에 의해서 그 평문데이터를 암호화데이터로 변환하는 단계;(f) 상기 암호화데이터를 상기 평문데이터의 비트의 순서와 동일하게 재배치하는 단계;(g) 상기 (f)단계에서 출력하는 암호화데이터을 저장하는 단계;(h) 상기 (a)단계 내지 (f)단계를 위한 제어신호를 발생하는 단계를 포함한다.In accordance with another aspect of the present invention, there is provided an encryption processing method comprising the steps of: (a) receiving plain text data and blocking and recording the data in a predetermined number of bits; (b) ordering the blocked data in a predetermined manner; (C) receiving and storing an encryption key generated by generating a random number; (d) receiving an encryption key from step (c) and separating the two encryption data into two key data having a predetermined number of bits; (E) converting the plain text data rearranged in step (b) into encrypted data by using the key data output in step (d); (f) converting the encrypted data into the plain text data (G) storing the encrypted data output in step (f); (h) generating a control signal for steps (a) to (f); artillery The.
상기의 과제를 이루기 위한 본 발명에 따른 해독화처리방법은, (a) 암호화데이터를 입력받아 소정의 크기의 비트수로 블럭화하여 기록하는 단계;(b) 상기 블럭화한 암호화데이터의 비트 순서를 재배치하는 단계;(c) 난수에 의해서 발생되는 해독화키를 입력받아 상기 (b)단계의 암호화데이터를 평문데이터로 변환하는단계;(d) 상기 평문데이터의 비트순서를 상기 블럭화한 암호화데이터의 비트순서와 동일하게 재배치하여 저장하는 단계;(e) 상기 (a)단계 내지 (d)단계를 수행하기 위한 제어신호를 발생하는 단계를 포함한다.In accordance with another aspect of the present invention, there is provided a decryption processing method comprising the steps of: (a) receiving encrypted data and blocking the data into a predetermined number of bits; and (b) rearranging the bit order of the blocked encrypted data. (C) receiving a decryption key generated by a random number and converting the encrypted data of step (b) into plain text data; (d) the bit order of the plain text data in the bit order of the blocked encrypted data And rearranging and storing the same as (d) generating a control signal for performing the steps (a) to (d).
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.
전자상거래, 아이씨카드를 이용한 거래 또는 이동물체에 통신단말기를 장착하여 무선으로 거래를 할 경우에 S/W 처리알고리즘으로는 처리시간이 과다하여 안정된 인증알고리즘의 처리에 문제점이 있기에 인증알고리즘을 H/W 로직으로 구현하면 처리시간을 줄일 수 있고 보안알고리즘을 강화할 수 있고, 제조공정에서 코딩데이터가 이온투입공정에 의해서 이루어지므로 decap 등으로부터 보안을 강화할 수 있다(DEN 공정).In case of electronic transaction, transaction using IC card or wireless communication with mobile terminal equipped with mobile terminal, S / W processing algorithm has excessive processing time and there is a problem in processing stable authentication algorithm. Implementing with W logic can reduce processing time, strengthen security algorithm, and can enhance security from decap because coding data is made by ion implantation process in manufacturing process (DEN process).
도 1은 본 발명에 따른 암호화처리장치를 나타내는 블럭도로써, 데이터버스에서 평문데이터를 시분할방식으로 입력받아 암호문으로 변환하는 장치를 나타낸다.1 is a block diagram illustrating an encryption processing apparatus according to the present invention, and illustrates an apparatus for receiving plain text data from a data bus in a time division manner and converting the same into cipher text.
데이터레지스터부(110)는 데이터버스(data bus)로부터 평문데이터를 64비트씩으로 블럭화하여 입력받아 기록한다. 제어부(180)는 64비트씩으로 블럭화된 평문데이터를 순차적으로 암호화할 수 있도록 데이터레지스터(110)에서 64비트의 평문데이터를 출력하도록 하는 제어신호를 발생한다. 데이터치환부(120)는 표1과 같은 순서로 배열되어 있는 64비트의 평문데이터를 입력받아 치환(permutation)에 의해서 표2처럼 64비트의 평문데이터의 비트순서가 재배치되게 된다.The data register unit 110 receives and records the plain text data from the data bus by 64 bits. The controller 180 generates a control signal for outputting the 64-bit plain text data from the data register 110 to sequentially encrypt the plain text data blocked by 64 bits. The data exchanger 120 receives the 64-bit plain text data arranged in the order shown in Table 1, and reorders the bit order of the 64-bit plain text data as shown in Table 2 by permutation.
DES(decryption encryption security)에서는 여러 종류의 치환표가 사용되는데 표2는 평문을 64비트식으로 블럭화한 후에 치환되어 출력되는 64비트의 평문데이터가 재배치된 순서를 나타낸다.In DES (decryption encryption security), several kinds of substitution tables are used. Table 2 shows the order in which the 64-bit plain text data that is replaced and output after the plain text is blocked in 64-bit form is rearranged.
키레지스터부(130)는 난수발생기에서 발생한 64비트의 암호화 키(encryption key) 또는 해독키(decryption key)를 프로텍티드 버스(protected bus)에서 입력받아 저장한다. 64비트의 암호화키(encryption key) 또는 해독키(decryption key)는 암호화 또는 해독을 하는데 56비트가 사용되고 8비트는 오류검사용으로 사용된다.The key register unit 130 receives and stores a 64-bit encryption key or decryption key generated by the random number generator from a protected bus. The 64-bit encryption or decryption key is 56 bits for encryption or decryption, and 8 bits is used for error checking.
키치환부(140)는 암호화부(150)에서 16라운드의 반복변환을 하는 경우에, 각 라운드별로 다른 암호화키(키데이터)를 제공한다. 제어신호에 의해서 암호화된 데이터를 해독화를 하는 경우에는 해독화키는 암호화키의 16라운드의 반복변환의 역순으로 적용된다.The key exchanger 140 provides a different encryption key (key data) for each round when the encryption unit 150 performs 16 rounds of repeated conversion. In the case of decrypting the data encrypted by the control signal, the decryption key is applied in the reverse order of the 16 rounds of iterative conversion of the encryption key.
암호화부(150)는 데이터치환부(120) 및 키치환부(140)에서 출력하는 평문데이터 및 키테이터를 입력받아 암호화문으로 변환하게 되는데, 암호화부(150)에 대한 상세한 설명은 도 2에서 나타낸다.The encryption unit 150 receives the plain text data and the key data output from the data replacing unit 120 and the key replacing unit 140 and converts the encrypted text into encrypted text. A detailed description of the encryption unit 150 is shown in FIG. 2. .
역치환부(160)는 암호화문을 입력받아 데이터치환부(120)에서 사용된 치환과 역으로 재배치되어 원평문데이터와 같은 비트순서로 배치한다. 암호문저장부(170)는 원평문데이터와 같은 순서로 재치된 암호문을 저장하여 시분할 방식에 의해서 데이터버스로 출력하게 된다.The reverse exchanger 160 receives the cipher text and rearranges it in reverse with the substitution used in the data replacer 120 and arranges the data in the same bit order as the original plain text data. The ciphertext storage unit 170 stores the ciphertexts placed in the same order as the original plaintext data and outputs them to the data bus in a time division manner.
도 2는 본 발명에 따른 암호화처리장치의 암호부(150)에 대한 블럭도로써, 평문데이터 및 키데이터를 입력받아 평문데이터를 암호문으로 변환하는 기능을 수행한다.2 is a block diagram of an encryption unit 150 of an encryption processing apparatus according to the present invention, and receives plain text data and key data and converts plain text data into cipher text.
데이터분리부(251)는 비트의 순서가 재배치된 64비트의 평문데이터를 입력받아 32비트 크기의 2개의 데이터로 분리하여 출력하면, 데이터저장부(252)는 MSB(most significant bit)를 포함하는 좌측데이터 및 LSB(least significant bit)를 포함하는 우측데이터를 각각 저장한다. 제 1치환부(253)는 우측데이터를 이하의 표3의 확장치환표에 의해서 48비트의 데이터로 재배치된다.When the data separator 251 receives 64-bit plain text data having a rearranged bit order and separates the data into two 32-bit data, the data storage unit 252 includes a most significant bit (MSB). The left data and the right data including the least significant bit (LSB) are respectively stored. The first replacing unit 253 rearranges the right data into 48 bits of data according to the extended substitution table shown in Table 3 below.
32비트의 평문데이터를 표3에 의해서 확장한다고 하면, 평문데이터의 32번째비트가 첫번째 비트로, 첫번째 비트가 두번째로 배치되고 기타의 비트들도 상기의 표3과 같이 배치되어 확장된다.If the 32-bit plain text data is extended by Table 3, the 32nd bit of the plain text data is arranged as the first bit, the first bit is placed second, and the other bits are arranged and expanded as shown in Table 3 above.
제 1연산부(254)는 제 1치환부(253)에서 출력하는 데이터 및 키데이터를 입력받아 배타적 논리합을 수행하여 출력하고, 비선형연산부(255)는 제 1연산부(254)에서 출력하는 48비트의 데이터를 6비트 크기로 8개의 데이터로 분리하여 각각의 8개의 데이터에 압축과정을 통해서 비선형 특성(1비트 변화시 2비트이상의 변경 발생)을 부여하여 32비트의 데이터로 변환된다(DES에서 substitution box 또는 s-box로 지칭). 비선형 특성을 부여하는 동작원리 중에서 6비트의 데이터를 비선형변환하는 변환표(s-box)는 표4처럼 1 내지 15로 구성된 다른 배열의 8개의 표로 이루어진다.The first operation unit 254 receives the data and the key data output from the first substitution unit 253 and performs an exclusive OR, and outputs the nonlinear operation unit 255 of the 48 bits output from the first operation unit 254. The data is divided into 8 data with 6 bit size, and each 8 data is converted into 32 bit data by giving nonlinear characteristics (2 bit or more change occurs in 1 bit change) through compression process. Or s-box). Among the operating principles that impart nonlinear characteristics, a conversion table (s-box) for nonlinear conversion of 6-bit data is composed of eight tables of different arrangements consisting of 1 to 15 as shown in Table 4.
표 4에 의해서 변환되는 동작원리를 설명하면, 6비트의 데이터를 b1,b2,b3,b4,b5,b6 이라하면, 최상위비트(most significant bit, MSB) b1 및 최하위비트(least significant bit) b6을 결합하여 b1,b2의 2비트로 만들어 이를 십진수로 변환하여 행을 결정하고 MSB 및 LSB를 제외한 b2,b3,b4,b5를 십진수로 변환하여 열을 결정한다. 결정된 행과 열에 해당하는 배열상의 숫자를 이진수로 변환하면 4비트로 압축된 데이터가 출력된다. 이와 같은 과정이 8개의 6비트 크기의 데이터에 대해서 이루어지면 48비트의 데이터는 32비트의 데이터로 비선형압축되어 출력된다.Referring to the operation principle converted by Table 4, if the 6-bit data is b1, b2, b3, b4, b5, b6, the most significant bit (MSB) b1 and the least significant bit b6 To make 2 bits of b1, b2 and convert it to decimal to determine a row, and to convert a column of b2, b3, b4, b5 except MSB and LSB to decimal. If you convert the number in the array corresponding to the determined row and column to binary, the 4-bit compressed data is output. When this process is performed for eight 6-bit data, the 48-bit data is non-linearly compressed into 32-bit data and output.
제 2치환부(256)는 비선형 변환된 32비트의 데이터를 구성하는 비트의 배열을 재배치하여 출력하고, 제 2연산부(257)에서는 LSB를 포함하는 좌측데이터와 배타적 논리합을 수행하여 출력한다. 판별부(258)는 DES 라운드의 횟수를 확인하여 그 회수가 16회 미만인 경우에는 제 2연산부(257)에서 출력하는 데이터를 피드백시키고 데이터저장부(252)는 이 데이터를 입력받아 저장되어 있는 좌측데이터 및 우측데이터를 갱신한다. DES의 16회 라운드는 데이터저장부(252)의 우측데이터 또는 좌측데이터를 변환하여 그 출력을 피드백하여 데이터저장부를 갱신하고 다시 변환하는 과정을 반복하여 16회가 완성되면 출력한다. 여기서, 키데이터는 각 라운드마다 다른 키데이터가 적용될 수 있다.The second replacing unit 256 rearranges and outputs an array of bits constituting the non-linear converted 32-bit data, and the second calculating unit 256 performs an exclusive OR with the left data including the LSB. The determination unit 258 checks the number of DES rounds, and if the number is less than 16 times, feeds back the data output from the second operation unit 257 and the data storage unit 252 receives the data and stores the left side. Update data and right data. The 16 rounds of the DES converts the right data or the left data of the data storage 252 and feeds back the output to update the data storage and then converts the data again. Here, the key data may be applied with different key data for each round.
믹서부(259)는 판별부(258)에서 출력되는 데이터 및 데이터저장부(252)에 저장되어 있는 15 라운드의 좌측데이터를 입력받아 믹싱하여 64비트의 데이터를 출력하게 된다.The mixer 259 receives the data output from the determination unit 258 and 15 rounds of left data stored in the data storage unit 252 to mix and output 64-bit data.
도 3은 본 발명에 따른 암호화처리방법에 대한 흐름도를 나타내는 도면으로, 도 2에서 이루어지는 암호화를 단계적으로 나타낸 도면이다.FIG. 3 is a flowchart illustrating an encryption processing method according to the present invention, in which the encryption performed in FIG. 2 is shown in stages.
평문데이터를 입력(310단계)하여 64비트로 블럭화하여 초기치환표(표2)에 의해서 치환(320단계)하여 비트의 순서를 재배치한다. 치환하여 비트의 순서가 재배치된 64비트의 데이터를 입력받아 32비트의 크기로 MSB를 포함하는 32비트의 데이터(L0) 및 LSB를 포함하는 32비트의 데이터(R0)로 분리하여 저장하고 R0를 첫번째 시프트변환한 키데이터와 함께 변환하여 32비트의 데이터를 출력하면, L0와 배타적 논리합을 하여 출력한다(350-1단계). 350-1단계가 DES의 첫번째 라운드가 된다. 첫번째 라운드에서 출력되는 데이터는 R1의 데이터로 갱신되고 R0는 L1의 데이터로 갱신되어 R1과 키데이터를 이용하여 변환한 데이터와 L1의 데이터를 배타적 논리합한다(350-2단계). 이상과 같은 라운드가 16회 이루어지는데, 16번째 라운드는 R15와 키데이터를 이용하여 변환한 데이터를 L15와 배타적 논리합하여 출력한다(350-16단계). 64비트의 평문데이터를 16라운드의 변환과정을 거치면 350-16단계에서 출력하는 데이터와 L15를 믹싱하여 64비트의 데이터를 만들고 그 데이터를 320단계에서 치환한 방식의 역으로 변환(360단계)을 하여 원래의 데이터와 비트순서를 동일하게 배치한 암호화된 데이터를 출력하여 암호문을 저장(370단계)하게 된다.Plain text data is input (step 310) to block into 64-bits and replaced by an initial substitution table (Table 2) (step 320) to rearrange the order of bits. Receives the 64-bit data in which the order of bits is rearranged by substituting it, and separates it into 32-bit data (L 0 ) including the MSB and 32-bit data (R 0 ) including the LSB. When R 0 is converted together with the first shift-converted key data and output 32 bits of data, the output is performed by performing an exclusive OR with L 0 (step 350-1). Stage 350-1 is the first round of DES. Data output from the first round is updated with data from the R 1 R 0 is the exclusive-OR of data in the data and converts the L 1 is updated with the data of L 1 by using the R 1 and the key data (step 350-2) . 16 rounds are performed, and the 16th round outputs the data converted using R 15 and the key data exclusively with L 15 (step 350-16). After converting 64-bit plain text data into 16 rounds, 64-bit data is mixed by mixing L 15 with the data output in steps 350-16, and the data is converted to the inverted method in step 320 (step 360). In operation 370, the ciphertext is output by outputting the encrypted data having the same bit order as the original data.
암호화데이터를 해독화는 것은 도 3에서 설명한 것과 같은 흐름으로 진행되지만 암호화데이터를 64비트의 크기로 블럭화하여 기록하여 32비트씩으로 분리하여 상기 암호화과정과 같은 방법으로 진행하여 평문데이터로 변환한다. 여기서, 해독화키는 암호화키가 적용되는 순서의 역순으로 적용된다.The decryption of the encrypted data proceeds in the same flow as described in FIG. Here, the decryption key is applied in the reverse order in which the encryption key is applied.
도 4는 본 발명에 따른 암호화처리방법에서 암호화키를 변환하는 흐름을 나타내는 도면으로, 64비트의 마스터키를 입력받아 DES의 16라운드에 사용될 각 라운드별 암호화키를 생성하는 것을 나타낸다.4 is a diagram illustrating a flow of converting an encryption key in the encryption processing method according to the present invention, and receiving a 64-bit master key to generate an encryption key for each round to be used in 16 rounds of DES.
난수발생기에서 생성된 64비트의 마스터키를 입력받아 저장(430단계)하고 치환(P1 치환)에 의해서 64비트의 순서를 재배치(441단계)한다. 64비트의 마스터키 중에서 56비트는 암호화를 위한 키데이터로 사용하고 8비트는 오류검사를 위한 패리티비트로 사용된다.The 64-bit master key generated by the random number generator is input and stored (step 430), and the 64-bit order is rearranged (step 441) by substitution (P1 substitution). Of the 64-bit master keys, 56 bits are used as key data for encryption and 8 bits are used as parity bits for error checking.
56비트의 암호화를 위한 키데이터를 28비트의 크기를 가진 좌/우 키데이터로 분리(442단계)한 다음 28비트 크기의 키데이터를 시프트연산(P2 치환)을 하여 새로운 56비트의 키데이터를 생성(444단계)한다. 시프트연산의 이동량은 DES의 각 라운드에 따라서 달라지는데 비트이동량은 아래의 표 4와 같다.The key data for 56-bit encryption is separated into left / right key data having a size of 28 bits (step 442), and the new 56-bit key data is converted by shift operation (P2 substitution) of the 28-bit size key data. Create (step 444). The shift amount of shift operation varies with each round of DES. The bit shift amount is shown in Table 4 below.
각 라운드에서 피드백되어 좌측키데이터는 우측키데이터로, 우측키데이터는 좌측키데이터로 갱신되어 시프트연산이 수행되어 출력한다.In each round, the left key data is updated to the right key data, the right key data is updated to the left key data, and shift operation is performed.
각 라운드에서 56비트의 키데이터는 이하의 표5와 같은 압축치환표에 의해서 48비트의 크기로 압축(446단계)된다.In each round, 56 bits of key data are compressed to a size of 48 bits by a compression substitution table as shown in Table 5 below (step 446).
표5와 같이 압축치환되면, 14번째 비트가 첫번째 비트로, 17번째 비트가 두번째 비트로 32번째 비트가 48번째 비트로 치환되어 압축되게 된다.As shown in Table 5, compression is performed by replacing the 14th bit with the first bit, the 17th bit with the second bit, and the 32nd bit with the 48th bit.
압축치환이 완료되면 암호화에 사용되는 키데이터가 생성(447단계)되고, 이와같은 과정이 DES의 16라운드마다 진행되게 된다.When compression conversion is completed, key data used for encryption is generated (step 447), and this process is performed every 16 rounds of DES.
도 5는 본 발명에 따른 암호화처리방법에 대한 흐름을 나타내는 도면이다.5 is a diagram illustrating a flow of an encryption processing method according to the present invention.
평문데이터를 데이터버스에서 입력받아 64비트 크기의 평문데이터로 블럭화하여 기록(510단계)하고 각 64비트씩 암호화를 처리하는데, 64비트의 평문데이터를 표2와 같은 치환표(P0 치환로직)에 의해서 평문데이터의 비트순서를 재배치(520단계)한다. 재배치된 64비트의 데이터를 MSB를 포함하는 좌측데이터 및 LSB를 포함하는 우측데이터로 분리(551단계)한다.Receives plain text data from the data bus, blocks it into 64-bit plain text data, records it (step 510), and processes each 64-bit encryption process. 64-bit plain text data is stored in the substitution table (P0 substitution logic) shown in Table 2. By reordering the bit order of the plain text data (step 520). The rearranged 64-bit data is separated into left data including the MSB and right data including the LSB (step 551).
분리된 좌측데이터 및 우측데이터는 각각 저장(552)된다. 저장된 좌측데이터 및 우측데이터는 피드백되는 데이터에 의해서 갱신된다. 32비트의 우측데이터를 표3과 같은 확장치환표(P3 치환)에 의해서 48비트의 데이터로 확장하여 데이터 비트의 순서를 재배치(553단계)한다. 확장 치환된 48비트의 데이터와 48비트의 키데이터를 배타적 논리합을 한 48비트의 데이터를 출력(554단계)하고 48비트의 데이터를 6비트 크기로 분리하여 8개의 6비트 크기의 데이터에 대해서 각각 비선형 변환(substitution box, s-box)을 행하여 32비트의 데이터로 변환한다(555단계). 8개의 6비트 크기의 데이터에 사용되는 s-box는 다른 배열을 가지고 있다.The separated left data and right data are stored 552, respectively. The stored left data and right data are updated by the data to be fed back. The 32-bit right-hand data is extended to 48-bit data using the extended substitution table (P3 substitution) shown in Table 3 to rearrange the order of the data bits (step 553). Output 48-bit data that is an exclusive OR of 48 bits of extended-substituted data and 48-bit key data (step 554), and separate the 48-bit data into 6-bit size, respectively, for 8 6-bit data. A nonlinear transformation (s-box) is performed to convert the data into 32 bits of data (step 555). The s-box used for eight 6-bit data has a different arrangement.
s-box에 의해서 변환된 32비트의 데이터를 치환로직(P4 치환로직)에 의해서 데이터 비트의 순서를 재배치(556단계)한다. P4 치환로직에 의해서 재배치된 32비트의 데이터는 좌측데이터와 배타적 논리합을 행하여(557단계), 출력하면 DES의 라운드 횟수를 확인하여(558단계) 라운드횟수가 15회 이하이면 피드백되어 그 출력값으로 좌측데이터 및 우측데이터를 갱신한다. 16회의 라운드가 끝나면 15라운드의 좌측데이터와 16라운드가 완료된 후 출력되는 데이터를 믹싱하여 64비트의 데이터로 합성하여(559단계) 520단계에서 사용된 치환과 역방향으로 치환하여 원평문의 비트순서대로 복구(560단계)한다. 이렇게 함으로써 64비트의 평문데이터에 대한 암호화는 끝나게 되는데, 새로운 64비트의 평문데이터는 상기와 같은 과정에 의해서 암호화가 이루어지고 암호화데이터로 저장(570)되게 된다.The 32-bit data converted by the s-box is rearranged by substitution logic (P4 substitution logic) (step 556). The 32-bit data rearranged by P4 substitution logic performs an exclusive OR with the left data (step 557). When outputting, the number of rounds of DES is checked (558 steps). Update data and right data. After 16 rounds are completed, the left data of the 15th round and the data output after the 16th round is completed are mixed and synthesized into 64-bit data (step 559), and replaced in the reverse order with the substitution used in step 520 to recover in the original bit order. (Step 560). By doing so, encryption of the 64-bit plain text data is ended. The new 64-bit plain text data is encrypted by the above-described process and stored as encrypted data (570).
평문데이터와 암호문의 송신 또는 수신은 시분할 방식에 의해서 이루어지므로 하나의 데이터버스에서 송/수신을 할 수 있다.Since the transmission and reception of plain text data and cipher text are performed by time division method, it can transmit / receive on one data bus.
또한 본 암호화처리방법은 마스트키를 암호화를 위한 키데이터로 변환하는 순서를 암호화 처리와 반대 방향으로 함으로써 암호화된 데이터의 해독화에 사용할 수 있다.In addition, this encryption processing method can be used for decryption of encrypted data by converting the mast key into the key data for encryption in the opposite direction to the encryption processing.
이상에서 설명한 바와 같이, 본 발명에 의하면, 전자상거래, 주요정보의 인증 또는 이동물체간의 정보의 인증을 S/W 처리 알고리즘 대신에 H/W 로직으로 구현하여 처리시간을 단축하여 이동물체간의 정보인증을 신속하게 처리할 수 있고 암호화를 위한 키를 칩 속에 내장하여 키의 도난 또는 복사의 가능성을 최소화하여 보안 알고리즘의 강도를 높였다.As described above, according to the present invention, electronic commerce, authentication of key information, or authentication of information between mobile objects is implemented by H / W logic instead of S / W processing algorithm to shorten processing time to authenticate information between mobile objects. The algorithm can be processed quickly, and the encryption key is embedded in the chip, minimizing the possibility of theft or copying of the key, thereby increasing the strength of the security algorithm.
Claims (26)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0039529A KR100403820B1 (en) | 2001-07-03 | 2001-07-03 | Apparatus for encrypting plane data and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0039529A KR100403820B1 (en) | 2001-07-03 | 2001-07-03 | Apparatus for encrypting plane data and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020005438A KR20020005438A (en) | 2002-01-17 |
KR100403820B1 true KR100403820B1 (en) | 2003-10-30 |
Family
ID=19711708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0039529A KR100403820B1 (en) | 2001-07-03 | 2001-07-03 | Apparatus for encrypting plane data and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100403820B1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100427168B1 (en) * | 2002-05-24 | 2004-04-14 | 뮤텔테크놀러지 주식회사 | encryption key calculating method of local transmitter and receiver |
KR20020060125A (en) * | 2002-06-04 | 2002-07-16 | 주식회사 컴섹 | Construction of encryption system using the reconstruction chaos attractor |
KR100919824B1 (en) * | 2007-12-20 | 2009-10-01 | 한국전자통신연구원 | Data encryption apparatus and encryption method using by it |
KR101112157B1 (en) * | 2010-01-25 | 2012-02-22 | 주식회사 인쿠시스 | Data Encrytion Method |
KR101553148B1 (en) * | 2014-03-05 | 2015-09-14 | 울산대학교 산학협력단 | Device and method for encrypting using bit extention process |
KR101971215B1 (en) * | 2016-06-17 | 2019-04-22 | 서울대학교산학협력단 | Homomorphic Encryption Method Supporting Floating-Point Arithmetic and Floating-Point Arithmetic Method for Encrypted Message Generated by the Same |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6281145A (en) * | 1985-10-04 | 1987-04-14 | Hitachi Ltd | Data ciphering system |
US5054067A (en) * | 1990-02-21 | 1991-10-01 | General Instrument Corporation | Block-cipher cryptographic device based upon a pseudorandom nonlinear sequence generator |
JPH10173646A (en) * | 1996-12-13 | 1998-06-26 | Mitsubishi Electric Corp | Ciphering assisting method, decoding assisting method and device using them |
KR19990084419A (en) * | 1998-05-06 | 1999-12-06 | 이석우 | Block data encryption device |
KR20010034058A (en) * | 1998-01-19 | 2001-04-25 | 오트크리토에 악츠이오네른오에 옵스체스트보 (모스코브스키야 고로즈카야 텔레폰나야 셋) | Method for the cryptographic conversion of binary data blocks |
-
2001
- 2001-07-03 KR KR10-2001-0039529A patent/KR100403820B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6281145A (en) * | 1985-10-04 | 1987-04-14 | Hitachi Ltd | Data ciphering system |
US5054067A (en) * | 1990-02-21 | 1991-10-01 | General Instrument Corporation | Block-cipher cryptographic device based upon a pseudorandom nonlinear sequence generator |
JPH10173646A (en) * | 1996-12-13 | 1998-06-26 | Mitsubishi Electric Corp | Ciphering assisting method, decoding assisting method and device using them |
KR20010034058A (en) * | 1998-01-19 | 2001-04-25 | 오트크리토에 악츠이오네른오에 옵스체스트보 (모스코브스키야 고로즈카야 텔레폰나야 셋) | Method for the cryptographic conversion of binary data blocks |
KR19990084419A (en) * | 1998-05-06 | 1999-12-06 | 이석우 | Block data encryption device |
Also Published As
Publication number | Publication date |
---|---|
KR20020005438A (en) | 2002-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0618701B1 (en) | Hardware arrangement for enciphering bit blocks while renewing a key at each iteration | |
AU767323B2 (en) | Block encryption device using auxiliary conversion | |
CN112202984B (en) | Ciphertext domain reversible information hiding method based on error correction redundancy | |
US20080304664A1 (en) | System and a method for securing information | |
CN101840485B (en) | Method for disordering, splitting, storing, combining and mutually validating files | |
CN101371286A (en) | Encryption/decryption device, encryption/decryption method, and computer program | |
US20070189518A1 (en) | 3-D quaternion quantum fractal encryption | |
US7796752B2 (en) | Cipher implementation | |
KR100800468B1 (en) | Hardware cryptographic engine and method improving power consumption and operation speed | |
US20060171532A1 (en) | Encryption Processing Circuit | |
KR100403820B1 (en) | Apparatus for encrypting plane data and method thereof | |
US7212633B2 (en) | Expansion key generating device, encryption device and encryption system | |
EP1059760A1 (en) | Method for the block-encryption of discrete data | |
US8707057B2 (en) | Data processing apparatus and data processing method | |
KR100456599B1 (en) | Cryptographic apparatus with parallel des structure | |
US7103180B1 (en) | Method of implementing the data encryption standard with reduced computation | |
JP4515716B2 (en) | Extended key generation device, encryption device, and encryption system | |
CN114978475A (en) | Automobile instrument encryption and decryption processing method and system based on AES-128 algorithm | |
JPH09200196A (en) | Ciphering communication system | |
US7583800B2 (en) | Encryption apparatus and method in a wireless communications system | |
JP3079032B2 (en) | Data encryption device and data decryption device | |
US7215768B2 (en) | Shared new data and swap signal for an encryption core | |
JP2006215280A (en) | Encryption processing circuit | |
JP4326482B2 (en) | Cryptographic processing circuit | |
CN116961960A (en) | Data encryption method and device and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G15R | Request for early opening | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120906 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20131004 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20140904 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20150930 Year of fee payment: 13 |
|
LAPS | Lapse due to unpaid annual fee |