KR100709758B1 - Mixed encryption system - Google Patents
Mixed encryption system Download PDFInfo
- Publication number
- KR100709758B1 KR100709758B1 KR1020050048103A KR20050048103A KR100709758B1 KR 100709758 B1 KR100709758 B1 KR 100709758B1 KR 1020050048103 A KR1020050048103 A KR 1020050048103A KR 20050048103 A KR20050048103 A KR 20050048103A KR 100709758 B1 KR100709758 B1 KR 100709758B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- unit
- encryption
- random number
- pseudo random
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/045—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
-
- 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
-
- 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
Abstract
본 발명은 암호화 시스템에 관한 것으로, 대칭형 암호 시스템을 이용하여 비대칭형 암호 시스템의 인증 기능을 수행할 수 있도록 하는 혼합형 암호화 시스템에 관한 것이다. 혼합형 암호화 시스템은 의사난수를 발생시키고, 상기 의사난수를 변환시켜 인증데이터를 생성하고, 상기 의사난수 및 상기 의사난수로부터 추출된 임의의 데이터와 암호화할 평문을 혼합하여 키데이터를 생성하는 제1 암호화수단 및 상기 제1 암호화 수단에서 생성된 키데이터로 상기 평문을 암호화시키는 제2 암호화수단을 포함하며, 상기 제2 암호화수단에서 생성된 암호문 및 상기 제1 암호화수단에서 생성된 인증데이터를 결합하여 수신단으로 전송하는 것을 특징으로 한다.The present invention relates to an encryption system, and more particularly, to a hybrid encryption system capable of performing an authentication function of an asymmetric encryption system using a symmetric encryption system. The hybrid encryption system generates a pseudo random number, converts the pseudo random number to generate authentication data, and generates first data by mixing the pseudo random number and arbitrary data extracted from the pseudo random number with plain text to be encrypted to generate key data. Means and a second encrypting means for encrypting the plain text with key data generated by the first encrypting means, the receiving end combining the cipher text generated by the second encrypting means and the authentication data generated by the first encrypting means. It characterized in that the transmission.
Description
도 1은 본 발명에 따른 혼합형 암호화 시스템의 구성을 보이는 블록도 이다.1 is a block diagram showing the configuration of a hybrid encryption system according to the present invention.
도 2는 도 1 중 제1 암호화수단의 상세도 이다.FIG. 2 is a detailed view of the first encryption means in FIG. 1.
도 3은 도 2 중 의사난수 발생부의 상세도 이다.3 is a detailed view of a pseudo random number generator of FIG. 2.
도 4는 도 2 중 데이터 변환부를 설명하기 위한 도면이다.4 is a diagram for describing a data converter of FIG. 2.
도 5는 도 2 중 데이터 포맷부에서 출력되는 데이터 포맷도 이다.FIG. 5 is a data format diagram output from the data format unit of FIG. 2.
도 6은 도 2 중 혼합부의 상세도 이다.6 is a detailed view of the mixing unit in FIG. 2.
도 7은 도 2 중 데이터 연산부의 상세도 이다.FIG. 7 is a detailed view of the data calculator of FIG. 2.
도 8은 도 1 중 제2 암호화수단의 상세도 이다.FIG. 8 is a detailed view of the second encryption means in FIG. 1.
도 9는 도 8 중 연산부의 상세도 이다.9 is a detailed view of an operation unit of FIG. 8.
본 발명은 암호화 시스템에 관한 것으로, 대칭형 암호 시스템을 이용하여 비대칭형 암호 시스템의 인증 기능을 수행할 수 있도록 하는 혼합형 암호화 시스템에 관한 것이다.The present invention relates to an encryption system, and more particularly, to a hybrid encryption system capable of performing an authentication function of an asymmetric encryption system using a symmetric encryption system.
정보통신과 네트워크의 급속한 발전은 국가 기간산업으로서 세계적인 기술 흐름의 주류를 형성하고 있다. 이러한 정보통신과 네트워크는 정보기술 IT(Information Technology) 산업을 창출하게 되었으며, 이러한 IT 산업은 정보 보호를 위하여 암호화 기술이 필수적으로 요구된다. 그러나 IT는 정보의 실시간 처리와 대용량의 데이터 전송을 요구함으로 암호화 과정을 거치게 되면 실시간 처리 및 대용량 데이터 전송이 어렵게 된다. 그러므로 현재 암호 기술은 이와 같은 문제점을 해결하고자 많은 연구가 진행 중에 있다.The rapid development of telecommunications and networks has formed the mainstream of the global technology flow as a national infrastructure industry. These telecommunications and networks have created an information technology (IT) industry, which requires encryption technology to protect information. However, since IT requires real-time processing of data and large data transfer, it becomes difficult to process real-time and large data when it is encrypted. Therefore, many researches are currently underway to solve such problems.
현재 사용되는 암호 알고리즘은 급격하게 발달하고 있는 IT 및 네트워크 사용자들에 대하여 만족할만한 서비스를 제공하기에는 다음과 같은 문제점을 갖고 있다. Currently used cryptographic algorithm has the following problems to provide satisfactory service for rapidly developing IT and network users.
비대칭형에 비하여 처리속도가 빠른 대칭형 암호 시스템은 데이터 용량에 따라 처리 시간이 결정되며 일반적으로는 수백 Mbps급의 전송률을 가진다. 그러나 사용자 수가 증가할수록 처리해야 하는 키(Key)가 증가하게 되므로 네트워크 환경에서는 매우 불리하다. 또한, 비도가 증가하면 처리 속도가 떨어지는 단점도 가지고 있다. Compared to the asymmetric type, the symmetric cryptography system has a higher processing speed and the processing time is determined by the data capacity, and generally has a transmission rate of several hundred Mbps. However, as the number of users increases, the number of keys to be processed increases, which is very disadvantageous in a network environment. In addition, there is a disadvantage that the treatment speed is lowered if the ratio is increased.
이와 대조적으로 비대칭형 암호 시스템은 그 처리 속도가 수백 Kbps급으로 낮지만 사용키의 일부를 공개하여 암호화를 수행하기 때문에 네트워크 환경에 적합하다는 장점을 가지고 있다. 그러나, 비대칭형 암호 시스템은 대칭형 암호 시스템에 비하여 처리속도가 낮아서 적용되는 분야가 한정된다. In contrast, the asymmetric encryption system has a low processing speed of several hundred Kbps, but it has the advantage of being suitable for the network environment because it performs encryption by exposing a part of the use key. However, the asymmetric cryptographic system has a lower processing speed than the symmetric cryptographic system, and thus the application is limited.
본 발명이 이루고자 하는 기술적인 과제는 대칭형 암호 시스템의 처리속도와 비대칭형 암호 시스템의 인증기능을 이용하여 데이터를 암호화하는 혼합형 암호화 시스템을 제공하는 데 있다.The technical problem to be achieved by the present invention is to provide a hybrid encryption system for encrypting data using the processing speed of the symmetric encryption system and the authentication function of the asymmetric encryption system.
본 발명이 이루고자 하는 기술적 과제를 해결하기 위한 혼합형 암호화 시스템은 의사난수를 발생시키고, 상기 의사난수를 변환시켜 인증데이터를 생성하고, 상기 의사난수 및 상기 의사난수로부터 추출된 임의의 데이터와 암호화할 평문을 혼합하여 키데이터를 생성하는 제1 암호화수단; 및 상기 제1 암호화 수단에서 생성된 키데이터로 상기 평문을 암호화시키는 제2 암호화수단을 포함하며, 상기 제2 암호화수단에서 생성된 암호문 및 상기 제1 암호화수단에서 생성된 인증데이터를 결합하여 수신단으로 전송하는 것을 특징으로 한다.The hybrid encryption system for solving the technical problem to be achieved by the present invention generates a pseudo-random number, converts the pseudo-random number to generate authentication data, and the plain text to encrypt with the pseudo-random and any data extracted from the pseudo-random number First encryption means for mixing the generated key data; And second encryption means for encrypting the plain text with key data generated by the first encryption means, wherein the cipher text generated by the second encryption means and the authentication data generated by the first encryption means are combined to the receiving end. Characterized in that the transmission.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.
도 1은 본 발명에 따른 혼합형 암호화 시스템의 구성을 보이는 블록도로서, 비대칭형 암호 알고리즘에 의해 동작하는 제1 암호화수단(100) 및 대칭형 암호 알고리즘에 의해 동작하는 제2 암호화수단(110)으로 구성된다. 제1 암호화수단(100)은 의사난수를 발생시키고, 의사난수를 변환시켜 인증데이터(A)를 생성하고, 의사난수 및 의사난수로부터 추출된 임의의 데이터와 암호화할 평문(X)을 혼합하여 키데이터(K)를 생성한다. 제2 암호화수단(110)은 제1 암호화수단(100)에서 생성된 키데이터로 평문(X)을 암호화한다. 제2 암호화수단(110)에서 생성된 암호문 및 제1 암호화수단(100)에서 생성된 인증데이터가 결합된 데이터(Y)가 전송매체를 통하여 수신단으로 전송된다.1 is a block diagram showing a configuration of a hybrid encryption system according to the present invention, comprising a first encryption means 100 operating by an asymmetric encryption algorithm and a second encryption means 110 operating by a symmetric encryption algorithm. do. The first encryption means 100 generates a pseudo random number, converts the pseudo random number to generate the authentication data (A), mixes arbitrary data extracted from the pseudo random number and the pseudo random number, and the plaintext (X) to be encrypted. Generate data K. The second encryption means 110 encrypts the plain text X with the key data generated by the first encryption means 100. The data Y combined with the cipher text generated by the second encryption means 110 and the authentication data generated by the first encryption means 100 is transmitted to the receiving end through the transmission medium.
도 2는 도 1 중 제1 암호화수단(100)의 상세도로서, 의사난수 발생부(100-1), 제1 데이터 추출부(100-2), 제2 데이터 추출부(100-3), 데이터 변환부(100-4), 데이터 포맷부(100-5), 버퍼(100-6), 인터페이스부(100-7), 혼합부(100-8), 데이터 연산부(100-9) 및 데이터 출력부(100-10)로 구성된다.FIG. 2 is a detailed view of the first encryption means 100 of FIG. 1, which includes a pseudo random number generation unit 100-1, a first data extraction unit 100-2, a second data extraction unit 100-3, Data conversion unit 100-4, data format unit 100-5, buffer 100-6, interface unit 100-7, mixing unit 100-8, data operation unit 100-9 and data It consists of the output part 100-10.
의사난수 발생부(100-1)는 생성다항식을 이용하여 의사난수를 발생시키고 16 비트씩 8개의 블록으로 분할하여 출력한다. 의사난수 발생부(100-1)는 8단으로 구성된 LFSR(Linear feedback shift register)을 16개 포함한다.The pseudo random number generating unit 100-1 generates a pseudo random number using the generated polynomial, and divides the block into eight blocks of 16 bits. The pseudo random number generator 100-1 includes 16 linear feedback shift registers (LFSRs) including eight stages.
본 발명에서 사용한 생성 다항식은 수학식1과 같다.The generated polynomial used in the present invention is shown in Equation (1).
수학식1의 생성 다항식에서 탭 계수 g1=g6=g8=1을 만족하며 초기 탭 계수값은 모두 0을 제외한 값을 사용한다. In the generated polynomial of Equation 1, the tap coefficient g 1 = g 6 = g 8 = 1 is satisfied and all initial tap coefficient values except 0 are used.
본 발명에서는 수학식 1의 MSB(Most significant bit, 최상위 비트)와 LSB(Least significant bit, 최하위 비트)만을 이용하도록 하였다. 일반적으로 의사난수 발생부(100-1)의 난수발생 주기는 2m-1로써 표현되어지며 이때 값이 클수록, 주기가 길수록 선형특성에 안전하다. 그러므로 m값이 긴 의사난수 발생부(100-1)를 설계하게 되는데 이는 안전성에는 좋은 특성을 가지지만 주기에 비례하여 처리시간이 길어지며 특히 동기 시스템인 경우 오류발생 시마다 동기 획득에 걸리는 시간이 길어지는 단점을 가진다. 그러므로 본 발명에서는 한 주기 안에 존재하는 모든 의사난수를 이용하는 것이 아니라 초기 난수를 암호화에 이용하여 주기 시스템에 대한 주기시간의 단축을 꾀한다. 즉 LFSR의 초기값에 대하여 만큼의 시간이 지날 때 출력되는 의사난수출력 Zm을 LFSR의 출력으로 사용한다.In the present invention, only the most significant bit (MSB) and least significant bit (LSB) of Equation 1 are used. In general, the random number generation period of the pseudo random number generator 100-1 is expressed as 2 m −1, where the larger the value and the longer the period, the safer the linear characteristic. Therefore, the pseudo-random number generation unit 100-1 having a long m value is designed, which has good characteristics in terms of safety, but the processing time is long in proportion to the cycle, and especially in a synchronous system, it takes a long time to acquire a synchronization whenever an error occurs. Loss has its drawbacks. Therefore, in the present invention, rather than using all pseudorandom numbers existing in one cycle, the initial random number is used for encryption to reduce the cycle time for the periodic system. That is, the pseudo-random output Z m that is output when the time passes for the initial value of the LFSR is used as the output of the LFSR.
도 3은 의사난수 발생부(100-1)의 상세도로써, 8단 LFSR 발생부를 16개 동일하게 사용하여 설계한 것으로, 제0 LFSR 발생부(100-11)에서부터 제15 LFSR 발생부(100-12)까지는 동일한 생성 다항식을 사용한다. 초기 입력이 인가된 후 8T까지 출력되는 출력수열은 모두 128 비트의 크기를 가진다. FIG. 3 is a detailed view of the pseudo random number generator 100-1, which is designed using the same number of eight 8-stage LFSR generators. The LFSR generator 100-11 to the
제1 데이터 추출부(100-2)는 의사난수 발생부(100-1)에서 출력되는 128 비트의 출력 수열로부터 각 8 비트들에 대하여 MSB를 추출하여 총 16 비트의 MSB를 저장한다.The first data extractor 100-2 extracts an MSB for each of 8 bits from a 128-bit output sequence output from the pseudo random number generator 100-1 and stores a total of 16 bits of MSB.
제2 데이터 추출부(100-3)는 의사난수 발생부(100-1)에서 출력되는 128 비트의 출력 수열로부터 각 8 비트들에 대하여 LSB를 추출하여 총 16 비트의 LSB를 저장한다.The second data extractor 100-3 extracts the LSB for each of the 8 bits from the 128-bit output sequence output from the pseudo random number generator 100-1 and stores 16 LSBs in total.
데이터 변환부(100-4)는 의사난수 발생부(100-1)로부터 출력되는 128 비트의 데이터를 포맷하여 혼합부(100-8)로 출력하고, 16 비트 인증데이터(A)를 생성하며, 인증데이터 생성 시에 발생한 데이터들을 논리 연산하여 32 비트의 데이터를 데이터 포맷부(100-5)로 출력한다.The data converter 100-4 formats the 128-bit data output from the pseudo random number generator 100-1, outputs the mixed data to the mixer 100-8, and generates 16-bit authentication data A. The 32-bit data is output to the data format unit 100-5 by performing logical operation on the data generated when the authentication data is generated.
도 4a는 의사난수 발생부(100-1)로부터 출력되는 128 비트의 출력 수열을 나 타내고, 도 4b는 16 비트의 인증데이터(A) 생성 및 데이터 포맷부(100-5)로 출력될 32 비트의 데이터 생성을 설명하기 위한 도면이다.FIG. 4A shows a 128-bit output sequence output from the pseudo random number generator 100-1, and FIG. 4B shows a 16-bit authentication data A generated and outputted to the data format unit 100-5. A diagram for explaining data generation of bits.
도 4a에 도시된 128 비트의 데이터들을 행렬로써 표현하면 수학식2와 같다.The 128-bit data shown in FIG. 4A is expressed as a matrix.
수학식2의 행렬에서 대각행렬에 대한 데이터들을 별도의 데이터로 취급하기 위하여 도 4b와 같이 데이터 포맷팅을 수행한다. 이때 생성되는 별도의 데이터는 rect와 orth이다. 각각의 데이터들은 16 비트의 크기를 가지고 있으며 rect와 orth에 대한 데이터값들의 복원 및 생성을 용이하도록 하기 위하여 128 비트의 유입 데이터들에 대하여 정방행렬의 대각만을 데이터로 추출한다.In order to treat data for the diagonal matrix in the matrix of Equation 2 as separate data, data formatting is performed as shown in FIG. 4B. Separate data created at this time is rect and orth. Each data has a size of 16 bits and extracts only the diagonal of the square matrix for the 128-bit incoming data to facilitate the restoration and generation of data values for rect and orth.
정방행렬의 대각에 대한 값을 추출하기 위하여 수학식2에서 64 비트씩 두 블록으로 분리하여 rect와 orth값을 추출한다. 수학식3은 분리된 두 블록을 표시한다. In order to extract the diagonal values of the square matrix, the rect and orth values are extracted by dividing the two blocks by 64 bits in Equation (2). Equation 3 represents two separate blocks.
여기서, 두 블록의 범위는 수학식 4와 같다.Here, the range of the two blocks is shown in Equation 4.
여기서, ax+bx는 혼합부(100-5)의 입력으로 사용되며, rect a 및 b와 orth a 및 b는 배타적 논리합 연산을 수행하여 16 비트 인증데이터(A)를 생성하여 출력하고, rect a 및 b와 orth a 및 b는 단순 결합하여 32 비트의 데이터를 데이터 포맷부(100-8)로 출력한다.Here, ax + bx is used as an input of the mixing unit 100-5, and rect a and b and orth a and b generate and output 16-bit authentication data A by performing an exclusive OR operation, and rect a And b and orth a and b are simply combined to output 32-bit data to the data format unit 100-8.
데이터 포맷부(100-5)는 의사난수 발생부(100-1)에서 생성된 의사난수에 대하여 8T 시간 동안에 새롭게 데이터들에 대한 재배치를 위한 포맷팅 기능을 수행한다. 데이터 포맷부(100-5)는 데이터 변환부(100-4)에서 출력되는 32 비트 데이터(도 5의 A DATA), 제1 데이터 추출부(100-2)에서 출력되는 16 비트의 MSB 데이터(도 5의 B DATA) 및 제2 데이터 추출부(100-3)에서 출력되는 16 비트의 LSB 데이터(도 5의 C DATA)로부터 64 비트의 새로운 키 수열을 생성한다.The data format unit 100-5 performs a formatting function for newly relocating data for 8T time with respect to the pseudo random number generated by the pseudo random number generator 100-1. The data format unit 100-5 may include 32-bit data (A DATA in FIG. 5) output from the data converter 100-4 and 16-bit MSB data (output from the first data extractor 100-2). A new 64-bit key sequence is generated from the 16-bit LSB data (C DATA in FIG. 5) output from B DATA of FIG. 5 and the second data extracting unit 100-3.
평문(X, 입력데이터) 128 비트는 버퍼(100-6) 및 인터페이스부(100-7)를 통하여 혼합부(100-8)로 입력된다.128 bits of the plain text (X, input data) are input to the mixing unit 100-8 through the buffer 100-6 and the interface unit 100-7.
혼합부(100-8)는 암호화키에 사용될 수 있는 ID를 확장하기 위해 인터페이스부(100-7)를 통해 입력된 평문 128 비트 및 데이터 변환부(100-4)에서 출력되는 의사난수 128 비트를 혼합하여 데이터 연산부(100-9)로 출력한다.The mixing unit 100-8 uses a 128-bit plain text input through the interface unit 100-7 and a pseudo-random 128-bit output from the data converting unit 100-4 to extend an ID that can be used for the encryption key. The mixture is output to the data operation unit 100-9.
도 6은 도 2 중 혼합부(100-8)의 상세도로서, 배타적 논리합 연산부(100-81) 및 데이터 치환부(100-82)로 구성된다.FIG. 6 is a detailed view of the mixing unit 100-8 in FIG. 2, and includes an exclusive OR operation unit 100-81 and a data replacing unit 100-82.
혼합부(100-8)는 평문(입력 데이터) 128 비트를 16비트씩 8개의 블록으로 분할하고, 데이터 변환부(100-4)에서 출력되는 128 비트의 키 수열을 역시 16비트씩 8개의 블록으로 분할한다.The mixing unit 100-8 divides the plain text (input data) 128 bits into eight blocks of 16 bits each, and divides the 128-bit key sequence outputted from the data converter 100-4 into eight blocks of 16 bits. Split into
평문의 집합을 I, 데이터 변환부(100-4)의 출력 데이터의 집합을 K라고 하였을 경우 I, K에 대한 표현은 수학식5와 같다.When the set of plain text is I and the set of output data of the data converter 100-4 is K, the expressions of I and K are expressed by Equation 5.
수학식5에서 i 와 k는 각각 16 비트씩으로 구성된 스트림 데이터들이다. 각 블록에 대하여, 배타적 논리합 연산부(100-81)에 의해 연산한 결과를 M이라고 하였을 경우 배타적 논리합 연산을 수행한 입력 데이터들은 수학식6과 같이 표현된다.In Equation 5, i and k are stream data each consisting of 16 bits. For each block, when the result calculated by the exclusive OR operation unit 100-81 is M, the input data on which the exclusive OR operation is performed are expressed as in Equation (6).
수학식6에서 M 역시 16 비트 8블록 이므로, 수학식7과 같은 수열을 가진다.In Equation 6, since M is also a 16-bit 8 block, it has the same sequence as in Equation 7.
수학식6에 수학식 5를 대입하여 정리하면 수학식8과 같이 된다.Substituting Equation 5 into Equation 6 results in Equation 8.
데이터 치환부(100-82)는 수학식 8에 대한 매트릭스를 전치 치환하며, 이를 전치행렬로 표현하면 수학식9와 같다.The data substitution unit 100-82 transposes the matrix for Equation 8, and this is expressed as Equation 9 in terms of the transpose matrix.
이상과 같은 연산을 통하여 생성된 64 비트는 데이터 연산부(100-9)로 입력된다.The 64 bits generated through the above operation are input to the data operation unit 100-9.
데이터 연산부(100-9)는 혼합부(100-8)에서 출력되는 64 비트와 데이터 포맷부(100-5)에서 출력되는 64 비트를 연산하여 새로운 블록 데이터를 생성한다. 도 7은 데이터 연산부(100-9)의 상세도로써, 제1 논리 연산부(100-91), 제2 논리 연산부(100-92) 및 데이터 결합부(100-93)로 구성된다.The data operation unit 100-9 generates new block data by calculating a 64-bit output from the mixing unit 100-8 and a 64-bit output from the data format unit 100-5. 7 is a detailed view of the data calculating unit 100-9 and includes a first logical calculating unit 100-91, a second logical calculating unit 100-92, and a data combining unit 100-93.
제1 논리 연산부(100-91)는 데이터 포맷부(100-5)에서 출력되는 64 비트 중 상위 32 비트의 데이터 및 혼합부(100-8)에서 출력되는 64 비트 중 상위 32 비트 데이터를 배타적 논리합 연산하여 32 비트의 데이터를 출력한다.The first logical operation unit 100-91 exclusively ORs the upper 32 bits of the 64 bits output from the data format unit 100-5 and the upper 32 bits of the 64 bits output from the mixing unit 100-8. It computes and outputs 32 bits of data.
제2 논리 연산부(100-92)는 데이터 포맷부(100-5)에서 출력되는 64 비트 중 하위 32 비트의 데이터 및 혼합부(100-8)에서 출력되는 64 비트 중 하위 32 비트 데이터를 배타적 논리 부정합 연산하여 32 비트의 데이터를 출력한다.The second logic operation unit 100-92 exclusively performs the lower 32 bit data of the 64 bits output from the data format unit 100-5 and the lower 32 bit data of the 64 bits output from the mixing unit 100-8. It performs a mismatch operation and outputs 32 bits of data.
데이터 결합부(100-93)는 제1 논리 연산부(100-91)에서 출력되는 32 비트 데이터 및 제2 논리 연산부(100-92)에서 출력되는 32 비트 데이터를 결합하여 64 비트의 데이터를 출력한다.The data combiner 100-93 combines the 32-bit data output from the first logic operator 100-91 and the 32-bit data output from the second logic operator 100-92 to output 64-bit data. .
데이터 출력부(100-10)는 데이터 연산부에서 출력되는 64 비트의 데이터와 데이터 변환부(100-4)에서 출력되는 16 비트의 인증데이터를 결합하여 키데이터(K) 를 생성하여 제2 암호화수단(110)으로 출력한다.The data output unit 100-10 generates key data K by combining the 64-bit data output from the data operation unit and the 16-bit authentication data output from the data conversion unit 100-4 to generate key data K. Output to (110).
도 8은 도 1 중 제2 암호화수단(110)의 상세도 이다. 제2 암호화수단(110)에서 사용되는 기법은 Feistel 구조 또는 SPN(Substitution and permutation network) 구조이다. 제2 암호화수단(110)의 암호화 방식은 한 라운드에 대하여 기본 안정성을 획득하기까지 일정회수의 반복(Iteration)을 수행하게 된다. 이에 반 해 제1 암호화수단(100)의 암호화 방식은 기존 안정성을 획득하기 위하여 무한 수열에 가까운 LFSR 주기 특성을 가지도록 한다. 그러나 반복의 증가 또는 LFSR 주기 길이의 증가는 대칭형 암호 시스템의 효율을 저하시키는 요인이 된다. 따라서, 제2 암호화수단(110)은 반복을 하지 않고 단일 라운드를 사용하여 LFSR의 stage 길이를 일정한 크기로 설정하며 설정된 LFSR을 다수개 사용하여 실제적으로는 매우 긴 주기 수열을 생성할 수 있도록 한다.8 is a detailed view of the second encryption means 110 in FIG. The technique used in the second encryption means 110 is a Feistel structure or a Substitution and permutation network (SPN) structure. The encryption method of the second encryption means 110 performs a certain number of iterations until the basic stability is obtained for one round. On the other hand, the encryption method of the first encryption means 100 has a LFSR period characteristic close to an infinite sequence in order to obtain the existing stability. However, an increase in repetition or an increase in the length of the LFSR period is a factor that degrades the efficiency of the symmetric cryptosystem. Therefore, the second encryption means 110 sets the stage length of the LFSR to a constant size using a single round without repetition, and can actually generate a very long cycle sequence using a plurality of set LFSRs.
도 8에 도시된 제2 암호화수단(110)의 상세도는 일반적인 Feistel 구조와 거의 동일한 형태를 취하며, 수학식10과 같이 128 비트의 입력 데이터에 대하여 치환부(110-1)에서 초기 치환을 수행하고, 초기치환 결과를 제1 암호화수단(100)에서 출력되는 키데이터(K)와 연산부(110-3)의 연산 결과를 이용하여 내부 연산을 수행한 후 교번하여 출력을 내보내도록 되어 있다. The detailed view of the second encryption means 110 shown in FIG. 8 takes almost the same form as a general Feistel structure, and performs initial substitution in the substitution unit 110-1 for 128-bit input data as shown in
수학식10은 일반적인 Feistel 구조의 형태와 동일하지만, 반복(Iteration)에 관한 i 파라미터가 없고, 대신 이전과 이후에 관한 방정식만 존재한다. 여기서 입력 128 비트는 치환부(110-1)에서 초기치환을 거친 후 좌우 64 비트씩 분리된다.
좌우로 분리된 64 비트 중 우측 64 비트는 좌측으로 이동하며, 좌측 64 비트는 키데이터(K)와 연산부(110-3)의 연산과정을 거친 후 배타적 논리합 연산부(110-3)의 연산을 통해 우측으로 이동하게 된다. 이러한 연산을 수행한 후 역 초기치환부(110-1)는 역초기 치환을 수행한 후 암호화된 데이터를 출력하게 된다.The right 64 bits of the left and right 64 bits are shifted to the left, and the left 64 bits are subjected to the operation of the key data K and the operation unit 110-3 and then the operation of the exclusive OR operation unit 110-3. To the right. After performing this operation, the reverse initial replacement unit 110-1 performs reverse initial replacement and then outputs encrypted data.
도 8 및 수학식10은 1회의 라운드에 대해서만 수행하도록 하는데, 그 이유는 제1 암호화수단(100)으로부터 입력되는 키데이터(K)를 사용하여 연산부(110-3)에서 암호화를 수행함으로써 비도를 더욱 높일 수 있도록 하였기 때문이다. 연산부(110-3)의 비도 결정은 확장재배열(Expansion)과 재배열, 치환에 결정적으로 영향을 받으며 이러한 확장, 재배열, 치환은 미리 설정된 표에 의하여 결정된다. 가장 먼저 결정해야 하는 초기치환과 역초기치환은 입력 및 출력 128 비트들에 대하여 수행된다.8 and
혼합형 암호화 시스템에서는 다양한 통계적 분석기법들에 대한 저항성을 갖기 위하여 비선형 연산 못지 않게 비선형 연산 결과를 가능한 많은 다른 데이터 비트들과 섞어주는 효율적인 선형변환을 사용한다. 이와 같이 선형과 비선형 연산을 섞어서 사용하는 이유는 암호 해석 기법인 DC 및 LC 암호 분석에서의 성공확률이 상당부분 얼마나 선형 변환을 사용하느냐에 의존하기 때문이다. 그러므로 혼합형 암호화 시스템을 구현하기 위하여 가장 널리 사용되는 선형변환들 중 비트 치환과 매트릭스 개념을 도입하여 구현하였다.Hybrid encryption systems use an efficient linear transformation that mixes nonlinear operations with as many different data bits as possible, as well as nonlinear operations, to resist various statistical analysis methods. The reason for using a mixture of linear and nonlinear operations is because the probability of success in the DC and LC cryptographic analysis, which is a cryptographic technique, depends in large part on how the linear transformation is used. Therefore, we implemented the concept of bit permutation and matrix among the most widely used linear transformations to implement a hybrid encryption system.
도 9는 도 8 중 연산부(110-3)의 상세도로서, 데이터 확장부(110-31), 배타 적 논리합 연산부(110-32), 데이터 압축부(110-33), S-box(110-34), 확장/치환부(110-35)로 구성된다.FIG. 9 is a detailed view of the calculator 110-3 in FIG. 8. The data expander 110-31, the exclusive-OR calculator 110-32, the data compressor 110-33, and the S-
데이터 확장부(110-31)는 확장재배열기능으로써 키데이터와 분할된 우측 데이터간의 비트 수를 맞추어 주며 비도를 증가시키기 위하여 사용되는 선형 암호 블록이다. 키데이터는 80 비트의 크기를 가지며, 분할된 우측 데이터는 64 비트의 크기를 가진다. 데이터 확장부(110-31)는 키데이터와 분할된 우측 데이터에 대한 모듈러 합을 수행하기 위하여, 분할된 우측 데이터를 80 비트로 확장할 필요성이 있으며, 데이터 확장부(110-31)는 64 비트의 우측 데이터를 80 비트로 확장시킨다. 데이터 확장부(110-31)는 분할된 우측 데이터 64 비트 중 임의의 어느 한 16 비트의 데이터를 2번 반복 연산하여 80 비트의 데이터를 출력한다.The data expansion unit 110-31 is a linear encryption block used to increase the degree of secretion by matching the number of bits between the key data and the divided right data as an expansion rearrangement function. The key data has a size of 80 bits, and the divided right data has a size of 64 bits. In order to perform a modular sum of the key data and the divided right data, the data expander 110-31 needs to expand the divided right data to 80 bits. Extends right data to 80 bits. The data extension unit 110-31 repeatedly calculates any one 16-bit data of the divided right 64-bit data twice and outputs 80-bit data.
배타적 논리합 연산부(110-32)는 키데이터 80 비트와 데이터 확장부(110-31)의 출력 80 비트를 배타적 논리합 연산하여 출력한다.The exclusive OR operation unit 110-32 performs an exclusive OR operation on the 80 bits of the key data and the 80 bits of the output of the data expansion unit 110-31.
데이터 압축부(110-33)는 배타적 논리합 연산부(110-32)의 출력 80 비트를 72 비트로 압축하여 출력한다. 데이터 압축부(110-33)는 80 비트의 입력을 받아서 72 비트의 데이터를 산출하기 위하여 미리 설정된 표에 의해 압축 과정을 수행하게 된다. 데이터 압축부(110-33)는 80 비트의 데이터 중 9, 19, 29, 39, 49, 59, 69, 79번째에 해당하는 데이터들을 소거시켜 72 비트의 데이터를 출력한다.The data compression units 110-33 compress and output the 80 bits of the output of the exclusive OR operation units 110-32 into 72 bits. The data compression unit 110-33 receives an 80-bit input and performs a compression process according to a preset table in order to calculate 72-bit data. The data compressor 110-33 erases data corresponding to the 9th, 19th, 29th, 39th, 49th, 59th, 69th, 79th of the 80 bits of data and outputs 72 bits of data.
S-box(110-34) 즉, 비선형 S 함수는 데이터 압축부(110-33)에서 출력되는 72 비트를 6비트씩 12 블록으로 분할하고, 각 블록의 6 비트를 4 비트로 치환하여 비선형 출력하며, S-box(110-34)에서 출력되는 데이터는 총 48 비트가 된다. S-box(110-34) 내부는 6 비트의 입력으로 4 비트를 출력하는 12개의 하부 S 함수(S1∼S12)가 존재하며, 하부 S 함수의 조합이 전체 S-box(110-34)를 구성하게 되며, 이를 수학식11로 표현할 수 있다.The S-box (110-34), that is, the non-linear S function divides 72 bits output from the data compression unit (110-33) into 12 blocks of 6 bits each, and replaces 6 bits of each block with 4 bits for nonlinear output. The data output from the S-boxes 110-34 is a total of 48 bits. Inside the S-box 110-34, there are 12 lower S functions S1 to S12 that output 4 bits as a 6-bit input, and a combination of lower S functions is used to cover the entire S-box 110-34. It can be configured, it can be expressed by the equation (11).
수학식 11은 S-box(110-34) 즉, 비선형 S 함수를 표현한 수식이다.
삭제delete
S 함수를 결정하기 위해서는 S 함수의 입출력이 특별한 관계를 가지도록 구성해야 한다. 제2 암호화수단(110)의 가장 핵심은 S 함수에 있기 때문에 S 함수의 비선형성을 매우 중요하게 생각해야할 파라미터이다.To determine the S function, the input and output of the S function must be configured to have a special relationship. Since the most core of the second encryption means 110 is in the S function, the nonlinearity of the S function is a parameter to be considered very important.
본 발명에서 구현한 혼합형 암호화 시스템은 반복이 없고 단지 1회의 라운드만을 수행하기 때문에 기존 암호화 시스템과는 설계 방법이 다르다. 즉, S 함수에 대한 재배열 관계를 무시하여도 S 함수에 대한 비선형 특성이 변화되지 않는다는 것이다.The hybrid encryption system implemented in the present invention is different from the conventional encryption system because it does not repeat and performs only one round. In other words, even if the rearrangement relationship for the S function is ignored, the nonlinear characteristic of the S function does not change.
확장/치환부(110-35)는 S-box(110-34)에서 출력되는 48 비트에 대해 확장과 치환 기능을 수행한다. 확장/치환부(110-35)는 S-box(110-34)의 출력 48 비트를 이용하여 64 비트로 확장하여 출력한다.The expansion / replacement unit 110-35 performs expansion and substitution functions on the 48 bits output from the S-box 110-34. The expansion / replacement unit 110-35 expands and outputs the 64-bit using the 48-bit output of the S-box 110-34.
도 1에 도시된 혼합형 암호화 시스템은 기존의 혼합형 암호화 시스템과는 확연한 차이를 가진다. 즉, 기존의 혼합형 암호화 시스템은 비도를 증가시키기 위해서는 LFSR의 주기를 길게 해야하며 이로 인한 입력 데이터(X)의 값도 따라서 증가되는 단점을 가지고 있다. 또한 입력 데이터(X)와 키데이터를 별도로 사용함으로써 암호화에 필요한 자원관리를 항상 염두해 두고 있어야 한다. 특히 키데이터는 고정된 값으로 존재하게 되므로 비인가자의 키데이터 획득은 암호화의 필요성을 무력화시키게 되는 중요한 요소를 가지게 된다. 그러나 본 발명에서 제안한 혼합형 암호화 시스템은 유입되는 정보 데이터를 기반으로 암호화에 사용되는 키데이터를 생성하므로 데이터에 따라 암호화 패턴이 변화된다.The hybrid encryption system shown in FIG. 1 is remarkably different from the existing hybrid encryption system. In other words, the existing hybrid encryption system has a long period of LFSR in order to increase the degree of secretion, and the resulting value of the input data (X) also increases. In addition, resource management necessary for encryption should be kept in mind by using input data (X) and key data separately. In particular, since the key data exists as a fixed value, the unauthorized key data acquisition has an important factor that obviates the need for encryption. However, the hybrid encryption system proposed in the present invention generates key data used for encryption based on incoming information data, so that the encryption pattern changes according to the data.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위 에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown not in the above description but in the claims, and all differences within the scope will be construed as being included in the present invention.
상술한 바와 같이 본 발명에 따르면, 비대칭형 암호 시스템에서 비도는 수학적 난이도의 해법에 의존한다. 그러므로 비도를 증가시키기 위해서는 더욱 복잡한 수학적인 배경을 요구하게된다. 이러한 수학적 난이도에 대한 암호화 시스템의 구현은 실시간처리의 어려움을 가지므로 시스템 효율면에서 비경제적이다. 그러므로 본 발명에서는 혼합형 암호 알고리즘을 변형하여 비대칭형 암호시스템 수준의 서비스를 수행할 수 있도록 하였다.As described above, according to the present invention, in asymmetric cryptographic systems, the ratio depends on a solution of mathematical difficulty. Therefore, increasing the degree of secretion requires a more complex mathematical background. Implementing the encryption system for such a mathematical difficulty is difficult in real time processing, so it is uneconomical in terms of system efficiency. Therefore, in the present invention, the hybrid cryptographic algorithm is modified to perform asymmetric cryptographic system level services.
기존 혼합형 암호화 시스템의 단점인 비도 증가와 의사난수발생기의 주기와의 비례관계를 본원발명에서는 적용 받지 않는다. 또한, 기존 대칭형 암호시스템에서 사용되는 반복(iteration)을 본원발명에서는 사용하지 않으므로 처리속도가 매우 증가된다. 그러므로 대용량 평문에 대한 암호화와 인증이 필요한 네트워크에서의 실시간 암호화가 가능하게 된다.In the present invention, the proportional relationship between the increase in the degree of rain and the period of the pseudo random number generator, which are disadvantages of the existing hybrid encryption system, are not applied. In addition, since the iteration used in the existing symmetric cryptographic system is not used in the present invention, the processing speed is greatly increased. This enables real-time encryption in networks that require encryption and authentication for large plain texts.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050048103A KR100709758B1 (en) | 2005-06-04 | 2005-06-04 | Mixed encryption system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050048103A KR100709758B1 (en) | 2005-06-04 | 2005-06-04 | Mixed encryption system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050069955A KR20050069955A (en) | 2005-07-05 |
KR100709758B1 true KR100709758B1 (en) | 2007-04-19 |
Family
ID=37260248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050048103A KR100709758B1 (en) | 2005-06-04 | 2005-06-04 | Mixed encryption system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100709758B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100989605B1 (en) | 2007-02-16 | 2010-10-26 | 후지쯔 가부시끼가이샤 | Encoding apparatus and encoding method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101480889B1 (en) * | 2014-04-17 | 2015-01-13 | 주식회사 다날 | Virtual keyboard generating device and method for user authentication |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09233068A (en) * | 1996-02-23 | 1997-09-05 | Digital Vision Lab:Kk | Electronic verification system |
KR20030089938A (en) * | 2002-05-20 | 2003-11-28 | 학교법인 포항공과대학교 | Signcryption method using KCDSA(Korean Certificate-based Digital Signature Algorithm) |
KR20040062785A (en) * | 2003-01-03 | 2004-07-09 | 소프트포럼 주식회사 | message signature and encryption method |
JP2004347885A (en) | 2003-05-22 | 2004-12-09 | Nippon Telegr & Teleph Corp <Ntt> | Encryption device processing method, decryption device processing method, device and program for same |
-
2005
- 2005-06-04 KR KR1020050048103A patent/KR100709758B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09233068A (en) * | 1996-02-23 | 1997-09-05 | Digital Vision Lab:Kk | Electronic verification system |
KR20030089938A (en) * | 2002-05-20 | 2003-11-28 | 학교법인 포항공과대학교 | Signcryption method using KCDSA(Korean Certificate-based Digital Signature Algorithm) |
KR20040062785A (en) * | 2003-01-03 | 2004-07-09 | 소프트포럼 주식회사 | message signature and encryption method |
JP2004347885A (en) | 2003-05-22 | 2004-12-09 | Nippon Telegr & Teleph Corp <Ntt> | Encryption device processing method, decryption device processing method, device and program for same |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100989605B1 (en) | 2007-02-16 | 2010-10-26 | 후지쯔 가부시끼가이샤 | Encoding apparatus and encoding method |
Also Published As
Publication number | Publication date |
---|---|
KR20050069955A (en) | 2005-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100296958B1 (en) | Apparatus for encoding block data | |
Soofi et al. | An enhanced Vigenere cipher for data security | |
JP4608319B2 (en) | Stream cipher generation method using multiple keys | |
US20080232591A1 (en) | Simple and efficient one-pass authenticated encryption scheme | |
Joshy et al. | Text to image encryption technique using RGB substitution and AES | |
Sakib | Analysis of Fundamental Algebraic Concepts and Information Security System | |
Hussain et al. | Redesigning the serpent algorithm by PA-Loop and its image encryption application | |
KR100709758B1 (en) | Mixed encryption system | |
US11973754B2 (en) | Fast unbreakable cipher | |
KR100551992B1 (en) | encryption/decryption method of application data | |
KR100848318B1 (en) | Method and Apparatus for generating user secret key in mobile communication system | |
US7688977B2 (en) | Method for encrypting video data | |
Subandi et al. | Analysis of RC6-Lite Implementation for Data Encryption | |
KR101131167B1 (en) | Method and apparatus for generating key stream for stream cipher, s-box for block cipher and method for substituting input vector using the s-box | |
KR20080044150A (en) | Apparatus and method for mapping out compressed function of a hash mode of operation for block cipher | |
CN110247754B (en) | Method and device for realizing block cipher FBC | |
JP2003032244A (en) | Stream cipher apparatus | |
Bahumik et al. | A symmetric key-based image encryption scheme | |
VG et al. | Implementation of lightweight cryptographic algorithms in FPGA | |
JP2001016197A (en) | Self-synchronized stream enciphering system and mac generating method using the same | |
Halagali et al. | Implementation of chaos based cryptography in kasumi block cipher | |
JP2000004223A (en) | Encryption/authentication system | |
KR100226867B1 (en) | Stream cipher system of wireless communication | |
Praveen et al. | A highly secured three-phase symmetric cipher technique | |
Salih et al. | Dynamic Stream Ciphering Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130404 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140410 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |