KR100531577B1 - Device for coding/decoding document - Google Patents
Device for coding/decoding document Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key 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
본 발명은 문서의 보안성을 제공하기 위한 암호화방법에 관한 것으로, 특히 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.
여기서, 상기 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.
즉, 표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)
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)
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 |
-
2002
- 2002-02-28 KR KR10-2002-0010887A patent/KR100531577B1/en not_active IP Right Cessation
Patent Citations (4)
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 |