[go: up one dir, main page]

KR0144788B1 - The encryption system of personal communication for next generation using representative - Google Patents

The encryption system of personal communication for next generation using representative

Info

Publication number
KR0144788B1
KR0144788B1 KR1019950019523A KR19950019523A KR0144788B1 KR 0144788 B1 KR0144788 B1 KR 0144788B1 KR 1019950019523 A KR1019950019523 A KR 1019950019523A KR 19950019523 A KR19950019523 A KR 19950019523A KR 0144788 B1 KR0144788 B1 KR 0144788B1
Authority
KR
South Korea
Prior art keywords
data
block
encryption
representative structure
key
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
KR1019950019523A
Other languages
Korean (ko)
Other versions
KR970009028A (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 KR1019950019523A priority Critical patent/KR0144788B1/en
Publication of KR970009028A publication Critical patent/KR970009028A/en
Application granted granted Critical
Publication of KR0144788B1 publication Critical patent/KR0144788B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

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

Abstract

본 발명은 디지틀 정보의 통신에서의 비밀유지 방식에 관한 것으로 특히, 데이타를 수신하여야 하는 수신측에서 데이타를 전송하려고 하는 송신측으로 임계범위 이내의 소정비트의 랜덤변수 데이타를 송출하고 송신측에서 해당 데이타를 수신하는 제1과정과, 상기 제1과정에서 데이타를 수신한 송신측에서 자신의 고유번호중 레벨이'0'이 아닌 고유번호를 선택하여 수신된 랜덤변수 데이타를 사용하여 데이타를 형성하는 제2과정과, 상기 제2과정에서 형성된 데이타를 사용하여 대표성 구조를 형성하고 구성원 속성이 다른 구성원을 추출하여 1차 암호화하는 제3과정과, 상기 제3과정에서 암호화되어진 구성원 속성과 각각 개별적으로 소정비트씩 랜덤하게 생성되는 소정갯수의 암호키들을 설정하는 제4과정과, 상기 제4과정에서 설정되어진 암호키들을 구성하는 비트수를 기준으로 송신측에서 전송하고자 하는 데이타를 순차적으로 읽어들이는 제5과정과, 상기 제5과정에서 읽어들인 데이타를 사용하여 대표성 구조를 형성하고 구성원 속성이 다른 구성원을 추출하여 2차 암호화하는 제6과정 및 상기 제6과정에서 암호화되어진 구성원 속성과 상기 제5과정에서 데이타를 읽어들이는데 기준으로 사용되었던 암호키의 각 구성 비트를 부정 논리합 동작을 수행하는 제7과정을 포함하여 전송 데이타의 구간별로 각각 다른 암호키가 사용되는 것을 특징으로 하는 변동 대표성 구조를 이용한 암호화 방법 및 그에 다른 복호화 방법을 제공하여 암호화된 전송 메시지에서 도용에 필요한 복원방식을 추출당할 염려가 없다는 효과가 있다.The present invention relates to a confidentiality method in the communication of digital information. In particular, the receiving side, which should receive data, transmits random variable data of a predetermined bit within a critical range from the receiving side to transmit the data, and transmits the corresponding data at the transmitting side. The first step of receiving the data, and the step of forming the data by using the received random variable data by selecting a unique number other than the level '0' of its own number from the transmitting side receiving the data in the first process And a third process of forming a representative structure using the data formed in the second process and extracting and encrypting the first member having different member attributes, and separately from the member attributes encrypted in the third process. A fourth process of setting a predetermined number of encryption keys randomly generated bit by bit, and the encryption keys set in the fourth process A fifth process of sequentially reading data to be transmitted from the transmitter based on the number of bits to be configured; and a representative structure is formed using the data read in the fifth process, and a member having different member attributes is extracted. And a seventh step of performing a non-OR operation on each component bit of the encryption key used as a reference for reading data in the fifth step and a member attribute encrypted in the sixth step. By providing a encryption method using a variable representative structure and a different decryption method, wherein different encryption keys are used for each section of the transmission data, there is an effect that there is no fear of extracting a recovery method for theft from an encrypted transmission message. .

Description

대표성을 이용한 차세대 개인통신 암호화 시스템Next Generation Personal Communication Encryption System Using Representation

제1도는 대표성 구조의 구성 예시도.1 is a diagram illustrating a configuration of a representative structure.

제2도는 대표성 구조 암호화 알고리즘의 순서도.2 is a flowchart of a representative structure encryption algorithm.

제3도는 제2도에 대응하는 복호화 알고리즘의 순서도.3 is a flowchart of a decoding algorithm corresponding to FIG.

제4도는 본 발명에 따른 변동 대표성 구조의 암호화 알고리즘의 순서도.4 is a flowchart of an encryption algorithm of a variable representative structure according to the present invention.

제5도는 본 발명에 따른 변동 대표성 구조에 대응하는 복호화 알고리즘의 순서도.5 is a flowchart of a decoding algorithm corresponding to the variable representative structure according to the present invention.

제6도는 상기 제4도의 본 발명에 따른 암호화 알고리즘에서의 암호키 생성 과정의 간략 블럭 구성도.6 is a simplified block diagram of an encryption key generation process in the encryption algorithm according to the present invention of FIG.

제7도는 상기 제4도의 본 발명에 따른 암호화 알고리즘에서의 암호문 생성 과정의 간략 블럭 구성도.7 is a simplified block diagram of a cipher text generation process in the encryption algorithm according to the present invention of FIG.

제8도는 암호키 크기의 분포도.8 is a distribution of encryption key sizes.

제9도는 블럭 속성이 2인 경우 키 값의 분포도.9 is a distribution of key values when the block attribute is 2. FIG.

제10도는 암호키 크기 예시도.10 is an exemplary encryption key size.

제11도는 인접 블럭 속성에 따른 암호문에서의 비트 변화도.11 is a diagram showing bit change in cipher text according to adjacent block attributes.

제12도는 이동국과 기지국간의 인증 동작 순서도.12 is a flowchart of an authentication operation between a mobile station and a base station.

제13도는 이동국 등록의 인증 과정 예시도.13 is a diagram illustrating an authentication process of mobile station registration.

제14도는 발호국과 착호국의 암호화키 생성 과정 예시도.14 is a diagram illustrating an encryption key generation process of a calling party and a called station.

제15도는 본 발명에 따른 신호메시지의 암호화 절차.15 is a procedure of encrypting a signal message according to the present invention.

제16도는 본 발명에 따른 원문의 암호화 상태와 복호화 상태의 실험 예시도.16 is a diagram illustrating an experiment of an encryption state and a decryption state of an original text according to the present invention.

본 발명은 디지틀 정보의 통신에서의 비밀유지 방식에 관한 것으로 특히, 무선통신망을 통해 이루어지는 정보처리 및 통신과정에서 그 정보가 누출되는 것을 방지하기 위한 정보의 암호화 및 복호화 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a confidentiality method in communication of digital information, and more particularly, to a method of encrypting and decrypting information for preventing the information from being leaked during an information processing and communication process performed through a wireless communication network.

일반적으로, 정보화 사회의 진전에 따라 다양한 정보들이 통신망을 통하여 유통되고 있다.In general, various information is distributed through the communication network according to the progress of the information society.

이러한 다양한 정보들은 음성, 데이타(메일), 영상 정보등으로 대별될 수 있는데, 정보의 중요성을 아무리 강조해도 지나치지 않음에도 불구하고, 그들 대부분은 다양한 매체들을 통하여 원문으로 전달되어져 왔다.These various kinds of information can be classified into voice, data (mail), and video information. Although the importance of information cannot be overemphasized, most of them have been transmitted in the original through various media.

따라서, 정보의 누출을 막아 안전하게 정보를 보호하고 원하는 대상에게만 전달할 수 있는 방법의 필요성이 강력히 제기되어 왔다. 특히나, 80년대 초부터 이동통신 서비스가 도입된 이래로 현대사회의 개인화 및 이동성 추세와 함께 그 편리함에 대한 사용자의 인식이 증가하면서 차량전화 혹은 휴대폰 전화의 시장이 급속도로 성장하고 있다.Therefore, there has been a strong need for a method of preventing the leakage of information to securely protect the information and deliver it only to the desired target. In particular, since the introduction of mobile communication service since the early 80's, the market of vehicle phone or mobile phone has been rapidly growing as the personalization and mobility trend of the modern society and the user's awareness of convenience are increasing.

이러한 무선통신은 기존의 유선 통신망과 달리 무선 통신망 즉, 전파를 사용하므로 통신망에 가입하지 않은 단말기의 불법사용 또는 무선 경로상에서 교환되는 각종 정보의 도청을 배제할 수 없었다. 예를들면, 단말기의 불법사용의 경우, 임의의 제3자가 통신망에 가입한 타인이 발신때 발생되는 주파수를 분석하여 해당 단말기의 일련번호를 알아내고 그것을 이용한 통화시 타인의 단말기를 사용한 것과 동일한 효과를 얻을 수 있으므로, 자신의 일련번호를 도둑맞은 타인에게는 매우 큰 손실을 가지고 올 수 있다는 문제점이 발생된다.Since the wireless communication uses a wireless communication network, that is, a radio wave, unlike the conventional wired communication network, it is impossible to exclude illegal use of a terminal not joined to the communication network or eavesdropping of various information exchanged on a wireless path. For example, in the case of illegal use of a terminal, any third party joining a communication network analyzes the frequency generated when the other party is calling to find out the serial number of the corresponding terminal, and has the same effect as using another terminal when making a call using the terminal. As a result, the problem arises that a person who has stolen his serial number can have a very large loss.

상기와 같은 문제점들을 방지하기 위하여 제시되어진 종래의 방식으로는 개개인 별로 특정 암호를 사용하여 인증(Anthentication)받을 수 있도록 하는 암호 시스템을 들 수 있는데, 크게 관용 암호 시스템과 공개키 암호 시스템으로 분류할 수 있다.In order to prevent the problems described above, a conventional cipher system may be ciphered by an individual using a specific cipher, which can be classified into a conventional cipher system and a public key cipher system. have.

상기와 같은 분류중 관용 암호 시스템은 암호키와 복호키가 동일한 시스템이며, 공개키 암호 시스템은 암호화와 복호화 과정에서 서로 다른 키를 사용하는 시스템을 통칭한다.In the above classification, the conventional cryptographic system is a system in which the encryption key and the decryption key are the same, and the public key cryptosystem is a system using different keys in the encryption and decryption process.

그러나, 상기 공개키 암호 시스템은 암호키와 복호키가 서로 대칭하지 않는 방식이며, 대표적인 방식으로는 RSA(Rivest, Shamir Adleman)가 있으며 처리시간이 많이 소요되는 문제점이 발생된다.However, the public key cryptosystem is a method in which the encryption key and the decryption key are not symmetrical with each other, and a representative method is RSA (Rivest, Shamir Adleman), which causes a lot of processing time.

그에 따라, 이동통신에서의 인증방식은 암호키와 복호키가 서로 대칭형인 관용 암호 시스템을 사용하는데, 상기 관용 암호 시스템은 암호키를 알면 복호키를 역으로 추적하여 알아낼 수 있으므로 키관리가 시스템 유지에 매우 중요한 요인으로 작용하기 때문에 키관리에 많은 어려움이 발생된다.Accordingly, the authentication method in the mobile communication uses a conventional encryption system in which the encryption key and the decryption key are symmetrical with each other. The conventional encryption system can keep track of the decryption key by reversing the decryption key if the encryption key is known. This is a very important factor in the management of the key, which causes a lot of difficulties.

또한, 비밀정보의 데이타 베이스가 노출되면, 한꺼번에 대량의 비밀정보가 직접적으로 유출 도용된다.In addition, when a database of secret information is exposed, a large amount of secret information is leaked directly at once.

또한, 이동단말기의 하드웨어를 분해하여 비밀정보를 도용할 수 도 있고, 고장수리 서비스 과정에서도 비밀정보가 도용될 수 있다. 많은 수의 기지국과 운영요원을 고려할 때 심각함 문제이다.In addition, the secret information may be stealed by disassembling the hardware of the mobile terminal, and the secret information may be stealed even during the troubleshooting service process. This is a serious problem when considering a large number of base stations and operating personnel.

그러나, 상기와 같은 문제점을 근본적으로 해소하기 위한 방법은 비대칭 암호화법을 도입하는 것인데, 이는 기존의 프로토콜이 전체적으로 변경되어야 하는 문제점이 발생된다.However, a method for fundamentally solving the above problem is to introduce an asymmetric encryption method, which causes a problem that the existing protocol must be changed as a whole.

또한, 비밀정보의 정규적인 변경으로 상기와 같은 비밀정보 누출의 예방이 가능하나 사용상 불편함이 따를 수 있으므로 종합적인 연구가 진행되어야 한다.In addition, it is possible to prevent the leakage of confidential information as described above by regular change of confidential information, but it may be inconvenient to use, so a comprehensive study should be conducted.

그동안 연구되어 표준으로 제정된 TLA/EIA/IS-95의 내용을 살펴보면, IS-95에서 제공하는 보호서비스는 인증(Authentication)과 기밀성(Confidentiality)이 있다.Looking into the contents of the TLA / EIA / IS-95, which has been studied and established as a standard, the protection service provided by IS-95 has authentication and confidentiality.

인증 서비스란 발호이동국과 기지국 사이에, 착호 이동국과 기지국 사이에 식별확인을 위한 과정을 말하며, 기밀성이란 데이타를 암호화하여 다른 신호로 변경하는 것을 말하며 시스템 데이타 보호와 음성 데이타 보호가 있다.The authentication service refers to a process for identification verification between a calling mobile station and a base station, and between a called mobile station and a base station. Confidentiality refers to changing data into another signal by encrypting data. There are system data protection and voice data protection.

또한, 기밀성을 위한 보호 메카니즘은 대칭키 암호기법으로 수행되고 있으며, 보호 알고리즘에는 인증 메카니즘에서 사용되는 Auth_Signature Procedure와, 비밀키 SSD의 생성에 사용되는 SSD Generation Procedure, 및 트래픽 채널상의 데이타 보호에 사용되는 Linear PN Sequence Generator with long code mask 등이 있다. IS-95의 통신 프로토콜에서는 이동국을 인증하는데 입력으로 사용되는 자료중에서 비밀정보인 단말기 고유번호(ESN)와 단말기 인식번호(MIN) 및 수신자의 전화번호(CHARi)가 보호되지 않고 이전에 기지국과 통신되므로 더 이상 비밀정보가 아니다.In addition, the protection mechanism for confidentiality is performed by symmetric key cryptography. The protection algorithm includes the Auth_Signature Procedure used in the authentication mechanism, the SSD Generation procedure used to create the secret key SSD, and the data protection on the traffic channel. Linear PN Sequence Generator with long code mask. In the IS-95 communication protocol, the terminal's unique number (ESN), terminal identification number (MIN), and receiver's telephone number (CHARi), which are secret information, are used to communicate with the base station. It is no longer confidential information.

따라서, 단말기에 내장되어 있는 64비트 정보인 SSD_A만 알게되면 바로 통화도용이 가능하다.Therefore, if you know only SSD_A, which is 64 bits of information embedded in the terminal, it is possible to steal calls immediately.

상기 SSD_A가 CDMA 이동통신 방식의 보안성을 유지하는 유일한 정보가 된다.The SSD_A is the only information for maintaining the security of the CDMA mobile communication method.

또는, 인증서명절차를 거쳐 출력되는 AUTHR가 18비트로 너무작고 인증서명 절차의 수행시간이 매우 짧을 것이므로 exhaustive attack 방법에 의한 공격이 현실적으로 가능하기 때문에 비밀 보장의 어려움이 따르는 문제점이 발생되었다.Or, since the AUTHR output through the certificate name procedure is too small to 18 bits and the execution time of the certificate name procedure is very short, an attack by the exhaustive attack method is realistically possible, which causes a difficulty in confidentiality.

상기와 같은 문제점들을 해소하기 위한 본 발명의 목적은 단위시간당(예를들어, 1초) 소정갯수의 예를들면 6.000개의 키를 생성하고 키의 주기가 2th(tn:전체 구성원 수)를 나타내는 대표성 구조와 이의 특성들을 이용하여 개인통신의 인증 및 기밀성 서비스를 구현할 수 있는 대표성을 이용한 차세대 개인통신 암호화 시스템을 제공하는 것으로, 즉, 대표성 구조에서 레벨이 '0'인 구성원 속성들에는 비밀키를 레벨이 '0'이 아닌 구성원의 속성들에는 공개키를 정의하여 암호키를 생성하여 키의 특성을 분석하였으며 생성된 암호키의 크기 비트 만큼씩 평문을 읽어들여 변동 대표성 알고리즘으로 암호문을 만들어 비트의 변화도를 제시하는데 있다.An object of the present invention to solve the above problems is to generate a predetermined number of for example 6.000 keys per unit time (for example, 1 second) and the period of the key represents 2 th (tn: total number of members) It provides a next-generation personal communication encryption system using the representativeness that can implement the authentication and confidentiality service of personal communication by using the representative structure and its characteristics, that is, the member key whose level is '0' in the representative structure. For the attributes of member whose level is not '0', the public key is defined and the cryptographic key is generated to analyze the characteristics of the key. The plaintext is read by the size bits of the generated cryptographic key, and the ciphertext is created by the variable representative algorithm To present the degree of change.

상기 목적을 달성하기 위한 본 발명의 이론적 배경중 대표성 구조란 구성원들과 구성원 속성으로 이루어졌으며 각 구성원은 몇개의 구성원소로 되었나를 표시하는 차수(d)와 구성원소들이 가질 수 있는 값의 범위를 나타내는 레벨로 그 특성이 결정되는 구조이다.In the theoretical background of the present invention for achieving the above object, the representative structure is composed of members and member attributes, and each member represents an order (d) indicating how many members are present and a range of values that the members can have. It is a structure whose characteristics are determined by level.

이때, 상기 대표성 구조를 이루는 각 구성원들은 구성원의 구성원소들의 값에 따라 고유한 레벨을 갖게 되고 레벨이 0인 구성원과 레벨이 '0'이 아닌 구성원으로 구별되었으며 구성원 나열 방법에 따라 레벨이 '0'이 아닌 구성원은 반드시 2d-1개씩 레벨이 '0'인 구성원들을 한 블럭으로 구성되게 된다.At this time, each member constituting the representative structure has a unique level according to the values of the members of the member, and the member whose level is 0 and the member whose level is not '0' are divided into '0'. Non-members must be composed of one block of members whose level is '0' for each 2 d -1 pieces.

또한, 각 블럭들도 레벨을 갖게 되며 레벨이 m인 블럭이 레벨이 m-1 이하 블럭들의 속성을 대표케하여 대표성 알고리즘을 통해 각 구성원들의 속성이 틀린 구성원들만 추출하였다.In addition, each block also has a level, and the block of level m represents the attributes of blocks below level m-1, and only the members whose attributes are incorrect are extracted through the representativeness algorithm.

상기 목적을 달성하기 위한 본 발명의 특징은, 대표성 구조를 이용한 디지틀 정보의 암호화 방법에 있어서, 데이타를 수신하여야 하는 수신측에서 데이타를 전송하려고 하는 송신측으로 임계범위 이내의 소정비트의 랜덤변수 데이타를 송출하고 송신측에서 해당 데이타를 수신하는 제1과정과, 상기 제1과정에서 데이타를 수신한 송신측에서 자신의 고유번호는 대표성 구조에서 레벨이 '0'이 아닌 구성원 속성으로 정의하고 수신된 랜덤변수는 레벨이 '0'인 구성원 속성으로 형성하는 제2과정과, 상기 제2과정에서 형성된 구성원을 이용한 대표성 구조에서 구성원 속성이 다른 구성원을 추출하여 암호키를 생성하는 제3과정과, 상기 제3과정에서 사용되었던 대표성 구조의 구성원 속성들을 각각 개별적으로 소정비트씩 랜덤하게 생성되는 소정갯수의 암호키들을 설정하면서 상기 제3과정을 반복 수행하는 제4과정과, 상기 제4과정에서 설정되어진 암호키들을 구성하는 비트수를 기준으로 송신측에서 전송하고자 하는 데이타를 순차적으로 읽어들이는 제5과정과, 상기 제5과정에서 읽어들인 데이타를 사용하여 변동 대표성 구조를 형성하고 구성원 속성이 다른 구성원을 추출하여 1차 암호화하는 제6과정 및 상기 제6과정에서 암호화되어진 결과와 상기 제5과정에서 데이타를 읽어들이는데 기준으로 사용되었던 암호키의 각 구성 비트를 부정 논리합 동작을 수행하여 2차 암호화하는 제7과정을 포함하여 전송 데이타의 구간별로 각각 다른 암호키가 사용되는데 있다.A feature of the present invention for achieving the above object is a method of encrypting digital information using a representative structure, wherein a random side data of a predetermined bit within a critical range is transmitted from a receiving side to which a data should be received to a transmitting side to transmit data. In the first process of transmitting and receiving the corresponding data at the transmitting side, and at the transmitting side receiving the data at the first process, the unique number of its own is defined as a member attribute whose level is not '0' in the representative structure and is received randomly. The variable is a second process of forming a member attribute whose level is '0', a third process of extracting a member having a different member attribute from the representative structure using the member formed in the second process, and generating an encryption key; A predetermined number of ciphers that are randomly generated by predetermined bits each of the member attributes of the representative structure used in step 3 A fourth process of repeatedly performing the third process while setting the data; and a fifth process of sequentially reading data to be transmitted from the transmitter based on the number of bits constituting the encryption keys set in the fourth process; By using the data read in the fifth process, a variable representative structure is formed, the sixth process of extracting and encrypting the first member having different member attributes, and the result encrypted in the sixth process and the data in the fifth process. A different encryption key is used for each section of transmission data, including a seventh process of performing second-order encryption on each component bit of the encryption key used as a reference for performing a negative-OR operation.

상기 목적을 달성하기 위한 본 발명의 다른 특징은, 대표성 구조를 이용한 디지틀 정보의 암호화시 전송 데이타의 각 구간별로 암호키가 각각 다른 암호화 데이타의 복호화 방법에 있어서, 암호화 데이타를 수신하여 복호화하여야 하는 수신측에서 임의로 랜덤하게 생성하거나 또는 송신측에서 전송하는 임계범위 이내의 소정비트의 랜덤변수 데이타를 수신하여 데이타를 형성하는 제1과정과, 상기 제1과정에서 형성된 데이타를 사용하여 대표성 구조를 형성하고 구성원 속성이 다른 구성원을 추출하여 상기 제1과정에서 형성된 데이타로 암호키를 생성하는 제2과정과, 상기 제2과정에서 사용되었던 대표성 구조의 구성원 속성들을 각각 개별적으로 소정비트씩 랜덤하게 생성되는 소정갯수의 암호키들을 설정하여 상기 제2과정을 반복 수행하는 제3과정과, 상기 제3과정에서 설정되어진 암호키들을 구성하는 비트수를 기준으로 송신측으로 부터 전송되어 수신되는 데이타를 읽어들이는 제4과정과, 상기 제2과정에서 암호화로 생성된 암호키와 어떤 암호키에 의하여 상기 제4과정에서 읽어들이는 데이타의 각 구성 비트를 이용하여 변동 대표성 구조를 만든 다음 대표성 알고리즘에 의하여 생성된 결과와 부정 논리합 동작을 수행하는 제5과정 및 대표성 구조의 구성원 속성을 재생시키기 위하여 대표성 구조 생성 알고리즘의 역 알고리즘을 사용 상기 제5과정에서 부정 논리합 동작을 통해 생성되는 데이타를 복호화하는 제6과정을 포함하여 각각 다른 소정비트 길이의 구간별로 다른 암호키를 사용한 암호문을 복원할 수 있는데 있다.Another feature of the present invention for achieving the above object is a method of decrypting encrypted data having different encryption keys for each section of transmission data when encrypting digital information using a representative structure, the reception of which should receive and decrypt encrypted data. A first process of randomly generating random data at the side or receiving random variable data within a threshold range transmitted from the transmitting side to form data, and forming a representative structure using the data formed at the first process; A second step of generating a cryptographic key from the data formed in the first step by extracting a member having a different member property; and a predetermined randomly generated predetermined bit of each of the member properties of the representative structure used in the second step. A third process of repeating the second process by setting a number of encryption keys And a fourth process of reading data received from the transmitter by receiving the data based on the number of bits constituting the encryption keys set in the third process, an encryption key generated by encryption in the second process and a certain encryption. A variable representative structure is created by using each component bit of the data read in the fourth step by a key, and then the fifth step of performing a logical OR operation with the result generated by the representative algorithm and the member attribute of the representative structure are reproduced. In order to recover the ciphertext using a different encryption key for each interval of different predetermined bit lengths, a sixth process of decrypting data generated through an unOR operation is performed using the inverse algorithm of the representative structure generation algorithm. I can.

이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 설명한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.

먼저, 본 발명에 대한 상세한 설명에 앞서 본 발명에서 제안하는 대표성 알고리즘이란, 구성원들 간에 대표성을 갖게 한 대표성 구조에 비트값을 구성원들의 속성으로 정의한 다음 대표성을 갖지 않는 구성원들을 추출하는 것을 말하낟.First, prior to the detailed description of the present invention, the representative algorithm proposed by the present invention refers to defining a bit value as an attribute of members in the representative structure that has representativeness among members, and then extracting members having no representativeness.

이하, 대표성 알고리즘을 이용한 암호문 생성과 복호화에 필요한 알고리즘에 대한 설명에 앞서 각 용어에 대한 정의를 살펴보면 다음과 같다.Hereinafter, the definition of each term prior to the description of the algorithm for generating and decrypting ciphertext using the representative algorithm is as follows.

[정의 1][Definition 1]

구성원(構成員)成員

구성원이란(Xd-1,Xd-2,…,X1,X0)의 형식을 갖춘 것을 말하며, Xd-1,Xd-2,…,X1,X0의 각각을 구성원소라 한다.A member means something having the form (X d-1 , X d-2 ,…, X 1 , X 0 ), and X d-1 , X d-2 ,... Each of, X 1 , X 0 is called a member.

[정의 2][Definition 2]

차수(次數)Degree

차수란 구성원이 몇개의 구성요소로 되었나를 말하는 것으로 (Xd-1,Xd-2,…,X1,X0) 의 경우 차수는 d가 된다.The order is the number of elements the member is made of (X d-1 , X d-2 , ..., X 1 , X 0 ) and the order is d.

[정의 3][Definition 3]

구성원의 값Member value

구성원의 값은 그 구성원의 속성(屬性)을 나타내는 것으로 정의한다.A member's value is defined as representing the member's attributes.

예를들어, 구성원 값이 ‘1’이면 흑색을 나타내고, '0'이면 백색을 나타낸다.For example, if the member value is '1', it is black, and if it is '0', it is white.

[정의 4][Definition 4]

구성원의 레벨(level)Level of member

구성원들은 구성원소 값에 따라 고유한 레벨을 갖는다. 구성의 레벨은 구성원의 구성요소들 즉, Xd-1,Xd-2,…,X1,X0의 값들을 이진(binary)으로 표현하여 각각을 우측으로 부터 좌측으로 연속되는 '0'의 갯수 중 최소가 되는 수를 레벨로서 정의한다.Members have unique levels based on their value. The level of configuration is the component of the member, namely X d-1 , X d-2 ,... By expressing the values of, X 1 , X 0 in binary, we define each level as the minimum of the number of consecutive '0's from right to left.

[정의 5][Definition 5]

최대/최소 레벨(level)Max / Min Level

구성원소를 0부터 2m-1(m0) 사이의 범위의 값으로 표현하여 한정하는 경우 구성원이 가질 수 있는 구성원의 최대 레벨은 ‘m’이 되고, 최소 레벨은 '0'이 된다.In the case of limiting a member element by expressing a value in the range of 0 to 2 m -1 (m0), the maximum level of a member that a member can have is 'm' and the minimum level is '0'.

이때, 최대 레벨 구성의 구성원소 값은 모두 '0'으로 이루어진다.At this time, all the element values of the maximum level configuration is made of '0'.

[정의 6][Definition 6]

제 m-1 레벨 이하의 구성원 생성Create member below level m-1

레벨이 m인 구성원이 Xd-1,Xd-2,…,X1,X0일 때, 이하의 구성원Yd-1,Yd-2,…,Y1,Y0은 다음의 공식 1에 따라서 먼저Zi를 생성하는데,Members of level m are X d-1 , X d-2 ,.. When, X 1 , X 0 , the following members Y d-1 , Y d-2 ,... , Y 1 , Y 0 first generates Z i according to the following formula 1.

[공식 1][Formula 1]

Zi=Xi+2m,(0≤i≤d-1, m:y 구성원 레벨)Z i = X i +2 m , (0≤i≤d-1, m: y member level)

Zi와 Xi가 2i의 주기(cycle)로 구성원소 Yi를 정의하여 생성한다.Z i and X i are created by defining the element Y i in a cycle of 2 i .

[정의 7][Definition 7]

블럭block

레벨이 m(m0)인 구성원에 속하는 레벨 m-1 이하의 구성원들은 상기 정의 6에 의하여 생성되는데, 그로인해 레벨이 '0'이 아닌 구성원에 속하는 레벨'0'인 구성원들은 반드시 2d-1(단, d는 차수)개씩 생성된다.Members below level m-1 belonging to members of level m (m0) are created by definition 6 above, so that members of level '0' belonging to members other than level '0' must be 2 d -1. (Where d is an order).

이때, 생성되는 구성원들을 묶어 놓은 것을 블럭이라 정의한다.At this time, a group of generated members is defined as a block.

[정의 8][Definition 8]

블럭 구성원Block member

블럭으로 정의된 구성원들 중 레벨이 '0'이 아닌 구성원을 칭하며, 블럭 구성원의 속성과 레벨은 블럭 속성과 블럭 레벨로 정의된다.Among the members defined as a block, the level refers to a member whose level is not '0'. The attributes and level of a block member are defined as a block attribute and a block level.

[정의 9][Definition 9]

블럭내 구성원Member in block

블럭으로 정의된 구성원들 중 레벨이 '0'인 구성원을 칭하며, 블럭내 구성원의 속성과 레벨은 블럭내 속성과 블럭내 레벨로 정의된다.Among the members defined as a block, it refers to a member whose level is '0', and the attributes and levels of the members in the block are defined as attributes in the block and levels in the block.

[정의 10][Definition 10]

대표성 구조Representative structure

블럭 레벨 m에 속해 있는 레벨이 m-1 이하의 블럭들은 레벨이 작은 순으로 하여 블럭을 나열하며 맨 좌측 블럭은 항상 레벨이 최대인 블럭이 된다는데, 구성원에 '0' 또는 ‘1’인 비트값을 부여한 것을 구성원 속성이라 한다.Blocks of level m-1 and lower belong to the block level m, and the blocks are listed in descending order. The leftmost block is always the block with the maximum level. A bit whose member is '0' or '1'. Assigning a value is called a member attribute.

또한, 상술한 순서에 의하여 구성원이 나열되고 구성원 속성이 부여된 것을 대표성 구조라 정의한다.In addition, a member is listed in the above-described order and a member attribute is defined as a representative structure.

[정의 11][Definition 11]

대표성Representation

대표성 구조의 특성에 따라 레벨이 m인 블럭 속성이 레벨 m에 속하는 레벨 m-1 이하의 모든 구성원 속성을 대표하며 이를 대표성이라 정의한다.According to the characteristics of the representative structure, a block attribute of level m represents all member attributes below level m-1 belonging to level m and is defined as representativeness.

또한, 레벨이 i(1≤i≤m-1)인 블럭 속성을 대표하고 있는 블럭 속성들 중 레벨이 최소인 블럭을 상위 레벨이라 한다.Also, among the block attributes representing the block attribute whose level is i (1 ≦ i ≦ m−1), the block having the minimum level is called a higher level.

상기와 같이 정의한 각 용어들의 관계를 예를들어 간략히 설명하면 다음과 같다.For example, the relationship between each of the terms defined above will be briefly described as follows.

구성원들 간의 대표성을 갖도록 하는 과정은 먼저 구성원을 몇개의 구성원소로 구성할 것인가를 결정하여야 한다.The process of having representatives among members must first determine how many members are to be composed.

이때, 구성원의 갯수가 차수로 결정되는데, 3개의 구성원소로 구성원을 구성할 경우 구성원은 (X2,X1,X0)로 표현되고 차수는 3차가 된다.At this time, the number of members is determined by the order. When the members are composed of three members, the members are represented by (X 2 , X 1 , X 0 ) and the order is third order.

상기와 같이 구성원의 구성원소에 따른 차수가 정해지면, 정해진 차수에 따라 구성원소를 표현하는 값의 범위가 설정되며, 범위에 의하여 최대 레벨이 정해진다.When the order according to the member position of the member is determined as described above, the range of values representing the member element is set according to the determined order, and the maximum level is determined by the range.

즉, 구성원의 값의 범위를 '0'부터 2m-1(m0) 사이로 할 경우, 최대 레벨은 m이 되며 레벨이 m인 구성원은 (Od-1,Od-2,…,O1,O0)가 된다. 이때, 상술한 경우와 마찬가지로 차수가 3이고 '0'에서 ‘7’까지의 값으로 구성원의 구성원소를 나타내는 경우에 (0,0,0)으로 표현되는 구성원 레벨은 3이 되고 만약, (4,6,7)로 표현되는 경우 구성원 레벨은 '0'이 된다.That is, if the value of member is in the range of '0' to 2 m -1 (m0), the maximum level is m and the member of level m is (O d-1 , O d-2 ,…, O 1 , O 0 ). In this case, as in the above case, when the order is 3 and the member element is represented by a value from '0' to '7', the member level represented by (0,0,0) is 3, and (4 When expressed as (6,7), the member level is '0'.

즉, 우측에서 좌측으로 ‘1’을 만날때 까지의 '0'의 갯수는, ‘4’일 경우 ‘4’의 이진수가 “100”이므로 2개이고, ‘6’일 경우 ‘6’의 이진수가 “110”이므로 1개이며, ‘7’일 경우 ‘7’의 이진수가 “111”이므로 0개이기 때문에 각 구성원중 '0'의 갯수가 최소 값인 '0'이 (4,6,7)의 레벨이 되는 것이다.That is, the number of '0' from right to left until '1' is '2' because '4' is '100' and '6' is '6'. 110 ”, so there is one, and in the case of '7', the binary number of '7' is“ 111 ”, so it is zero, so '0', the minimum number of '0' of each member, is at the level of (4,6,7). It will be.

또한, 차수가 3차이고 최대 레벨이 3인 경우에, (0,0,4)로 표현되는 구성원의 레벨은 ‘2’가 되고, 구성원에 속하는 레벨‘1’인 구성원의 생성은 상기 공식 1에 따라 Xi들은 (0,0,4)로, Zi들은 (2,2,6)으로 정의된다.Further, when the degree is tertiary and the maximum level is 3, the level of the member represented by (0,0,4) becomes '2', and the generation of the member whose level '1' belongs to the member Thus X i is defined as (0,0,4) and Z i is defined as (2,2,6).

이때, Y0는 주기가 20이므로 4, 6, 4, 6, 4, 6, 4, 6이 되며, Y1는 주기가 21이므로 0, 0, 2, 2, 0, 0, 2, 2이 되고 마지막으로 Y2는 주기가 22이므로 0, 0, 0, 0, 2, 2, 2, 2로 되어 아래의 표 1과 같아진다.At this time, Y 0 is so cycle 20 is a 4, 6, 4, 6, 4, 6, 4, 6, Y 1 is a cycle 21 because it is 0,0, 2, 2, 0, 0, 2, 2 and finally, Y 2 has a period of 2 2, so 0, 0, 0, 0, 2, 2, 2, 2 becomes as shown in Table 1 below.

상기 표 1에서는 레벨 2인 구성원에서 속하는 레벨 1인 구성원을 생성하는 과정을 살펴볼 수 있다.In Table 1, a process of generating a level 1 member belonging to a level 2 member may be described.

그런데, 레벨이 '0'이 아닌 구성원들은 반드시 레벨이 '0'인 구성원들을 포함하고 있다.However, members whose level is not '0' necessarily include members whose level is '0'.

따라서, 레벨이 '0'이 아닌 구성원들은 반드시 레벨 '0'인 구성원들을 생성하는 것이 필요하다.Therefore, members whose level is not '0' must necessarily create members whose level is '0'.

그러므로, 예를들어 상기 표 1에서 레벨이 1인 (2,2,6) 구성원에 속하는 레벨이 '0'인 구성원들을 상술한 공식 1에 의하여 생성시키면, X들은 (2,2,6)으로, Z들은 (3,3,7)으로 정의된다.Thus, for example, in Table 1 above, if members having a level of '0' belonging to a member of level (1, 2,2,6) are generated by Equation 1 described above, X is (2,2,6). , Z are defined as (3,3,7).

이때, Y는 주기가 2 이므로 6, 7, 6, 7, 6, 7, 6, 7이 되며, Y는 주기가 2 이므로 2, 2, 3, 3, 2, 2, 3, 3이 되고 마지막으로 Y는 주기가 2 이므로 2, 2, 2, 2, 3, 3, 3, 3으로 되어 아래의 표 2와 같아진다.In this case, Y has a period of 2 , So 6, 7, 6, 7, 6, 7, 6, 7, and Y has period 2 2, 2, 3, 3, 2, 2, 3, 3 and finally Y has a period of 2 Therefore, it becomes 2, 2, 2, 2, 3, 3, 3, 3, and is shown in Table 2 below.

이렇게 생성된 블럭들은 레벨이 최대인 블럭부터 시작하여 레벨이 m인 블럭에 속하는 레벨 m-1 이하의 블럭들을 레벨이 작은 순서대로 첨부한 제1도에 도시되어 있는 바와같은 형태의 구성으로 나열한다.The blocks thus created are arranged in blocks of level m-1 or less belonging to blocks of level m, starting from the block with the maximum level, in the form as shown in FIG. .

상기 제1도의 구성은 차수가 3차이고 레벨이 3인 경우의 구성으로서, 먼저 (0,0,0)의 블럭이 나열되고 그 다음 (0,0,0)에 속하는 블럭중 레벨이 1인 블럭들이 나열된다.The configuration of FIG. 1 is a configuration in which the degree is 3rd order and the level is 3, in which blocks of (0,0,0) are listed first, and then the blocks whose level is 1 among the blocks belonging to (0,0,0). Are listed.

그리고 레벨이 1인 블럭의 나열이 끝나면, 첫번째 레벨이 2인 블럭을 나열한 다음, 레벨 2에 속하는 레벨이 1인 블럭들을 나열한다. 이후, 레벨이 2인 블럭을 상술한 방식으로 나열한다.When the level 1 block is listed, the first level 2 blocks are listed, and then the level 2 blocks belonging to level 2 are listed. The blocks with level 2 are then listed in the manner described above.

이런 순서로 나열한 블럭들은 구성원들에 대하여 입력자료의 비트값을 순차적으로 속성을 부여한다.Blocks listed in this order sequentially assign the bit values of the input data to the members.

제1도에서 실선으로 표시되어 있는 부분은 블럭 구성원을 나타내는 것이고, 점선으로 표시되어 있는 부분은 블럭내 구성원을 나타내고 있다.In FIG. 1, the portion indicated by the solid line represents the block member, and the portion indicated by the dotted line represents the member in the block.

또한, 실선의 구성원들과 점선들의 구성원들이 2 개씩 묶어 하나의 블럭을 구성한 것을 알 수 있다.Also, the members of the solid line and the members of the dashed lines are 2 It can be seen that one block is formed by grouping them together.

전체 구성원 수를 기준으로 구성원을 몇차로 하여 정의하였는가에 따라 총 블럭수와 블럭내 구성원 수의 관계를 살펴보면 다음과 같다.The relationship between the total number of blocks and the number of members in a block is as follows according to how many members are defined based on the total number of members.

전체 구성원 수 2 을 2 (단, d는 차수임)로 나누면 총 블럭수가 구해진다.Total number of members 2 2 (Where d is the degree), the total number of blocks is obtained.

또한, 블럭내 구성원 수는 2 -1개가 된다.Also, the number of members in the block is 2 -1.

물론, 블럭 구성원(정의 8참조)이 블럭내 구성원(정의 9참조)들의 속성을 대표하고 있다.Of course, block members (see definition 8) represent the attributes of members in the block (see definition 9).

왜냐하면, 블럭 구성원의 레벨은 '0'이 아니며, 블럭내 구성원의 레벨은 '0'이기 때문이다.This is because the level of the block member is not '0', and the level of the member in the block is '0'.

상기와 같은 정의에 따라, 대표성이란 레벨 m인 구성원이 레벨 m-1 이하인 모든 구성원들의 값들을 대표하고 있을 때를 말한다. 또한, 대표성 알고리즘이란 대표성 구조에 의해 속성을 대표하고 있는 것을 말하는 것이다.According to the above definition, representativeness refers to when a member at level m represents the values of all members below level m-1. In addition, the representativeness algorithm means what represents an attribute by the representative structure.

즉, 대표하고 있는 구성원 속성과 틀린 속성을 갖고 있는 구성원들을 추출하는 것이다.In other words, it extracts members with attributes that are different from the member attributes they represent.

부연하여 설명하면, 블록내 구성원들은 블록 구성원과 속성이 틀린 구성원들만 추출되고, 블록 구성원들은 상위 블록 구성원과 속성이 틀린 구성원들만 추출되는 것으로 압축의 효과를 이용한 것이다. 대표성 알고리즘에 의해 추출되는 구성원들에 대하여 상위 블록 속성과 블럭 속성과의 관계에 따라 추출되는 경우만 정리하면 다음 표 3과 같다.In other words, the members in the block extract only members with incorrect block members and attributes, and the block members extract only members with incorrect parent members and attributes. Table 3 summarizes only the cases in which members extracted by the representativeness algorithm are extracted according to the relationship between upper block attributes and block attributes.

상기 표 3에 나타나 있는 바를 살펴보면, 대표성에 반대되는 속성을 갖고 있는 구성원들만 추출되는 것을 알 수 있는데, 블록 속성이 반드시 한 블록내 속성에 영향을 주게되어 있는 대표성 구조에서는 블록 속성별로 다른 결과를 생성한다는 결론에 도달한다.As shown in Table 3, it can be seen that only the members having attributes opposite to representativeness are extracted. In the representative structure where the block attribute necessarily affects the attributes in one block, different results are generated for each block attribute. To the conclusion.

상술한 바와같은 결론에 도달하는 이유는 대표성에 의한 구성원 생성시 구성원 속성이 현 구성원을 대표하고 있는 블록 속성 또는 상위 블록 속성과 틀린 경우만 생성되기 때문이다.The reason for reaching the above-mentioned conclusion is that the member property is generated only when the member property is different from the block property or the upper block property representing the current member.

대표성 알고리즘에 의해 생성되는 구성원들에 대하여 속성을 ‘1’로 정의하여 생성되는 구성원들을 구별할 수 있는 대표성 구조로 만든다.For the members created by the representativeness algorithm, the attribute is defined as '1' to make the representative structure distinguishable.

이런 대표성 구조를 이용하면 원래의 구성원 속성을 재생할 수 있다. 즉, 구성원 속성이 ‘1’인 구성원은 상위 블록 또는 블록 구성원 속성과 반대로 속성이 정의되며, 속성이 '0'인 구성원은 상위 블록 또는 블록 구성원 속성과 같은 속성이 정의하여 구성원 속성이 재생된다.This representative structure allows you to recreate the original member properties. That is, a member whose member attribute is '1' is defined as opposed to a parent block or block member attribute, and a member whose attribute is '0' is defined by an attribute such as a parent block or block member attribute, and the member attribute is played.

이에 대한 상세한 알고리즘이 구성원 속성 재생 알고리즘이다. 따라서, 대표성 알고리즘으로 생성된 구성원들을 식별할 수 있게 속성을 “1”로 정의한 대표성 구조만 있으면 구성원 속성 재생 알고리즘을 통하여 구성원들의 속성을 재생할 수 있다.The detailed algorithm for this is the member attribute reproduction algorithm. Therefore, if there is only a representative structure in which the attribute is defined as “1” to identify the members generated by the representative algorithm, the attributes of the members can be reproduced through the member attribute reproduction algorithm.

이와 같은 특성을 이용하여 평문을 암호문으로 만들고 다시 암호문을 평문으로 만들 수 있다.By using these characteristics, plain text can be ciphertext and ciphertext again.

상술한 바와같은 내용을 정리하여 체계화시키면, 아래의 제1, 제2이론과 같이 결론지을 수 있다.By organizing and organizing the above-mentioned contents, it can be concluded as in the first and second theories below.

이론 1:블록 구성원이 n개로 구성된 대표성 구조에서 블록 속성들이 유일하게 정의되면 주기가 2 을 갖는 비트 스트림들이 대표성 알고리즘에 의해 생성된다.Theory 1: If block attributes are uniquely defined in a representative structure of n block members, the period is 2 Bit streams with are generated by a representative algorithm.

이론 2:대표성 알고리즘에 의해 생성된 구성원들을 식별할 수 있는 대표성 구조만 있으면 구성원 속성들을 재생할 수 있다.Theory 2: Member properties can be reproduced as long as they have a representative structure that can identify members created by the representativeness algorithm.

상술한 바와같은 이론에 바탕을 둔 대표성 알고리즘과 구성원 속성 재생 알고리즘에 대하여 첨부한 제2도와 제3도를 참조하여 상세히 설명하며 중요한 데이타의 암호화 및 복호화에 유용할 수 있음을 설명한다.The representativeness algorithm and the member attribute reproduction algorithm based on the theory described above will be described in detail with reference to FIGS. 2 and 3, which will be useful for encrypting and decrypting important data.

제2도는 대표성 알고리즘의 순서도이며, 제3도는 제2도에 대응하는 재생 알고리즘의 순서도이다.FIG. 2 is a flowchart of a representative algorithm, and FIG. 3 is a flowchart of a reproduction algorithm corresponding to FIG.

첨부한 제2도를 참조하여 대표성 알고리즘을 설명하면 다음과 같다.Referring to FIG. 2, the representative algorithm is described as follows.

우선, 스텝 S101에서는 초기화상태에서 임의로 구성원의 차수를 설정한다.First, in step S101, the order of members is arbitrarily set in the initialization state.

이후, 스텝 S102에서는 상기 스텝 S101에서 설정된 구성원의 차수에 따라 구성원(comp)과, 블록 구성원(b_comp)과, 블록내 구성원(bi_comp)과, 블록 레벨(b_level)과, 최대 레벨(m_level)과, 블록 속성(b_attr)과, 구성원 속성(c_attr) 및 상위 블록 속성 (u_attr)을 생성한다.Thereafter, in step S102, the member comp, the block member b_comp, the in-block member bi_comp, the block level b_level, the maximum level m_level, according to the order of the member set in step S101, The block attribute b_attr, the member attribute c_attr, and the upper block attribute u_attr are generated.

상기 스텝 S102에서 생성되어진 구성원(comp)이 블록 구성원(b_comp)과 동일한 상태에서 블록 레벨이 최대 레벨과 동일한 가를 스텝 S103에서 판단하여 동일한 경우 스텝 S104로 진행하여 구성원(comp)을 출력시키고 블록 속성(b_attr)과 상위 블록 속성(u_attr)을 구성원 속성(c_attr)으로 치환한다.In step S103, it is determined whether the block level is the same as the maximum level in the state where the member comp generated in the step S102 is the same as the block member b_comp. b_attr) and the upper block attribute u_attr are replaced with a member attribute c_attr.

상기 스텝 S103 또는 스텝 S04 이후, 스텝 S105에서는 상기 스텝 S102에서 생성된 구성원(comp)이 블록내구성원(b_comp)과 동일한 상태에서 블록 속성(b_attr)과 상위 블록 속성(u_attr)이 상이한가를 판단하여 상이한 경우 스텝 S106으로 진행하여 구성원(comp)을 출력시키고 블록 속성(b_attr)과 상위 블록 속성(u_attr)을 구성원 속성(c_attr)으로 치환한다.After step S103 or step S04, in step S105, it is determined whether the block attribute b_attr and the upper block attribute u_attr are different in a state in which the member comp generated in the step S102 is the same as the block member b_comp. In step S106, the member comp is output, and the block attribute b_attr and the upper block attribute u_attr are replaced with the member attribute c_attr.

상기 스텝 S105 또는 스텝 S106 이후, 스텝 S107에서는 상기 스텝 S102에서 생성된 구성원(comp)이 블록 구성원(b_comp)과 동일한 상태에서 구성원 속성(c_attr)과 상위 블록 속성(u_attr)이 상이한가를 판단하여 상이한 경우 스텝 S108로 진행하여 블록 속성(b_attr)을 구성원 속성(c_attr)으로 치환한다.After step S105 or step S106, in step S107, if the member comp generated in the step S102 is the same as the block member b_comp, it is determined whether the member attribute c_attr and the upper block attribute u_attr are different from each other. The flow advances to step S108 to replace the block attribute b_attr with the member attribute c_attr.

상기 스텝 S107도는 스텝 S108 이후, 스텝 S109에서는 상기 스텝 S102에서 생성된 구성원(comp)이 블록내 구성원(bi_comp)과 동일한 상태에서 블록 속성(b_attr)과 구성원 속성(c_attr)이 상이한가를 판단하여 상이한 경우 스텝 S110으로 진행하여 구성원(comp)을 출력시킨다.In step S107, after step S108, in step S109, when the member comp generated in step S102 is the same as the member bi_comp in the block, it is determined whether the block attribute b_attr and the member attribute c_attr are different. The flow advances to step S110 to output a member comp.

상기와 같은 대표성 알고리즘을 통하여 수행하면, 상기 표 3과 같은 양식의 구성원을 추출할 수 있다.When performed through the representative algorithm as described above, the members of the form shown in Table 3 can be extracted.

또한, 대표성 알고리즘을 사용하여 추출되어진 구성원을 사용하여 원래의 구성원 속성을 재생하는 알고리즘을 첨부한 제3도를 참조하여 살펴보면 다음과 같다.In addition, referring to Figure 3 attached to the algorithm for reproducing the original member attribute using the member extracted using the representative algorithm as follows.

우선, 스텝 S201에서는 초기화상태에서 임의로 구성원의 차수를 설정한다.First, in step S201, the order of members is arbitrarily set in the initialization state.

이후, 스텝 S202에서는 상기 스텝 S201에서 설정된 구성원의 차수에 따라 구성원(comp)과, 블록 구성원(b_comp)과, 블록 구성원(bi_comp)과, 블록 레벨(b_level)과, 최대 레벨(m_level)과, 블록 속성(b_attr)과, 구성원 속성(c_attr)과, 재생 구성원 속성(ac_attr) 및 상위 블록 속성(u_attr)을 생성한다.Subsequently, in step S202, the member comp, the block member b_comp, the block member bi_comp, the block level b_level, the maximum level m_level, and the block are determined according to the order of the members set in step S201. The attribute b_attr, the member attribute c_attr, the reproduction member attribute ac_attr and the upper block attribute u_attr are generated.

상기 스텝 S202에서 생성되어진 구성원(comp)이 블럭 구성원(b_comp)과 동일한 상태에서 블록 레벨이 최대 레벨과 동일한 가를 스텝 S203에서 판단하여 동일한 경우 스텝 S204로 진행하여 블록 속성(b_attr)과 상위 블록 속성(u_attr) 및 재생 구성원 속성(ac_attr)을 구성원 속성(c_attr)으로 치환한다.In step S203, if the member comp generated in step S202 is the same as the block member b_comp, it is determined in step S203 that the block level is the same as the maximum level, and the flow proceeds to step S204. u_attr) and playback member attribute (ac_attr) are replaced with member attribute (c_attr).

상기 스텝 S203 또는 스텝 S204 이후, 스텝 S205에서는 상기 스텝 S202에서 생성된 구성원(comp)이 블록 구성원(b_comp)과 동일한 상태에서 블록 속성(b_attr)과 상위 블록 속성(u_attr)가 모두 '0'인가를 판단하여 '0'인 경우 스텝 S206으로 진행하여 블록 속성(b_attr)과 재생 구성원 속성(ac_attr)을 '0'으로 치환한다.After the step S203 or step S204, in step S205, whether the block attribute b_attr and the upper block attribute u_attr are both '0' while the member comp generated in the step S202 is the same as the block member b_comp If it is determined and is "0", the flow advances to step S206 to replace the block attribute b_attr and the reproduction member attribute ac_attr with "0".

상기 스텝 S205 또는 스텝 S206 이후, 스텝 S207에서는 상기 스텝 S202에서 생성된 구성원(comp)이 블록 구성원(b_comp)과 동일한 상태에서 상위 블록 속성(u_attr)이 '0'이고 블록 속성(b_attr)이 ‘1’인가를 판단하여 해당되는 경우 스텝 S208로 진행하여 블록 속성(b_attr)과 재생 구성원 속성(ac_attr)을 ‘1’으로 치환한다.After step S205 or step S206, in step S207, the upper block attribute u_attr is '0' and the block attribute b_attr is '1' while the member comp generated in step S202 is the same as the block member b_comp. In step S208, the block attribute b_attr and the reproduction member attribute ac_attr are replaced with '1'.

상기 스텝 S207 또는 스텝 S208 이후, 스텝 S209에서는 상기 스텝 S202에서 생성된 구성원(comp)이 블록 구성원(b_comp)과 동일한 상태에서 상위 블록 속성(u_attr)이 ‘1’이고 블록 속성(b_attr)이 '0'인가를 판단하여 해당되는 경우 스텝 S210으로 진행하여 블록 속성(b_attr)과 재생 구성원 속성(ac_attr)을 ‘1’으로 치환한다.After step S207 or step S208, in step S209, the upper block attribute u_attr is '1' and the block attribute b_attr is '0' while the member comp generated in the step S202 is the same as the block member b_comp. In step S210, if it is determined that the authorization is successful, the block attribute b_attr and the reproduction member attribute ac_attr are replaced with '1'.

상기 스텝 S209 또는 스텝 S210 이후, 스텝 S211에서는 상기 스텝 S202에서 생성된 구성원(comp)이 블록 구성원(b_comp)과 동일한 상태에서 상위 블록 속성(u_attr)과 블록 속성(b_attr)이 모두 ‘1’인가를 판단하여 ‘1’인 경우 스텝 S212로 진행하여 블록 속성(b_attr)과 재생 구성원 속성(ac_attr)을 '0'으로 치환한다.After step S209 or step S210, in step S211, it is determined whether both the upper block attribute u_attr and the block attribute b_attr are '1' while the member comp generated in the step S202 is the same as the block member b_comp. If it is determined and is "1", the flow advances to step S212 to replace the block attribute b_attr and the reproduction member attribute ac_attr with "0".

상기 스텝 S211 또는 스텝 S212 이후, 스텝 S213에서는 상기 스텝 S202에서 생성된 구성원(comp)이 블록내 구성원(bi_comp)과 동일한 상태에서 블록 속성(b_attr)이 '0'인가를 판단하여 '0'인 경우 스텝 S214로 진행하여 재생 구성원 속성(ac_attr)을 구성원 속성(c_attr)으로 치환한다.After step S211 or step S212, in step S213, if it is determined that the block attribute b_attr is '0' in the state in which the member comp generated in the step S202 is the same as the member bi_comp in the block, it is '0'. The flow advances to step S214 to replace the playback member attribute ac_attr with the member attribute c_attr.

상기 스텝 S213 또는 스텝 S214 이후, 스텝 S215에서는 상기 스텝 S202에서 생성된 구성원(comp)이 블록내 구성원(bi_comp)과 동일한 상태에서 블록 속성(b_attr)이 ‘1’인가를 판단하여 ‘1’인 경우 스텝 S216로 진행하여 구성원 속성(c_attr)을 반전시킨 후 재생 구성원 속성(ac_attr)에 입력한다.After step S213 or step S214, in step S215, when the member comp generated in step S202 is the same as the member bi_comp in the block, it is determined that the block attribute b_attr is '1' and is '1'. The flow advances to step S216 to invert the member attribute c_attr and input it to the reproduction member attribute ac_attr.

상기와 같은 재생 알고리즘을 통하여 대표성 알고리즘을 통하여 추출되어진 구성원을 재생할 수 있는데, 이러한 대표성은 아주 일정한 규칙성에 의해서 평문을 암호화하고 암호화되어진 데이타를 평문으로 재생하기 때문에 본 발명의 목적에 정확하게 부합되지는 않는다.Through the reproduction algorithm as described above, the member extracted through the representative algorithm can be reproduced. This representativeness does not exactly meet the object of the present invention because the plain text is encrypted by a very regular regularity and the encrypted data is reproduced as plain text. .

왜냐하면, 전송 데이타의 전체 비트수가 1,000비트라고 가정하고 대표성 알고리즘을 통하여 10비트씩 구성원을 추출하여 암호화한다고 가정하면, 총 100개의 암호문이 형성된다.Because assuming that the total number of bits of the transmission data is 1,000 bits and a member is extracted and encrypted by 10 bits through the representative algorithm, a total of 100 ciphertexts are formed.

이때, 임의의 제3자가 구성원 형성시 10비트를 사용한다는 것을 알아내면 암호화의 의미를 상실하게 되는 것이다.At this time, if any third party finds out that 10 bits are used to form a member, the meaning of encryption is lost.

그러므로, 본 발명에서 적용하고자 하는 대표성 구조는 구성원 형성시 사용되는 비트수를 가변하여 대표성 구조를 형성하는 변동 대표성 구조를 제안한다.Therefore, the representative structure to be applied in the present invention proposes a variable representative structure that forms a representative structure by varying the number of bits used in forming a member.

상기 변동 대표성 구조란 대표성 구조의 구성원 수가 키게 따라 변하는 것을 말한다.The variable representative structure means that the number of members of the representative structure varies with height.

변동 대표성 구조를 사용한 암호화와 복호화의 동작 순서는 첨부한 제4도와 제5도에 도시되어 있다.The sequence of operations of encryption and decryption using the variable representative structure is shown in FIG. 4 and FIG.

제4도는 이동국에서 기지국으로 음성데이타 또는 핸드오프 등등의 데이타 전송시 본 발명에 따른 변동 대표성 구조를 사용한 암호화 과정의 간략 동작 순서도이다.4 is a simplified operation flowchart of an encryption process using a variable representative structure according to the present invention when transmitting data such as voice data or handoff from a mobile station.

이동국은 스텝 S301에서 기지국으로 부터 임계범위 이내의 소정비트(예를들어, 임계비트수가 64비트인 경우 약 32비트)의 랜덤변수 데이타를 입력받는다.The mobile station receives, at step S301, random variable data of predetermined bits (for example, about 32 bits when the number of critical bits is 64 bits) from the base station.

이후, 스텝 S302에서는 이동국 자신의 고유번호(예를들어, ID, 전화번호, …)중 레벨이 '0'이 아닌 고유번호를 선택하여 상기 스텝 S301에서 수신된 랜덤변수 데이타를 믹싱하여 대표성 구조를 형성한다.Subsequently, in step S302, a unique number whose level is not '0' among unique numbers (for example, ID, telephone number, ...) of the mobile station is selected, and the random variable data received in step S301 is mixed to form a representative structure. Form.

상기 스텝 S302에서 형성된 대표성 구조를 사용하여 스텝 S303에서 상술한 제2도의 대표성 알고리즘을 수행한다.The representativeness algorithm of FIG. 2 described above in step S303 is performed using the representative structure formed in step S302.

상기 스텝 S303에서 사용했던 대표성 구조의 구성원 속성을 LFFR을 수행하여 대표성 구조를 재형성한다.LFFR is performed on the member attribute of the representative structure used in step S303 to reform the representative structure.

스텝 S304에서는 재형성된 대표성 구조를 상기 스텝 S303에서의 과정을 통해 가변적인 K비트의 암호키를 설정한다.In step S304, a variable K-bit encryption key is set through the process of step S303 in the remodeled representative structure.

이때, 상기 스텝 S303과 S304의 과정을 통해 생성되는 K비트의 암호키는 복수개로써, 각각 비트길이가 다른 랜덤변수이다. 즉, 암호키의 비트수를 임의로 정의 가정하면 제1암호키의 비트수가 100, 제2암호키의 비트수가 200, 제3암호키의 비트수가 300으로 또한, 제4암호키의 비트수가 400으로 정해진다.At this time, a plurality of K-bit encryption keys generated through the steps S303 and S304 are random variables having different bit lengths. That is, assuming that the number of bits of the encryption key is arbitrarily defined, the number of bits of the first encryption key is 100, the number of bits of the second encryption key is 200, the number of bits of the third encryption key is 300, and the number of bits of the fourth encryption key is 400. It is decided.

이후, 스텝 S305에서는 상기 스텝 S304에서 설정된 암호키를 이루는 비트길이에 따라 순차적으로 이동국에서 기지국으로 전송하려고 하는 데이타를 읽어들여 X,X,…,X,X을 생성한다.Subsequently, in step S305, data to be transmitted from the mobile station to the base station is sequentially read in accordance with the bit length of the encryption key set in step S304, and X, X,... Create X and X.

예를들어, 이동국에서 기지국으로 전송하려고 하는 데이타가 1,000비트인 경우 상기 스텝 S304에서 설정된 제1암호키의 비트수가 100이라면, 우선 100비트를 읽어들인다.For example, if the data to be transmitted from the mobile station to the base station is 1,000 bits, if the number of bits of the first encryption key set in step S304 is 100, first 100 bits are read.

스텝 S306에서는 상기 스텝 S305에서 읽어들인 100비트의 데이타를 사용하여 상술한 제2도의 대표성 알고리즘을 수행한다.In step S306, the representativeness algorithm of FIG. 2 is executed using the 100-bit data read in step S305.

상기 스텝 S306에서 X,X,…,X,X의 구성원을 사용하여 대표성 알고리즘을 수행하면 상기 이동국에서 기지국으로 전송하려고 하는 데이타인 1,000비트중 100비트의 데이타가 암호화된다.In step S306, X, X,... When the representative algorithm is performed using the members of X, X, 100 bits of data of 1,000 bits, which are data to be transmitted from the mobile station to the base station, are encrypted.

이후, 스텝 S307에서는 변동 대표성 암호화 변수(i)를 초기화(i=0)한다. 상기 스텝 S307에서 변수 i를 초기화한 후 스텝 S308에서 상기 S306에서 생성된 대표성 암호화 구성원(ac_attr)과 제i암호키(Key)를 각각 구성하고 있는 i번째 비트끼리 배타적 논리합(XOR) 동작을 수행하되, 스텝 S309에서 변수 i가 상기 제i암호키(Key)를 구성하고 있는 마지막 비트인 k번째 비트와 배타적 논리합(XOR) 동작을 수행하였는가를 판단하여 동작이 종료되었다고 판단할 때까지 수행한다. 만약, 동작이 종료되지 않았다고 판단되면 스텝 S310으로 진행하여 변수 i를 1증가시켜 상기 스텝 S308로 진행한다.Thereafter, in step S307, the variable representative encryption variable i is initialized (i = 0). After initializing the variable i in step S307 and performing an exclusive OR operation between the i th bits constituting the representative cipher member ac_attr and the i th encryption key generated in S306 in step S308, In step S309, it is determined whether the variable i performs an exclusive OR (XOR) operation with the k-th bit, which is the last bit constituting the i-th encryption key, until it is determined that the operation is finished. If it is determined that the operation is not finished, the process proceeds to step S310 where the variable i is increased by 1 and the process proceeds to the step S308.

이때, 상기 암호화 과정에서 제1암호키에 대해서만 설명하였으나, 상술한 바와같이 전송 데이타가 1,000비트인 경우 전송 데이타는 각 암호키의 비트 구간별로 즉, 제1암호키, 제2암호키, 제3암호키 및 제4암호키에 의하여 전송되는 모든 데이타가 4개의 암호키에 의하여 암호화되어 전송된다.In this case, only the first encryption key has been described in the above encryption process. However, as described above, when the transmission data is 1,000 bits, the transmission data is for each bit section of each encryption key, that is, the first encryption key, the second encryption key, and the third. All data transmitted by the encryption key and the fourth encryption key are encrypted and transmitted by the four encryption keys.

또한, 상기 제4도에는 도시되어 있지 않지만 각 암호키에 대하여 수행될 수 있도록 동작이 순환된다.In addition, although not shown in FIG. 4, the operation is repeated to be performed for each encryption key.

상기와 같은 암호화 동작에 대하여 복호화 동작은 첨부한 제5도에 도시되어 있는 바와같다.The decryption operation for the above encryption operation is as shown in FIG.

제5도는 이동국에서 기지국으로 음성데이타 또는 핸드오프 등등의 데이타 전송시 기지국에서 본 발명에 따른 변동 대표성 구조를 사용한 복호화 과정의 간략 동작 순서도이다. 복호화 과정은 상술한 암호화 과정의 역순이므로 상세한 설명은 생략한다.5 is a simplified operation flowchart of a decoding process using a variable representative structure according to the present invention at a base station when transmitting data such as voice data or handoff from a mobile station. Since the decryption process is the reverse of the above-described encryption process, a detailed description thereof will be omitted.

상술한 암호화 과정과 복호화 과정을 간략히 부연설명하면, 변동 대표성 구조 암호화는 먼저, 대표성 알고리즘을 이용하여 임의의 k비트를 생성한다.Briefly explaining the above-described encryption process and decryption process, variable representative structure encryption first generates arbitrary k bits using a representativeness algorithm.

즉, 대표성 구조의 블록 속성들은 임의로 랜덤하게 생성 또는 수신된 값으로 정의하고, 블록내 속성들은 식별번호 및 기계번호등 고유번호로 정의하여 대표성 구조를 만든다.In other words, the block attributes of the representative structure are randomly defined as randomly generated or received values, and the attributes in the block are defined by unique numbers such as identification numbers and machine numbers to create representative structures.

즉, 레벨이 0이 아닌 구성원들의 속성은 랜덤 값으로 레벨이 0인 구성원들은 고유값으로 정의하여 대표성 구조를 만든다.That is, the attributes of members whose level is not 0 are random values, and members having level 0 are defined as eigenvalues to form a representative structure.

상기 과정에서 만들어진 대표성 구조를 입력으로 다시 대표성 알고리즘을 통하여 임의의 k비트를 생성한다.A representative k-bit is generated through the representative algorithm again with the representative structure created in the above process.

그 다음 상기 k비트를 암호키로 정의하고 k비트씩 입력 자료 비트들을 읽어들여 변동 대표성 구조로 만든다.The k bits are then defined as an encryption key and the input data bits are read by k bits to form a variable representative structure.

그리고 변동 대표성 구조 암호화 알고리즘에 의해 변동 대표성 구조 자료를 암호화하는 것이다.The variable representative structure encryption algorithm is used to encrypt the variable representative structure data.

변동 대표성 구조 복호화 과정은 변동 대표성 구조 암호화 알고리즘에 의해 생성된 암호문을 암호화 과정과 같게 임의의 k비트씩 읽어들여 변동 대표성 구조를 만든다. 그 다음 변동 대표성 복호화 알고리즘에 의해 평문을 만드는 것이다.The variable representative structure decryption process reads the ciphertext generated by the variable representative structure encryption algorithm by random k bits like the encryption process to create a variable representative structure. The plain text is then created by the variable representative decoding algorithm.

대표성 구조의 블록 구성원 속성은 공개키로, 블록내 구성원 속성은 비밀키로 정의하여 대표성 알고리즘에 의해 암호키를 생성하여 암호문을 만드는 과정을 간략 블록 구성으로 도시하면 제6도와 제7도에 도시되어 있다.A block member attribute of the representative structure is defined as a public key, and a member attribute within a block is defined as a secret key, and a process of generating a ciphertext by generating an encryption key by a representative algorithm is illustrated in FIG. 6 and FIG.

제6도는 암호키 생성 과정의 간략 블록 구성으로, 공개키인 블록 구성원 속성(x)과 비밀키인 블록내 속성(y)가 입력되어 대표성 알고리즘을 통해 암호키의 크기가 '0'보다는 크고 대표성 구조의 총 비트(x+y)보다는 같거나 작은 암호키(z)가 생성되는 과정을 알 수 있다.6 is a simplified block configuration of the encryption key generation process. A block member attribute (x), which is a public key, and an attribute (y), which is a secret key, are inputted, and the cipher key is larger than '0' and represented by a representative algorithm. It can be seen that the encryption key z, which is less than or equal to the total bits (x + y) of the structure, is generated.

제7도는 제6도에 의하여 생성된 암호키를 이용하여 암호문으로 만드는 과정의 간략 블록 구성으로, 평문을 임의의 k개 비트 블록들로 읽어들여 변동 대표성 알고리즘으로 1차 암호화하고 생성된 암호키(z)로 배타적 논리합(XOR)으로 2차 암호화하여 암호문을 만드는 과정을 보여주고 있다.FIG. 7 is a simplified block diagram of a process of making a ciphertext using the cipher key generated by FIG. 6, and reads the plaintext into arbitrary k bit blocks and first encrypts it with a variable representativeness algorithm. z) shows the process of making a ciphertext by performing second-order encryption with an exclusive logical OR (XOR).

상기와 같은 암호문 생성시 중요 부분이 암호키의 랜덤 분포인데, 암호키의 분포정도를 첨부한 제8도를 참조하여 분석하여 보면, 블록 구성원 수는 4로 가정하고, 블록내 구성원 수는 12로 가정하는 경우에 생성될 수 있는 모든 경우 즉, 2 (65,536)의 경우에 생성된 모든 키의 크기를 나타낸 것이다.An important part of generating the ciphertext is the random distribution of the encryption key. When analyzing the distribution of the encryption key with reference to FIG. 8, the block number is assumed to be 4, and the number of members in the block is 12. Assuming all cases that can be generated, i.e. 2 In the case of (65,536), it shows the size of all keys generated.

실험 방법으로는 공개키인 블록 속성 4비트와 비밀키인 블록내 속성 12비트로 총 16비트로 구성된 대표성 구조에서 생성된 키의 크기를 구하여 누적시켰다.As an experimental method, the size of a key generated from a representative structure consisting of 16 bits in total is composed of 4 bits of block attribute of public key and 12 bits of attribute in block of secret key.

이때, 발생되는 키의 크기는 첨부한 제8도에 도시되어 있는 바와 같이 정규분포를 하고 있었다.At this time, the size of the generated key was normally distributed as shown in FIG.

암호키의 크기가 8과 9에서 가장 많은 빈도수를 나타냈으며 이를 기준으로 키의 크기가 작거나 클수록 작은 빈도를 나타내고 있음을 알 수 있다. 또한 키의 크기별 빈도수는 대표성 구조의 구성원 수만 영향을 받았다.The cipher key size showed the highest frequency in 8 and 9, and it can be seen that the smaller or larger the key, the smaller the frequency. In addition, the frequency of each key size affected only the number of members of the representative structure.

그리고, 암호키의 크기별 유일한 키 값으로 생성된 종류를 아래의 표 4에서 살펴볼 수 있다.And, the type generated as the unique key value for each encryption key size can be seen in Table 4 below.

상기 표 4를 살펴보면, 암호키의 종류는 1,056개로 2 보다는 크게 나타났다. 이렇게 대표성 알고리즘을 이용하면 공개키의 경우의 수 2 보다 훨씬 크고 비밀키의 경우의 수 2 보다는 작은 경우 수를 내부적으로 생성할 수 있다.Referring to Table 4, the number of encryption keys is 1,056. Appeared larger. Using the representative algorithm, the number of public keys is 2 Much larger than the number of secret keys 2 If smaller, the number can be generated internally.

그리고, 키의 크기가 블록 속성보다 같거나 크게 생성될 확률은 99.7%로 매우 높다. 또한 대표성 구조의 총 구성원 수에 절반보다 큰 크기의 값을 갖을 확률은 58%를 보였다.And, the probability that the size of the key is generated equal to or larger than the block attribute is 99.7%. In addition, the probability of having a value larger than half of the total number of members of the representative structure was 58%.

키의 크기가 블록 속성보다 작게 생성된 1∼4까지는 평균 중복도가 낮으나 키의 크기가 작아 평문에 대해 많은 블록들이 생성되고 키 크기로 암호문을 해독할 경우를 고려하면 암호키로의 이용가치는 없다고 할 수 있다.The average redundancy is low from 1 to 4, where the size of the key is smaller than the block attribute, but the size of the key is small. can do.

따라서, 키의 크기도 크고 전체 평균 중복도 62보다는 작은 중복도를 갖고 있는 키의 크기가 10이상인 것이 이용성이 높다고 할 수 있다. 주어진 범위에서 이진수 값들은 “1”과 “0”의 갯수가 정규분포를 보이고 있다.Therefore, it can be said that the availability of a key having a redundancy of 10 or more with a large key size and a total redundancy smaller than 62 is high. Binary values in a given range are normally distributed with the number "1" and "0".

즉, 0에서 15사이의 값들의 이진수에서 “0”과 “1”의 갯수를 “0”을 기준으로 살펴보면 4개가 1, 3개가 4, 2개가 6개, 1개가 4개, 0개가 1로 정규분포를 보인다.In other words, if you look at the number of “0” and “1” in binary numbers of values between 0 and 15 as “0”, 4 is 1, 3 is 4, 2 is 6, 1 is 4, 0 is 1 Normal distribution is shown.

블록 속성과 블록내 속성들의 비트값들이 정규분포를 나타냄에 따라 블록 속성과 다른 블록내 속성들만 추출하는 대표성 알고리즘에 의해 생성되는 키의 크기들은 항상 정규분포를 보인다.As the bit values of the block attribute and the attributes in the block represent a normal distribution, the sizes of the keys generated by the representative algorithm that extract only the block attribute and other intra-block attributes always show a normal distribution.

또한, 블록 속성에 “1”이면 0인 블록내 속성들이 “0”이면 1인 블록내 속성들이 추출됨에 따라 항상 좌우 대칭을 이룬다. 따라서 키의 크기가 10이상인 경우만 생성되게 하는 조건은 찾기가 어렵다.In addition, if the property of the block is 0 when the block property is “1”, the property is always symmetrical as the property of the block is 1 if the property is “0”. Therefore, it is difficult to find a condition that can be generated only when the size of the key is 10 or more.

키의 크기별 키 값의 범위를 아래의 표 5를 참조하여 살펴보면, 범위의 시작값은 항상 최대 블록 속성이 “0”으로 범위의 끝값은 “1”로 시작함을 알 수 있다.Looking at the range of key values for each key size by referring to Table 5 below, it can be seen that the maximum value of the range always starts with “0” and the end value of the range starts with “1”.

또한, 상기 표 5를 살펴보면, 한 블록내의 속성들은 같은 속성이 많고 블록 속성과는 틀린 경우에 크기가 큰 암호키가 생성됨을 알 수 있다. 또한, 대표성 구조의 총 구성원을 알면 키의 크기별로 시작값과 끝값도 알 수 있다.In addition, referring to Table 5, it can be seen that a large encryption key is generated when the attributes in one block have the same attributes and are different from the block attributes. In addition, knowing the total membership of the representative structure, you can also know the start and end values for each key size.

그러므로, 상기 제6도에서 공개키인 x는 고정시키고 비밀키인 y만 변경시킨 경우에 대표성 알고리즘에 의해 생성되는 암호키의 분포는 아래의 표 6과 같다.Therefore, in FIG. 6, when the public key x is fixed and only the secret key y is changed, the distribution of the encryption key generated by the representative algorithm is shown in Table 6 below.

상기 표 6을 살펴보면, 블록 속성별로 블록내 속성들은 2 의 경우를 입력하여 대표성 알고리즘에 의해 암호키로 생성된 키 값들을 나타낸 것이다.Referring to Table 6, the attributes in the block for each block attribute are 2 In this case, key values generated as encryption keys by the representativeness algorithm are shown.

블록 속성이 0, 1, 14, 15가 가장 작은 키 값의 종류를 나타냈다. 즉, 블록 속성들을 공개할 경우 블록 속성들이 최대 블록 또는 상위 블록 속성과 모두 같거나 틀린것이 작은 경우는 생성되지 않게 하는 것이 필요하다.The block attributes 0, 1, 14, and 15 indicate the kind of the smallest key value. In other words, when publishing block attributes, it is necessary to prevent them from being created if the block attributes are less than or equal to the maximum block or upper block attributes.

이 경우를 제외한 나머지 블록 속성들의 평균 경우의 수는 ‘166’개로 약 2 이상을 보였다.Except in this case, the average number of block attributes is 166, which is about 2 Showed above.

따라서, 대표성 알고리즘은 공개 정보인 블록 속성이 입력되어 2 (tn:전체 구성원 수)에 가까운 경우의 수를 보장하고 있다. 키의 크기는 일정하게 ‘12’ 이상을 보이고 있다.Therefore, the representativeness algorithm inputs a block attribute that is public information. The number of cases close to (tn: total number of members) is guaranteed. The height is consistently over 12.

또한, 블록 속성을 고정시킨 경우도 키 값의 빈도수를 살펴보면 항상 좌우 대칭이며 정규분포를 하고 있음을 첨부한 제9도를 살펴보면 알 수 있다.In addition, even when the block attribute is fixed, it can be seen from FIG. 9 that the symmetry is normally symmetric and is normally distributed when looking at the frequency of key values.

상기와 같은 분포를 보이는 이유는 대표성 알고리즘에 의해 생성되는 암호키의 블록 속성들은 상위 블록과 틀린 것들로만 구성되고, 블럭내 속성들은 상기 블록 속성과 틀린 속성들로만 위치에 관계없이 생성되기 때문이다.The reason for the above distribution is that the block attributes of the encryption key generated by the representative algorithm are composed only of the upper block and the wrong ones, and the attributes within the block are generated regardless of the position of the block attributes and the wrong attributes.

즉, 블록내의 속성들은 위치에는 관계가 없고 속성이 ‘1’인 비트의 수 또는, '0'인 비트의 수에 관계가 있기 때문에 항상 좌우 대칭이고 정규분포를 갖는 것이다.In other words, attributes in a block are always symmetrical and normally distributed because they are related to the number of bits whose attributes are '1' or the number of '0' bits.

만약, 제6도에서 비밀키 y는 고정시키고 공개키인 x만 변경시킨 경우에 대표성 알고리즘에 의해 생성되는 암호키 크기의 분포를 도시하면, 제10도에 도시되어 있는 바와같다.If the secret key y is fixed in FIG. 6 and only the public key x is changed, the distribution of the encryption key size generated by the representative algorithm is shown in FIG.

즉, 랜덤 값으로 정의되는 블록 속성들은 '0'부터 ‘255’까지 변화를 시키고, 고유번호들로 정의되는 블록내 속성들은 고정시켜 대표성 알고리즘에 의해 생성되는 암호키의 중복성을 실험한 예이다. 즉, 블록 속성으로 ‘8’비트를, 블록내 속성으로 ‘56’비트를 할당하여 블록 속성 값을 '0'부터 ‘255’까지 변화시켜 ‘256’까지의 대표성 구조를 만들었다.In other words, the block attributes defined as random values are changed from '0' to '255', and the attributes in the block defined by the unique numbers are fixed to test the redundancy of the encryption key generated by the representative algorithm. In other words, by assigning '8' bit as the block attribute and '56' bit as the intra-block attribute, the block attribute value was changed from '0' to '255' to create a representative structure up to '256'.

각각의 대표성 구조를 입력으로 대표성 알고리즘을 통하여 암호키를 생성하여 중복성을 조사하였다.As the input of each representative structure, the encryption key was generated through the representative algorithm to check the redundancy.

블록 속성이 ‘127’이고 블록내 속성들이 ‘1’비트가 ‘34’개, '0'비트가 ‘22’개로 구성되었을 때 대표성 알고리즘에 의해 ‘35’개 비트들로 구성된 암호키가 생성되었다.When the block attribute is '127', and the attributes in the block are composed of '1' bit '34' and '0' bit '22', the representative algorithm generates '35' bits. .

상기와 같은 내용을 간단히 표식화하면 아래의 표 7과 같다.Simply labeling the contents as described above is shown in Table 7 below.

상기 제10도에서의 x축은 블럭 속성의 값을 '0'부터 ‘255’까지 입력한 수이고, y축은 대표성 알고리즘을 통해 얻은 키의 크기를 나타내고 있다.In FIG. 10, the x axis represents the number of block attribute values from '0' to '255', and the y axis represents the size of the key obtained through the representative algorithm.

상기와 같은 실험에서 암호키의 크기는 ‘23’부터 ‘41’까지의 범위를 나타냈으며, 생성된 각각의 암호키 비트수를 살펴본 결과, 중복된 암호키는 없었다.In the experiment as described above, the size of the encryption key ranged from '23' to '41'. As a result of examining the number of bits of each generated encryption key, there was no duplicate encryption key.

만약, 블록 속성이 다른 경우 같은 비트수로 생성된 암호키들의 관계를 살펴보면, 암호키 비트수가 ‘39’인 경우, 암호키 비트수가 같은 암호키 값들에서 어떤 규칙성을 찾을 수가 없었으며 중복성도 없음을 아래의 표 8를 통해 알 수 있었다.If the block attributes are different, and look at the relationship between the encryption keys generated with the same number of bits, if the encryption key bit number is '39', no regularity was found in the encryption key values with the same encryption key bit number, and there is no redundancy. It can be seen through Table 8 below.

또한, 실험을 통해 이론 1에 대한 것이 증명되었다.In addition, the experiment proved about theory 1.

대표성 구조에서 총 구성원 수가 2 인 경우, 차수와 레벨의 관계에 따라 다른 대표성 구조가 만들어진다.2 total members in the representative structure In the case of, different representative structures are created according to the relationship between the order and the level.

레벨이 m인 경우, 2 ×2 …×2 을 계산한 결과가 총 구성원 수 2 보다 같거나 크면 대표성 구조의 레벨로 정의할 수 있다.2 if the level is m × 2 … × 2 To calculate the total number of members 2 If it is greater than or equal to, it can be defined as the level of representative structure.

위에서 2 각각은 구성원소 값의 범위를 나타낸다.2 from above Each represents a range of member values.

또한, 차수 d에 의해 한 블록의 구성원 수는 2 개로 결정되며, 대표성 구조에서 블록 구성원 수는 전체 구성원 수를 한 블록의 구성원 수로 나누어 구할 수 있다.Also, by the order d, the number of members in one block is 2 The number of block members in the representative structure can be obtained by dividing the total number of members by the number of members in a block.

이에 따라, 아래와 같은 등식 식 1과 식 2가 생성된다.Accordingly, the following equations 1 and 2 are generated.

전체 구성원 수=2d×블럭 구성원 수Total members = 2 d × number of block members

블럭내 구성원 수=전체 구성원 수-블럭 구성원 수Number of members in a block = total members-block members

상기 식 1에서 차수 d는 2부터 k까지의 값을 가질 수 있으나 실용성을 고려하면 아래의 표 9와 같다.In Formula 1, the order d may have a value from 2 to k, but is considered in Table 9 below in consideration of practicality.

상기 표 9에서 보는 바와같이 k값의 범위는 제한적이다.As shown in Table 9 above, the range of k values is limited.

그러나, 차수가 10차 까지는 충분히 실용 가능하다.However, the order can be sufficiently practical up to the tenth order.

따라서, 블록 속성이 공개된 경우 암호키의 크기는 차수를 조정하여 원하는 암호키의 크기를 쉽게 얻을 수 있다. 즉, 상기 표 4의 키의 크기 분포도에서 알 수 있는 바와같이 총 구성원의 중간인 경우가 가장 많은 빈도수를 나타내고 있어 블록 구성원이 32인 경우 평균 200비트 이상의 암호키를 원하면 차수를 4차로 하여 블록 속성을 32, 블록내 속성을 480으로 총 512개로 구성된 대표성 구조를 만들면 된다.Therefore, if the block attribute is disclosed, the size of the encryption key can be easily adjusted to obtain the desired size of the encryption key. That is, as can be seen from the size distribution of the key of Table 4, the middle of the total members represents the most frequent frequency. If the block member is 32, if the average encryption key of 200 bits or more is desired, the order is 4th order. This can be done by creating a representative structure consisting of 32, 512 attributes in the block.

즉, 상기 제6도에서 블록 속성만 공개된 경우에 암호문을 해독하기 위해서는 아래와 같은 사항을 알아야 한다.That is, when only the block attribute is disclosed in FIG. 6, in order to decrypt the cipher text, the following matters should be known.

첫째, 차수를 알아야 한다.First, you need to know the order.

임의의 k가 갖는 범위를 알기 위해서는 먼저 대표성 구조의 전체 구성원 수를 알아야 한다. 블록 구성원 수는 공개키의 크기와 같기 때문에 누구나 알 수 있어 차수를 알아야 한다. 그러나, 상기 표 4를 통해 알 수 있듯이 차수의 범위는 제한적 이어서 중요한 요소는 되지 않는다.To know the range of any k, we first need to know the total number of members of the representative structure. Since the number of block members is the same as the size of the public key, anyone can know the order. However, as can be seen from Table 4, the range of orders is limited and thus not an important factor.

이후, 차수를 안다고 할 경우, 상기 식(1)에 의해 전체 구성원 수를 알 수 있고, 상기 식(2)를 통해 블록내 구성원 수를 알 수 있다.Subsequently, when the order is known, the total number of members can be known by Equation (1), and the number of members in a block can be known by Equation (2).

이렇게 하여 비밀키의 크기도 알 수 있다. 그러나, 비밀키의 크기만으로는 암호키를 알 수 없어 차수만을 알아서는 안된다.In this way, you can see the size of the secret key. However, the secret key cannot be known only by the size of the secret key.

둘째, 비밀키로 정의된 블록내 구성원의 속성들을 알아야 한다.Second, we need to know the properties of the members in the block defined by the secret key.

이를 위해 2 (bln:블록내 구성원 수)의 경우를 조사해야 된다. 블록 구성원이 32인 경우, 차수가 4차만 되도 경우 수가 2 이상이 되어 주어진 시간안에 풀 수 없는 문제가 된다.2 for this (bln: number of members in the block) should be investigated. If the block member is 32, then if the order is only 4th order, the number is 2 This is a problem that cannot be solved in a given time.

세째, 대표성 알고리즘에 의해 생성된 임의의 k개의 비트 스트림으로 구성된 암호키를 찾아내야 한다.Third, we need to find an encryption key consisting of arbitrary k bit streams generated by the representative algorithm.

즉, 상기 표6에서와 같이 블록 속성별 경우의 수만 조사하면 된다. 그러나, 이 경우에도 평균적으로 2 에 가까운 경우의 수를 조사해야 한다.That is, as shown in Table 6, only the number of cases per block attribute need to be investigated. However, even in this case on average 2 The number of cases close to should be investigated.

따라서, 전체 구성원 수가 512개인 경우 2 (10 )으로 충분한 복잡도를 갖는다.Thus, if the total number of members is 512, 2 (10 ) Has sufficient complexity.

상기와 같은 대표성 알고리즘의 복자도를 갖는 블록 속성 값에 따른 암호문의 비트 변화에 대하여 살펴보면 다음과 같다. 이하, 같은 입력자료를 이용하여 대표성 알고리즘을 통해 생성되는 암호문과 암호키의 관계를 설명한다.A bit change of a ciphertext according to a block attribute value having a copy value of the representative algorithm is as follows. Hereinafter, the relationship between the cipher text and the cipher key generated through the representative algorithm using the same input data will be described.

즉, 블럭 속성의 차가 1인 경우, 블록 속성에 의해 생성된 암호문에서 같은 위치에서의 비트 변화를 살펴보았다. 즉, 블록 속성의 차가 1인 블록 속성들로 암호키들을 생성하고, 생성된 암호키들을 이용하여 대표성 알고리즘에 의해 암호문들을 생성한 다음, 각각의 암호문에서 같은 위치에서의 512비트 중 틀린 비트 갯수들을 나타내면 첨부한 도면중 제11도에 도시되어 있는 바와같은 비트 변화를 나타냈다.That is, when the difference in the block attribute is 1, the bit change at the same position in the ciphertext generated by the block attribute has been described. That is, cipher keys are generated with block attributes whose block attribute difference is 1, ciphertexts are generated by the representative algorithm using the generated cipher keys, and the wrong number of bits of 512 bits in the same position in each ciphertext are generated. In the drawings, the bit change as shown in FIG. 11 is shown.

상기 제11도의 x축은 블록 속성 차가 1인 쌍들을 나타내며, y축은 블록 속성 차가 1인 경우 생성된 암호문에서 같은 위치에서 512비트 중 틀린 비트수를 나타낸다.The x-axis of FIG. 11 represents pairs having a block attribute difference of 1, and the y-axis represents an incorrect number of bits of 512 bits at the same position in a generated cipher text when the block attribute difference is 1. FIG.

상기 제11도에서 알 수 있듯이 512비트 중 평균 200개 이상 비트들이 틀리게 나타나고 있어 어떤 암호키와 근접한 값으로 암호문이 생성되었나를 알 수가 없다.As can be seen in FIG. 11, since an average of 200 or more bits of the 512 bits are shown incorrectly, it cannot be known which ciphertext is generated close to the encryption key.

그러므로, 블록내 속성들의 구성에 따라 암호키의 크기가 특정한 형태를 갖게 되므로 블록내 속성들을 정확히 알아야 암호키를 찾을 수 있다.Therefore, since the size of the encryption key has a specific shape according to the configuration of the attributes in the block, it is necessary to know the attributes in the block to find the encryption key.

또한, 대표성 알고리즘의 특징은 블록 속성과 블록내 속성들이 대표성에 의해 혼합되어 암호키로 생성되므로 모든 구성원들의 속성을 정확히 모르면 암호된 결과로는 암호키를 추정하기가 어렵다는 것이다.In addition, the characteristic of the representative algorithm is that the block attribute and the attributes in the block are mixed by the representative and are generated as the encryption key, so it is difficult to estimate the encryption key with the encrypted result if the attributes of all members are not known correctly.

그리고, 대표성에 의해 생성되는 값들이 서로 상관 관계가 매우 적어 입력된 값이 암호키와 비슷한가를 알 수가 없다는 것이다. 그러므로, 블록 속성이 ‘127’인 경우와 ‘128’인 경우, 생성된 암호문과 평문을 16진 부호로 출력하여 아래의 표 10, 11, 12에 도시되어 있는 바와같이 나타냈다.In addition, since the values generated by the representativeness have little correlation with each other, it is impossible to know whether the input value is similar to the encryption key. Therefore, when the block attribute is '127' and '128', the generated ciphertext and the plaintext are output as hexadecimal codes and are shown as shown in Tables 10, 11, and 12 below.

전송 데이타 원문을 상기 표 10에 나타낸 16진수 데이타 값이라 가정하는 경우 상기 표 11은 블록 속성이 ‘127’인 경우의 암호문을 나타낸 것이며, 상기 표 12은 블록 속성이 ‘128’인 경우의 암호문을 나타낸 것이다.Assuming that the original transmission data is a hexadecimal data value shown in Table 10, Table 11 shows a cipher text when the block attribute is '127', and Table 12 shows a cipher text when the block attribute is '128'. It is shown.

상기 표 10에서 표 12를 살펴보면, 평문 내용 중에서 스페이스 부분이 이렇게 변화하는가를 살펴볼 수 있는데, 스페이스 부분이 다른 16진 부호로 암호됨을 알 수 있으며 스페이스 부분이 연속적일 경우 암호문에서도 어느 정도 간격을 두고 같은 문자가 나타남을 볼 수 있으나 암호키의 크기와는 관계가 없다는 것을 알 수 있다.Looking at Table 10 to Table 12, it can be seen that the space part of the plain text changes in this way, but it can be seen that the space part is encrypted with different hexadecimal codes. You can see that the characters appear, but they are not related to the size of the encryption key.

이하, 상기와 같은 암호문을 생성할 수 있는 본 발명에 따른 대표성 알고리즘의 실용성을 살펴보자.Hereinafter, look at the practicality of the representativeness algorithm according to the present invention that can generate the cipher text as described above.

상기 첨부도면중 제6도를 살펴보면, 65,536개의 암호키를 생성하는데 소요되는 시간을 시험적으로 측정한 결과 약 2.59초의 시간이 소요되는 것을 알 수 있었다.Referring to FIG. 6 of the accompanying drawings, it was found that the time required for generating 65,536 encryption keys was measured about 2.59 seconds.

그러므로, 한개의 암호키를 생성하는데 소요되는 시간은 40㎲로 나타나 리얼타임 환경에 적합하다는 것을 보였다.Therefore, the time required to generate one cryptographic key is 40ms, which shows that it is suitable for real-time environment.

즉, 대표성 알고리즘은 2 의 주기를 나타내고 있으며, 키의 생성도 40㎲ 정도를 나타내고 있어 충분히 실용화시킬 수 있다. 물론 암호키 생성에 소요되는 시간은 전체 구성원 수에 영향을 받았다.In other words, the representativeness algorithm is 2 The cycle of? Of course, the time required to generate the encryption key was affected by the total number of members.

전체 구성원이 256인 경우 1초에 6,000개, 512인 경우 1,000개 정도의 키를 생성하였다. 그러나, 전체 발생한 암호키의 크기를 고려하면 키가 작게 생성된 경우도 비도가 높아져 실용성이 있다고 할 수 있다.If all members are 256, 6,000 keys are generated per second, and if 512, about 1,000 keys are generated. However, considering the size of the generated encryption key as a whole, even if the key is generated small, it can be said that the practicality is high.

상기와 같은 실용성을 유지할 수 있는 본 발명에 따른 암호화 및 복호화 방법을 이동통신 시스템에 적용시키는 경우의 실시예를 설명하면 다음과 같다.An embodiment in which the encryption and decryption method according to the present invention, which can maintain the above practicality, is applied to a mobile communication system is as follows.

아래의 실시예에서는 개인통신의 등록, 발호, 시도-응답, 비밀데이타 공유 갱신, 착호등의 인증에 적용한 경우에 대하여 설명하겠다.In the following embodiments, a case of applying to authentication of registration, call, challenge-response, secret data sharing update, and call of personal communication will be described.

그러나, 모든 경우에 대하여 절차가 동일하게 적용될 수 있으며 다만, 입력되는 파라메타들만 틀리므로 이하의 실시예의 설명에서는 등록인증의 경우만을 설명하겠다.However, in all cases, the procedure may be applied in the same manner, but since only the input parameters are different, only the case of registration authentication will be described in the following description.

우선, 키의 생성 및 분배에 대하여 살펴보면 다음과 같다. 마스터 비밀키와 송수신자의 공개키등 고유키와 액세스 메시지인 랜덤 비트를 이용하여 인증 및 암호화 키를 생성하는 방법은 마스터 비밀키와 송수신자의 공개키등 고유키는 레벨이 '0'인 블록내 속성으로, 랜덤 비트인 액세스 메시지는 레벨이 '0'이 아닌 블록 속성으로 정의하여 대표성 구조를 만든다.First, the generation and distribution of keys is as follows. A method of generating an authentication and encryption key using a unique key, such as a master secret key and a sender's public key, and a random bit, which is an access message, is an attribute in a block whose level is '0'. For example, an access message having a random bit is defined as a block attribute whose level is not '0' to form a representative structure.

그 다음 제2도에 도시되어 있는 대표성 알고리즘을 통하여 키를 생성하거나 인증에 필요한 랜덤 비트를 생성한다. 이때, 고유키는 IS-95에서와 같이 단말기와 단말기를 등록한 인증센터에서만 보유하고 있는 개인의 전화번호(MIN)와 공유 비밀번호 SSD, 그리고 단말기 고유번호인 ESN등으로 정의하였다.Then, the representative algorithm shown in FIG. 2 generates a key or random bits necessary for authentication. At this time, the unique key is defined as an individual telephone number (MIN), a shared password SSD, and a terminal unique number ESN, which are owned only by the terminal and the authentication center that registered the terminal, as in IS-95.

그리고, 액세스 메시지는 인증 및 음성 신호 암호화 필요시 기지국과 이동국에서 생성한 랜덤 비트로 정의하였다.The access message is defined as random bits generated by the base station and the mobile station when authentication and voice signal encryption are required.

인증을 위한 랜덤 비트나 암호키의 생성을 위해 먼저 레벨이 '0'이 아닌 블록 속성으로는 액세스 메시지인 랜덤 비트를, 레벨이 '0'인 블록내 속성으로는 고유키 등으로 정의하여 대표성 구조를 만든다.To generate a random bit or an encryption key for authentication, a representative structure is defined by defining a random bit that is an access message as a block attribute whose level is not '0', and a unique key as an attribute in a block whose level is '0'. Make.

또한, 이를 인증에 필요한 랜덤 비트나 암호키로 이용한다는 것이다. 상기 과정을 통하여 생성 또는 정의된 대표성 구조를 제6도에 도시되어 있는 비밀키와 공개키 입력으로 사용하여 대표성 알고리즘을 수행시키면 임의의 k개 비트를 생성하게 된다.It is also used as a random bit or encryption key for authentication. If a representative algorithm is generated using the representative or public key structure shown in FIG. 6 as the input of the secret and public keys shown in FIG. 6, random k bits are generated.

이때, 생성 또는 정의되는 k개의 비트를 암호키로 사용하여 음성을 암호화하거나 등록, 발호, 시도-응답, 비밀 공유 데이타 갱신, 착호 등의 인증 과정들을 수행한다.At this time, using the k bits that are generated or defined as an encryption key, the voice is encrypted or authenticated such as registration, call, challenge-response, secret shared data update, and call.

대칭키 암호화 시스템에서의 키 분배시 고유키는 주로 인증센터에서 단말기 등록시 단말기와 기지국에 등록하여 분배한다. 또한, 인증 및 암호절차를 수행하기 위해 이동국 및 기지국에서 랜덤하게 생성한 액세스 메시지는 필요시마다 분배한다.In the key distribution in the symmetric key encryption system, the unique key is registered and distributed to the terminal and the base station when registering the terminal in the authentication center. In addition, randomly generated access messages are distributed by the mobile station and the base station in order to perform authentication and encryption procedures.

상세한 절차는 아래의 인증 및 음성신호 암호화 과정에서 설명하기로 한다.Detailed procedures will be described later in the authentication and voice signal encryption process.

◎ 인증◎ Certification

프로토콜은 IS-95의 프로토콜에서 신호 메시지 암호를 위해 발신/착신국간 SSD_B와 ESN을 주고 받는 과정이 추가되었다.In the protocol of IS-95, the process of exchanging ESN with SSD_B between calling / receiving station for signaling message encryption was added.

인증메카니즘은 IS-95 규격에 준하였으며, 인증자 AUTHR의 생성은 개발할 대표성 알고리즘을 이용하여 생성하였다.The authentication mechanism is based on the IS-95 standard, and the generation of authenticator AUTHR is generated using the representative algorithm to be developed.

각 과정에 대한 인증 파라메타의 구성은 아래의 표 13과 같이 정의하였다.The composition of authentication parameters for each process is defined as in Table 13 below.

상기 표 13과 같은 인증 파라메타의 구성을 사용한 등록 인증의 절차는 첨부한 도면중 제12도에 도시되어 있다. 상기 제12도에 도시되어 있는 절차에 따라 이동국에서 인증서명 절차를 설명한다.The procedure of registration authentication using the configuration of the authentication parameters shown in Table 13 is shown in FIG. 12 of the accompanying drawings. The certificate naming procedure is described in the mobile station according to the procedure shown in FIG. 12 above.

이동국에서는 인증서명 절차에 필요한 입력변수를 레벨이 '0'이 아닌 블록 속성들은 기지국으로 부터 수신한 랜덤 비트인 RAND 32비트로 설정하고, 레벨이 '0'인 블록내 속성들은은 RAND 32비트, MIN2의 LBS 8비트, ESN 32비트, MINI 24비트, SSD 128비트로 나열하여 대표성 구조를 만든다.In the mobile station, set the input variables required for the certificate name procedure to RAND 32 bits, which are random bits received from the base station, and the attributes in the block whose level is '0' are RAND 32 bits, MIN2. The LBS 8-bit, ESN 32-bit, MINI 24-bit, and SSD 128-bit lists for a representative structure.

이렇게 나열된 구조를 입력으로 첨부한 제2도에 도시되어 있는 순서에 따른 대표성 알고리즘을 수행하여 k비트의 결과를 얻어낸다. 이때, 얻어지는 k비트를 AUTHR로 정의하고, MIN, ESN, RANDC(RAND상위 8비트), AUTHRC(AUTHR의 상위 18비트)로 구성된 등록 메시지를 만든다.A representation of k-bits is obtained by performing the representativeness algorithm in the order shown in FIG. At this time, the obtained k bits are defined as AUTHR, and a registration message composed of MIN, ESN, RANDC (the upper 8 bits of RAND), and AUTHRC (the upper 18 bits of AUTH) is made.

상기 과정으로 만들어지는 등록 메시지를 첨부한 제4도에 도시되어 있는 순서에 따른 암호화 알고리즘을 수행하여 암호화하고, 암호화 되어진 등록 암호화 메시지(REM)을 기지국으로 보낸다. 상기와 같은 과정의 이동국 등록 인증의 절차를 첨부한 제13도를 참조하여 살펴볼 수 있다.By performing the encryption algorithm according to the procedure shown in Figure 4 attached to the registration message made in the above process, and encrypts, and sends the encrypted registration encryption message (REM) to the base station. The procedure of mobile station registration authentication in the above process can be examined with reference to FIG.

상기와 같은 과정으로 발신되어진 이동국의 등록 암호화 메시지(REM)을 수신하게 되는 기지국에서도 관련 이동국의 RAND, ESN, MIN, SSD등을 이용하여 첨부한 제2도에 도시되어 있는 순서에 따른 대표성 알고리즘을 수행하여 k비트의 결과를 얻어내고 이를 AUTHR로 정의한다.In the base station that receives the registration encryption message (REM) of the mobile station sent by the above process, the representative algorithm according to the sequence shown in FIG. 2 is attached using RAND, ESN, MIN, SSD, etc. of the related mobile station. We get a result of k bits and define it as AUTHR.

수신된 등록 암호화 메시지를 첨부한 제5도에 도시되어 있는 순서에 따른 복호화 알고리즘으로 복호하여 원래의 MIN, ESN, RANDC, AUTHRC를 생성한다. 복호된 RANDC, MIN, ESN, AUTHRC들의 값과 내부에 저장된 값과 비교한다.The received registration encryption message is decrypted with a decryption algorithm in the order shown in FIG. 5 to generate the original MIN, ESN, RANDC, and AUTHRC. Compare the values of the decoded RANDC, MIN, ESN, and AUTHRCs to the values stored internally.

상기와 같은 암호화 및 복호화의 수행과정에서 음성등과 같은 전송 메시지 이외의 제어신호 메시지의 암호화 과정을 살펴보면 다음과 같다.The encryption process of the control signal message other than the transmission message such as voice in the encryption and decryption process as described above is as follows.

우선, 신호메시지 암호는 호 단위로 제어되며, 일반치는 “off”이다. 애널로그 음성 채널에 할당된 이동국에 대해 신호 메시지 암호화를 동작시키기 위해서, 기지국은 명령 등급 필드를 “001”로 설정한 메시지 암호화 모드 명령을 보내야 한다.First, the signaling ciphers are controlled on a call-by-call basis and the general value is “off”. In order to enable signaling message encryption for mobile stations assigned to the analog voice channel, the base station must send a message encryption mode command with the command class field set to "001".

신호 메시지 암호화는 기지국이 MEM필드가 “1”인 애널로그 핸드오프 지시 메시지를 보내어 CDMA에서 애널로그 호 절체하는 동안 동작될 수 있다.Signaling message encryption can be activated while the base station sends an analog handoff indication message with the MEM field equal to "1" to perform an analog call transfer in CDMA.

알고리즘을 초기화할 때 사용하는 데이타는 발신/착신 응답메시지에 부가된 AUTHR이 계산되는 시점에서 유효한 파라메타에 기초하여 계산된다.The data used to initialize the algorithm is calculated based on the parameters that are valid at the time when the AUTHR added to the originating / incoming response message is calculated.

CDMA엑세스 채널을 통하여 개시된 호에 대해 그 시점에서 유효한 파라메타에 기초하여 계산된다. 일단 동작되면, 신호메시지 암호화는 기지국이 명령 등급 필드를 ‘000’로 설정한 메시지 암호화 모드 명령을 보냄으로서 정지된다.It is calculated based on the parameters valid at that time for the call initiated through the CDMA access channel. Once activated, signal message encryption is stopped by the base station sending a message encryption mode command with the command class field set to '000'.

상기와 같은 과정을 통하여 호출이 성공적으로 수행되면, 기지국은 유효한 파라메타(AUTHR)을 이용하여 이동국들의 SSD_B와 ESN을 암호화 알고리즘으로 암호화하여 각 이동국으로 보내고, 각 이동국은 복호화 알고리즘으로 복호화하여 SSD_B와 ESN을 얻어낸다. 기지국에서는 착호 인증에 사용했던 랜덤 비트인 RAND, 착호국의 SSD_B와 ESN을 발호국의 AUTHR을 이용하여 암호화 알고리즘으로 암호화하여 발호국으로 보낸다.If the call is successfully performed through the above process, the base station encrypts the SSD_B and ESN of the mobile stations with an encryption algorithm using a valid parameter (AUTHR) and sends them to each mobile station, and each mobile station decrypts the SSD_B and ESN with a decryption algorithm. To get. The base station encrypts the RAND, which is the random bit used for the call authentication, and SSD_B and the ESN of the called station by an encryption algorithm using the calling station's AUTHR and sends it to the calling station.

또한, 발호 인증에 사용했던 랜덤 비트인 RAND, 발호국의 SSD_B와 ESN을 착호국의 AUTHR을 이용하여 암호화 알고리즘으로 암호화하여 착호국으로 보낸다.In addition, the RAND, which is a random bit used for call authentication, and SSD_B of the calling station and the ESN are encrypted by an encryption algorithm using the AUTHR of the called station and sent to the called station.

발호국 및 착호국은 복호한 것과 내장된 각각의 SSD_B와 ESN 그리고 RAND를 이용하여 파라메타를 다음과 같이 설정하고 MESSAGE_발호(Org.) 및 MESSAGE_착호(Ter.)의 신호 메시지 암호화 키 n1과 n2를 생성한다(첨부한 도면중 제14도 참조).The calling station and the calling station use the decoded and built-in SSD_B, ESN and RAND to set the parameters as follows and the signaling message encryption key n1 of MESSAGE_calling (Org.) And MESSAGE_calling (Ter.). Generate n2 (see FIG. 14 in the accompanying drawings).

즉, 레벨이 '0'인 블록내 속성들은 기지국으로 부터 수신한 착호 이동국의 SSD_B 64비트와 ESN 32비트 및 A-Key 352비트로, 레벨이 0이 아닌 블록 속성들은 발호 인증시 사용했던 랜덤 비트인 32비트와 착호 인증시 사용했던 랜덤 비트인 32비트로 총 64비트를 나열하여 대표성 구조를 만든다.In other words, the attributes in the block with level '0' are SSD_B 64 bits, ESN 32 bits, and A-Key 352 bits of the called mobile station received from the base station, and the non-zero block attributes are random bits used for call authentication. Representation structure is made up of 32 bits which are 32 bits which are random bits used in authentication of call and 32 bits in total.

이렇게 나열된 대표성 구조를 입력으로 첨부한 제2도에 도시되어 있는 순서에 따른 대표성 알고리즘을 수행하여 착호 이동국의 신호 암호화 키인 MESSAGE_착호 n1비트를 얻는다.A representativeness algorithm according to the sequence shown in FIG. 2 attached as the input representative structure is obtained to obtain a MESSAGE_calling n1 bit, which is a signal encryption key of the called mobile station.

또한, 발호 이동국도 레벨이 0인 블록내 속성들은 내장된 SSD_B 64비트와 ESN 32비트 및 A-Key 352비트로, 레벨이 '0'이 아닌 블록 속성들은 발호 인증시 사용했던 랜덤 비트인 32비트와 착호 인증시 사용했던 랜덤 비트인 32비트로 총 64비트를 나열하여 대표성 구조를 만든다.In addition, the attributes in the block where the calling mobile station level is 0 are built-in SSD_B 64 bits, ESN 32 bits, and A-Key 352 bits. A representative structure is created by enumerating a total of 64 bits with 32 bits, which are random bits used for call authentication.

이렇게 나열된 대표성 구조를 입력으로 첨부한 제2도에 도시되어 있는 순서에 따른 대표성 알고리즘을 수행하여 MESSAGE_발호 n2비트를 얻는다.MESSAGE_calling n2 bits are obtained by performing a representativeness algorithm in the order shown in FIG.

이때, 메시지의 암호화 절차를 첨부한 도면중 제15도를 참조하여 살펴보면 발호국에서는 착호국의 MESAGE_Ter. n1비트, 발호국의 MESSAGE_Org. n2비트를 생성한 다음, 메시지를 n1비트와, n2비트 단위로 잘라 첨부한 제4도에 도시되어 있는 순서에 따른 변동 대표성 구조 암호화 알고리즘을 통하여 신호를 암호화하여 착호 이동국으로 보낸다.At this time, referring to Figure 15 of the accompanying drawings the encryption procedure of the message, the calling station MESAGE_Ter. n1 bit, MESSAGE_Org of the calling station. After generating n2 bits, the message is cut into n1 bits and n2 bits, and the signal is encrypted and sent to the called mobile station through the variable representative structure encryption algorithm according to the sequence shown in FIG.

이에 대응하는 메시지의 복호화 절차는 착호국에서 착호국의 MESSAGE_Ter. n1비트, 발호국의 MESSAGE_Org. n2 비트를 생성한 다음, 암호화된 신호가 수신되면 수신된 메시지를 n1비트와, n2비트 단위로 잘라 첨부한 제5도에 도시되어 있는 순서에 따른 변동 대표성 구조 복호화 알고리즘을 통하여 원 메시지로 재생한다.The corresponding message decryption procedure is performed in the called station by the MESSAGE_Ter. n1 bit, MESSAGE_Org of the calling station. After generating the n2 bits, when the encrypted signal is received, the received message is cut into n1 bits and n2 bits and reproduced as an original message through a variable representative structure decryption algorithm according to the sequence shown in FIG. .

상기와 같은 본 발명에 따른 신호의 암호화 복호화에 따른 방법을 제공하면, 하드웨어의 큰 변형없이 첨부한 도면중 제16도에 도시되어 있는 바와같이 암호화된 전송 메시지에서 도용에 필요한 복원방식을 추출당할 염려가 없다는 효과가 있다.If the method according to the present invention according to the present invention is encrypted and decrypted, there is a concern that a recovery method necessary for theft may be extracted from the encrypted transmission message as shown in FIG. There is no effect.

본 발명의 효과를 보다 구체적으로 설명하면 다음과 같다. 그동안 연구되어 표준으로 제정된 TIA/EIA/IS-95의 서비스에는 인증과 기밀성이 있다.Referring to the effects of the present invention in more detail as follows. The services of TIA / EIA / IS-95, which have been studied and established as standards, have been certified and confidential.

보호 메카니즘들은 대칭키 암호기법으로 수행되고 있으며, 인증 메카니즘과 트래픽 채널상의 데이타 보호에 사용되는 알고리즘들은 기능이 다르며 음성에 대한 알고리즘은 공개되지도 않았다.The protection mechanisms are performed by symmetric key cryptography, and the authentication mechanisms and algorithms used to protect data on traffic channels have different functions, and no algorithms for speech are disclosed.

또한, IS-95의 통신 프로토콜을 살펴보면 단말기에 내장되어 있는 64비트 정보인 SSD_A만 알게되면 바로 통화도용이 가능하며 인증서명 절차를 거쳐 출력되는 AUTHR가 18비트로 너무 작아 exhaustive attack 방법에 의한 공격이 현실적으로 가능하여 비밀 보장이 어렵다는 문제점을 해소하고자 본 발명을 제안하였는데, 본 발명에 따른 방법으로 암호키와 암호문을 생성한 실험을 통하여 다음과 같은 결과를 얻을 수 있었다.In addition, if you look at the communication protocol of IS-95, if you only know SSD_A, which is 64 bits of information embedded in the terminal, you can immediately use the phone for stealing. The present invention has been proposed to solve the problem that it is difficult to guarantee confidentiality, but the following results were obtained through experiments in which the encryption key and the ciphertext were generated by the method according to the present invention.

첫째, 2 (bn:공개키 비트수)의 주기를 갖는 비트 스트림이 생성되었을 뿐만 아니라 비밀키에 따라 생성되는 키의 크기 범위가 다르게 나타났다. 또한, 크기가 같게 생성된 암호키들도 값이 같은 경우는 없었다.First, 2 Not only was a bit stream having a period of (bn: number of public key bits) was generated, but the size range of the generated key was different according to the secret key. Also, encryption keys generated with the same size did not have the same value.

둘째, 공개키 중, 0, 1, 2 -1, 2 -2의 값들은 같은 키를 생성할 확률이 높게 나타났고 중간 범위의 값은 낮은 확률을 보였다. 그리고 위의 4가지 경우를 제외하고는 유일하게 생성되는 키의 종류가 2 보였다. 또한, 모든 공개키의 경우 키의 크기 분포는 일정하게 나타났다.Second, of public key, 0, 1, 2 -1, 2 Values of -2 were more likely to generate the same key, while values in the middle range were less likely. And with the exception of the four cases above, the only type of generated key is 2 Seemed. In addition, for all public keys, the size distribution of keys is constant.

세째, 대표성 알고리즘에 의해 생성된 키들의 크기 분포는 대표성 구조의 전체 구성원 수의 절반인 크기에서 가장 많은 빈도수를 나타냈고 크기가 크거나 작을 수록 빈도수가 작게 나타나 정규분포를 보였다.Third, the size distribution of the keys generated by the representative algorithm showed the highest frequency in the size that is half of the total number of members of the representative structure, and the larger or smaller the size, the smaller the frequency was.

그리고 키가 전체 구성원 수의 절반보다 크게 생성될 확률은 58%로 나타났으며 생성된 키의 크기가 클수록 같은 키를 생성할 확률은 낮았다.In addition, the probability of generating a key larger than half of the total number of members is 58%, and the larger the generated key is, the lower the probability of generating the same key is.

또한, 키의 크기별 빈도수는 대표성 구조의 차수에는 관계없이 전체 구성원 수에만 영향을 받았다.In addition, the frequency of each key size was affected only by the total number of members regardless of the order of the representative structure.

네째, LFSR을 이용하여 대표성 구조를 변경시켜 키를 생성한 결과 주기가 2 로 나타났다.Fourth, as a result of generating a key by changing the representative structure using LFSR, the period is 2 Appeared.

다섯째, 인접한 키들에 의해 암호문에서의 틀린 비트의 변화도를 분석한 결과 평균 40%이상을 보였다.Fifth, as a result of analyzing the change of wrong bit in ciphertext by adjacent keys, the average was over 40%.

이러한 특성이 있는 대표성 알고리즘을 개인 통신의 인증 및 신호 암호화에 적용한 결과는 아래와 같다.The result of applying the representativeness algorithm with these characteristics to authentication and signal encryption of personal communication is as follows.

첫째, 인증 메카니즘에 사용되는 Auth_Signature Procedure, 비밀키 SSD의 갱신에 사용되는 SSD_Generation Procedure, 트래픽 채널상의 데이타 보호에 사용되는 Linear PN Sequence Generation with long code mask등과 음성 암호화의 기능들을 대표성 알고리즘으로 통일하였다.First, the Auth_Signature Procedure used for the authentication mechanism, the SSD_Generation Procedure used to update the secret key SSD, the Linear PN Sequence Generation with long code mask used to protect the data on the traffic channel, and the voice encryption functions were unified as representative algorithms.

둘째, 키의 주기가 2 을 나타내어 168개의 구성원으로 이루어진 대표성 구조만으로도 암호학적으로 사용가능한 10 을 나타냈다.Second, the cycle of the key is 2 10, which can be used cryptographically with only a representative structure of 168 members. Indicated.

세째, 1초에 6,000개의 키가 생성되었다.Third, 6,000 keys were generated in one second.

이러한 실험 결과를 토대로 인증이나 암호화 분야에만 응용하던 대표성 알고리즘을 좀 더 다양한 분야, 즉 무손실 압축 또는 다른 분야의 자료구조로 활용할 수 있을 것이라는 부가적인 효과가 있다.Based on the results of these experiments, there is an additional effect that the representative algorithm, which was applied only to the authentication or encryption fields, can be used as a data structure in more diverse fields, such as lossless compression or other fields.

Claims (2)

1. 대표성 구조를 이용한 디지틀 정보의 암호화 방법에 있어서, 데이타를 수신하여야 하는 수신측에서 데이타를 전송하려고 하는 송신측으로 임계범위 이내의 소정비트의 랜덤변수 데이타를 송출하고 송신측에서 해당 데이타를 수신하는 제1과정과; 상기 제1과정에서 데이타를 수신한 송신측에서 자신의 고유번호는 대표성 구조에서 레벨이 '0'이 아닌 구성원 속성으로 정의하고 수신된 랜덤변수는 레벨이 '0'인 구성원 속성으로 형성하는 제2과정과; 상기 제2과정에서 형성된 구성원을 이용한 대표성 구조에서 구성원 속성이 다른 구성원을 추출하여 암호키를 생성하는 제3과정과; 상기 제3과정에서 사용되었던 대표성 구조의 구성원 속성들을 각각 개별적으로 소정비트씩 랜덤하게 생성하여 소정갯수의 암호키들을 설정하면서 상기 제3과정을 반복 수행하는 제4과정과; 상기 제4과정에서 설정되어진 암호키들을 구성하는 비트수를 기준으로 송신측에서 전송하고자 하는 데이타를 순차적으로 읽어들이는 제5과정과; 상기 제5과정에서 읽어들인 데이타를 사용하여 변동 대표성 구조를 형성하고 구성원 속성이 다른 구성원을 추출하여 1차 암호화하는 제6과정; 및 상기 제6과정에서 암호화되어진 결과와 상기 제5과정에서 데이타를 읽어들이는데 기준으로 사용되었던 암호키의 각 구성 비트를 부정 논리합 동작을 수행하여 2차 암호화하는 제7과정을 포함하여 전송 데이타의 구간별로 각각 다른 암호키가 사용되는 것을 특징으로 하는 변동 대표성 구조를 이용한 암호화 방법.1. A method of encrypting digital information using a representative structure, comprising: transmitting a predetermined bit of random variable data within a critical range from a receiving party that needs to receive data to a transmitting party that wants to transmit the data, and then receiving the data from the transmitting side; First course; In the first process, the transmitting side that receives the data defines its own unique number as a member attribute whose level is not '0' in the representative structure, and the received random variable is formed as a member attribute whose level is '0'. Process; A third step of extracting a member having a different member attribute from the representative structure using the member formed in the second step to generate an encryption key; A fourth step of repeating the third step while generating a predetermined number of encryption keys by randomly generating each of the member attributes of the representative structure used in the third step individually; A fifth step of sequentially reading data to be transmitted from a transmitter on the basis of the number of bits constituting the encryption keys set in the fourth step; A sixth step of forming a variable representative structure using the data read in the fifth step and extracting and first encrypting members having different member attributes; And a seventh step of performing second-order encryption on the result encrypted in the sixth step and each component bit of the encryption key used as a reference for reading the data in the fifth step by performing a logical OR operation. An encryption method using a variable representative structure, characterized in that different encryption keys are used for each section. 대표성 구조를 이용한 디지틀 정보의 암호화시 전송 데이타의 각 구간별로 암호키가 각각 다른 암호화 데이타의 복호화 방법에 있어서, 암호화 데이타를 수신하여 복호화하여야 하는 수신측에서 임의로 랜덤하게 생성하거나 또는 송신측에서 전송하는 임계범위 이내의 소정비트의 랜덤변수 데이타를 수신하여 데이타를 형성하는 제1과정과; 상기 제1과정에서 형성된 데이타를 사용하여 대표성 구조를 형성하고 구성원 속성이 다른 구성원을 추출하여 상기 제1과정에서 형성된 데이타로 암호키를 생성하는 제2과정과; 상기 제2과정에서 사용되었던 대표성 구조의 구성원 속성들을 각각 개별적으로 소정비트씩 랜덤하게 생성되는 소정갯수의 암호키들을 설정하여 상기 제2과정을 반복 수행하는 제3과정과; 상기 제3과정에서 설정되어진 암호키들을 구성하는 비트수를 기준으로 송신측으로 부터 전송되어 수신되는 데이타를 읽어들이는 제4과정과; 상기 제2과정에서 암호화로 생성된 암호키와 어떤 암호키에 의하여 상기 제4과정에서 읽어들이는 데이타의 각 구성 비트를 이용하여 변동 대표성 구조를 만든 다음 대표성 알고리즘에 의하여 생성된 결과와 부정 논리합 동작을 수행하는 제5과정; 및 대표성 구조의 구성원 속성을 재생시키기 위하여 대표성 구조 생성 알고리즘의 역 알고리즘을 사용 상기 제5과정에서 부정 논리합 동작을 통해 생성되는 데이타를 복호화하는 제6과정을 포함하여 각각 다른 소정비트 길이의 구간별로 다른 암호키를 사용한 암호문을 복원할 수 있는 것을 특징으로 하는 변동 대표성 구조를 이용한 암호문의 복호화 방법.A method of decrypting encrypted data having different encryption keys for each section of transmission data when encrypting digital information using a representative structure, wherein the receiving side that receives and decrypts the encrypted data is randomly generated at the receiving side or transmitted from the transmitting side. Receiving a predetermined bit of random variable data within a critical range to form data; A second step of forming a representative structure using the data formed in the first step, extracting a member having different member attributes, and generating an encryption key using the data formed in the first step; A third step of repeating the second step by setting a predetermined number of encryption keys that are randomly generated by predetermined bits each of the member attributes of the representative structure used in the second step; A fourth step of reading data transmitted and received from the transmitter based on the number of bits constituting the encryption keys set in the third step; A variable representative structure is generated by using the encryption key generated by the encryption in the second process and each component bit of the data read in the fourth process by a certain encryption key, and then the result generated by the representative algorithm and the negation operation. Performing a fifth process; And a sixth step of decoding the data generated through the negation operation in the fifth step, using an inverse algorithm of the representative structure generation algorithm to reproduce the member attribute of the representative structure. A method for decrypting a cipher text using a variable representative structure, characterized in that the cipher text can be restored using the encryption key.
KR1019950019523A 1995-07-04 1995-07-04 The encryption system of personal communication for next generation using representative Expired - Lifetime KR0144788B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950019523A KR0144788B1 (en) 1995-07-04 1995-07-04 The encryption system of personal communication for next generation using representative

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950019523A KR0144788B1 (en) 1995-07-04 1995-07-04 The encryption system of personal communication for next generation using representative

Publications (2)

Publication Number Publication Date
KR970009028A KR970009028A (en) 1997-02-24
KR0144788B1 true KR0144788B1 (en) 1998-08-01

Family

ID=19419771

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950019523A Expired - Lifetime KR0144788B1 (en) 1995-07-04 1995-07-04 The encryption system of personal communication for next generation using representative

Country Status (1)

Country Link
KR (1) KR0144788B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990035965A (en) * 1995-07-27 1999-05-25 맥클린토크 샤운 엘 Cryptographic System with Hidden Task Arguments
WO2001015381A1 (en) * 1999-08-21 2001-03-01 Danal Co., Ltd. User authentication system using second connection path
KR102723478B1 (en) * 2023-10-05 2024-10-29 주식회사 이지스웨어 2 to the nth power Symmetric key generation and authentication representative structure-based de-identification image encryption method and decryption method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000072516A (en) * 2000-09-07 2000-12-05 박명산 end-to-end data encryption/decryption method and device for mobile data communication

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990035965A (en) * 1995-07-27 1999-05-25 맥클린토크 샤운 엘 Cryptographic System with Hidden Task Arguments
WO2001015381A1 (en) * 1999-08-21 2001-03-01 Danal Co., Ltd. User authentication system using second connection path
KR102723478B1 (en) * 2023-10-05 2024-10-29 주식회사 이지스웨어 2 to the nth power Symmetric key generation and authentication representative structure-based de-identification image encryption method and decryption method

Also Published As

Publication number Publication date
KR970009028A (en) 1997-02-24

Similar Documents

Publication Publication Date Title
JP2942913B2 (en) Remote party authentication / encryption key distribution method
US8712046B2 (en) Cryptographic key split combiner
US7095851B1 (en) Voice and data encryption method using a cryptographic key split combiner
JP3816337B2 (en) Security methods for transmission in telecommunications networks
JP2883243B2 (en) Remote party authentication / encryption key distribution method
EP0966809B1 (en) Method of and apparatus for encrypting signals for transmission
RU2121231C1 (en) Method which provides two-point connection in secure communication systems
US20060034456A1 (en) Method and system for performing perfectly secure key exchange and authenticated messaging
KR100675472B1 (en) Methods for Handling Weak Keys in Cryptographic Systems
US20030149876A1 (en) Method and system for performing perfectly secure key exchange and authenticated messaging
RU2040117C1 (en) Method of transmission and reception with provision for authenticity and confidentiality of messages
KR20010047563A (en) Public key based mutual authentication method in wireless communication system
Kuppuswamy et al. New Innovation of Arabic language Encryption Technique using New symmetric key algorithm
CN118337498B (en) A data transmission method based on symmetric key pool
Juang et al. Efficient 3GPP authentication and key agreement with robust user privacy protection
KR0144788B1 (en) The encryption system of personal communication for next generation using representative
JP4615128B2 (en) Voice and data encryption method using encryption key split combiner
KR100797106B1 (en) Encryption and Decryption Method of Packets Transmitted and Received in WLAN
KR100842261B1 (en) Data generation method using hash algorithm for CDM type mobile communication system
EP1693982A2 (en) Method for establishing a secure communication channel
Lo et al. Stream ciphers for GSM networks
KR100583234B1 (en) Random Number Generation Method for Subscriber Authentication in Wireless Communication System
Juang et al. Robust and efficient authenticated key agreement in mobile communications
US20250088356A1 (en) Method for securely transferring data elements values
Chen et al. Authentication and Privacy.

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19950704

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19950704

Comment text: Request for Examination of Application

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 19980327

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 19980423

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 19980423

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20010330

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20020329

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20030408

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20040331

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20050425

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20060228

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20070306

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20071207

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20090305

Start annual number: 12

End annual number: 12

PR1001 Payment of annual fee

Payment date: 20100405

Start annual number: 13

End annual number: 13

FPAY Annual fee payment

Payment date: 20110411

Year of fee payment: 14

PR1001 Payment of annual fee

Payment date: 20110411

Start annual number: 14

End annual number: 14

FPAY Annual fee payment

Payment date: 20111031

Year of fee payment: 20

PR1001 Payment of annual fee

Payment date: 20111031

Start annual number: 15

End annual number: 20

EXPY Expiration of term
PC1801 Expiration of term

Termination date: 20160104

Termination category: Expiration of duration