KR19980035958A - Encryption method and system - Google Patents
Encryption method and system Download PDFInfo
- Publication number
- KR19980035958A KR19980035958A KR1019960054419A KR19960054419A KR19980035958A KR 19980035958 A KR19980035958 A KR 19980035958A KR 1019960054419 A KR1019960054419 A KR 1019960054419A KR 19960054419 A KR19960054419 A KR 19960054419A KR 19980035958 A KR19980035958 A KR 19980035958A
- Authority
- KR
- South Korea
- Prior art keywords
- reversible
- linear
- encryption
- elements
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 90
- 230000002441 reversible effect Effects 0.000 claims abstract description 140
- 238000006243 chemical reaction Methods 0.000 claims abstract description 51
- 230000014509 gene expression Effects 0.000 claims abstract description 24
- 230000008707 rearrangement Effects 0.000 claims description 29
- 230000009466 transformation Effects 0.000 claims description 14
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010028980 Neoplasm Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 201000011510 cancer Diseases 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001808 coupling effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 사용자가 인식할 수 있는 평문을 인식 불 가능한 암호문으로 변환하는 암호화 시스템에 관한 것이다.The present invention relates to an encryption system for converting a plain text recognizable by a user into a non-recognizable cipher text.
이 암호화 시스템은 난수함수를 이용하여 적어도 3개 이상의 재정렬 정보를 설정하고, 비선형 가역 변환 및 적어도 2개 이상의 선형 가역 변환을 포함하는 가역 변환 수준을 선정하고, 이들 가역 변환의 규칙들과 상기 재정렬 정보들을 이용하여 결합식을 산출하는 키 생성 수단과; 결합식에 의해 상기 평문을 연산하여 암호문을 발생하는 제1 암호화 수단과; 가역 변환 수준에 따라 배열되어 적어도 3개 이상의 재정렬 정보를 이용하는 비선형 가역 변환기와 적어도 2개의 이상의 선형 가역 변환기에 의해, 평문을 변환하여 암호문을 발생하는 제2 암호화 수단으로 구성된다.The encryption system sets at least three reordering information using a random number function, selects a reversible conversion level including a nonlinear reversible conversion and at least two linear reversible conversions, and uses the rules of reversible conversion and the reordering information A key generation unit for calculating a combination formula using the formula; First encryption means for computing the plaintext by a binding expression to generate a ciphertext; And a second encryption means for generating a ciphertext by converting the plaintext by a nonlinear reversal converter arranged according to a reversible conversion level and using at least three or more reordering information and at least two or more linear reversible converters.
이와 같은 구성의 암호화 시스템은 암호화 속도를 향상시키면서 보안성을 유지할 수 있다.The encryption system having such a configuration can maintain the security while improving the encryption speed.
Description
제1도는 본 발명에 따른 공개키 암호화 방법에 대한 과정을 나타낸 도면.FIG. 1 is a diagram illustrating a process of a public key encryption method according to the present invention. FIG.
제2도는 제1도의 공개키 암호화 과정을 보인 흐름도.FIG. 2 is a flow diagram illustrating a public key encryption process of FIG. 1; FIG.
제3도는 본 발명에 따른 선형 가역 CA 정변환을 위한 기능 블록도.FIG. 3 is a functional block diagram for linear inverse CA correcting according to the present invention; FIG.
제4도는 본 발명에 따른 선형 가역 CA 역변환을 위한 기능 블록도.Figure 4 is a functional block diagram for linear inverse CA inverse transform according to the present invention;
제5도는 본 발명에 따른 비선형 가역 CA 정변환을 위한 기능 블록도.FIG. 5 is a functional block diagram for a nonlinear reverse CA corrective transform according to the present invention; FIG.
제6도는 본 발명에 따른 비선형 가역 CA 역변환을 위한 기능 블록도.FIG. 6 is a functional block diagram for a non-linear reversible CA inverse transform according to the present invention.
제7도는 본 발명에 따른 공개키 암호화에서 사용된 재배열 정보 비밀키의 예를 도시한 도면.FIG. 7 illustrates an example of a rearrangement information secret key used in public key encryption according to the present invention; FIG.
제8도는 본 발명에 따른 공개키 암호화에서 사용된 비밀키, 입력, 및 출력관계를 나타낸 도면.FIG. 8 illustrates the secret key, input, and output relationships used in public key encryption according to the present invention; FIG.
제9도는 본 발명의 공개키 암호화에서 결합된 공개키 정보를 나타낸 도면.FIG. 9 illustrates public key information combined in public key cryptography of the present invention; FIG.
제10도는 공개키 암호화에서의 구성 조건별 키의 크기 및 연산수에 대한 비교를 나타낸 도면.FIG. 10 is a diagram showing a comparison of the size of a key and the number of operations according to configuration conditions in public key encryption; FIG.
제11도는 본 발명에 따른 비밀키 암호화 과정을 나타낸 도면.FIG. 11 illustrates a secret key encryption process according to the present invention; FIG.
제12도는 본 발명에 따른 비밀키 암호화에서 사용된 비밀키의 예를 표한 도면.FIG. 12 illustrates an example of a secret key used in secret key encryption according to the present invention; FIG.
제13도는 본 발명에 따른 비밀키 암호화에서의 입력 평문과 출력 암호문간의 관계를 그래프로 나타낸 도면.FIG. 13 is a graph showing a relationship between an input plain text and an output encrypted text in the secret key encryption according to the present invention; FIG.
제14도는 본 발명에 따른 비밀키 암호화 시스템에서의 구성 고전에 따른 비밀키의 크기 및 연산수의 비교를 나타낸 도면.FIG. 14 shows a comparison of the size and the number of operations of the secret key according to the configuration class in the secret key encryption system according to the present invention; FIG.
본 발명은 암호화 방법 및 이를 위한 장치에 관한 것으로, 특히 셀룰러 오토마타(Cellular Automaton, CA) 이론을 이용한 공개키 암호화 방식 및 비밀키 암호화를 위한 장치 및 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption method and an apparatus therefor, and more particularly, to a public key encryption method using Cellular Automaton (CA) theory and an apparatus and method for secret key encryption.
암호 이론은 정보 통신 시스템에서 보안성을 제공하기 위해 매우 중요한 것으로 최근에 정보 통신 사회로 발전해 가면서 그 중요성이 점차 증가하고 있다. 예를 들면 전자 결제 시스템, 디지털 머니라고 하는 응용 분야는 사회를 근본적으로 변혁시킬 수 있는 중요한 도구로서 암으로의 이들의 실용화에 많은 기대를 모으고 있는데 이들 응용 분야가 암시하고 있듯이 그 보안성이 매우 중요하기 때문에 그 응용 분야에서 핵심이 되는 기술이 암호 기술이다. 그러므로 보안성, 뿐만 아니라 암호화, 복호화 속도가 향상된 새로운 암호 알고리즘을 개발하고 이를 필요로 하는 응용 분야에 접목시키는 일은 매우 중요한 것이다.Cryptographic theory is very important to provide security in information communication system. Recently, it is becoming more and more important as information society develops. For example, electronic payment systems and applications such as digital money are very important tools for fundamentally transforming society, and they are expected to be put to practical use in cancer. As these applications suggest, their security is very important Therefore, the key technology in the application field is cryptographic technology. Therefore, it is very important to develop a new cryptographic algorithm with improved security, as well as improved encryption and decryption speeds, and to incorporate it into applications that need it.
통상, 암호 시스템을 사용하는 키(key)에 따라 구분하면 다음과 같이 크게 두가지로 나눌 수 있다.Generally, a key can be divided into two types as follows.
하나는 비밀키 암호 시스템(secret-key cryptosystem, single-keryptosystem)으로서 암호화할 때와 복호화할 때에 모두 하나의 비밀키를 사용하는 것이다.One is a secret-key cryptosystem (single-keryptosystem), which uses a single secret key when encrypting and decrypting.
다른 하나는 공개키 암호 시스템(public-key cryptosystem)으로서 서로 다른 두 개의 키를 쌍으로 사용한다. 암호화할 때에는 공개키를 사용하고 복호화할 때에는 비밀키를 사용한다. 이러한 비밀키 암호 시스템은 빠르고 보안성이 높기 때문에 일반적인 암호화의 용도에 널리 사용되나 송신자, 수신자가 미리 하나의 비밀키를 공유해야 하는 단점이 있어 응용에 제한이 있다. 반면 공개키 시스템은 많은 사용자들이 비밀키를 상호 공유하지 않고도 상대방을 확인하고 인증할 수 있다는 장점이 있으나, 속도가 느려서 응용에 제한이 있다. 그러므로 응용 분야에 따라 이 두가지 방법을 적절하게 결합하여 사용하는 것이 좋다.The other is a public-key cryptosystem that uses two different keys as a pair. The public key is used for encryption and the secret key is used for decryption. Such a secret key cryptosystem is widely used for general encryption because it is fast and highly secure, but there is a limitation in application because a sender and a receiver must share a secret key in advance. On the other hand, the public key system has the advantage that many users can identify and authenticate each other without sharing the secret key, but the application is limited because of the slow speed. Therefore, it is good to combine these two methods appropriately depending on the application field.
널리 쓰이고 있는 이와 같은 RSA 공개키 시스템에 대해 그 장단점을 간단히 설명하며, CA 이론을 적용한 공개키 기술에 대해 이하 보다 상세히 설명한다.The advantages and disadvantages of such a widely used RSA public key system will be briefly described, and public key technology applying CA theory will be described in more detail below.
RSA 공개키 시스템RSA Public Key System
대표적인 공개키 시스템인 RSA 방식은 매우 큰 정수를 소인수 분해하기는 어렵다는 사실에 근거하여 그 보안성을 의존하고 있다. 이 방식에서는 사용자가 정수론에 의거한 특정한 방식으로 서로 쌍으로 사용될 수 있는 두 개의 키를 생성하여 하나의 공개키로 널리 공개하고 다른 하나는 비밀키로서 사용자가 비밀로 보관한다. 암호화할 때에는 공개키를 이용하고 복호화할 때에는 비밀키를 이용해야 하므로 비밀키를 가지고 있는 사용자 이외에는 원래의 정보를 획득할 수 없다. 이 방법은 보안성이 좋아서 현재 가장 널리 쓰이고 있다.The RSA method, which is a typical public key system, relies on its security based on the fact that it is difficult to decompose very large integers into small numbers. In this way, users generate two keys that can be used in pairs in a specific way based on number theory, widely publicized as one public key, and kept secret as a secret key by the user. Since the public key is used for encryption and the secret key is used for decryption, the original information can not be obtained except for the user having the secret key. This method is the most widely used today because of its good security.
그런데 이 방식은 암호화, 복호화할 때 예를 들면 100 자릿수 이상의 매우 큰 정수로 승산을 해야 하기 때문에 실행 속도가 매우 느리다는 약점이 있다. 일반적으로 비밀키 암호화 시스템에 비해 약 100 내지 1000배 정도 속도가 느린 것으로 평가되고 있다. 그래서 일반적인 암호화의 용도에는 사용하지 않고 키 보관, 사용자 인중, 디지털 서명 등 데이터의 크기가 작아서 속도가 크게 중요하지 않은 용도에 주로 사용되고 있다.However, this method has a drawback in that the execution speed is very slow because it must be multiplied by a very large integer equal to or more than 100, for example, when it is encrypted or decrypted. Generally, it is estimated that it is about 100 to 1000 times slower than the secret key encryption system. Therefore, it is mainly used for applications in which the speed is not very important because the data size is small, such as key storage, user authentication, and digital signature, without using for general encryption purpose.
CA 공개키 시스템CA Public Key System
1987년 피. 구안은 CA를 이용한 공개키 시스템을 제안하였다. 이것은 여러개의 비선형 가역 CA들을 결합시켜서 결합된 표현식을 얻어 낸 후 이것을 공개키로 공개하고 각각의 비선형 가역 CA의 정보를 비밀키로 사용하는 것이다. 이럴 경우 공개키인 결합된 표현식은 비선형 연립방정식이 되는 데 이것은 역함수를 구하기 어렵다는 것 때문에 보안성을 갖는다.Blood in 1987. Guan proposed a public key system using CA. It combines several nonlinear reversible CAs to obtain a combined expression, then exposes it as a public key and uses the information of each nonlinear reversible CA as a secret key. In this case, the combined expression, which is a public key, becomes a nonlinear simultaneous equation, which is secure because it is difficult to obtain an inverse function.
다음의 식 (1) 내지 식 (3)은 CA 공개키 시스템을 설명하기 위한 하나의 예로서 선택된 것이며, 이에 대한 자세한 것은 구안의 논문에 기재되어 있다. 이하 다음의 식을 사용하여 설명한다.The following equations (1) to (3) are selected as one example for explaining the CA public key system, details of which are described in the draft paper. Hereinafter, the following equations are used to explain it.
식 (1)Equation (1)
x1= x2 x 1 = x 2
x2= x3 x 2 = x 3
x3= x1 x 3 = x 1
x4= x5+ x1x2 x 4 = x 5 + x 1 x 2
x5= x4+ x2x3 x 5 = x 4 + x 2 x 3
식 (2)Equation (2)
y1= x4 y 1 = x 4
y2= x5 y 2 = x 5
y3= x1+ x4x5 y 3 = x 1 + x 4 x 5
y4= x2+ x1x4 y 4 = x 2 + x 1 x 4
y5= x3+ x1 y 5 = x 3 + x 1
식 (3)Equation (3)
y1= x1x2+ x5 y 1 = x 1 x 2 + x 5
y2= x2x3+ x4 y 2 = x 2 x 3 + x 4
y3= x1x2x3+ x1x2x4+ x2x3x5+ x4x5+ x2 y 3 = x 1 x 2 x 3 + x 1 x 2 x 4 + x 2 x 3 x 5 + x 4 x 5 + x 2
y4= x2x1+ x2x5+ x3 y 4 = x 2 x 1 + x 2 x 5 + x 3
y5= x1+ x2 y 5 = x 1 + x 2
예를 들어 송신자가 2진수로 표현하여 10110(x1, x2, x3, x4, x5)이라는 정보를 송신하려고 하면 상기 식 (3)의 공개키를 이용하여 01011로 암호화하여 송신한다. 수신자는 송신된 01011을 비밀키를 이용하여 원래의 10110으로 복호화하는데 이를 위해서 먼저 식 (2)를 이용하여 01101을 얻고 다시 식 (1)을 이용하여 원래의 평문 10110을 얻는다. 비밀키를 알고 있는 사람은 비선형 가역 CA를 나타내는 식 (1) 및 (2)가 출력으로부터 입력을 거꾸로 계산하는 역과정이 아주 간단하여 매우 빠르게 복호화를 할 수 있다. 반면 공개키만을 알고 있는 사람은 결합된 식 (3)의 역과정을 계산하기 어렵기 때문에 공격하기 여럽기 때문에 이 시스템은 보안성을 갖는다.For example, and it transmits the encrypted to 01 011 by using a public key of the formula (3) The sender wants to transmit information of 10110 (x 1, x 2, x 3, x 4, x 5) , expressed as a binary number . The receiver decodes the transmitted 01011 to the original 10110 using the secret key. To do this, the receiver first obtains 01101 using equation (2), and again obtains the original plaintext 10110 using equation (1). A person who knows the secret key can decrypt very quickly because the inverse process of Equations (1) and (2), which represent the nonlinear reversible CA, computes the input backwards from the output is very simple. On the other hand, the system has security because the person who knows only the public key is vulnerable to attack because it is difficult to calculate the inverse process of the combined equation (3).
이러한 시스템의 장점은 속도가 매우 빠르다는 것이다. 이것은 RSA 시스템이 암호화, 복호화를 위해 매우 큰 정수로 승산 및 모드(mod) 연산하는 것과 비교할 때 간단한 사칙연산만으로 계산이 수행되기 때문이다.The advantage of this system is that it is very fast. This is because the calculation is performed by simple arithmetic only when the RSA system performs multiplication and mode (mod) operations with very large integers for encryption and decryption.
그러나 구안의 논문은 기본적인 아이디어만을 제공한 것이고 이것을 실제로 구현하고자 할 때에는 다음과 같은 여러 가지 어려움들이 있다.However, the paper in Guan provided only basic ideas, and there are various difficulties in realizing this.
1) 어떤 비선형 가역 CA를 비밀키로 사용할 것인가? 선택되는 비밀 키에 따라 공개키의 보안성이 크게 달라질 수도 있고 공개키의 크기가 달라질 수도 있다.1) Which non-linear reversible CA will be used as a secret key? Depending on the chosen secret key, the security of the public key may vary greatly or the size of the public key may vary.
2) 상기 식 (3)과 같은 공개키를 어떻게 표현할 것인가 하는 문제이다. 비선형 가역 CA를 여러개 결합할수록 고차항의 수가 기하급수적으로 늘어나서 이를 체계적으로 표시하는 것이 어렵게 되고 표현한다 하더라도 키의 크기가 너무 커지게 된다.2) It is a matter of how to express the public key like the above equation (3). The more non-linear reversible CAs are combined, the higher the number of higher-order terms increases exponentially, making it difficult to systematically represent them, and the size of the keys becomes too large even if they are represented.
3) 공개키의 크기를 어떻게 줄일 수 있는가 하는 문제이다. 충분한 비선형 결합 특성을 제공하면서도 키의 크기를 줄일 수 있어야 한다. 공개키의 크기가 10000비트 이상이 되면 실제적인 사용에 제한이 많게 된다.3) How to reduce the size of the public key. It is necessary to reduce the size of the key while providing sufficient nonlinear coupling characteristics. If the size of the public key is more than 10,000 bits, there is a limit to practical use.
4) 구안의 논문에서는 암호화, 복호화에 사용되는 CA의 계산을 비트 연산으로 하였는데 이것은 속도가 낮고 보안성이 떨어지는 단점이 있다.4) In the paper of the project, the calculation of the CA used for encryption and decryption was performed by bit operation, which has a disadvantage of low speed and low security.
따라서, 본 발명의 목적은 공개키 암호와 시스템의 속도를 향상시키면서 보안성을 유지할 수 있는 공개키 발생방법을 제공하는 것이다.SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide a public key generation method capable of maintaining security while improving the public key cryptosystem and the speed of the system.
본 발명의 다른 목적은 기존의 공개키 시스템에 비해 획기적으로 빠르고 보안성이 높은 공개키 암호 시스템 및 그 방법을 제공하는 것이다.It is another object of the present invention to provide a public key cryptosystem and a method thereof that are significantly faster and more secure than existing public key systems.
본 발명의 또 다른 목적은 빠르고 보안성이 높은 비밀키 암호 시스템 및 방법을 제공하는 것이다.It is yet another object of the present invention to provide a fast and highly secure secret key encryption system and method.
본 발명이 또 다른 목적은 공개키 방식과 비밀키 방식의 암호 시스템을 하나로 통합하기 쉽도록 하는 것이다.Another object of the present invention is to make it easy to integrate a public key cryptosystem and a secret key cryptosystem into one.
이러한 본 발명의 제1 특징에 따른 공개키 발생방법은 평문의 요소들의 재배열 위치를 지정하는 적어도 3개의 이상의 재배열 정보를 설정하는 단계와, 재배열 정보를 이용하는 비선형 가역 변환과 적어도 2개 이상의 선형 가역 변환을 포함하는 평문의 변환수순을 설정하는 단계와, 적어도 3개 이상의 재배열 정보를 비선형 가역 변환규칙 및와 적어도 2개 이상의 선형 가역 변환규칙들과 결합시켜 평문과 암호문과의 관계를 표현하는 결합식을 산출하는 단계와, 결합식을 공개키로 제공하는 단계를 포함한다.According to a first aspect of the present invention, there is provided a public key generating method comprising: setting at least three pieces of rearrangement information specifying a rearrangement position of elements of a plain text; The method comprising: setting a conversion procedure of a plain text including a linear reversible conversion; combining at least three pieces of the rearrangement information with a non-linear reversible conversion rule and at least two linear reversible conversion rules to express a relationship between the plain text and the ciphertext Calculating a binding expression, and providing the binding expression as a public key.
본 발명의 제2 특징에 따른 암호와 방법은 난수함수를 이용하여 적어도 3개 이상의 재정렬 정보를 설정하고, 비선형 가역 변환 및 적어도 2개 이상의 선형 가역 변환을 포함하는 가역 변환 수순을 선정하고, 이들 가역 변환의 규칙들과 상기 재정렬 정보들을 이용하여 결합식을 산출하는 키 생성 단계와; 결합식에 의해 평문을 연산하여 암호문을 발생하는 암호화 단계를 포함한다.According to a second aspect of the present invention, there is provided an encryption method, comprising: setting at least three reordering information using a random number function; selecting a reversible conversion procedure including a nonlinear reversible conversion and at least two linear reversible conversion; A key generation step of calculating a combining expression using rules of transformation and the reordering information; And an encrypting step of generating a ciphertext by computing a plaintext by a binding expression.
본 발명의 제3 특징에 따른 암호화 방법은 난수함수를 이용항여 적어도 2개 이상의 재정렬 정보를 설정하는 키생성단계와; 적어도 2개 이상의 재정렬 정보를 이용한 적어도 1개 이상의 비선형 가역 변환과 선형 가역 변환을 포함하는 일련의 변환 수순에 따라 평문을 변환하여 암호화 하는 단계를 포함한다.According to a third aspect of the present invention, there is provided an encryption method comprising: a key generation step of setting at least two or more reordering information using a random number function; And transforming and encrypting the plain text according to a series of conversion procedures including at least one nonlinear reversible conversion and linear reversible conversion using at least two pieces of reordering information.
본 발명의 제4 특징에 따른 암호화 방법은 난수함수를 이용하여 적어도 3개 이상의 재정렬 정보를 설정하고, 비선형 가역 변환 및 적어도 2개 이상의 선형 가역 변환을 포함하는 가역 변환 수단을 선정하고, 이들 가역 변환의 규칙들과 상기 재정렬 정보들을 이용하여 결합식을 산출하는 키 생성 단계와; 결합식에 따라 평문을 연산하여 암호문을 발생하는 제1 암호화 단계와; 가역 변환 수순에 따라 적어도 3개 이상의 재정렬 정보를 이용하여 평문을 변환함으로서 평문을 암호화 하는 제2 암호화 단계를 포함한다.According to a fourth aspect of the present invention, there is provided an encryption method comprising: setting at least three reordering information using a random number function; selecting a reversible conversion means including a nonlinear reversible conversion and at least two linear reversible conversion; A key generation step of calculating a combination expression using rules of the reordering information and the reordering information; A first encryption step of generating a ciphertext by computing a plaintext according to a binding expression; And a second encryption step of encrypting the plaintext by converting the plaintext using at least three or more reordering information in accordance with the reversible conversion procedure.
본 발명의 제5 특징에 따른 암호화 시스템은 난수함수를 이용하여 적어도 3개 이상의 재정렬 정보를 설정하고, 비선형 가역 변환 및 적어도 2개 이상의 선형 가역 변환을 포함하는 가역 변환 수순을 선정하고, 이들 가역 변환의 규칙들과 재정렬 정보들을 이용하여 결합식을 산출하는 키 생성 수단과; 결합식에 의해 평문을 연산하여 암호문을 발생하는 암호화 수산을 구비한다.An encryption system according to a fifth aspect of the present invention sets at least three reordering information using a random number function, selects a reversible conversion procedure including a nonlinear reversible conversion and at least two linear reversible conversion, A key generation unit that calculates a combination expression using rules of the reordering unit and reordering information; And a ciphertext to generate a ciphertext by computing a plaintext by a binding expression.
본 발명의 제6 특징에 따른 암호화 시스템은 난수함수를 이용하여 적어도 3개 이상의 재정렬 정보를 발생하는 키생성 수단과; 적어도 2개 이상의 재정렬 정보를 이용하는 적어도 1개 이상의 비선형 가역 변환기와 선형 가역 변환기의 직렬회로에 의해, 상기 평문을 변환하여 암호문을 발생하는 암호화 수단을 구비한다.An encryption system according to a sixth aspect of the present invention includes: a key generation unit that generates at least three reordering information using a random number function; And encryption means for generating the ciphertext by converting the plain text by a serial circuit of at least one nonlinear reversible transducer and at least one linear reversible transducer using at least two or more reordering information.
본 발명의 제7 특징에 따른 암호화 시스템은 난수함수를 이용하여 적어도 3개 이상의 재정렬 정보를 설정하고, 비선형 가역 변환 및 적어도 2개 이상의 선형 가역 변환을 포함하는 가역 변환 수순을 선정하고, 이들 가역 변환의 규칙들과 상기 재정렬 정보들을 이용하여 결합식을 산출하는 키 생성 수단과; 결합식에 의해 상기 평문을 연산하여 암호문을 발생하는 제1 암호화 수단과; 가역 변환 수순에 따라 배열되어 적어도 3개 이상의 재정렬 정보를 이용하는 비선형 가역 변환기와 적어도 2개 이상의 선형 가역 변환기에 의해, 평문을 변환하여 암호문을 발생하는 제2 암호화 수단을 구비한다.An encryption system according to a seventh aspect of the present invention sets at least three reordering information using a random number function, selects a reversible conversion procedure including a nonlinear reversible conversion and at least two linear reversible conversion, Key generation means for calculating a combining expression using rules of the reordering information and the reordering information; First encryption means for computing the plaintext by a binding expression to generate a ciphertext; And a second encryption means arranged in accordance with the reversible conversion procedure to generate a cipher text by converting the plaintext by at least two non-linear reversible converters using at least three or more re-ordering information and at least two linear reversible converters.
이하, 본 발명의 바람직한 실시예를 첨부한 도면을 사용하여 보다 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명은 셀룰러 오토마타(CA) 이론을 이용하여 새로운 공개키 암호 시스템과 비밀키 암호 시스템, 및 방법을 제공하고자 하는 것이다. 또한, 본 발명의 원리를 비밀키 암호 시스템으로 사용함으로서 빠르고 보안성이 높은 새로운 비밀키 암호 시스템 및 방법을 제공하고자 하는 것이다.The present invention seeks to provide a new public key cryptosystem and a secret key cryptosystem and method using cellular automata (CA) theory. It is another object of the present invention to provide a new secret key cryptosystem and method with high security by using the principle of the present invention as a secret key cryptosystem.
본 발명의 목적에 따라 본 발명에서는 CA 공개키 시스템(CAPS) 및 CA 비밀키 시스템(CASS)을 제공한다.For purposes of the present invention, the present invention provides a CA public key system (CAPS) and a CA private key system (CASS).
CA 공개키 시스템CA Public Key System
이하, CA 공개키 시스템에 대해 첨부한 도면을 참조하여 설명한다.Hereinafter, the CA public key system will be described with reference to the accompanying drawings.
본 명세서 서두부분에서 언급한 구안의 논문에 나타난 방법으로는 여러개의 비선형 가역 CA들을 결합시키면 2차 이상의 고차 비선형 항이 기하급수적으로 늘어나서 공개키로 표현하는 것 자체가 어려워질 수 있었다.In the method described in the introduction to this specification, combining multiple nonlinear reversible CAs leads to exponential expansion of the higher order nonlinear terms of the second order, making it difficult to express them as public keys.
본 발명에서는 이를 해결하기 위해서 재배열을 포함하여, 여러개의 선형 가역 CA와 하나의 비선형 가역 CA를 결합시킴으로써 최대 차수는 2차로 제한하면서도 비선형 항을 많이 만들어 공개키의 크기가 작으면서도 역변환이 어려운 변환식을 제공한다. 이때의 선형 결합항은 본 발명에서 m X m 행렬로써 나타내고 2차의 비선형 결합항은 m X m X m 텐서로써 나타낼 수 있다. 여기 사용된 CA에 대한 수학적 정의에 따르면, 크기가 m인 CA는 m개의 내부 상태값과 m 개의 함수 Fi를 가지고 구분된 시간 t 단계로과 같은 형태의 규칙에 따라 상대값이 변경되는 특성을 갖는 동역학 시스템이다. 이것은 시간상, 공간상으로 이산적(discrete)인 특성을 가지고 상태값도 어떤 집합 S 내에 포함된 이산적인 한 값만을 가질 수 있다. 이러한 정의에 기초하여 여러 가지 CA가 도출될 수 있는데, 이 중 가역 CA는 위와 같이 정의된 CA 중에서 입력과 출력의 집합이 같고 일대일 대응되어 역변환이 존재하는 CA를 말한다. 그리고, 각 내부 상태에 정의된 함수 Fi가 모두 같지는 않고 적어도 다른 함수가 하나 이상 존재하는 CA를 불균일(Inhomogeneous) CA라 한다. 선형 가역 CA는 가역 CA 중에서 함수 Fi를 선형 연산만을 사용한 CA를 말한다. 그리고 비선형 CA는 가역 CA 중에서 함수 Fi를 비선형 연산을 적어도 하나 이상 포함하는 CA를 말한다 그리고 여기서 사용되는 CA의 결합이라고 하는 것은 두 개 이상의 CA 규칙(상기 여러가지 CA를 포함하는)을 결합하여 최종 출력을 최초 입력의 함수로 나타내는 것을 의미한다.In order to solve this problem, the present invention combines a plurality of linear reversible CAs and one non-linear reversible CA, including rearrangement, so that the maximum degree is restricted to the second order, and a nonlinear term is generated, . In this case, the linear combination term can be represented by an m X m matrix and the second order nonlinear coupling term can be represented by an m X m X m tensor. According to the mathematical definition for the CA used here, a CA of size m has m internal state values And a time t step separated by m functions F i And the relative value is changed according to a rule of the same type as that of FIG. This has the property of being discrete in time and space, and the state value can have only a discrete value contained in a certain set S. Based on this definition, several CAs can be derived. Among them, the reversible CA refers to a CA having the same set of inputs and outputs and a one-to-one correspondence with the inversions. And, the CA whose function F i defined in each internal state is not the same and at least one other function exists is called an inhomogeneous CA. The linear reversible CA refers to the CA using only the linear operation of the function F i in the reversible CA. And a non-linear CA refers to a CA including at least one non-linear operation of the function F i among the reversible CAs. The combination of the CAs used here combines two or more CA rules (including the above CAs) As a function of the initial input.
본 발명에 따라서, 각 가역 CA의 재배열 정보는 비밀키가 되고 이들이 결합된 최초 입력과 최종 출력 사이의 결합식이 공개키가 된다. 암호화할 때는 공개키를 이용하여 입력 평문으로부터 출력 암호문을 바로 계산해내고, 복호화할 때는 각 결합 단계의 비밀키들을 역순으로 사용하고 각 가역 CA들의 역함수를 이용하여 단계별로 계산하여 입력 암호문으로부터 원래의 평문을 계산해 낸다. 이렇게 하면 충분한 비선형 결합 효과를 가지면서도 공개키는 비교적 적은 크기로 나타낼 수 있다.According to the present invention, the rearrangement information of each reversible CA is a secret key, and the coupling expression between the first input and the final output, which are combined with each other, becomes a public key. When encrypting, the output ciphertext is directly calculated from the input plaintext using the public key. When decrypting, the secret keys of each combining step are used in reverse order, and the inverse function of each reversible CA is calculated step by step. . This allows the public key to be represented with a relatively small size while having a sufficient nonlinear coupling effect.
이러한 본 발명은 원리에 대해서 첨부한 도면을 사용하여 설명한다. 먼저, 재배열에 대한 것은 후술하고, CA를 사용한 암호화 과정에 대해 설명한다.The present invention will be described with reference to the accompanying drawings. First, the rearrangement will be described later, and the encryption process using the CA will be described.
본 발명의 원리에 기초하여 본 발명에서는 R회 적용한 선형 가역 CA, 이에 이어서 1회적용한 비선형 가역 CA, 다음에 다시 R'회 적용한 선형 가역 CA가 되도록 이와 같이 결합시킨다. 물론 이러한 구체적인 결합으로 본 발명이 한정되는 것은 아니며, 이에 포함되어 있는 본 발명의 정신으로부터 다양하게 변형할 수 있음에 유의해야 한다. 상기 예에서 R, R'은 결합 횟수를 나타내는 정수이다.Based on the principle of the present invention, in the present invention, a linear reversible CA applied R times, followed by a non-linear reversible CA applied once, and then a linear reversible CA applied R 'again are combined. It should be noted that the present invention is not limited to these specific combinations, and various modifications may be made without departing from the spirit of the present invention. In the above example, R and R 'are integers representing the number of times of coupling.
이것을 제1도에 도시하였다. 이들을 차례로 결합시키년서 입려고가 출력 사이의 표현식을 살펴보면, 처음 R회까지의 선형 가역 CA의 결합은 선형 변환만을 포함하므로 간단한 m × m 행렬로 나타낼 수 있다. 제1도에서 입력 데이터는 M × 1 벡터로서, 예를 들면 평문을 블록 단위로 분할한 것이 중의 하나이며, 각각의 블록은 소정의 비트로 표현되는 M × 1 벡터이다. 이들은 선형 가역 CA 암호화를 위한 행렬식과 곱하여져 출력되며, 이 출력은 계속하여 다른 성형 CA 암호화를 위한 행렬식에 곱하여지고, 이렇게하여 R회 수행된다.This is shown in FIG. If we look at the expressions between outputs, we can conclude that the combination of linear reversible CAs up to the first R times can be represented by a simple m × m matrix containing only linear transformations. In FIG. 1, the input data is an M × 1 vector, for example, one in which a plain text is divided into blocks, and each block is an M × 1 vector represented by a predetermined bit. These are multiplied by the determinant for the linear reversible CA encryption and output, and this output is then multiplied by the determinant for the other shaping CA encryption and thus performed R times.
그러나, 이때까지의 결합 결과는 간단한 역행렬의 계산만으로 역변환을 계산해낼 수 있으므로, 즉 평문을 쉽게 얻을 수 있으므로 공개키 시스템으로 사용하기에는 부적절하다. 여기에 제1도와 같이 비선형 가역 CA가 1회 결합되면 2차의 비선형 결합항이 발생하게 된다. 이들은 m × m읜 선형 변환 행렬 A와 m × m × m의 비선형 변환 텐서 B로서 나타내어진다. 이때까지의 결합 결과는 비선형 변환 텐서 B를 포함하므로 역변환을 얻기가 어렵다.However, the result of the combination up to this time is inadequate to be used as a public key system because the inverse transformation can be calculated only by simple inverse matrix calculation, that is, a plain text can be easily obtained. When the nonlinear reversible CA is coupled once, as shown in Fig. 1, a second order nonlinear coupling term is generated. These are represented as an m × m linear transformation matrix A and a non-linear transformation tensor B m × m × m. Since the result of the coupling up to this time includes the nonlinear transformation tensor B, it is difficult to obtain the inverse transformation.
이후에 다시 R'회의 선형 가역 CA를 결합시키는데, 본 발명에서 이렇게 하는 이유는 최종의 결합식에서 A와 B가 더욱 복잡하게 결합하도록 하는 역할을 위한 것이다.Thereafter, the linear reversible CA of R 'is again combined. The reason for doing this in the present invention is to make A and B more complex combination in the final combination formula.
이와 같은 암호화 수행에서, 결합할 때 행렬 및 텐서의 각 요소의 값이 모드값 2n을 넘는 경우에는 2n으로 모드 연산한다.In such an encryption it is performed, if more than the matrix, and the value of each element of the tensor mode value 2 n when combining the operation mode are to 2 n.
이와 같이 결합되어 얻어진 최초 입력과 최종 출력과의 관계식에서 A와 B를 공개키로 공개하며 암호화할 때에는 선형 변환 행렬 A, 비선형 변환 텐서 B를 이용하여 입력 평문으로부터 출력 암호문을 직접 계산해낼 수 있다. 공개키 A, B를 이용한 암호화 과정을 제2도에 나타내었다. 제2도의 흐름도는 제1도의 과정을 알기 쉽게 반복한 것이므로 이에 대한 상세한 것은 생략한다.In the relation between the first input and the final output obtained in this way, A and B are disclosed as a public key, and the output ciphertext can be directly calculated from the input plain text using the linear transformation matrix A and the nonlinear transformation tensor B when encryption is performed. The encryption process using public keys A and B is shown in FIG. The flowchart of FIG. 2 is a repetition of the process of FIG. 1 in an easy-to-understand manner, so that a detailed description thereof will be omitted.
본 발명에서는 이러한 처리 과정에서 CA의 재배열을 사용한다는 것에 주목해야 한다. 본 발명에서는 결합에 사용된 선형 가역 CA 및 비선형 가역 CA의 재배열 수열들을 비밀키로서 비밀로 보관한다. 복호화할 때는 이들 재배열 수열의 정보들을 역순으로 이용하고 각 가역 CA들의 역함수(제4도 및 제6도 참조, 이에 대해서는 후술함)를 이용하여 단계별로 계산하여 입력 암호문으로부터 원래의 평문을 얻어낸다.It should be noted that the present invention uses a rearrangement of the CA in this process. In the present invention, the sequences of rearrangement of the linear reversible CA and non-linear reversible CA used in the association are kept secret as a secret key. When decrypting, the information of these rearrangement sequences is used in reverse order, and the original plaintext is obtained from the input ciphertext by calculating the inverse function of each reversible CA (see FIG. 4 and FIG. 6, which will be described later) .
이하, 상기 기술한 바와 같은 본 발명에 따른 CA 공개키 시스템에 대해서, 제1도에 나타낸 R회 수행되었던 선형 가역 CA에 대해서 제3도를 참조하여 보다 구체적으로 설명한다.Hereinafter, with respect to the CA public key system according to the present invention as described above, the linear reversible CA performed R times shown in FIG. 1 will be described in more detail with reference to FIG.
먼저 평문은 다수의 블록으로 분할되고, 이 데이터 블록 내 데이터 요소의 개수를 m이라 하고 각 데이터 요소는 n비트의 숫자로 나타낸다고 하자. 그러면 모드 연산값은 2n이 된다. 입력 데이터를 X = (x0, x1,...,xm-1), 재배열된 데이터를 Y = (y0, y1,...,ym-1), 재배열 수열을 P = (p0, p1,..., pm-1), 본 발명에 따른 가역 CA 출력 데이터를 Z = (z0, z1,..., zm-1)라 하고, 각각의 데이터 요소는 n비트의 정수로 나타내기로 한다. 이 경우 각 데이터 요소들은 0∼2n-1 사이의 값을 가질 수 있다. 이 때 선형 가역 CA에 대한 입력 데이터 X로부터 출력 데이터 Z로의 함수는 재배열 수열 P를 포함하여 다음과 같이 정의한다.First, let us say that the plaintext is divided into a plurality of blocks, the number of data elements in the data block is m, and each data element is represented by n bits. Then the mode operation value is 2 n . The input data X = (x 0, x 1 , ..., x m-1), the rearranged data Y = (y 0, y 1 , ..., y m-1), a rearranged sequence p = (p 0, p 1 , ..., p m-1), referred to the output data the reversible CA z = (z 0, z 1 , ..., z m-1) in accordance with the present invention, each Are represented by n-bit integers. In this case, each data element may have a value between 0 and 2 n -1. In this case, the function of the input data X to the output data Z for the linear reversible CA is defined as follows including the reordering sequence P:
yi= xpi, 0 ≤ i my i = x pi , 0? im
z0= y0 z 0 = y 0
zi= yi+ yi-1(mod 2n), 0 i m(4)z i = y i + y i-1 (mod 2 n ), 0 im (4)
이것의 역함수는 다음과 같이 간단하게 표시된다.The inverse of this is simply shown as:
y0= z0, 0 i my 0 = z 0 , 0 im
y0= zi- yi-1(mod 2n), 0 i my 0 = z i -y i-1 (mod 2 n ), 0 im
xpi= yi, 0 ≤ i m(5)x pi = y i , 0? im (5)
이와 같은 본 발명에 따른 선형 가역 CA의 정변환과 그 역변환의 계산 과정을 제3도 및 제4도에 나타내었다. 이것은 배열 수열 P를 사용하여 입력 데이터 X를 개배열 데이터 Y로 1차 변환한 후 첫 번째 출력은 첫 번째 재배열 데이터를 그대로 사용하고 나머지 출력들에 대해서는 현재 위치와 바로전 위치의 재배열 데이터를 더한 값을 사용하는 것으로 설명될 수 있다. 만일 더한 값이 2n이상이 되면, 모드 연산을 한다. 이렇게 정의하면 역함수가 상기 식 (5)와 같이 간단하게 주어지는 가역 CA가 된다. 역함수를 계산할 때에는 첫 번째 데이터 요소를 먼저 계산하고 이를 이용하여 차례로 다음 데이터 요소들을 계산해 나간다. 마지막으로 역재배열 수열을 이용해 최종의 출력 평문 X를 구할 수도 있다. 그리고 mod = 2n은 편의상 일례로 적용한 것으로 실제로는 임의의 양의 정수로 대치될 수 이다.The process of calculating the inverse transformation of the linear reversible CA according to the present invention is shown in FIG. 3 and FIG. 4. This is done by first converting the input data X to the rearranged data Y by using the array sequence P, then using the first rearranged data as the first output, and re-arranging the current position and the immediately preceding position Can be described as using a summed value. If the sum exceeds 2 n , the mode operation is performed. In this definition, the inverse function is a reversible CA given simply as Equation (5). When calculating the inverse function, the first data element is calculated first and then the next data element is calculated in turn. Finally, the final output plaintext X can be obtained using the inverse array sequence. Mod = 2 n is applied as an example for the sake of convenience and can actually be replaced with any positive integer.
이와 같이 데이터를 재배열 수열 P을 사용하여 재배열한 후 선형 가역 CA는 행렬식을 사용하면 다음의 식 (6)으로 나타낼 수 있다. 이는 또한 제2도의 흐름도를 이해하는데 도움이 될 것이다.After reordering the data using the reordering sequence P, the linear reversible CA can be expressed by the following equation (6) using the determinant. This will also help to understand the flow diagram of FIG. 2.
Y = AX, 즉Y = AX, i. E.
본 발명의 원리를 용이하게 이해할 수 있도록 구체적인 예를 들어 설명한다.Specific examples will be described to facilitate understanding of the principles of the present invention.
먼저 데이터 블록 내 데이터 요소의 개수를 m을 5이라 하고 각 데이터 요소는 4비트라고 하자, 그러면 모드 연산값은 16이 된다. 입력 데이터를 X = (x0, x1, x2, x3, x4), 출력 데이터를 Y = (y0, y1, y2, y3, y4), 재배열 수열을 = (p0, p1, p2, p3, p4)라 하고, R = R' = 5라 한다. 이때, 재배열 수열이 p = 2, 1, 4, 0)인 경우, 정변환과 역변환은 다음의 식 (7), (8)로 주어진다.Let the number of data elements in the data block be m = 5 and each data element be 4 bits, then the mode operation value is 16. The input data X = (x 0, x 1 , x 2, x 3, x 4), the output data Y = (y 0, y 1 , y 2, y 3, y 4), = a rearrangement sequence ( p 0 , p 1 , p 2 , p 3 , p 4 ), and R = R '= 5. In this case, if the reordering sequence is p = 2, 1, 4, 0, the forward and inverse transforms are given by the following equations (7) and (8).
식 (7) :Equation (7):
z0= x3 z 0 = x 3
z1= x2+ x3 z 1 = x 2 + x 3
z2= x1+ x2 z 2 = x 1 + x 2
z3= x4+ x1 z 3 = x 4 + x 1
z4= x0+ x4 z 4 = x 0 + x 4
식 (8) :Equation (8):
x3= z0 x 3 = z 0
x2= z1- x3 x 2 = z 1 - x 3
x1= z2- x2 x 1 = z 2 - x 2
x4= z3- x1 x 4 = z 3 - x 1
x0= z4- x4 x 0 = z 4 - x 4
이와 같은 원리에 의해서, 입력 데이터와 재배열 수열이 제7도 및 제8도에 도시한 바와 같이 주어졌다고 할 때 이 때 얻어지는 출력은 다음과 같다.Based on this principle, when the input data and the rearrangement sequence are given as shown in FIGS. 7 and 8, the output obtained at this time is as follows.
본 예에서, 각 가역 CA에서 사용된 재배열 수열, 즉 비밀키는 제7도와 같다. 이러한 재배열 수열 정보를 이용한 선형 가역 CA, 다음에 설명할 비선형 가역 CA들은 제8도에 보인 예와 같은 방식으로 결합된다. 여기에서는 선형 가역 CA만이 예시되어 있다.In this example, the reordering sequence, i.e., the secret key, used in each reversible CA is the same as in the seventh aspect. The linear reversible CA using the rearrangement sequence information and the non-linear reversible CAs to be described next are combined in the same manner as in the example shown in FIG. Here, only linear reversible CA is illustrated.
도면에서, sk는 비밀키를 나타내며, 괄호는 수행 순서를 나타낸다. 제7도의 I에서 sk(1)의 P(1)에 정해진 4, 1, 2, 3, 0은 제8도(A)에서 입력 (5, 15, 12, 5)의 순서를 (5, 2, 15, 12, 5)로 재배열하게 함을 의미한다. 그러면 재배열된 Y 데이터는 제3도와 같은 선형 가역 CA 규칙에 따라 출력 데이터 (5, 7, 1, 11, 1)을 얻는다.In the figure, sk denotes a secret key, and parentheses indicate the order of execution. 4, 1, 2, 3 and 0 specified in P (1) of sk (1) in I of FIG. 7 indicate the order of inputs 5, 15, 12 and 5 in , 15, 12, 5). Then, the rearranged Y data obtains the output data (5, 7, 1, 11, 1) according to the linear reversible CA rule of the third aspect.
계속하여, 제7도의 ‘I’에서 두 번째 적용할 비밀키 sk(2)의 재배열 수열 P(2)는 (3, 1, 4, 2, 0)이다. 그러면, 제8도(A)에서 나온 출력 (5, 7, 1, 11)은 P(2)에 따라 (11, 7, 1, 1, 5)로 재배열 되고 이 데이터는 제3도의 선형 가역 CA에 따라 출력 (11, 2, 8, 2, 6)이 된다. 즉, 11은 그대로 출력되고, 출력의 z2는 제2 재배열된 데이터의 y(0) + y(1)을 더한 11 + 7 =18이 되나, 모드 16을 적용하여 2의 값이 된다. 이하, sk(3) 내지 sk(5)에 대해서 마찬가지 과정을 거치는데, 제8도에서 4번째 까지의 결과만이 도시되어 있다. 그리고 제8도에서 대괄호로 표시된 숫자들을 행렬식을 나타낸 것으로 이는 입력과 행렬식의 적에 의해서 출력이 나오는 것을 식으로서 표시하기 위한 것이다. 그리고 이것은 공개키로 사용될 것이다.Next, the reordering sequence P (2) of the secret key sk (2) to be applied second in the 'I' of FIG. 7 is (3, 1, 4, 2, 0). The outputs 5, 7, 1 and 11 from Fig. 8 (A) are then rearranged to 11, 7, 1, 1 and 5 according to P (2) (11, 2, 8, 2, 6) according to CA. That is, 11 is outputted as it is, and z2 of the output becomes 11 + 7 = 18 by adding y (0) + y (1) of the second rearranged data. Hereinafter, the same procedure is applied to sk (3) to sk (5), only the results from the 8th to the 4th are shown. In FIG. 8, the square brackets represent the determinant, which is used to express the output by the enemy of the input and the determinant. And this will be used as a public key.
이와 같이, 본 발명의 암호화 과정에 따른 그 첫 번째 과정에 따라 재배열을 포함하는 선형 가역 CA가 5번(R=5) 반복하여 행해졌다. 이 과정에서 최종 출력된 데이터를 또 다시 입력으로 하여 이번에는 제7도의 ‘II’와 같이 비선형 가역 CA를 적용한다.Thus, according to the first procedure according to the encryption process of the present invention, a linear reversible CA including reordering is repeated five times (R = 5). In this process, the final output data is input again, and this time, a nonlinear reversible CA is applied as shown in 'II' of FIG. 7.
이하 비선형 가역 CA에 대해서 보다 구체적으로 설명하도록 한다.Hereinafter, the non-linear reversible CA will be described in more detail.
선형 가역 CA의 경우와 같이 본 발명에 따른 비선형 가역 CA에 대해서, 먼저 개괄을 설명하고, 이어서 구체적인 수치예로서 이 과정에 대해 설명한다.As in the case of the linear reversible CA, the non-linear reversible CA according to the present invention will first be outlined, followed by a specific numerical example.
데이터 블록 내 데이터 요소의 개수를 m이라 하고 각 데이터 요소는 n비트의 숫자로 나타낸다고 하자. 그러면 모드 연산값은 2n이 된다. 입력 데이터를 X = (x0, x1,..., xm-1), 재배열된 데이터를 Y = (y0, y1,..., ym-1), 개배열 열을 P = (p0, p1,..., pm-1), 출력 데이터를 Z = (z0, z1,..., zm-1)라 하고, 각각의 데이터 요소는 n비트의 정수로 나타내기로 한다. 이 경우 각 데이터 요소들은 0 - 2n- 1 사아의 값을 가질 수 이다. 이 때 비선형 가역 CA에 대한 입력 데이터 X로부터 출력 데이터 Z로의 함수는 재배열 수열 P를 포함하여 다음과 같이 정의한다.Let the number of data elements in a data block be m and each data element be represented by a number of n bits. Then the mode operation value is 2 n . The input data X = (x 0, x 1 , ..., x m-1), the rearranged data Y = (y 0, y 1 , ..., y m-1), the two arrays column p = (p 0, p 1 , ..., p m-1), the output data Z = (z 0, z 1 , ..., z m-1) d, and each data element is n-bit . ≪ / RTI > In this case, each data element can have a value of 0 - 2 n - 1 s. At this time, the function of the input data X to the output data Z for the nonlinear reversible CA is defined as follows including the reordering sequence P:
yi= xpi, 0 ≤ i my i = x pi , 0? im
z0= y0 z 0 = y 0
zi= yi+ y0(mod 2n), 0 i mz i = y i + y 0 (mod 2 n ), 0 im
zi= yi+ yi-1+ yi-1yi-2(mod 2n), 2 ≤ i m(9) z i = y i + y i -1 + y i-1 y i-2 (mod 2 n), 2 ≤ im (9)
이것의 역함수는 다음과 같이 간단하게 표시된다.The inverse of this is simply shown as:
y0= z0 y 0 = z 0
yi= zi- y0(mod 2n)y i = z i - y 0 (mod 2 n )
yi= zi- yi-1- yi-1yi-2(mod 2n), 2 ≤ i m y i = z i - y i -1 - y i-1 y i-2 (mod 2 n), 2 ≤ im
xpi= yi, 2 ≤ i m(10)x pi = y i , 2? im (10)
이와 같은 본 발명에 따른 비선형 가역 CA의 정변환과 그 역변환의 계산 과정을 제5도 및 제6도에 나타내었다. 이것은 재배열 수열 P를 사용하여 입력 데이터 X를 재배열 데이터 Y로 1차 변환한 후 첫 번재 출력은 첫 번째 재배열 데이터를 그대로 사용하고, 두 번째 출력은 현재 위치와 바로 전위치의 재배열 데이터를 더한 값을 사용하며, 나머지 출력들에 대해서는 현재 위치의 재배열 데이터, 바로전 위치의 재배열 데이터, 그리고 바로 전의 2개의 재배열 데이터를 곱합 값을 모두 더한 값을 사용하는 것으로 설명될 수 있다. 만일 더한 값이 2n이상이 되면, 모드 연산을 한다. 이렇게 정의하면 역함수가 식 (10)와 같이 간단하게 주어지는 비선형 가역 CA가 된다. 역함수를 계산할 때에는 첫 번째 데이터 요소를 먼저 계산하고 이를 이용하여 차례로 다음 데이터 요소들을 계산해 나간다. 마지막으로 역재배열 수열을 이용해 최종의 출력 평문 X를 구할 수도 있다.The process of calculating the inverse transformation of the nonlinear reversible CA according to the present invention is shown in FIGS. 5 and 6. This is done by first converting the input data X to the rearranged data Y using the rearranging sequence P, and then using the first rearranged data as the first output and the rearranged data And the remainder data of the current position, the reorder data of the immediately preceding position, and the reorder data of the immediately preceding position plus the sum of the values of the remainder data are used for the remaining outputs . If the sum exceeds 2 n , the mode operation is performed. In this definition, the inverse function is a nonlinear reversible CA given simply as Eq. (10). When calculating the inverse function, the first data element is calculated first and then the next data element is calculated in turn. Finally, the final output plaintext X can be obtained using the inverse array sequence.
예를 들어 m = 5이고 재배열 수열이 p = (3, 2, 1, 4, 0)인 경우 정변환과 역변환은 다음의 식 (11), (12)로 주어진다.For example, when m = 5 and the reordering sequence is p = (3, 2, 1, 4, 0), the forward and inverse transforms are given by the following equations (11) and (12).
식 (11) :Equation (11):
z0= x3 z 0 = x 3
z1= x2+ x3 z 1 = x 2 + x 3
z2= x1+ x2+ x2x3 z 2 = x 1 + x 2 + x 2 x 3
z3= x4+ x1+ x1x2 z 3 = x 4 + x 1 + x 1 x 2
z4= x0+ x4+ x4x1 z 4 = x 0 + x 4 + x 4 x 1
식 (12) :Equation (12):
x3= z0 x 3 = z 0
x2= z1- x3 x 2 = z 1 - x 3
x1= z0- x2- x2x3 x 1 = z 0 - x 2 - x 2 x 3
x4= z0- x1- x1x2 x 4 = z 0 - x 1 - x 1 x 2
x0= z0- x4- x4x1 x 0 = z 0 - x 4 - x 4 x 1
이러한 비선형 가역 CA는 행렬식을 사용하여 다음의 식 (13)과 같이 나타낼 수 있다.This nonlinear reversible CA can be expressed as the following equation (13) using the determinant.
Y = AX + XBX, 즉Y = AX + XBX, i. E.
그러면, 다시 구체적인 예인 제7도로 돌아가서, 제7도의 ‘II’와 같이 sk는 비밀키를 나타내며, 괄호는 수행 순서를 나타내는 것이므로, 이 때의 sk(6)의 P(1)은 (2, 3, 0, 4, 1)로 정해졌다. 그리고 이를 적용할 입력 데이터는 제7도 I에서 최종으로 나온 데이터이다. 그리고 재배열한 후에 얻어질 출력 데이터는 이번 경우에는 비선형 CA에 해당하므로 앞의 식 (13)에 따라 수행됨에 유념한다.Then, returning to the concrete example 7 again, sk represents the secret key as in the case of 'II' in FIG. 7, and parentheses indicate the order of execution, so P (1) of sk , 0, 4, 1). The input data to which this is applied is the data finally presented in Fig. Note that the output data to be obtained after the rearrangement is performed in accordance with the above equation (13) since it corresponds to the non-linear CA in this case.
이와 같은 비선형 가역 CA에 사용되는 비선형 항에는 예시된 바와 같이 2개 이상의 데이터 요소의 곱셈항을 포함한다. 이때 이 곱셈항에 사용되는 2개 이상의 데이터 요소는 역함수 계산할 때 나눗셈을 포함하지 않도록 선택되도록 설계하는 것이 바람직하다.The nonlinear term used for such a non-linear reversible CA includes the term of multiplication of two or more data elements as illustrated. At this time, it is desirable to design the two or more data elements used in the multiplication term to be selected so as not to include division when calculating the inverse function.
이와 같이 제7도의 I 및 II과정을 마쳤으면, 다시 III과 같은 과정을 마찬가지 방법으로 적용하여 암호화하여 본 발명에 따른 암호화를 완료한다.When the steps I and II of FIG. 7 are completed, the same process as in the step III is applied again in the same manner, and the encryption according to the present invention is completed.
이와 같이 선형 가역 CA를 5회, 이어서 비선형 가역 CA를 1회, 이어서 선형 가역 CA를 다시 5회 결합한 후 최종적으로 제9도에 보인 바와 같은 공개키 A, B를 얻게 된다.Thus, after combining the linear reversible CA 5 times, followed by the nonlinear reversible CA once, then the linear reversible CA again 5 times, finally the public keys A and B as shown in FIG. 9 are obtained.
이러한 공개키 시스템의 특징을 살펴보도록 한다.Let's take a look at the characteristics of such a public key system.
상기 설명한 공개한 시스템에서 공개키의 크기는In the disclosed system described above, the size of the public key is
이 된다. 텐서항의 크기가 m3n이 되지 않는 이유는 jk인 경우,. The reason why the size of the tensor term is not m 3 n is j k,
bijkxjxk+ bijkxkxj= (bijk+ bikj)xjxk(15)b ijk x j x k + b ijk x k x j = (b ijk + b ikj ) x j x k (15)
와 같이 짧게 나타낼 수 있기 대문이다.As shown in Fig.
한편 각 재배열 요소를 나타내는 데에는 ℓ =정도의 비트수를 필요로 하므로, 비밀키의 크기는 m ℓ (R + ℓ + R')이 된다. 또 단위 데이터 블록의 크기는 mn이다.On the other hand, to represent each rearrangement element, ℓ = , The size of the secret key is m ℓ (R + ℓ + R '). The size of the unit data block is mn.
제10도에 본 발명에 따른 공개키 시스템의 구성 조건을 변화시킬 때 키의 크기 및 연산수를 분석한 결과를 보였다. 한 예로 m = 12, n = 8=일 경우 블록 크기는 96비트가 되고 공개키의 크기는 8640비트, 비밀키의 크기는 528비트가 된다. 이 정도이면 공개키 시스템으로 충분히 사용될 수 있다. 공개키는 알려져 있더라도 이로부터 이의 역함수를 얻는 것은 불가능하므로 공격하고자 하는 사람은 비밀키를 찾아내고자 시도해 볼 것이다. 그러나, 비밀키 자체에 대한 공격 시도는 2ml(R + ℓ + R')= 2528= 9 × 10158정도의 시도를 요하며 비밀키의 재배열 수열에 대한 공격 시도는 m!R + I + R'= 3 × 1095정도의 시도를 요하는데 이것은 충분한 보안성을 갖는다고 말할 수 있다.FIG. 10 shows the result of analyzing the key size and the number of operations when changing the configuration conditions of the public key system according to the present invention. For example, if m = 12 and n = 8 =, the block size is 96 bits, the size of the public key is 8640 bits, and the size of the secret key is 528 bits. This is enough to be used as a public key system. Even though the public key is known, it is impossible to get its inverse from it, so the person you want to attack will try to find the secret key. However, the attack attempt on the secret key itself requires an attempt of 2 ml (R + ℓ + R ') = 2 528 = 9 × 10 158 , and the attack attempt on the secret key reordering sequence is m! R + I + R ' = 3 × 10 95 , which can be said to have sufficient security.
한편, 속도에 관계되는 연산수를 비교해보면 암호화할 때의 연산수는 비트당 47.3회이고 복호화할 때의 연산수는 비트당 1.5회로써 암호화는 복호화보다 약 30배 느린 것을 알 수 있다. 여기서 연산수는 편의상 덧셈, 곱셈을 구분하지 않았다. 복호화할 때의 속도는 일반적인 비밀키 시스템들의 속도와 비슷한 수준이며 암호화할 때에는 이보다 느리지만 기존의 RSA 등에 비하면 이것은 매우 빠른 속도이다.On the other hand, when comparing the number of operations related to the speed, it can be seen that the number of operations in encryption is 47.3 times per bit, and the number of operations in decryption is 1.5 times per bit, and the encryption is about 30 times slower than decryption. Here, the number of operations does not distinguish between addition and multiplication for convenience. The speed of decryption is similar to that of general secret key systems. Encryption is slower than this, but it is very fast compared to conventional RSA.
CA 비밀키 시스템(CASS)CA Secret Key System (CASS)
본 발명의 목적에 따라 언급한 CA 공개키 시스템외에도, 본 발명에서 CA 비밀키 시스템이 제공된다. 이것은 근본적으로 선형 가역 CA들을 결합하되 공개키를 생성하지 않고 비밀키를 암호화할 때 및 복호화 할 때 모두 사용하는 방법이다.In addition to the CA public key system referred to for the purposes of the present invention, a CA private key system is provided in the present invention. This is basically a way to combine linearly reversible CAs, but to encrypt and decrypt the secret key without generating a public key.
이 시스템이 공개키 시스템과 다른점은 여러개의 가역 CA들을 결합시키되 공개키를 생성하지 않고 여기에 사용된 재배열 수열의 정보를 비밀키 방식으로 암호화할 때와 복호화할 때에 모두 이용한다는 것이다. 암호화할 때에는 비밀키를 이용하여 각 가역 CA의 정변환을 단계별로 계산하여 최종의 암호문을 계산해 내고 복호화할 때에는 같은 비밀키를 역순으로 이용하고 각 가역 CA들의 역변환을 단계별로 계산하여 원래의 평문을 계산해내는 것이다.This system differs from the public key system in that it combines multiple reversible CAs, but does not generate the public key, but uses both the secret key encryption and decryption information of the reordering sequence used here. When encrypting, the secret key is used to calculate the definite ciphertext of each reversible CA step by step, and the final ciphertext is computed. When decrypting, the same secret key is used in reverse order and the inverse transform of each reversible CA is calculated step by step. It is calculated.
먼저 데이터 블록 내 데이터 요소의 개수를 m이라 하고 각 데이터 요소는 n 비트의 숫자로 나타낸다고 하자. 그러면 모드 연산값은 2n이 된다. 입력 데이터를 X = (x0, x1, ..., xm-1), 출력 데이터를 Y = (y0, y1,..., ym-1), 재배 수열을 P = (p0, p1,..., pm-1)라 하자. 이와 같다고 할 때, 본 발명에 따른 R개의 선형 가역 CA 및 비선형 가역 CA들을 통과하는 비밀키 시스템의 수행 과정은 제11도에 도시한 바와 같다. M × 1 크기의 입력 데이터는 R회의 선형/비선형 가역 CA를 재배열을 포함하여 각각 수행된 후에 출력 데이터를 얻는다. 재배열 정보는 임의의 난수 함수를 이용하여 얻어질 수 있으며, 이를 본 발명에 적용한다.Let the number of data elements in the data block be m and each data element be represented by n bits. Then the mode operation value is 2 n . The input data X = (x 0, x 1 , ..., x m-1), the output data Y = (y 0, y 1 , ..., y m-1), the planting sequence P = ( p 0 , p 1 , ..., p m-1 ). In this case, the procedure of the secret key system for passing R linear reversible CAs and non-linear reversible CAs according to the present invention is as shown in FIG. The input data of size M × 1 includes output data, after performing each of the R linear / non-linear reversible CAs rearrangement. The rearrangement information can be obtained by using an arbitrary random number function, and this is applied to the present invention.
이러한 비밀키 시스템을 실현하는 예로서 본 발명에 따라 제공하는 실시예를 다음에 설명한다.Embodiments provided by the present invention as an example of realizing such a secret key system will be described next.
데이터 요소의 개수 m = 12, 각 데이터 요소의 비트수 n = 8, 수행횟수 R = 10으로 하고 비선형 가역 CA만을 이용하여 비밀키 시스템을 실현할 수 이다. 이때 사용된 비밀키를 제12도에 나타내었다. 그리고 이러한 조건에서 입력 평문과 출력 암호문의 분포 특성을 제13도에 나타내었다. 이 특성으로부터 대각선의 데이터는 출력 암호문을 다시 복호화한 결과로서 입력 평문과 일치함을 알 수 있다.The secret key system can be realized by using only the non-linear reversible CA with the number of data elements m = 12, the number of bits n = 8, and the number of execution R = 10 of each data element. The secret key used at this time is shown in FIG. The distribution characteristics of input plaintext and output ciphertext are shown in Fig. 13 under these conditions. From this characteristic, it can be seen that diagonal data coincides with the input plaintext as a result of re-decrypting the output cipher text.
또한 이에 더하여, 상기한 예의 각 수행단계에서 사용하는 가역 CA를 선형 가역 CA로 할 것인지 아니면 비선형 가역 CA로 할 것인지를 사용자가 선택할 수 있도록 하고 이 정보를 비밀키에 포함시킬 수도 있다. 이를테면 선형 가역 CA를 사용할 경우에는 0, 비선형 가역 CA를 사용할 경우에는 1로 나타내도록 할 수 있다.In addition, the user can select whether the reversible CA used in each step of the above example is a linear reversible CA or a non-linear reversible CA, and the information can be included in the secret key. For example, it can be represented as 0 when using a linear reversible CA, or as 1 when using a non-linear reversible CA.
상기한 실현예에서 시스템 구성 조건에 따른 비밀키의 크기 및 연산수는 제14도에 도시한 바와 같이, 데이터 요소의 개수 m과 요소의 비트수 n을 증가시킴으로써, 비트당 연산수를 크게 줄일 수 있다. 예를 들면 m = 12 n = 32, R = 10인 경우 단위 데이터 블록의 크기는 384비트이고, 비밀키의 크기는 480비트이며, 이 때 비트당 연산수는 0.81로서 매우 빠른 암호화 속도를 낼 수 있다. 이 경우의 비밀키에 대한 공격 가능성은 12!10= 6 × 1086이다.As shown in FIG. 14, by increasing the number of data elements m and the number of bits n of the element, the number of operations per bit can be greatly reduced have. For example, when m = 12 n = 32 and R = 10, the size of the unit data block is 384 bits and the size of the secret key is 480 bits. In this case, the number of operations per bit is 0.81, have. The possibility of an attack on a secret key in this case is 12! 10 = 6 × 10 86 .
다음에 또 다른 실현예에 대해서 설명한다. 본 예에서 가역 CA를 비밀키 시스템으로 사용하고자 하면, 키의 일부를 데이터 블록과 연산, 결합시키는 방식으로 사용할 수 있다. 환언하여, 이러한 시스템에서 비밀키는 재배열 정보를 나타내는 재배열 비밀키를 Kp로 표시하면 이 비밀키와 데이터 블록과 결합되는 결합 비밀키(Kc로 표시함)로 구성된다. 이 때 사용되는 선형 가역 연산을 다음의 식 (16)과 같이 정할 수 있다. 즉 ki로 표시한 비선형 가역 CA의 결합 비밀키는 이미 사용된 데이터 블록 yi-1과 결합하여 새로운 데이터 블록 zi를 형성한다.Next, another realization example will be described. In this example, if a reversible CA is used as a secret key system, a part of the key can be used as a method of calculating and combining with a data block. In other words, in this system, the secret key is composed of a secret key (denoted by Kc), which is combined with the secret key and the data block, when the rearranged secret key representing the rearrangement information is denoted by Kp. The linear reversible operation used at this time can be defined as the following equation (16). The combined secret key of the nonlinear reversible CA denoted ki is combined with the already used data block yi -1 to form a new data block zi.
식 (16) :Equation (16):
yi= xpi, 0 ≤ i my i = x pi , 0? im
zo= y0+ k0(mod 2n)z o = y 0 + k 0 (mod 2 n )
z1= y1+ y0+ y0k1(mod 2n), 0 i mz 1 = y 1 + y 0 + y 0 k 1 (mod 2 n ), 0 im
zi= yi+ yi-1+ yi-1yi-2+ yi-1ki(mod 2n), 2 ≤ i m z i = y i + y i -1 + y i-1 y i-2 + y i-1 k i (mod 2 n), 2 ≤ im
이것의 역함수는 다음의 식 (17)과 같이 간단히 주어지며 첫 번째 데이터 요소로부터 차례대로 빠르게 계산될 수 있다.The inverse of this is given simply as Eq. (17) and can be calculated quickly from the first data element in order.
식 (17) :Equation (17):
y0= z0- k0(mod 2n)y 0 = z 0 - k 0 (mod 2 n )
y1= z1- y0- y0k1(mod 2n)y 1 = z 1 - y 0 - y 0 k 1 (mod 2 n )
y1= zi- yi-1+ yi-1yi-2- yi-1ki(mod 2n), 2 ≤ i m y 1 = z i - y i -1 + y i-1 y i-2 - y i-1 k i (mod 2 n), 2 ≤ im
xpi= yi, 0 ≤ i mx pi = y i , 0? im
이러한 구성에서는 사용자키와 데이터 블록이 곱셈 연산으로 직접 결합되는 연산이 추가됨을 알 수 있다. 그러나, 데이터 블록의 크기만큼 사용자키를 늘릴 수 있고, 단순한 재배열 정보에 대한 공격 시도만으로는 공격이 블가능해지므로 보안성을 향상시킬 수 있다.In this configuration, it is understood that an operation in which a user key and a data block are directly combined by a multiplication operation is added. However, it is possible to increase the user key by the size of the data block, and the attack can be prevented only by attempting to attack the simple rearrangement information, thereby improving the security.
이와 같이, 본 비밀키 시스템에서 입력, 출력 데이터는 m개의 요소를 갖는 블록으로 나타내어 지며, 각 수행단계에서 입력 데이터로부터 가역 CA의 재배열 수열을 이용하여 새로운 데이터 블록을 생성해고 이것은 다음 수행 단계의 입력 데이터로 이용된다. 각 수행단계에서 선형 가역 CA, 비선형 가역 CA 중 어느 것을 사용하는지 여부에 대한 정보도 비밀키로 사용할 수 있다. 이러한 비밀키 시스템에서는 공개키 시스템에서 요구되는 여러 가지 제한이 없어지는 잇점이 있다.In this secret key system, the input and output data is represented by a block having m elements. In each execution step, a new data block is generated from the input data using the reordering sequence of the reversible CA, And is used as input data. It is also possible to use information as to whether the linear reversible CA or the non-linear reversible CA is used at each step as a secret key. In such a secret key system, there is an advantage that various restrictions required in the public key system are eliminated.
첫째, 공개키 시스템에서는 공개키의 크기가 급격히 팽창하는 것을 방지하기 위해서 여러개의 선형 가역 CA와 하나의 비선형 가역 CA를 결합하였으나, 비밀키 시스템에서는 여러개의 비선형 가역 CA를 결합시킬 수 있다.First, in the public key system, several linear reversible CAs and one non-linear reversible CA are combined to prevent the rapid expansion of the size of the public key. However, the secret key system can combine several non-linear reversible CAs.
두 번째, 속도면에서 공개키 방식은 암호화할 때의 속도가 복호화할 때보다 느리다는 단점이 있었으나 비밀키 방식은 두 경우 모두 같은 경로로 계산되므로 속도가 비슷하고 매우 빠르다는 장점이 있다.Second, in terms of speed, the public key scheme has a disadvantage that the speed of encryption is slower than that of decryption, but the secret key scheme has the advantage of being similar in speed and very fast since both cases are calculated with the same route.
세 번째, 공개키 시스템에서는 실용적인 공개키의 크기에 제한이 있어서 블록내 데이터 요소의 개수 m, 각 데이터 요소의 비트수 n 등에 제한이 있었으나 비밀키 시스템에서는 이러하 제한이 없으므로 다양한 디자인이 가능하다. m값을 늘리면 데이터 요소들의 상호 작용 범위를 늘리는 것이 되고 n값을 늘리면 처리 단위가 커져서 높일 수 있다. 현재의 컴퓨터 CPU는 32비트 단위로 데이터를 처리할 수 있으므로 n=32로 하는 것이 효율적인 것이 될 것이다.Third, there are restrictions on the size of the practical public key in the public key system, so that there are restrictions on the number of data elements m in the block, the number of bits n of each data element, and so on. Increasing the value of m will increase the range of interaction of the data elements, and increasing the value of n will increase the processing unit. Current computer CPUs can process data in 32-bit units, so n = 32 would be efficient.
지금까지 알려져 있는 암호 시스템들을 살펴보면 일반적으로 공개키 시스템과 비밀키 시스템은 그 이론적 배경과 구성이 전혀 달라서 하나의 시스템으로 구현하는 것은 어려웠다. 그렇지만 실제의 적용 시스템에서는 이들이 서로 보완 관계에 있기 대문에 함께 사용되는 경우가 많은 것이 사실이다. 그러므로, 기존의 암호 기술을 이용하여 이들을 하나의 시스템으로 구현하는 데에는 많은 비용이 들게 된다.As far as cryptographic systems known so far are concerned, it is generally difficult to implement a public key system and a secret key system as one system because the theoretical background and configuration are quite different. However, in actual application systems, they are often used together because they are complementary to each other. Therefore, it takes a lot of cost to implement them into one system using existing cryptographic techniques.
그러나, 본 발명에서 보인 가역 CA를 이용한 암호 시스템에서는 같은 이론적 배경을 가지고 공개키 시스템과 비밀키 시스템을 모두 구현하였으므로 이들을 하나로 통합하는 것이 매우 간단하다. 같은 수학적 연산 엔진을 사용하면서 데이터 및 키의 입출력 방식만을 바꿔줌으로서 공개키와 비밀키 시스템으로 작동시킬 수 있는 것이다. 이러한 장점들과 함께 본 발명의 암호 시스템은 높은 보안성과 빠른 속도를 보유함으로서 앞으로 다양한 분야에 적용이 기대되고 있다.However, in the cryptosystem using the reversible CA shown in the present invention, both the public key system and the secret key system have the same theoretical background and it is very simple to integrate them into one. By using the same mathematical operation engine and changing only the input and output methods of data and keys, it can be operated as a public key and a secret key system. In addition to these advantages, the encryption system of the present invention has high security and fast speed and is expected to be applied to various fields in the future.
언급한 바와 같이, 본 발명의 가역 CA를 이용한 암호 시스템은 기존의 암호 시스템들과 비교할 대 보안성, 속도, 시스템의 통합성 등에서 많은 잇점을 갖고 있다. 즉, 가역 CA를 이용한 공개키 시스템의 보안성은 결합된 비선형 연립 방정식의 역함수를 구하는 것이 거의 가능하지 않다라는 수학적 사실에 의존하고 있다. 가역 CA의 재배열 정보를 포함하는 비밀키에 대한 공격 시도는 m!R + 1 + R'으로서 충분한 보안성을 갖고 잇는 것이다. 또한, 비밀키 시스템의 보안성은 데이터의 비선형적 결합 특성에 의존하고 있어 재배열 정보에 대한 공격 시도는 m!R의 시도를 요하는 것이다.As mentioned above, the cryptosystem using the reversible CA of the present invention has many advantages compared with the existing cryptosystems in terms of security, speed, and system integration. That is, the security of the public key system using the reversible CA relies on the mathematical fact that it is almost impossible to obtain the inverse of the combined nonlinear simultaneous equations. The attack attempt on the secret key including the rearrangement information of the reversible CA has sufficient security as m! R + 1 + R ' . Also, since the security of the secret key system depends on the nonlinear combination characteristic of the data, the attempt to attack the reordering information requires an attempt of m! R.
공개키 시스템은 암호화할 때에는 가역 CA들이 결합 결과인 공개키를 이용하며 복호화할 때는 가역 CA들의 재배열 수열의 정보인 비밀키를 이용하고 있다. 그리고, 비밀키를 이용한 복호화는 일반 비밀키 방식의 암호화 방법만큼 빠르며, 본 발명에 따른 공개키 암호화 방식도 종래의 공개키 방식에 비하여 빠르다. 예를 들면, 종래의 RSA 등의 공개키 암호화 방식이 일반 비밀키 방식보다 100 내지 1000배 정도 느린 것을 고려하면 상당히 빠른 암호화 시스템인 것인다. 비밀키 시스템은 시스템의 설계 조건에 따라 매우 빠른 암호화, 복호화가 가능하다. 공개키 시스템에서와 같은 시스템 구성상의 제한 요소가 없으므로 데이터 요소의 개수 m, 데이터 요소의 크기 n을 크게 할 수 있으며, 이 경우 매우 빠른 연산 속도를 얻을 수 있다.In the public key system, the reversible CAs use the public key, which is the result of the combination. When decrypting, the secret key, which is the information of the reordering sequence of the reversible CAs, is used. The decoding using the secret key is faster than the encryption method using the general secret key method, and the public key encryption method according to the present invention is also faster than the public key method according to the present invention. For example, it is a fairly fast encryption system considering that the conventional public key encryption scheme such as RSA is about 100 to 1000 times slower than the general secret key scheme. The secret key system can encrypt and decrypt very fast according to the design conditions of the system. Since there are no restrictions on the system configuration as in the public key system, it is possible to increase the number m of data elements and the size n of data elements. In this case, a very fast operation speed can be obtained.
공개키 시스템과 비밀키 시스템은 서로 보완적인 관계에 있다. 따라서 함께 사용되는 것이 보통이다. 기존의 암호 시스템들을 이 두가지 부류의 시스템들이 서로 크게 달라서 통합화하기에 어려움이 많았으나 본 발명의 암호 시스템인 공개키 시스템과 비밀키 시스템은 동일한 이론적 배경을 갖고 있으므로 통합하기가 매우 용이하며 비용이 저렴하게 든다는 잇점이 있다.The public key system and the secret key system are complementary to each other. It is therefore common to use them together. Conventional cryptographic systems have been difficult to integrate with each other because they are very different from each other. However, the public key system and the secret key system, which are the cryptographic systems of the present invention, have the same theoretical background, It is advantageous to make.
본 발명은 지금까지 설명한 실시예에 한정되는 것이 아니라 발명의 기술 사상을 일탈하지 않는 범위에서 다양한 변형 및 수정이 가능함을 이해하여야 한다. 따라서 본 발명은 다음의 특허 청구의 범위에 기재된 사항에 의해서만 정하여져야 할 것이다.It is to be understood that the invention is not limited to the embodiments described heretofore but that various modifications and changes may be made without departing from the spirit of the invention. Accordingly, the present invention should be determined only by the matters set forth in the following claims.
Claims (26)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960054419A KR100200531B1 (en) | 1996-11-15 | 1996-11-15 | Crypto method and crypto system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960054419A KR100200531B1 (en) | 1996-11-15 | 1996-11-15 | Crypto method and crypto system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980035958A true KR19980035958A (en) | 1998-08-05 |
KR100200531B1 KR100200531B1 (en) | 1999-06-15 |
Family
ID=19482041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960054419A KR100200531B1 (en) | 1996-11-15 | 1996-11-15 | Crypto method and crypto system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100200531B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101013746B1 (en) * | 2008-12-15 | 2011-02-14 | 충북대학교 산학협력단 | method for fault tolerant cryptography overcoming data error avalanche effect during transmission |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100790511B1 (en) | 2006-11-03 | 2008-01-02 | 김경원 | Encrypting and decrypting system, encrypting and decrypting method |
-
1996
- 1996-11-15 KR KR1019960054419A patent/KR100200531B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101013746B1 (en) * | 2008-12-15 | 2011-02-14 | 충북대학교 산학협력단 | method for fault tolerant cryptography overcoming data error avalanche effect during transmission |
Also Published As
Publication number | Publication date |
---|---|
KR100200531B1 (en) | 1999-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7079651B2 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
KR100435052B1 (en) | Encryption device | |
AU2003213317B2 (en) | Block cipher apparatus using auxiliary transformation | |
US7218733B2 (en) | Encryption method, program for encryption, memory medium for storing the program, and encryption apparatus, as well as decryption method and decryption apparatus | |
US5623549A (en) | Cipher mechanisms with fencing and balanced block mixing | |
JP3188940B2 (en) | Encryption system | |
Aboytes-González et al. | Design of a strong S-box based on a matrix approach | |
AU1132199A (en) | A non-deterministic public key encryption system | |
Biham et al. | Differential-linear cryptanalysis of serpent | |
KR20110089379A (en) | Permutation data transformation to enhance security | |
JP2011164607A (en) | Method and system for privacy-preserving computation of edit distance of symbol sequence | |
JP3180836B2 (en) | Cryptographic communication device | |
JP5273141B2 (en) | Block cipher with adjustment value, cipher generation method and recording medium | |
Azam et al. | Towards provably secure asymmetric image encryption schemes | |
US6111952A (en) | Asymmetrical cryptographic communication method and portable object therefore | |
Andreevich et al. | Pseudo-probabilistic block ciphers and their randomization | |
KR100200531B1 (en) | Crypto method and crypto system | |
Mihalkovich et al. | MPF based symmetric cipher performance comparison to AES and TDES | |
JPH0738558A (en) | Ciphering device, communication system using the same and method therefor | |
KR100350207B1 (en) | Method for cryptographic conversion of l-bit input blocks of digital data into l-bit output blocks | |
JPH09269727A (en) | Ciphering method and ciphering device | |
Mukhopadhyay | Cryptography: Advanced encryption standard (aes) | |
Nikolay Andreevich et al. | Method for pseudo-probabilistic block encryption | |
KR20040045517A (en) | Real time block data encryption/decryption processor using Rijndael block cipher and method therefor | |
Goswami et al. | Comparison of Hardware Implementations of Cryptographic Algorithms for IoT Applications |
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: 20070221 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |