KR100531577B1 - Device for coding/decoding document - Google Patents

Device for coding/decoding document Download PDF

Info

Publication number
KR100531577B1
KR100531577B1 KR10-2002-0010887A KR20020010887A KR100531577B1 KR 100531577 B1 KR100531577 B1 KR 100531577B1 KR 20020010887 A KR20020010887 A KR 20020010887A KR 100531577 B1 KR100531577 B1 KR 100531577B1
Authority
KR
South Korea
Prior art keywords
encryption
data
round
round key
multiplexer
Prior art date
Application number
KR10-2002-0010887A
Other languages
Korean (ko)
Other versions
KR20030071261A (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-2002-0010887A priority Critical patent/KR100531577B1/en
Publication of KR20030071261A publication Critical patent/KR20030071261A/en
Application granted granted Critical
Publication of KR100531577B1 publication Critical patent/KR100531577B1/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 문서의 보안성을 제공하기 위한 암호화방법에 관한 것으로, 특히 Rijndael 암호화방법에서 사용되는 라운드키의 순서를 이용자에게 제공되는 비밀키에 따라 다르게 설정함으로써 문서 암호화를 한층 더 향상시킬 수 있도록 된 문서 암/복호화장치에 관한 것이다. The present invention relates to an encryption method for providing security of a document, and in particular, by setting the order of the round keys used in the Rijndael encryption method according to the secret key provided to the user, the document encryption can be further improved. A document encryption / decryption apparatus.

본 발명에 따른 문서 암/복호화장치는, 초기라운드와 N번의 라운드 과정을 수행하며, 라운드 수행시 소정 라운드키를 적용하여 문서 암호화 및 복호화처리를 수행하도록 된 Rijndael 암호화방법의 문서 암/복호화장치에 있어서, 암/복호화장치는 초기라운드와 N번의 라운드에 대해 비밀키와 N라운드키로 구성되는 N+1개의 라운드키를 순차적으로 적용하여 문서 암호화 및 복호화처리를 수행하되, 해당 장치에 대해 할당된 비밀키 정보에 대응되는 라운드키부터 순차적으로 적용하도록 된 것을 특징으로 한다.The document encryption / decryption apparatus according to the present invention performs an initial round and N rounds, and applies to a document encryption / decryption apparatus of the Rijndael encryption method to perform document encryption and decryption processing by applying a predetermined round key. The encryption / decryption apparatus performs document encryption and decryption processing by sequentially applying N + 1 round keys composed of a secret key and an N round key for the initial round and N rounds, but a secret assigned to the corresponding device. Characterized in that it is applied sequentially from the round key corresponding to the key information.

Description

문서 암/복호화장치{Device for coding/decoding document}Device for coding / decoding document

본 발명은 문서의 보안성을 제공하기 위한 암호화방법에 관한 것으로, 특히 Rijndael 암호화방법에서 사용되는 라운드 키의 순서를 이용자에게 제공되는 비밀키에 따라 다르게 설정함으로써 문서 암호화를 한층 더 향상시킬 수 있도록 된 문서 암/복호화장치에 관한 것이다.The present invention relates to an encryption method for providing security of a document, and in particular, by setting the order of the round keys used in the Rijndael encryption method according to the secret key provided to the user, the document encryption can be further improved. A document encryption / decryption apparatus.

종래 암호화방법으로는 1997년 국제 표준 방법으로 채택되어진 DES 암호화방법이 있으며, 이 DES 암호화방법은 반복 블록 암호화 시스템에 속하는 것으로 비도가 약한 암호함수를 적절히 반복 사용하여 비도를 높이도록 되어 있다.Conventional encryption methods include the DES encryption method adopted as an international standard method in 1997. The DES encryption method belongs to a repetitive block encryption system. The DES encryption method is used to increase the degree of security by appropriately using a weak cryptographic function.

그러나 컴퓨터의 계산 능력 향상으로 인한 안전성 문제가 대두되면서 미국 상무부 기술표준국(NIST)은 차세대 암호 표준(Advanced Encryption Standard : AES)으로 2000년 10월에 Rijndael 암호화방법을 선정하였다.However, with the rise of computer computing power, NIST decided to use Rijndael encryption method in October 2000 as the Advanced Encryption Standard (AES).

상기 Rijndael 암호화방법은 공격에 대한 안전성, 다양한 형태의 플랫폼에서 처리속도와 코드의 간결성, 설계의 단순성 등을 고려하여 개발되었다. 그리고, 암호문 해독을 위해서는 현재의 컴퓨터로 약 148조년이 걸리며, 꿈의 컴퓨터라 불리는 양자 컴퓨터로도 30년이 걸리는 것으로 알려져 안전성이 매우 우수한 것으로 평가되고 있다.The Rijndael encryption method was developed in consideration of security against attack, processing speed, simplicity of code, and simplicity of design in various types of platforms. In addition, it takes about 148 trillion years for the current computer to decrypt the code, and 30 years for the quantum computer called the dream computer.

Rijndael 암호화방법은 non-Feistel 구조를 바탕으로 하고 있으며, 3개의 독립된 역변환이 가능한 라운드 변환으로 구성된다. Rijndael 암호화방법의 암호화 과정은 도1에 도시된 바와 같이 초기라운드, 반복라운드, 최종라운드로 구성되며, 초기라운드는 비밀키와 원문을 익스크루시브오아(XOR)연산하고, 반복라운드는 데이터치환(Byte Sub), 행시프트(ShiftRow), 열합성(MixClumn), 라운드키합성(AddRoundKey)단계를 소정 회수 반복 수행하며, 최종라운드는 데이터치환(ByteSub), 행시프트(ShiftRow), 라운드키합성(AddRoundKey)를 수행하여 최종적으로 암호문이 출력되도록 구성된다.  Rijndael encryption method is based on the non-Feistel structure and consists of three independent round transformations. The encryption process of the Rijndael encryption method consists of an initial round, a repeat round, and a final round as shown in FIG. 1, and the initial round performs an exclusive or XOR operation on the secret key and the original text. Byte Sub), RowShift (ShiftRow), Column Synthesis (MixClumn), and RoundKey Synthesis (AddRoundKey) are repeated a predetermined number of times. ) And finally the ciphertext is outputted.

일반적으로 상기 Rijndael 암호화방법은 원문을 암호화하기 위한 9번의 반복라운드를 수행하고, 1번의 최종라운드를 수행하게 된다. 즉, 총 10회의 라운드과정을 행하게 되며, 매 라운드 수행시마다 적용되는 라운드키는 표1에 도시된 바와 같이 고정된다.In general, the Rijndael encryption method performs nine repetitive rounds for encrypting an original text, and performs one final round. That is, a total of 10 rounds are performed, and the round key applied to each round is fixed as shown in Table 1.

Round0Round0 Round1Round1 Round2Round2 Round3Round3 Round4Round4 Round5Round5 Round6Round6 Round7Round7 Round8Round8 Round9Round9 RK0RK0 RK1RK1 RK2RK2 RK3RK3 RK4RK4 RK5RK5 RK6RK6 RK7RK7 RK8RK8 RK9RK9

여기서, 상기 Round0∼Round9 는 총 10회의 라운드 반복회수를 나타내며, RK0∼RK9는 각 라운드별 라운드키합성단계에서 합성되는 라운드키를 의미한다.Here, Round0 to Round9 represent a total of 10 round repetitions, and RK0 to RK9 represent a round key synthesized in each round key synthesis step.

따라서, 나날이 발전하는 현 기술을 볼 때 모든 문서에 대해 동일한 순서로 라운드키가 적용된다는 것은 문서 암호화의 공격에 대한 취약성을 보여주는 것이라 할 수 있다. Therefore, given the current technology that is developing day by day, the round key is applied in the same order to all documents, indicating the vulnerability of document encryption attack.

이에 본 발명은 상기한 사정을 감안하여 창출된 것으로, 이용자에게 제공되는 비밀키에 따라 Rijndael 암호화방법의 라운드키 적용 순서를 다르게 설정하여 암호문의 비도를 높일 수 있도록 된 문서 암/복호화장치를 제공함에 그 기술적 목적이 있다. Accordingly, the present invention has been made in view of the above circumstances, and provides a document encryption / decryption apparatus capable of increasing the degree of ciphertext by setting the round key application order of the Rijndael encryption method according to the secret key provided to the user. Its technical purpose is.

상기 목적을 달성하기 위한 본 발명에 따른 문서 암/복호화장치는, 초기라운드와 N번의 라운드 과정을 수행하며, 라운드 수행시 소정 라운드키를 적용하여 문서 암호화 및 복호화처리를 수행하도록 된 Rijndael 암호화방법의 문서 암/복호화장치에 있어서, 암/복호화장치는 초기라운드와 N번의 라운드에 대해 비밀키와 N라운드키로 구성되는 N+1개의 라운드키를 순차적으로 적용하여 문서 암호화 및 복호화처리를 수행하되, 해당 장치에 대해 할당된 비밀키 정보에 대응되는 라운드키부터 순차적으로 적용하도록 된 것을 특징으로 한다.In the document encryption / decryption apparatus according to the present invention for achieving the above object, the Rijndael encryption method is to perform the initial round and N rounds, and to perform document encryption and decryption processing by applying a predetermined round key when performing the round. In the document encryption / decryption apparatus, the encryption / decryption apparatus performs document encryption and decryption processing by sequentially applying N + 1 round keys composed of a secret key and N round keys for the initial round and N rounds. Characterized in that it is applied sequentially from the round key corresponding to the secret key information assigned to the device.

즉, 상기한 바에 의하면 Rijndael 암호화방법의 기본구조를 그대로 유지하면서 라운드키의 적용순서를 이용자에게 제공되는 비밀키에 따라 변경되도록 함으로써 비도를 높일 수 있게 된다.That is, according to the above, while maintaining the basic structure of the Rijndael encryption method, the application of the round key can be changed according to the secret key provided to the user, thereby increasing the secretion rate.

이하 본 발명에 따른 실시예를 설명한다.Hereinafter will be described an embodiment according to the present invention.

도2은 본 발명에 따른 문서 암/복호화장치의 내부구성을 기능적으로 분리하여 나타낸 블록구성도로서, 이는 특히 본 문서 암/복호화장치가 PCI통신을 수행하는 장치, 즉 PCI카드로 형성된 경우를 예시한 것이다.Figure 2 is a block diagram showing the functional separation of the internal structure of the document encryption / decryption apparatus according to the present invention, which illustrates the case where the document encryption / decryption apparatus is formed of a device for performing PCI communication, that is, a PCI card in particular It is.

도2에 도시된 바와 같이 본 발명에 따른 문서 암/복호화장치는, 소정 제어부(10)가 PCI인터페이스(20)를 통해 메모리(30)와 결합되어 구성됨과 더불어, 이후에 설명할 암/복호화부(50)로 소정 라운드키 선택 정보를 제공하기 위한 라운키순서생성부(40)와 소정 문서를 암호화 및 복호화처리하기 위한 암/복호화부(50)와 결합되어 구성된다.As shown in FIG. 2, the document encryption / decryption apparatus according to the present invention includes a predetermined controller 10 coupled to the memory 30 through the PCI interface 20, and an encryption / decryption unit to be described later. And a round key sequence generation unit 40 for providing predetermined round key selection information, and an encryption / decryption unit 50 for encrypting and decrypting a predetermined document.

여기서, 상기 암/복호화부(50)는 도1에 도시된 바와 같은 Rijndael 암호화방법에 따라 문서 암호화처리 및 복호화처리를 수행하며, 제어부(10)는 라운드키순서생성부(40)로 이용자의 비밀키 정보를 제공하여 암/복호화부(50)에서 사용되는 라운드키를 선택하기 위한 라운드키 어드레스 정보를 암/복호화부(50)로 제공하도록 제어하게 된다. 그리고, 암/복호화부(50)는 라운드키순서생성부(40)로부터 인가되는 라운드 어드레스에 대응되는 라운드키로부터 순차적으로 독출하여 암호화 및 복호화에 이용하게 된다.Here, the encryption / decryption unit 50 performs document encryption processing and decryption processing according to the Rijndael encryption method as shown in FIG. 1, and the control unit 10 controls the user's secret to the round key sequence generation unit 40. The key information is controlled to provide the encryption / decoding unit 50 with round key address information for selecting the round key used in the encryption / decoding unit 50. The encryption / decryption unit 50 reads sequentially from the round key corresponding to the round address applied from the round key order generation unit 40, and uses the same for encryption and decryption.

또한 상기 메모리(30)는 암호화 및 복호화할 문서와 암호화 및 복호화된 문서를 저장하기 위한 것이다.In addition, the memory 30 is for storing a document to be encrypted and decrypted and an encrypted and decrypted document.

도3은 도2에 도시된 라운드키순서생성부(40)의 내부구성을 기능적으로 분리하여 나타낸 블록구성도이다.3 is a block diagram illustrating a functional separation of the internal configuration of the round key sequence generation unit 40 shown in FIG.

도3에 도시된 바와 같이 라운드키순서생성부(40)는 제어부(10)로부터 인가되는 예컨대, 4비트 비밀키를 11로 나눈 나머지값을 생성하는 제1 모듈러연산부(41)와, 제어부(10)로부터의 제어신호를 근거로 0 에서 10까지 "1"씩 증가시키거나 10에서 0까지 "1"씩 감소시켜 4비트 데이터로 출력하는 카운터(42), 상기 제1 모듈러연산부(41)로부터 인가되는 4비트 데이터와, 카운터(42)로부터 인가되는 4비트 데이터를 가산처리하는 가산부(43) 및, 가산부(43)로부터 인가되는 5비트 데이터를 11로 나눈 나머지값인 라운드키 어드레스 정보를 생성하는 제2 모듈러연산부(44)를 포함하여 구성된다.As shown in FIG. 3, the round key order generation unit 40 may include, for example, a first modular operation unit 41 for generating a remainder obtained by dividing a 4-bit secret key by 11, which is applied from the control unit 10, and the control unit 10. Counter 42, which is incremented by "1" from 0 to 10 or decreased by "1" from 10 to 0, based on the control signal from the control unit, is output from 4-bit data, and applied from the first modular operation unit 41. Adder 43 for adding and processing 4-bit data to be applied from the counter 42 and round-bit address information that is the remainder obtained by dividing the 5-bit data applied from the adder 43 by 11; It is configured to include a second modular operation unit 44 to generate.

이때, 상기 카운터(42)는 제어부(10)로부터 암호화처리에 대한 제어신호인 경우 0부터 10까지 "1"씩 증가시키는 카운트를 수행하고, 복호화처리에 대한 제어신호인 경우 10부터 0까지 "1"씩 감소시키는 디스카운트를 수행하도록 구성된다.At this time, the counter 42 performs a count of incrementing by "1" from 0 to 10 in the case of a control signal for encryption processing from the control unit 10, and from "10 to 0" in the case of a control signal for decryption processing. Configured to perform a decrement by "".

또한 여기서 상기 비밀키는 본 암/복호화장치가 설치되는 컴퓨터등의 이용자단말기에 설정되는 정보로서, 본 출원인이 2002년 2월 26일자 출원한 출원번호 10-2002-0010125호에 기재된 바와 같이 네트워크를 통해 문서보안장치로부터 제공받는 것이 가능하다. 또한, 상기 비밀키는 암/복호화장치에 고정적으로 설정되도록 실시하거나 또는 컴퓨터 이용자에 의해 임의로 설정되는 것도 가능하다. In addition, the secret key is information set in a user terminal such as a computer on which the present encryption / decryption apparatus is installed. As described in the application number 10-2002-0010125 filed on February 26, 2002 by the present applicant, It can be provided from the document security device through. In addition, the secret key may be fixedly set in the encryption / decryption apparatus or may be arbitrarily set by a computer user.

그리고, 상기 제1 및 제2 모듈러연산부(41,44)는 Rijndael 암호화방법에서 "총 라운드의 수 + 1"을 나누는 수로 설정하는 바, 일반적으로 Rijndael 암호화방법의 총라운드 수는 10이므로 상기 실시예에서는 제1 및 제2 모듈러연산부(41,44)의 나누는 수는 "11"이 된다. 또한 상기 카운터(42)도 암호화 수행시 행해지는 "총 라운드 수 + 1"과 동일한 횟수만큼 카운트하도록 구성된다.In addition, the first and second modular operation units 41 and 44 are set to a number that divides the "total number of rounds + 1" in the Rijndael encryption method. In general, the total number of rounds of the Rijndael encryption method is 10. In the first embodiment, the dividing number of the first and second modular operation units 41 and 44 is "11". In addition, the counter 42 is also configured to count the same number of times as "total rounds + 1" performed during encryption.

한편, 도4는 도2에 도시된 암/복호화부(50)의 내부구성을 기능적으로 분리하여 나타낸 블록구성도이다.On the other hand, Figure 4 is a block diagram showing the functional separation of the internal configuration of the encryption / decryption unit 50 shown in FIG.

도4에 도시된 바와 같이 암/복호화부(50)는 상기 라운드키순서생성부(40)로부터 제공되는 라운드키 어드레스 정보별 시작 라운드키(비밀키 포함)가 다르게 설정되는 소정 라운드키테이블을 구비하여, 라운드키 어드레스정보에 대응되는 라운드키부터 순차적으로 라운드키를 출력하는 라운드키정보제공부(51)를 포함하여 구성된다. 즉, 비밀키 정보에 따라 라운드키정보제공부(51)로부터 출력되는 라운드키 제공 순서가 변화되게 되는 바, 표2는 비밀키에 따른 라운드키 제공 순서를 나타낸 것이다.As shown in FIG. 4, the encryption / decryption unit 50 has a predetermined round key table in which a starting round key (including a secret key) for each round key address information provided from the round key order generation unit 40 is set differently. And a round key information providing unit 51 for sequentially outputting a round key starting from a round key corresponding to the round key address information. That is, the round key providing order output from the round key information providing unit 51 is changed according to the secret key information. Table 2 shows the round key providing order according to the secret key.

비 밀 키 Rain wheat key 초기라운드Early round 반복라운드 Repeat round 최종라운드Final round 초기라운드Early round Round0Round0 Round1Round1 Round2Round2 Round3Round3 Round4Round4 Round5Round5 Round6Round6 Round7Round7 Round8Round8 Round9Round9 00000000 비밀키Secret key Rk0Rk0 Rk1Rk1 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 00010001 Rk0Rk0 Rk1Rk1 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key 00100010 Rk1Rk1 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key Rk0Rk0 00110011 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key Rk0Rk0 Rk1Rk1 10011001 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key Rk0Rk0 Rk1Rk1 Rk2Rk2 01010101 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key Rk0Rk0 Rk1Rk1 Rk2Rk2 Rk3Rk3 01100110 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key Rk0Rk0 Rk1Rk1 Rk2Rk2 Rk3Rk3 Rk4Rk4 01110111 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key Rk0Rk0 Rk1Rk1 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 10001000 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key Rk0Rk0 Rk1Rk1 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 10011001 Rk8Rk8 Rk9Rk9 비밀키Secret key Rk0Rk0 Rk1Rk1 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 10101010 Rk9Rk9 비밀키Secret key Rk0Rk0 Rk1Rk1 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 10111011 비밀키Secret key Rk0Rk0 Rk1Rk1 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 11001100 Rk0Rk0 Rk1Rk1 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key 11011101 Rk1Rk1 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key Rk0Rk0 11101110 Rk2Rk2 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key Rk0Rk0 Rk1Rk1 11111111 Rk3Rk3 Rk4Rk4 Rk5Rk5 Rk6Rk6 Rk7Rk7 Rk8Rk8 Rk9Rk9 비밀키Secret key Rk0Rk0 Rk1Rk1 Rk2Rk2

즉, 표2에 도시된 바와 같이 비밀키 정보에 대해 라운드키 시작순서가 변경되게 된다. That is, as shown in Table 2, the round key starting order is changed for the secret key information.

또한, 도4에 도시된 바와 같이 암/복호화부(50)는 128비트의 원문의 문서데이터와 이후에 설명할 제2 멀티플렉서(57)로부터 피드백 되는 문서데이터를 선택적으로 출력하기 위한 제1 멀티플렉서(52)와, 제1 멀티플렉서(52)로부터 출력되는 128비트 문서데이터를 일시 저장하기 위한 플립플롭(53), 플립플롭(53)을 통해 출력되는 128비트 문서데이터와 상기 라운드키정보제공부(51)로부터 인가되는 128비트 라운드키를 익스크루시브오아(XOR)연산하여 출력하는 라운드키합성부(54), 라운드키합성부(54)로부터 인가되는 문서데이터를 암호화처리하는 암호화처리부(55), 라운드키합성부(54)로부터 인가되는 문서데이터를 복호화처리하는 복호화처리부(56) 및, 상기 암호화처리부(55) 또는 복호화처리부(56)로부터 인가되는 문서데이터를 선택적으로 상기 제1 멀티플렉서(52)의 피드백 입력으로 제공하기 위한 제2 멀티플렉서(57)를 포함하여 구성된다.In addition, as shown in FIG. 4, the encryption / decoding unit 50 is a first multiplexer for selectively outputting the original document data of 128 bits and the document data fed back from the second multiplexer 57 to be described later. 52, the flip-flop 53 for temporarily storing the 128-bit document data output from the first multiplexer 52, the 128-bit document data output through the flip-flop 53, and the round key information providing unit 51. A round key synthesis unit 54 for performing an XOR operation on the 128-bit round key applied from the X-axis, and an encryption processing unit 55 for encrypting document data applied from the round key synthesis unit 54; A decryption processor 56 for decrypting document data applied from the round key synthesis unit 54 and the first multiplexer 52 for selectively applying document data applied from the encryption processor 55 or the decryption processor 56. It is configured to include a second multiplexer (57) for providing a feedback input.

또한, 상기 암호화처리부(55)는 도1의 반복라운드 및 최종라운드의 데이터치환(ByteSub: ST2,ST6)과정과 행시프트(ShiftRow : ST3, ST7)과정 및 열합성(MixColumn : ST4)과정을 수행하기 위한 것으로, 데이터치환부(551)와, 행시프트부(552), 열합성부(553) 및, 상기 행시프트부(552)로부터 출력되는 데이터와 상기 열 합성부(553)로부터 출력되는 데이터를 소정 제어신호(Ctrl3)에 따라 선택적으로 출력하기 위한 제3 멀티플렉서(554)를 포함하여 구성된다.In addition, the encryption processing unit 55 performs the data replacement (ByteSub: ST2, ST6), row shift (ShiftRow: ST3, ST7), and column synthesis (MixColumn: ST4) processes of the repeated round and the final round of FIG. In order to do so, the data output unit 551, the row shift unit 552, the column synthesizer 553, the data output from the row shift unit 552 and the data output from the column synthesis unit 553 It is configured to include a third multiplexer 554 for selectively outputting according to the predetermined control signal (Ctrl3).

여기서, 상기 데이터치환부(551)는 도5의 (A)에 도시된 바와 같이 입력되는 aij데이터를 소정 규칙(S-box)에 따라 bij데이터로 치환하는 동작을 수행한다.Here, the data replacing unit 551 performs an operation of replacing the input a ij data with b ij data according to a predetermined rule (S-box) as shown in FIG.

그리고, 상기 행시프트부(552)는 도5의 (B)에 도시된 바와 같이, 상기 데이터치환부(551)에서 출력되는 치환데이터의 행들을 시프트오프셋만큼 왼쪽으로 이동시키게 된다. 예컨대, 제 2행의 데이터 "B10, B11, B12, B13 "는 "B11, B12, B13,B10"데이터로 시프트되어 출력된다.As illustrated in FIG. 5B, the row shift unit 552 shifts the rows of the replacement data output from the data replacing unit 551 to the left by a shift offset. For example, the second row data "B 10, B 11, B 12, B 13" combination is shifted to "B 11, B 12, B 13, B 10" data.

또한, 상기 열합성부(553)는 도5의 (C)에 도시된 바와 같이, 행시프트부(552)에서 출력되는 데이터의 각 열 데이터를 소정 다항식 c(x)와 연산처리하게 된다.In addition, as illustrated in FIG. 5C, the column synthesis unit 553 performs arithmetic processing on each column data of data output from the row shift unit 552 with a predetermined polynomial c (x).

한편, 도4에서 복호화처리부(56)는 상기 암호화처리부(55)의 역변환처리를 수행하는 부분으로, 라운드키합성부(54)로부터 인가되는 데이터를 역(Inverse)열 합성처리하는 역(Inverse)열합성처리부(561)와, 상기 라운드키합성부(54)로부터 인가되는 데이터와 상기 역(Inverse)열합성처리부(561)로부터 인가되는 데이터를 소정 제어신호(Ctrl4)에 따라 선택적으로 출력하기 위한 제4 멀티플렉서(562), 상기 제4 멀티플렉서(562)로부터 출력되는 데이터를 역(Inverse)행시프트 처리하는 역(Inverse)행시프트처리부(63) 및, 역(Inverse)행시프트부(63)로부터 출력되는 데이터를 역(Inverse)데이터 치환처리하는 역(Inverse)데이터치환부(564)를 포함하여 구성된다.Meanwhile, in FIG. 4, the decryption processor 56 is an inverse transform process performed by the encryption processor 55 to perform inverse thermal synthesis on data applied from the round key synthesis unit 54. For selectively outputting the thermal synthesis processing unit 561, the data applied from the round key synthesis unit 54, and the data applied from the inverse thermal synthesis processing unit 561 according to a predetermined control signal Ctrl4. From the fourth multiplexer 562, an inverse row shift processing unit 63 for inverse row shifting the data output from the fourth multiplexer 562, and an inverse row shifting unit 63. And an inverse data substitution unit 564 for inverse data substitution processing of the output data.

즉, 상기 역(Inverse)열합성부(561)는 도5의 (C)와 같은 열합성부(553)에 대한 역변환처리를 수행하고, 상기 역(Inverse)행시프트처리부(563)는 도5의 (B)와 같은 행시프트처리부(552)에 대한 역변환처리를 수행하며, 역(Inverse)데이터치환부(564)는 도5의 (A)와 같은 데이터치환부(551)에 대한 역변환처리를 수행하도록 구성되는 바, 이는 암호화함수의 역변환함수를 이용하여 실시하게 되므로 그 상세한 설명은 생략한다. That is, the inverse thermal synthesis unit 561 performs an inverse transform process on the thermal synthesis unit 553 as shown in FIG. 5C, and the inverse row shift processing unit 563 is illustrated in FIG. 5. Inverse transformation processing is performed on the row shift processing unit 552 as shown in (B) of FIG. 5, and the inverse data replacing unit 564 performs inverse transformation processing on the data replacing unit 551 as shown in FIG. 5A. It is configured to perform, which is performed by using the inverse transform function of the encryption function, the detailed description thereof will be omitted.

이어, 상기한 구성으로 된 암/복호화장치의 동작을 설명한다.Next, the operation of the encryption / decryption device having the above-described configuration will be described.

우선, 제어부(10)는 본 암/복호화장치가 설치된 이용자단말기에 제공되어진 비밀키 정보를 라운드키순서생성부(40)로 제공하여 비밀키 정보에 대응되는 라운드키 어드레스를 암/복호화부(50)로 제공하도록 제어한다.First, the controller 10 provides the secret key information provided to the user terminal in which the present encryption / decryption apparatus is installed to the round key order generation unit 40 to provide a round key address corresponding to the secret key information to the encryption / decryption unit 50. To be provided).

또한, 상기 제어부(10)는 암호화 및 복호화할 문서데이터를 메모리(30)로부터 제공받아 소정 크기단위, 예컨대 128비트단위로 분할하여 암/복호화부(50)로 송출하게 된다. In addition, the controller 10 receives document data to be encrypted and decrypted from the memory 30 and divides the document data into predetermined size units, for example, 128 bits, and sends the document data to the encryption / decryption unit 50.

상기한 상태에서 제어부(10)는 암/복호화장치의 동작클럭을 제공하는 클럭제공부(도시되지않음)로부터 제공되는 클럭신호를 근거로 암/복호화 수행에 따른 라운드 동작을 수행하게 된다. In the above state, the controller 10 performs a round operation according to the encryption / decoding based on a clock signal provided from a clock providing unit (not shown) that provides an operation clock of the encryption / decoding device.

1. 본 발명에 따른 암/복호화장치의 암호화 동작은 다음과 같다.1. The encryption operation of the encryption / decryption apparatus according to the present invention is as follows.

상기 제어부(10)는 암호화 동작시 도6의 (X)에 도시된 바와 같이 암/복호화장치의 제1 내지 제3 멀티플렉서를 제어하게 된다.The control unit 10 controls the first to third multiplexers of the encryption / decryption apparatus as shown in FIG. 6 (X) during the encryption operation.

먼저, 로우레벨("0)"의 제2 제어신호(Ctrl 2)를 제2 멀티플렉서(57)로 제공하여 암호화부(55)의 출력신호가 제1 멀티플렉서(51)로 피드백되도록 제어한다.First, the second control signal Ctrl 2 having a low level (“0”) is provided to the second multiplexer 57 to control the output signal of the encryption unit 55 to be fed back to the first multiplexer 51.

상기한 상태에서, 제어부(10)는 제1 클럭주기 동안 로우레벨("0")의 제1 제어신호(Ctrl 1)를 제1 멀티플렉서(52)로 제공하여 원문의 문서데이터가 플립플롭(53)으로 출력되도록 제어하게 된다. 이때 제어부(10)는 도6의 (X)에 도시된 바와 같이 제1 제어신호(Ctrl1)는 제1 클럭의 라이징에지구간이 로우레벨("0") 구간의 중심이 되도록 제공하며, 제1 클럭의 라이징에지상태에서 128비트의 문서 데이터를 플립플롭(53)으로 제공하게 된다. In the above state, the controller 10 provides the first multiplexer 52 with the first control signal Ctrl 1 having a low level (“0”) during the first clock period so that the original document data is flip-flop 53. Will be output as At this time, the controller 10 provides the first control signal Ctrl1 so that the rising edge section of the first clock becomes the center of the low level ("0") section as shown in FIG. 6 (X). In the rising edge state of the clock, 128 bits of document data are provided to the flip-flop 53.

그리고, 플립플롭(53)으로부터 출력되는 데이터는 라운드키합성부(54)에서 라운드키정보제공부(51)로부터 제공되는 라운드키(표2의 초기라운드)와 익스크루시브오아(XOR)처리되어 출력된다. 이때, 상기 제어부(10)는 로우레벨("0")의 제3 제어신호(Ctrl 3)를 제3 멀티플렉서(554)로 제공하게 되는 바, 라운드키합성부(54)의 출력 데이터는 데이터치환부(551)와 행시프트부(552) 및 열합성부(553)를 통해 제2 멀티플렉서(57)로 인가되고, 제2 멀티플렉서(57)는 열합성부(553)로부터 출력되는 데이터를 제1 멀티플렉서(52)의 입력으로 인가하게 된다.Then, the data output from the flip-flop 53 is processed by the round key synthesizer 54 and the round key provided by the round key information providing unit 51 (the initial round of Table 2) and the exclusive oral (XOR). Is output. At this time, the control unit 10 is to provide a third control signal (Ctrl 3) of the low level ("0") to the third multiplexer 554, the output data of the round key synthesis unit 54 is data replacement The second multiplexer 57 is applied to the second multiplexer 57 through the unit 551, the row shift unit 552, and the column synthesizer 553, and the second multiplexer 57 receives data output from the column synthesizer 553. It is applied to the input of the multiplexer 52.

즉, 제1 클럭주기동안 초기라운드과정과 반복라운드과정의 첫번째 데이터치환(ST2), 행시프트(ST3), 열합성(ST4)이 수행된다.That is, during the first clock period, the first data substitution (ST2), the row shift (ST3), and the column synthesis (ST4) of the initial round process and the repeat round process are performed.

이어 제어부(10)는 제2 클럭주기가 되면 하이레벨("1")의 제1 제어신호(Ctrl 2)를 제1 멀티플렉서(52)로 제공하여 초기라운드과정과 첫 번째 반복라운드과정의 일부가 종료된 문서데이터를 플립플롭(53)으로 제공하도록 제어하게 된다. 이때, 제2 내지 제4 제어신호(Ctrl 2 ∼Ctrl 4)는 이전 상태를 유지하도록 하며, 제9 클럭주기까지 제2 클럭주기 상태를 유지하도록 제어하게 된다. Subsequently, the control unit 10 provides the first multiplexer 52 with the first control signal Ctrl 2 having a high level (“1”) to the first multiplexer 52 when the second clock cycle is reached. The finished document data is controlled to be provided to the flip-flop 53. At this time, the second to fourth control signals Ctrl 2 to Ctrl 4 maintain the previous state and control to maintain the second clock cycle state until the ninth clock period.

즉, 초기라운드과정이 처리된 문서데이터에 대해 데이터치환, 행시프트, 열합성, 라운드키합성의 반복라운드과정을 제2 내지 제9 클럭주기동안 수행하게 된다. 이때 상기 라운드키합성은 제1 멀티플렉서(52)로 피드백되는 데이터와 라운드키제공부(51)로부터 제공되는 라운드키(표2의 Round0∼Round7)을 익스크루시브오아(XOR)처리하게 된다.That is, the repetitive rounding process of data replacement, row shift, column synthesis, and round key synthesis is performed on the document data processed by the initial rounding process for the second to ninth clock periods. At this time, the round key synthesis performs an XOR processing of the data fed back to the first multiplexer 52 and the round keys provided from the round key providing unit 51 (Round 0 to Round 7 in Table 2).

그리고, 제10클럭주기가 되면 마지막 반복라운드과정의 라운드키합성(ST5)을 수행하기 위하여 라운드키합성부(54)는 라운드키제공부(51)로부터 제공되는 라운드키(표2의 Round8)을 익스크루시브오아(XOR)처리한다. 또한 제어부(10)는 최종 라운드과정의 데이터치환(ST6), 행시프트(ST7)를 수행할 수 있도록 하이레벨("1")의 제3 제어신호(Ctrl3)를 제3 멀티플렉서(554)로 제공한다.When the tenth clock cycle is reached, the round key synthesizing unit 54 extracts the round key (Round8 of Table 2) provided from the round key providing unit 51 to perform the round key synthesis ST5 of the last repetitive round process. It is treated with XOR. In addition, the controller 10 provides the third multiplexer 554 with a third control signal Ctrl3 having a high level (“1”) to perform data substitution ST6 and row shift ST7 during the final round process. do.

마지막으로 제11 클럭주기가 되면 라운드키제공부(51)는 최종라운드키(표2의 Round9)를 라운드키합성부(54)로 제공하고, 라운드키합성부(54)에서 암호화처리중인 문서 데이터와 최종라운드키가 익스크루시브오아(XOR)처리되어 해당 문서에 대한 암호문이 생성되게 된다. Finally, when the eleventh clock period is reached, the round key providing unit 51 provides the final round key (Round9 in Table 2) to the round key combining unit 54, and the document data being encrypted by the round key combining unit 54. The final round key is XORed to generate a cipher text for the document.

2. 본 발명에 따른 암/복호화장치의 복호화동작은 다음과 같다.2. The decoding operation of the encryption / decryption apparatus according to the present invention is as follows.

상기 제어부(10)는 복호화동작시 도6의 (Y)에 도시된 바와 같이 암/복호화장치의 제1 내지 제4 멀티플렉서를 제어하게 된다.The control unit 10 controls the first to fourth multiplexers of the encryption / decoding apparatus as shown in FIG. 6 (Y) during the decoding operation.

먼저, 하이레벨("1")의 제2 제어신호(Ctrl 2)를 제2 멀티플렉서(57)로 제공하여 복호화처리부(56)의 출력신호가 제1 멀티플렉서(51)로 피드백되도록 제어한다.First, the second control signal Ctrl 2 having a high level (“1”) is provided to the second multiplexer 57 to control the output signal of the decoding processor 56 to be fed back to the first multiplexer 51.

상기한 상태에서 제어부(10)는 메모리(30)에 저장된 암호문 데이터를 독출하여 소정 크기, 예컨대 128비트단위로 읽어들인다. 이때, 제어부(10)는 제1 클럭주기 동안 로우레벨("0")의 제1 제어신호(Ctrl 1)를 제1 멀티플렉서(52)로 제공하여 암호문의 문서데이터가 플립플롭(53)를 통해 라운드키합성부(54)로 제공되어 최종라운드키(표2의 Round9)와 익스크루시브오아(XOR) 처리되도록 제어한다. 이때 제어부(10)는 도6의 (Y)에 도시된 바와 같이 제1 제어신호(Ctrl1)는 제1 클럭의 라이징에지구간이 하이레벨("0")구간의 중심이 되도록 제공하며, 제1 클럭의 라이징에지상태에서 128비트의 암호화된 문서 데이터를 플립플롭(53)으로 제공하게 된다. In the above state, the controller 10 reads the cipher text data stored in the memory 30 and reads the data in a predetermined size, for example, in 128-bit units. At this time, the controller 10 provides the first control signal Ctrl 1 having a low level (“0”) to the first multiplexer 52 during the first clock period so that the document data of the ciphertext is transmitted through the flip-flop 53. It is provided to the round key synthesizing unit 54 to control the final round key (Round 9 in Table 2) and the exclusive ores (XOR). At this time, the controller 10 provides the first control signal Ctrl1 so that the rising edge section of the first clock is the center of the high level ("0") section as shown in FIG. 6 (Y). The 128-bit encrypted document data is provided to the flip-flop 53 in the rising edge state of the clock.

제어부(10)는 하이레벨("1")의 제4 제어신호(Ctrl 4)를 제4 멀티플렉서(562)로 송출하여 라운드키합성부(54)로부터 출력되는 신호를 역(Inverse)행시프트부(563) 및 역(Inverse)데이터치환부(564)를 통해 제2 멀티플렉서(57)로 출력하도록 제어하게 된다.The controller 10 transmits the fourth control signal Ctrl 4 having a high level (“1”) to the fourth multiplexer 562 to transmit a signal output from the round key synthesis unit 54 to an inverse row shift unit. The control unit 543 and the inverse data replacing unit 564 output the second multiplexer 57.

즉, 제어부(10)는 메모리(30)에 저장된 암호문데이터의 복호화처리시 최종라운드과정부터 시작하도록 제어하게 된다. 따라서 제1 클럭주기동안 최종라운드과정이 수행된다.That is, the controller 10 controls to start from the last round process when decrypting the ciphertext data stored in the memory 30. Therefore, the final round process is performed during the first clock period.

이후, 제어부(10)는 하이레벨("1")의 제1 제어신호(Ctrl 1)를 제1 멀티플렉서(52)로 송출하여 제2 멀티플렉서(57)로부터 인가되는 피드백 데이터가 플립플롭(53)을 통해 라운드키합성부(54)로 인가되도록 제어하게 된다. 또한, 제어부(10)는 로우레벨("0")의 제4 제어신호(Ctrl 4)를 제4 멀티플렉서(562)로 송출하여 라운드키합성부(54)의 출력데이터가 역(Inverse)열합성부(561)를 통해 역(Inverse)행시프트부(562)로 인가되도록 제어하게 된다. 그리고, 이 역(Inverse)행시프트부(562)로 인가된 데이터는 역(Inverse)데이터치환부(564) 및 제2 멀티플렉서(57)를 통해 제1 멀티플렉서(52)의 입력으로 제공된다. 즉, 제2 클럭주기부터 제10클럭주기동안 반복라운드 동작에 따른 복호화처리를 수행하게 된다. 그리고, 상기 제10클럭주기 마지막에 제2 멀티플렉서(57)에서 제1 멀티플렉서(52)로 인가되는 복호화데이터는 제11 클럭주기에서 라운드합성부(54)를 통해 초기라운드키와 익스크루시브오아(XOR) 처리된 후 복호문으로써 메모리(30)에 저장된다. 이는 결국 초기라운드 암호화 처리된 암호문에 대한 복호화처리가 된다.Thereafter, the controller 10 transmits the first control signal Ctrl 1 having the high level (“1”) to the first multiplexer 52 so that the feedback data applied from the second multiplexer 57 is flip-flop 53. It is controlled to be applied to the round key synthesis unit 54 through. In addition, the controller 10 transmits the fourth control signal Ctrl 4 having a low level (“0”) to the fourth multiplexer 562 so that the output data of the round key combining unit 54 is inversely thermally synthesized. It is controlled to be applied to the inverse row shift unit 562 through the unit 561. The data applied to the inverse row shift unit 562 is provided as an input of the first multiplexer 52 through the inverse data replacing unit 564 and the second multiplexer 57. That is, the decoding process according to the repetitive round operation is performed from the second clock period to the tenth clock period. The decoded data applied from the second multiplexer 57 to the first multiplexer 52 at the end of the tenth clock period is transmitted through the round synthesizer 54 in the eleventh clock period. XOR) is processed and stored in the memory 30 as a decryption statement. This results in decryption of the ciphertext encrypted with the initial round encryption.

즉, 상기 실시예에 의하면 이용자에게 제공되는 비밀키를 이용하여 Rijndael 암호화방법에서 적용되는 라운드키의 순서를 자동으로 다르게 설정되도록 함으로써, 문서 보안을 한층 더 강화할 수 있도록 된 문서 암/복호화장치를 제공할 수 있다.That is, according to the above embodiment, the document encryption / decryption apparatus can be further strengthened by automatically setting the order of the round keys applied in the Rijndael encryption method using the secret key provided to the user. can do.

따라서, 본 발명에 의하면 Rijndael 암호화방법의 기본구조를 그대로 유지하면서 라운드키의 적용순서를 이용자에게 제공되는 비밀키에 따라 변경되도록 함으로써 비도를 높일 수 있게 된다.Therefore, according to the present invention, while maintaining the basic structure of the Rijndael encryption method, the application of the round key can be changed according to the secret key provided to the user, thereby increasing the secretion rate.

한편 본 발명은 상기 실시예에 한정되지 않고 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 다양하게 변형 실시하는 것이 가능하다. Meanwhile, the present invention is not limited to the above embodiments, and various modifications can be made without departing from the technical spirit of the present invention.

이상 설명한 바와 같이 본 발명에 의하면, Rijndael 암호화방법의 기본구조를 그대로 유지하면서 라운드키의 순서를 이용자에게 제공되는 비밀키에 따라 변경되도록 함으로써 비도를 높일 수 있게 된다.As described above, according to the present invention, while maintaining the basic structure of the Rijndael encryption method as described above, the order of the round keys can be changed according to the secret key provided to the user, thereby increasing the degree of security.

도1은 일반적으로 사용되는 Rijndael 암호화 과정을 설명하기 위한 도면.    1 is a diagram for explaining a Rijndael encryption process that is generally used.

도2는 본 발명에 따른 암/복호화장치의 내부구성을 기능적으로 분리하여 나타낸 도면.Figure 2 is a diagram showing the functional separation of the internal configuration of the encryption / decryption apparatus according to the present invention.

도3은 도2에 도시된 라운드키순서생성부(40)의 내부구성을 기능적으로 분리하여 나타낸 도면.3 is a diagram showing functionally separating the internal structure of the round key sequence generation unit 40 shown in FIG.

도4는 도2에 도시된 암/복호화부(50)의 내부구성을 기능적으로 분리하여 나타낸 도면.4 is a view showing functionally separating the internal structure of the encryption / decryption unit 50 shown in FIG.

도5는 도4에 도시된 암/복호화부(50)의 장치별 동작을 설명하기 위한 도면.FIG. 5 is a diagram for explaining device-specific operations of the encryption / decryption unit 50 shown in FIG.

도6은 본 발명에 따른 암/복호화장치의 동작을 설명하기 위한 도면.6 is a view for explaining the operation of the encryption / decryption apparatus according to the present invention.

******* 도면의 주요부분에 대한 간단한 설명 ************** Brief description of the main parts of the drawing *******

10 : 제어부, 40 : 라운드키순서생성부,10: control unit, 40: round key sequence generation unit,

50 : 암/복호화부,      50: cancer / decryption unit,

41 : 제1 모듈러연산부, 42 : 카운터,      41: first modular operation unit, 42: counter,

43 : 가산부, 44 : 제2 모듈러연산부,      43: adding unit, 44: second modular operation unit,

51 : 라운드키제공부, 52 : 제1 멀티플렉서,      51: round key providing unit, 52: first multiplexer,

53 : 플립플롭, 54 : 라운드키합성부,      53: flip-flop, 54: round key composition,

55 : 암호화처리부, 56 : 복호화처리부,      55: encryption processing unit, 56: decryption processing unit,

57 : 제2 멀티플렉서.       57: second multiplexer.

Claims (6)

초기라운드와 N번의 라운드 과정을 수행하며, 라운드 수행시 소정 라운드키를 적용하여 문서 암호화 및 복호화처리를 수행하도록 된 Rijndael 암호화방법의 문서 암/복호화장치에 있어서,In the document encryption / decryption apparatus of Rijndael encryption method that performs the initial round and N rounds, and performs document encryption and decryption processing by applying a predetermined round key when performing the round, 암/복호화장치는 초기라운드와 N번의 라운드에 대해 비밀키와 N라운드키로 구성되는 N+1개의 라운드키를 순차적으로 적용하여 문서 암호화 및 복호화처리를 수행하되, 해당 장치에 대해 할당된 비밀키 정보에 대응되는 라운드키부터 순차적으로 적용하도록 된 것을 특징으로 하는 문서 암/복호화장치.The encryption / decryption device performs document encryption and decryption processing by sequentially applying N + 1 round keys consisting of a secret key and N round keys for the initial round and N rounds, but the secret key information assigned to the device. Document encryption / decryption apparatus, characterized in that to apply sequentially from the round key corresponding to the. 제1항에 있어서,The method of claim 1, 상기 문서 암호화장치는 소정 제어신호를 근거로 비밀키에 대응되는 소정 라운드키어드레스를 발생하는 라운드키순서생성수단과,The document encryption apparatus includes round key order generating means for generating a predetermined round key address corresponding to a secret key based on a predetermined control signal; 상기 라운드키어드레스별 시작 라운드키가 다르게 설정되는 라운드키테이블을 구비하여 상기 라운드키순서생성수단으로부터 인가되는 라운드키어드레스에 대응되는 시작라운드키부터 순차적으로 라운드키를 발생하고, 이 라운드키를 근거로 문서 암호화 및 복호화를 수행하는 암/복호화수단 및,A round key table having a different start round key for each round key address is set to generate a round key sequentially from a start round key corresponding to a round key address applied from the round key order generating means, and based on the round key. Encryption / decryption means for performing document encryption and decryption, 상기 라운드키순서생성수단과 상기 암/복호화수단으로 문서 암호화 또는 문서 복호화에 대응되는 제어신호를 송출하는 제어수단을 포함하여 구성되는 것을 특징으로 하는 문서 암/복호화장치.And control means for transmitting a control signal corresponding to document encryption or document decryption to the round key sequence generation means and the encryption / decryption means. 제2항에 있어서,The method of claim 2, 상기 라운드키순서생성수단은, 비밀키 정보를 N+1로 나눈 나머지값을 생성하는 제1 모듈러연산부와, 상기 제어수단으로부터의 제어신호를 근거로 암호화시에는 0부터 N까지를 카운트하고 복호화시에는 N 부터 0까지 디스카운트하는 카운터, 상기 제1 모듈러연산부와 상기 카운터로부터 인가되는 데이터를 가산하는 가산부, 가산부로부터 출력되는 데이터를 N+1로 나눈 나머지값을 생성하는 제2 모듈러연산부를 포함하여 구성되는 것을 특징으로 하는 문서 암/복호화장치.The round key sequence generating means includes: a first modular operation unit for generating a remainder obtained by dividing the secret key information by N + 1; and counting from 0 to N when encrypting based on a control signal from the control means, and decrypting Includes a counter for discounting from N to 0, an adder for adding the first modular calculator and data applied from the counter, and a second modular calculator for generating a remainder obtained by dividing the data output from the adder by N + 1. Document encryption / decryption apparatus, characterized in that configured to. 제2항에 있어서,The method of claim 2, 상기 암/복호화장치는 라운드키순서생성수단으로부터 인가되는 라운드키 어드레스에 대응되는 라운드키 정보를 순차적으로 제공하는 라운드키제공부와, 소정 제어신호를 근거로 암호화 및 복호화할 데이터와 피드백되는 데이터를 선택출력하는 제1 멀티플렉서, 제1 멀티플렉서로부터 출력되는 데이터와 상기 라운드키제공부로부터 인가되는 라운드키를 익스크루시브오아처리하는 라운드키합성부, 상기 라운드키합성부로부터 인가되는 데이터를 소정 제어신호를 근거로 데이터치환(ByteSub)처리하고 행시프트(ShiftRow)처리한 후 출력하거나 행시프트처리된 문자데이터를 열합성(MixColumn)처리하여 출력하는 암호화처리부, 상기 라운드키합성부로부터 인가되는 암호화된 문자데이터를 소정 제어신호를 근거로 역(Inverse)행시프트처리한 후 역(Inverse)데이터치환처리하여 출력하거나 역(Inverse)열합성처리 한 후 역(Inverse)행시프트 및 역(Inverse)데이터치환처리하여 출력하도록 된 복호화처리부 및, 소정 제어신호를 근거로 상기 암호화처리부 및 상기 복호화처리부로부터 인가되는 데이터를 선택적으로 상기 제1 멀티플렉서의 입력으로 제공하는 제2 멀티플렉서를 포함하여 구성되는 것을 특징으로 하는 문서 암/복호화장치.The encryption / decryption apparatus includes a round key providing unit that sequentially provides round key information corresponding to a round key address applied from a round key sequence generating means, and selects data to be encrypted and decrypted and data fed back based on a predetermined control signal. A first multiplexer for outputting, a round key synthesizing unit for exclusively processing the data output from the first multiplexer and a round key applied from the round key providing unit, and data applied from the round key synthesizing unit based on a predetermined control signal An encryption processing unit for performing data substitution (ByteSub) and RowRow processing, and outputting or outputting the row-shifted character data by performing a column combining (MixColumn), and encrypting the encrypted character data applied from the round key synthesis unit. Inverse data after inverse row shift processing based on a predetermined control signal A decryption processing unit for outputting by performing a substitution process or an inverse thermal synthesis process and outputting the inverse row shift and inverse data substitution process; and from the encryption processing unit and the decryption processing unit based on a predetermined control signal. And a second multiplexer for selectively providing applied data to an input of the first multiplexer. 제4항에 있어서,The method of claim 4, wherein 문서 암호화수행시 상기 제어수단은 제2 멀티플렉서를 통해 암호화처리부의 출력데이터가 제1 멀티플렉서로 인가되도록 제어하고,When performing document encryption, the control means controls the output data of the encryption processing unit to be applied to the first multiplexer through the second multiplexer, 상기 제1 멀티플렉서를 통해 제1 클럭주기동안은 원문데이터가 출력되도록 제어함과 더불어 제2 클럭주기부터 제N+1 클럭주기동안은 제2 멀티플렉서로부터 인가되는 문서데이터가 출력되도록 제어하며,The first multiplexer controls to output the original data during the first clock period and to output the document data applied from the second multiplexer from the second clock period to the N + 1 clock period. 상기 암호화처리부를 통해 제1 클럭주기부터 제N-1 클럭주기동안은 데이터치환, 행시프트, 열합성처리된 문자데이터를 상기 제2 멀티플렉서로 출력되도록 하고 제N 클럭주기동안은 데이터치환, 행시프트처리된 문자데이터를 제2 멀티플렉서로 출력되도록 제어하는 것을 특징으로 하는 문서 암/복호화장치. The data processing, row shift, and column synthesized character data are output to the second multiplexer from the first clock period to the N-1 clock period through the encryption processing unit, and the data replacement and row shift are performed during the Nth clock period. A document encryption / decryption apparatus, characterized in that for controlling the output of the processed character data to the second multiplexer. 제4항에 있어서,The method of claim 4, wherein 문서 복호화수행시 상기 제어수단은 제2 멀티플렉서를 통해 복호화처리부의 출력데이터가 제1 멀티플렉서로 인가되도록 제어하고,When performing document decoding, the control means controls the output data of the decoding processing unit to be applied to the first multiplexer through a second multiplexer, 상기 제1 멀티플렉서를 통해 제1 클럭주기동안은 암호화된 원문데이터가 출력되도록 제어함과 더불어 제2 클럭주기부터 제N+1 클럭주기동안은 제2 멀티플렉서로부터 인가되는 데이터가 출력되도록 제어하며,The first multiplexer controls to output encrypted original data during a first clock period, and outputs data applied from a second multiplexer from a second clock period to an N + 1 clock period. 상기 암호화처리부를 통해 제1 클럭주기동안은 행시프트 역변환, 데이터치환 역변환처리된 데이터를 제2 멀티플렉서로 출력되도록 하고, 제2 클럭주기부터 제N 클럭주기동안은 열합성 역변환, 행시프트 역변환, 데이터치환 역변환처리된 데이터를 제2 멀티플렉서로 출력되도록 제어하는 것을 특징으로 하는 문서 암/복호화장치. The encryption processing unit outputs the row shift inverse transform and data exchange inverse transform processed data during the first clock period to the second multiplexer, and performs thermal synthesis inverse transform, row shift inverse transform, and data from the second clock period to the Nth clock period. And outputting the second inverse transform-processed data to a second multiplexer.
KR10-2002-0010887A 2002-02-28 2002-02-28 Device for coding/decoding document KR100531577B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0010887A KR100531577B1 (en) 2002-02-28 2002-02-28 Device for coding/decoding document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0010887A KR100531577B1 (en) 2002-02-28 2002-02-28 Device for coding/decoding document

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR2020020006006U Division KR200279546Y1 (en) 2002-02-28 2002-02-28 Device for coding/decoding document

Publications (2)

Publication Number Publication Date
KR20030071261A KR20030071261A (en) 2003-09-03
KR100531577B1 true KR100531577B1 (en) 2005-11-28

Family

ID=32223032

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0010887A KR100531577B1 (en) 2002-02-28 2002-02-28 Device for coding/decoding document

Country Status (1)

Country Link
KR (1) KR100531577B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR980007156A (en) * 1997-12-09 1998-03-30 임종인 Secret key block encryption and decryption method
KR20000021130A (en) * 1998-09-25 2000-04-15 김용만 Symmetrical key block encryption algorithm
KR100259836B1 (en) * 1997-05-13 2000-06-15 윤종용 A n-round round output feedback block cipher/decipher method
US6246768B1 (en) * 1998-05-06 2001-06-12 Penta Security Systems, Inc. Data encryption system for encrypting plaintext data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100259836B1 (en) * 1997-05-13 2000-06-15 윤종용 A n-round round output feedback block cipher/decipher method
KR980007156A (en) * 1997-12-09 1998-03-30 임종인 Secret key block encryption and decryption method
US6246768B1 (en) * 1998-05-06 2001-06-12 Penta Security Systems, Inc. Data encryption system for encrypting plaintext data
KR20000021130A (en) * 1998-09-25 2000-04-15 김용만 Symmetrical key block encryption algorithm

Also Published As

Publication number Publication date
KR20030071261A (en) 2003-09-03

Similar Documents

Publication Publication Date Title
US7688974B2 (en) Rijndael block cipher apparatus and encryption/decryption method thereof
US8213607B2 (en) Method for securely extending key stream to encrypt high-entropy data
US8555084B2 (en) Data encryption device and memory card
WO2006121149A1 (en) Pseudo random number generation system, encryption system, and decryption system
CA2486713A1 (en) Advanced encryption standard (aes) hardware cryptographic engine
US9270462B2 (en) Method and system for conducting high speed, symmetric stream cipher encryption
JPH1022994A (en) Ciphering device, deciphering device, ciphering method, deciphering method and communication system using the same
EP2717511A1 (en) Method and device for digital data blocks encryption and decryption
US20040223609A1 (en) Data encryption method
US20060198524A1 (en) Hardware implementation of the mixcolumn/invmiscolumn functions
KR200279546Y1 (en) Device for coding/decoding document
KR100710455B1 (en) Apparatus for rijndael block cipher and encryption/decryption method thereof
JP2000209195A (en) Cipher communication system
KR100531577B1 (en) Device for coding/decoding document
EP1629626B1 (en) Method and apparatus for a low memory hardware implementation of the key expansion function
KR100667189B1 (en) Apparatus for aes encryption in mobile device and method thereby
Mohan et al. Revised aes and its modes of operation
CN114826558A (en) Mass data rapid encryption method and system
KR100668664B1 (en) Module and method for encryption/decryption by using aes rijndael block algorithm
KR100494560B1 (en) Real time block data encryption/decryption processor using Rijndael block cipher and method therefor
JP2001285281A (en) Encryption system
JPH10303883A (en) Enciphering method
Nayana et al. VLSI implementation of AES Encryption/Decryption Algorithm using FPGA
JP2002229444A (en) Block encryption and decryption circuit
Gujar Image Encryption using AES Algorithm based on FPGA

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130117

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131121

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160322

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee