KR100403820B1 - Apparatus for encrypting plane data and method thereof - Google Patents

Apparatus for encrypting plane data and method thereof Download PDF

Info

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
Application number
KR10-2001-0039529A
Other languages
Korean (ko)
Other versions
KR20020005438A (en
Inventor
정한규
최승호
임응준
이상우
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR10-2001-0039529A priority Critical patent/KR100403820B1/en
Publication of KR20020005438A publication Critical patent/KR20020005438A/en
Application granted granted Critical
Publication of KR100403820B1 publication Critical patent/KR100403820B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom 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

암호화 처리장치 그 방법{Apparatus for encrypting plane data and method thereof}Apparatus for encrypting plane data and method

본 발명은 정보 인증 및 보안처리를 위한 암호화 분야에 관한 것으로, 특히 전자상거래의 암호화 인증 또는 무선통신으로 전자통행요금징수를 할 경우에 그 데이터를 인증하는 암호화 처리장치에 관한 것이다.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.

1One 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515 1616 1717 1818 1919 2020 2121 2222 2323 2424 2525 2626 2727 2828 2929 3030 3131 3232 3333 3434 3535 3636 3737 3838 3939 4040 4141 4242 4343 4444 4545 4646 4747 4848 4949 5050 5151 5252 5353 5454 5555 5656 5757 5858 5959 6060 6161 6262 6363 6464

5858 5050 4242 3434 2626 1818 1010 22 6060 5252 4444 3636 2828 2020 1212 44 6262 5454 4646 3838 3030 2222 1414 66 6464 5656 4848 4040 3232 2424 2626 88 5757 4949 4141 3333 2525 1717 99 1One 5959 5151 4343 3535 22 1919 1111 33 6161 5353 4545 3737 2929 2121 1313 55 6363 5555 4747 3939 3131 2323 1515 77

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.

3232 1One 22 33 44 55 44 55 66 77 88 99 88 99 1010 1111 1212 1313 1212 1313 1414 1515 1616 1717 1616 1717 1818 1919 2020 2121 2020 2121 2222 2323 2424 2525 2424 2525 2626 2727 2828 2929 2828 2929 3030 3131 3232 1One

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.

행/열Row / column 00 1One 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515 00 1414 44 1313 1One 22 1515 1111 88 33 1010 66 1212 55 99 00 77 1One 00 1515 77 44 1414 22 1313 1One 1010 66 1212 1111 99 55 33 88 22 44 1One 1414 88 1313 66 22 1111 1515 1212 99 77 33 1010 55 00 33 1515 1212 88 22 44 99 1One 77 55 1111 33 1414 1010 00 66 1313

표 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.

라운드round 1One 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515 1616 이동량Amount of movement 1One 1One 22 22 22 22 22 22 1One 22 22 22 22 22 22 1One

각 라운드에서 피드백되어 좌측키데이터는 우측키데이터로, 우측키데이터는 좌측키데이터로 갱신되어 시프트연산이 수행되어 출력한다.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).

1414 1717 1111 2424 1One 55 33 2828 1515 66 2121 1010 2323 1919 1212 44 2626 88 1616 77 2727 2020 1313 22 4141 5252 3131 3737 4747 5555 3030 4040 5151 4545 3333 4848 4444 4949 3939 5656 3434 5353 4646 4242 5050 3636 2929 3232

표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)

평문데이터를 입력받아 소정의 크기의 비트수로 블럭화하여 기록하는 데이터레지스터부;A data register unit which receives the plain text data and blocks and writes the plain text 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; 상기 키레지스터부로부터 암호화를 위한 키를 입력받아 소정의 비트수를 가지는 2개의 키데이터로 분리하여 변환하는 키변환부;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; And 상기 데이터레지스터부 내지 암호화저장부의 동작을 위한 제어신호를 발생하는 제어부를 포함하는 것을 특징으로 하는 암호화 처리장치.And a controller for generating a control signal for operating the data register unit or the encryption storage unit. 제 1항에 있어서, 상기 데이터레지스터부는The method of claim 1, wherein the data register unit 상기 평문데이터를 64 비트 단위로 블록화하여 기록하는 것을 특징으로 하는 암호화 처리장치.And encrypting the plain text data in units of 64 bits. 제 1항에 있어서, 상기 데이터치환부는The method of claim 1, wherein the data replacing unit 상기 블럭화한 데이터를 구성하는 비트의 순서를 치환표에의해서 재배치하는것을 특징으로 하는 암호화 처리장치.And a rearrangement order of the bits constituting the blocked data according to a substitution table. 제 1항에 있어서, 상기 키레지스터부는The method of claim 1, wherein the key register portion 상기 난수발생기에서 발생하는 64비트의 암호화를 위한 키 또는 해독화를 위한 키 중에서 하나를 저장하는 것을 특징으로 하는 암호화 처리장치.And a key for 64-bit encryption or a key for decryption generated by the random number generator. 제 4항에 있어서,The method of claim 4, wherein 상기 64비트의 암호화를 위한 키 또는 해독화를 위한 키는 56비트의 키데이터 및 8비트의 패리티비트로 구성되는 것을 특징으로 하는 암호화 처리장치.And said key for 64-bit encryption or key for decryption comprises 56-bit key data and 8-bit parity bits. 제 4항에 있어서, 상기 키변환부는The method of claim 4, wherein the key conversion unit 상기 키레지스터부에서 선택된 키데이터를 소정의 치환로직에 의해서 비트의 순서를 재배치하는 제 1키치환부;A first key replacing unit for rearranging the order of bits by predetermined substitution logic of the key data selected by the key register unit; 제 1키치환부에서 출력하는 키데이터를 MSB를 포함하는 좌측키데이터 및 LSB를 포함하는 우측키데이터로 분리하는 키분리부;A key separator for separating the key data output from the first key replacing unit into left key data including an MSB and right key data including an LSB; 상기 분리된 각각의 키데이터에 대해서 시프트연산을 수행하는 시프트연산부;A shift operation unit which performs a shift operation on each of the separated key data; 상기 시프트연산을 수행한 각 키데이터를 결합하여 새로운 키데이터를 생성하는 키결합부;A key combiner for generating new key data by combining the respective key data having undergone the shift operation; 상기 키결합부에서 출력되는 키데이터를 소정의 크기의 비트수로 압축치환하는 제 2키치환부를 포함하는 것을 특징으로 하는 암호화 처리장치.And a second key exchanger for compressing and replacing the key data output from the key combiner to a predetermined number of bits. 제 6항에 있어서, 상기 시프트연산부는The method of claim 6, wherein the shift operation unit 상기 키분리부에서 출력하는 키데이터에 대해서 시프트연산을 수행하여 출력을 하는 과정을 소정의 횟수만큼 반복하는 것을 특징으로 하는 암호화 처리장치.And performing a shift operation on the key data output from the key separation unit and repeating the output a predetermined number of times. 제 7항에 있어서, 상기 제 2키치환부는The method of claim 7, wherein the second key replacement portion 상기 키데이터를 48비트의 키데이터로 축소치환하는 것을 특징으로 하는 암호화 처리장치.And replacing and replacing the key data with 48-bit key data. 제 3항에 있어서, 상기 암호화부는The method of claim 3, wherein the encryption unit 상기 데이터치환부로부터 출력되는 64비트씩의 평문데이터를 32비트의 MSB를 포함하는 좌측데이터 및 LSB를 포함하는 우측데이터로 분리하는 분리부;A separation unit for separating the 64-bit plain text data output from the data replacing unit into left data including a 32-bit MSB and right data including an LSB; 상기 분리된 MSB를 포함하는 좌측데이터 및 상기 분리된 LSB를 포함하는 우측데이터를 저장하는 데이터저장부;A data storage unit for storing left data including the separated MSB and right data including the separated LSB; 상기 우측데이터를 48비트의 데이터로 확장치환하는 제 1치환부;A first replacing part which expands and replaces the right data with 48 bits of data; 상기 제 1치환부에서 출력하는 데이터 및 상기 제 2키치환부에서 출력하는 키데이터에 대해서 배타적 논리합연산을 수행하는 제 1연산부;A first calculation unit performing an exclusive logical operation on the data output from the first replacement unit and the key data output from the second key replacement unit; 상기 제 1연산부에서 출력하는 데이터를 비선형변환하는 비선형변환부;A non-linear conversion unit for performing non-linear conversion of the data output from the first operation unit; 상기 비선형변환부에서 출력하는 데이터 및 상기 분리부에서 출력하는 좌측데이터에 대해서 배태적 논리합 연산을 수행하는 제 2연산부;A second operation unit performing an exclusive OR operation on data output from the nonlinear conversion unit and left data output from the separation unit; 상기 제 2연산부에서 출력되는 데이터의 라운딩 횟수를 판별하여 셋팅된 횟수보다 적은 경우에는 상기 제 2연산부에서 출력되는 데이터를 상기 데이터저장부로 피드백하고 셋팅된 횟수인 경우에는 출력하는 판별부;A discriminating unit for determining the number of roundings of the data output from the second calculating unit and feeding back the data output from the second calculating unit to the data storage unit when the number of rounding of the data is less than the set number and outputting the set number of times; 상기 판별부에서 출력하는 데이터 및 상기 데이터 저장부에서 저장되어 있는 데이터를 입력받아 믹서하는 믹서부를 포함하는 것을 특징으로 하는 암호화 처리장치.And a mixer configured to receive and output data output from the determination unit and data stored in the data storage unit. 제 5항에 있어서, 상기 데이터저장부는The method of claim 5, wherein the data storage unit 상기 분리된 MSB를 포함하는 좌측데이터 및 상기 분리된 LSB를 포함하는 우측데이터를 각각 저장하는 L저장부 및 R저장부를 포함하는 것을 특징으로 하는 암호화 처리장치.And an L storage unit and an R storage unit respectively storing left data including the separated MSB and right data including the separated LSB. 제 5항에 있어서, 상기 비선형변환부는The method of claim 5, wherein the non-linear conversion unit 상기 제 1연산부에서 출력하는 데이터를 입력으로 하여 그 입력데이터를 32비트의 데이터로 비선형변환하는 것을 특징으로 하는 암호화 처리장치.And non-linear conversion of the input data into 32-bit data. (a) 평문데이터를 입력받아 소정의 크기의 비트수로 블럭화하여 기록하는 단계;(a) receiving plain text data and blocking and recording the data in a predetermined number of bits; (b) 상기 블럭화한 데이터의 순서를 소정의 방식으로 재배치하는 단계;(b) rearranging the order of the blocked data in a predetermined manner; (c) 난수를 발생함으로써 생성되는 암호화키를 입력받아 저장하는 단계;(c) receiving and storing an encryption key generated by generating a random number; (d) 상기 (c)단계로부터 암호화키를 입력받아 소정의 비트수를 가지는 2개의 키데이터로 분리하여 변환하는 단계;(d) receiving an encryption key from step (c) and converting the key into two pieces of key data having a predetermined number of bits; (e) 상기 (b)단계에서 재배치된 평문데이터를 상기 (d)단계에서 출력하는 키데이터에 의해서 그 평문데이터를 암호화데이터로 변환하는 단계;(e) converting the plain text data rearranged in step (b) into encrypted data by the key data output in step (d); (f) 상기 암호화데이터를 상기 평문데이터의 비트의 순서와 동일하게 재배치하는 단계;(f) rearranging the encrypted data in the same order as the bits of the plain text data; (g) 상기 (f)단계에서 출력하는 암호화데이터을 저장하는 단계; 및(g) storing the encrypted data output in the step (f); And (h) 상기 (a)단계 내지 (f)단계를 위한 제어신호를 발생하는 단계를 포함하는 것을 특징으로 하는 암호화 처리방법.(h) generating a control signal for steps (a) to (f). 제 12항에 있어서, 상기 (a)단계는The method of claim 12, wherein step (a) 상기 평문데이터를 64비트 크기의 데이터로 블럭화하여 기록하는 것을 특징으로 하는 암호화처리방법.And encrypting the plain text data as data having a 64-bit size. 제 12항에 있어서, 상기 (b)단계는The method of claim 12, wherein step (b) 상기 블럭화한 데이터를 64비트 크기로 입력받아 소정의 치환표에 의해서 비트의 순서를 재배치하는 것을 특징으로 하는 암호화처리방법.And receiving the block data in 64-bit size and rearranging the order of bits by a predetermined substitution table. 제 12항에 있어서, 상기 (c)단계는The method of claim 12, wherein step (c) 난수에 의해서 발생되는 암호화를 위한 64비트 크기의 마스터키를 입력받아 저장하는 것을 특징으로 하는 암호화처리방법.An encryption processing method comprising receiving and storing a 64-bit master key for encryption generated by a random number. 제 15항에 있어서,The method of claim 15, 상기 64비트의 마스터키는 56비트의 암호화를 위한 비트 및 8비트의 패리티비트로 구성되는 것을 특징으로 하는 암호화처리방법.And said 64-bit master key comprises 56 bits of encryption and 8 bits of parity bits. 제 16항에 있어서, 상기 (d)단계는The method of claim 16, wherein step (d) 상기 64비트의 마스터키 중에서 56비트의 암호화를 위한 키를 28비트 크기를 가지는 2개의 키데이터로 분리하여 각각의 상기 키데이터에 대해서 시프트연산을 수행하는 것을 특징으로 하는 암호화처리방법.And a 56-bit encryption key of the 64-bit master key is divided into two key data having a size of 28 bits, and shift operation is performed on each of the key data. 제 17항에 있어서, 상기 (e)단계는18. The method of claim 17, wherein step (e) 상기 (b)단계에서 재배치된 64비트의 평문데이터 및 상기 시프트연산을 수행한 키데이터를 입력받아 암호화데이터로 변환하는 것을 특징으로 하는 암호화처리방법.And (b) receiving the rearranged 64-bit plain text data and the key data subjected to the shift operation and converting them into encrypted data. 제 18항에 있어서, 상기 (e)단계는19. The method of claim 18, wherein step (e) (e1) 상기 64비트의 평문데이터를 36비트 크기의 MSB를 포함하는 좌측데이터 및 LSB를 포함하는 우측데이터로 분리하는 단계;(e1) separating the 64-bit plain text data into left data including a 36-bit MSB and right data including an LSB; (e2) 상기 32비트의 우측데이터를 48비트의 데이터로 확장하여 비트의 순서를 재배치하는 단계;(e2) rearranging the order of bits by extending the 32-bit right data to 48-bit data; (e3) 상기 시프트연산을 수행한 키데이터를 입력받아 상기 48비트로 재배치된 우측데이터와 배타적 논리합을 수행하는 단계;(e3) receiving exclusive key data of the shift operation and performing an exclusive OR with the right data rearranged to the 48 bits; (e4) 상기 배타적 논리합을 수행한 후 출력되는 48비트의 데이터를 6비트씩으로 분리하여 각각에 대해서 소정의 비선형표에 의해서 변환하는 단계;(e4) converting the 48-bit data outputted after performing the exclusive logical sum into 6 bits and converting each of the data by a predetermined nonlinear table; (e5) 상기 (e4)단계에서 변환된 데이터의 비트순서를 재배치하여 상기 좌측데이터와 배타적 논리합을 수행하는 단계;(e5) performing an exclusive OR with the left data by rearranging the bit order of the data converted in the step (e4); (e6) 상기 (e5)에서 출력하는 데이터를 상기 좌측데이터와 믹싱하는 단계를 포함하는 것을 특징으로 하는 암호화처리방법.and (e6) mixing the data output in (e5) with the left data. 제 19항에 있어서,The method of claim 19, 상기 (e5)단계 이후에 라운딩회수를 확인하여 상기 (e5)단계에서 출력되는 데이터를 피드백하여 소정의 횟수까지 상기 (e3)단계 내지 상기 (e5)단계를 반복하는 것을 특징으로 하는 암호화처리방법.And checking the number of roundings after step (e5), feeding back the data output in step (e5), and repeating steps (e3) to (e5) until a predetermined number of times. 제 20항에 있어서, 상기 (e3)단계는The method of claim 20, wherein step (e3) 상기 라운딩횟수별로 시프트연산을 수행한 키데이터를 입력받아 상기 48비트로 재배치된 우측데이터와 배타적 논리합을 하는 것을 특징으로 하는 암호화처리방법.And an exclusive logical sum of the right data rearranged to the 48 bits by receiving the key data subjected to the shift operation for each rounding frequency. 제 20항에 있어서,The method of claim 20, 상기 (e5)단계에서 출력되는 데이터는 피드백되어 상기 좌측데이터 및 우측데이터로 갱신되는 것을 특징으로 하는 암호화처리방법.The data output in step (e5) is fed back and updated with the left data and the right data, characterized in that the encryption processing method. (a) 암호화데이터를 입력받아 소정의 크기의 비트수로 블럭화하여 기록하는 단계;(a) receiving encrypted data and blocking and recording the data with a predetermined number of bits; (b) 상기 블럭화한 암호화데이터의 비트 순서를 재배치하는 단계;(b) rearranging the bit order of the blocked encrypted data; (c) 난수에 의해서 발생되는 해독화키를 입력받아 상기 (b)단계의 암호화데이터를 평문데이터로 변환하는 단계;(c) receiving a decryption key generated by a random number and converting the encrypted data of step (b) into plain text data; (d) 상기 평문데이터의 비트순서를 상기 블럭화한 암호화데이터의 비트순서와 동일하게 재배치하여 저장하는 단계;(d) rearranging and storing the bit order of the plain text data in the same order as the bit order of the blocked encrypted data; (e) 상기 (a)단계 내지 (d)단계를 수행하기 위한 제어신호를 발생하는 단계를 포함하는 것을 특징으로 하는 해독화처리방법.(e) generating a control signal for performing steps (a) to (d). 제 22항에 있어서, 상기 (c)단계는The method of claim 22, wherein step (c) (c1) 64비트로 블럭화한 암호화데이터를 36비트 크기의 MSB를 포함하는 좌측암호화데이터 및 LSB를 포함하는 우측암호화데이터로 분리하는 단계;(c1) separating the encrypted data blocked by 64-bit into left-encrypted data including a 36-bit MSB and right-encrypted data including an LSB; (c2) 상기 32비트의 우측암호화데이터를 48비트의 암호화데이터로 확장하여 비트의 순서를 재배치하는 단계;(c2) rearranging the order of bits by extending the 32-bit right encryption data into 48-bit encrypted data; (c3) 상기 시프트연산을 수행한 해독화키를 입력받아 상기 48비트로 재배치된 우측암호화데이터와 배타적 논리합을 수행하는 단계;(c3) receiving an decryption key that performs the shift operation and performing an exclusive OR with the right ciphered data rearranged to the 48 bits; (c4) 상기 배타적 논리합을 수행한 후 출력되는 48비트의 암호화데이터를 6비트씩으로 분리하여 각각에 대해서 소정의 비선형표에 의해서 변환하는 단계;(c4) separating the encrypted 48-bit encrypted data into six bits after performing the exclusive OR and converting each of the 48-bit encrypted data into a predetermined nonlinear table for each; (c5) 상기 (c4)단계에서 변환된 암호화데이터의 비트순서를 재배치하여 상기 좌측암호화데이터와 배타적 논리합을 수행하는 단계를 포함하는 것을 특징으로 하는 해독화처리방법.and (c5) rearranging the bit order of the encrypted data converted in the step (c4) to perform an exclusive logical OR with the left encrypted data. 제 24항에 있어서,The method of claim 24, 상기 제어신호에 따라서 (c5)단계에서 출력되는 데이터를 피드백하여 상기 (c1)단계의 좌측암호화데이터 및 우측암호화데이터를 갱신하고 (c2)단계 내지 (c5)단계를 소정의 횟수로 반복하는 것을 특징으로 하는 해독화처리방법.Feedback the data output in step (c5) according to the control signal to update the left and right encryption data of step (c1) and repeat steps (c2) to (c5) a predetermined number of times. Detoxification treatment method. 제 25항에 있어서, 상기 (c3)단계는The method of claim 25, wherein step (c3) 상기 소정의 반복 횟수별로 시프트연산된 해독화키를 입력받아 상기 48비트로 재배치된 우측암호화데이터와 배타적 논리합하는 것을 특징으로 하는 해독화처리방법.And an exclusive logical OR of the right-handed encrypted data rearranged to the 48 bits by receiving the shift-operated decryption key for each predetermined number of iterations.
KR10-2001-0039529A 2001-07-03 2001-07-03 Apparatus for encrypting plane data and method thereof KR100403820B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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