KR100709758B1 - Mixed encryption system - Google Patents

Mixed encryption system Download PDF

Info

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
Application number
KR1020050048103A
Other languages
Korean (ko)
Other versions
KR20050069955A (en
Inventor
김환용
이선근
Original Assignee
원광대학교산학협력단
정보통신연구진흥원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 원광대학교산학협력단, 정보통신연구진흥원 filed Critical 원광대학교산학협력단
Priority to KR1020050048103A priority Critical patent/KR100709758B1/en
Publication of KR20050069955A publication Critical patent/KR20050069955A/en
Application granted granted Critical
Publication of KR100709758B1 publication Critical patent/KR100709758B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/045Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public 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

혼합형 암호화 시스템{Mixed encryption system}Mixed encryption system {Mixed encryption system}

도 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).

Figure 112005029884583-pat00001
Figure 112005029884583-pat00001

수학식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 fifteenth LFSR generator 100 are the same. Up to -12) use the same generation polynomial. The output sequence up to 8T after the initial input is applied has all 128 bits.

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

Figure 112006082877417-pat00021
Figure 112006082877417-pat00021

수학식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.

Figure 112006082877417-pat00022
Figure 112006082877417-pat00022

여기서, 두 블록의 범위는 수학식 4와 같다.Here, the range of the two blocks is shown in Equation 4.

Figure 112005029884583-pat00004
Figure 112005029884583-pat00004

여기서, 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.

Figure 112005029884583-pat00005
Figure 112005029884583-pat00005

수학식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).

Figure 112005029884583-pat00006
Figure 112005029884583-pat00006

수학식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.

Figure 112005029884583-pat00007
Figure 112005029884583-pat00007

수학식6에 수학식 5를 대입하여 정리하면 수학식8과 같이 된다.Substituting Equation 5 into Equation 6 results in Equation 8.

Figure 112005029884583-pat00008
Figure 112005029884583-pat00008

데이터 치환부(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.

Figure 112005029884583-pat00009
Figure 112005029884583-pat00009

이상과 같은 연산을 통하여 생성된 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 Equation 10. After performing the internal operation using the key data K output from the first encryption means 100 and the operation result of the operation unit 110-3, the initial substitution result is alternately outputted.

Figure 112005029884583-pat00010
Figure 112005029884583-pat00010

수학식10은 일반적인 Feistel 구조의 형태와 동일하지만, 반복(Iteration)에 관한 i 파라미터가 없고, 대신 이전과 이후에 관한 방정식만 존재한다. 여기서 입력 128 비트는 치환부(110-1)에서 초기치환을 거친 후 좌우 64 비트씩 분리된다.Equation 10 is the same as the general Feistel structure, but there is no i parameter for iteration, but only equations for before and after. Here, the input 128 bits are separated by left and right 64 bits after initial substitution in the substitution unit 110-1.

좌우로 분리된 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 Equation 10 are performed only for one round, because the operation unit 110-3 performs encryption using the key data K input from the first encryption means 100. It is because it can be raised even higher. Determination of the ratio of the operation unit 110-3 is critically affected by expansion, rearrangement, and substitution. Such expansion, rearrangement, and substitution are determined by a predetermined table. The initial and reverse initial substitutions, which must be determined first, are performed on input and output 128 bits.

혼합형 암호화 시스템에서는 다양한 통계적 분석기법들에 대한 저항성을 갖기 위하여 비선형 연산 못지 않게 비선형 연산 결과를 가능한 많은 다른 데이터 비트들과 섞어주는 효율적인 선형변환을 사용한다. 이와 같이 선형과 비선형 연산을 섞어서 사용하는 이유는 암호 해석 기법인 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-box 110 are illustrated in FIG. 8. -34), expansion / replacement portion (110-35).

데이터 확장부(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).

Figure 112005029884583-pat00011
Figure 112005029884583-pat00011

수학식 11은 S-box(110-34) 즉, 비선형 S 함수를 표현한 수식이다.Equation 11 is an expression representing an S-box (110-34), that is, a nonlinear S function.

삭제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)

의사난수를 발생시키고, 상기 의사난수를 변환시켜 인증데이터를 생성하고, 상기 의사난수 및 상기 의사난수로부터 추출된 임의의 데이터와 암호화할 평문을 혼합하여 키데이터를 생성하는 제1 암호화수단; 및 First encryption means for generating a pseudo random number, converting the pseudo random number to generate authentication data, and generating key data by mixing the pseudo random number and arbitrary data extracted from the pseudo random number and plain text to be encrypted; And 상기 제1 암호화 수단에서 생성된 키데이터로 상기 평문을 암호화시키는 제2 암호화수단을 포함하며,Second encryption means for encrypting the plain text with key data generated by the first encryption means, 상기 제2 암호화수단에서 생성된 암호문 및 상기 제1 암호화수단에서 생성된 인증데이터를 결합하여 수신단으로 전송하는 것을 특징으로 하는 혼합형 암호화 시스템.And a cipher text generated by the second encrypting means and the authentication data generated by the first encrypting means. 제 1항에 있어서, 제1 암호화수단은The method of claim 1, wherein the first encryption means 소정의 생성다항식을 이용하여 의사난수를 발생시키고 소정개수의 블록으로 분할하여 출력하는 의사난수 발생부;A pseudo random number generator for generating a pseudo random number using a predetermined generation polynomial and dividing the pseudo random number into a predetermined number of blocks; 상기 의사난수 전체를 두 블록으로 포맷하고 각 블록의 대각 데이터들을 추출하여 상기 인증데이터를 생성하는 인증데이터 생성부; 및An authentication data generation unit for formatting the entire pseudo random number into two blocks and extracting diagonal data of each block to generate the authentication data; And 상기 의사난수와 평문을 논리연산한 제1 데이터 및 상기 분할된 의사난수로부터 추출한 임의의 데이터와 상기 대각 데이터들을 결합하여 재배치한 제2 데이터를 논리연산한 후 상기 인증데이터와 결합하여 상기 키데이터를 생성하는 키데이터 생성부를 포함하는 것을 특징으로 하는 혼합형 암호화 시스템.The first data obtained by logical operation of the pseudorandom number and the plain text, the arbitrary data extracted from the divided pseudorandom number, and the second data recombined by combining the diagonal data are combined with the authentication data. Mixed encryption system comprising a key data generation unit for generating. 제 2항에 있어서, 상기 인증데이터 생성부는The method of claim 2, wherein the authentication data generating unit 상기 제1블록 및 제2블록의 슬래시 방향 데이터들과 상기 제1블록 및 제2 블록의 역슬래시 방향 데이터들을 각각 배타적 논리합 연산하는 것을 특징으로 하는 혼합형 암호화 시스템.And an exclusive OR operation on the forward slash direction data of the first block and the second block and the reverse slash direction data of the first block and the second block, respectively. 제 2항에 있어서, 키데이터 생성부는The method of claim 2, wherein the key data generating unit 상기 의사난수 블록들 및 같은 블록수의 평문을 배타적 논리합 연산하고 전치 치환하는 혼합부;A mixing unit configured to perform an exclusive OR operation on the pseudorandom blocks and the plaintext of the same block number and pre-substitute the pseudorandom blocks; 분할된 의사난수 블록의 상위 및 하위 데이터를 추출하는 데이터 추출부;A data extraction unit for extracting upper and lower data of the divided pseudorandom block; 소정 주기마다 상기 결합된 대각 데이터와 상기 상위 및 하위 데이터를 포맷하여 재배치하는 데이터 포맷부;A data format unit for formatting and rearranging the combined diagonal data and the upper and lower data at predetermined intervals; 상기 데이터 포맷부에서 출력되는 데이터 및 상기 혼합부에서 출력되는 데이터를 논리 연산하여 출력하는 연산부; 및An operation unit configured to logically output data output from the data format unit and data output from the mixing unit; And 상기 연산부에서 출력되는 데이터와 상기 인증데이터를 결합하여 키데이터를 생성하여 상기 제2 암호화 수단으로 출력하는 데이터 출력부를 포함하는 것을 특징으로 하는 혼합형 암호화 시스템.And a data output unit for generating key data by combining the data output from the operation unit and the authentication data and outputting the key data to the second encryption unit. 제 4항에 있어서, 상기 연산부는The method of claim 4, wherein the operation unit 상기 데이터 포맷부에서 출력되는 상위 데이터 및 상기 혼합부에서 출력되는 상위 데이터를 배타적 논리합 연산하는 제1 논리연산부;A first logical operation unit configured to perform an exclusive OR operation on upper data output from the data format unit and upper data output from the mixing unit; 상기 데이터 포맷부에서 출력되는 하위 데이터 및 상기 혼합부에서 출력되는 하위 데이터를 배타적 부정 논리합 연산하는 제2 논리연산부; 및 A second logical operation unit configured to perform an exclusive negation operation on the lower data output from the data format unit and the lower data output from the mixing unit; And 상기 제1 및 제2 논리연산부의 연산 결과를 결합하는 데이터 결합부를 포함하는 것을 특징으로 하는 혼합형 암호화 시스템.And a data combiner for combining the operation results of the first and second logic operators. 제 1항에 있어서, 상기 제2 암호화수단은The method of claim 1, wherein the second encryption means 소정 단위로 입력되는 상기 평문을 소정단위로 분할하는 분할부;A division unit that divides the plain text input in a predetermined unit into a predetermined unit; 상기 임의의 분할된 평문 및 상기 키데이터를 암호화하는 암호화부; 및An encryption unit for encrypting the arbitrary divided plain text and the key data; And 상기 임의의 분할된 평문 및 상기 암호화부에서 출력된 데이터를 재배열하는 배열부를 포함하며,An arrangement unit for rearranging the arbitrary divided plain text and data output from the encryption unit, 상기 제2 암호화수단은 The second encryption means 상기 소정 단위의 평문에 대해 1회 암호화를 수행하는 것을 특징으로 하는 혼합형 암호화 시스템. Mixed encryption system, characterized in that for performing the encryption once for the predetermined unit of plain text. 제 6항에 있어서, 상기 암호화부는The method of claim 6, wherein the encryption unit 상기 분할된 평문을 상기 키데이터와 같은 데이터열로 확장시키는 확장부;An expansion unit for expanding the divided plain text into a data sequence such as the key data; 상기 확장된 평문과 상기 키데이터를 배타적 논리합 연산하는 연산부;An operation unit configured to perform an exclusive OR operation on the expanded plain text and the key data; 상기 연산된 데이터를 소정의 데이터열로 압축하는 압축부;A compression unit compressing the calculated data into a predetermined data sequence; 상기 압축된 데이터를 소정개수의 블록으로 분할하고, 분할된 블록의 데이터 각각을 치환하여 출력하는 제1 치환부; 및A first replacer for dividing the compressed data into a predetermined number of blocks and replacing and outputting data of the divided blocks; And 상기 치환된 데이터를 치환 확장하는 제2 치환부를 포함하며,And a second substitution part which substitutes and expands the substituted data. 상기 제1 치환부는 The first substituent is 12개의 서브 치환부로 구성되어 상기 분할된 블록 각각을 치환하는 것을 특징으로 하는 혼합형 암호화 시스템.Combination encryption system, characterized in that composed of 12 sub-substitutions to replace each of the divided blocks.
KR1020050048103A 2005-06-04 2005-06-04 Mixed encryption system KR100709758B1 (en)

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)

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

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

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

Patent Citations (4)

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

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