KR100497130B1 - Encryption method of binary code information - Google Patents

Encryption method of binary code information Download PDF

Info

Publication number
KR100497130B1
KR100497130B1 KR10-1998-0709834A KR19980709834A KR100497130B1 KR 100497130 B1 KR100497130 B1 KR 100497130B1 KR 19980709834 A KR19980709834 A KR 19980709834A KR 100497130 B1 KR100497130 B1 KR 100497130B1
Authority
KR
South Korea
Prior art keywords
binary
encryption
block
bit
data block
Prior art date
Application number
KR10-1998-0709834A
Other languages
Korean (ko)
Other versions
KR20000016261A (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 KR10-1998-0709834A priority Critical patent/KR100497130B1/en
Publication of KR20000016261A publication Critical patent/KR20000016261A/en
Application granted granted Critical
Publication of KR100497130B1 publication Critical patent/KR100497130B1/en

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04KSECRET COMMUNICATION; JAMMING OF COMMUNICATION
    • H04K1/00Secret communication
    • H04K1/02Secret communication by adding a second signal to make the desired signal unintelligible
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Abstract

본 발명은 통신 및 컴퓨터 엔지니어링과 관련되며, 특히 암호화 방법 및 산술 데이터를 암호화하는 장비와 관련된다. 본 발명은 P≥1인 이진 정보 코드의 요소를 포함하는 K 이하의 데이터 블록을 생성하는 단계, 상기 데이터 블록을 암호화키의 통제하에 변환하는 단계로 구성된다. 본 시스템의 신규한 요소는 D≥1의 이진 벡터가 추가적으로 생성되어 상기 데이터 블록이 이진 벡터와 이진 정보 코드의 해당 요소와 연결되어 생성되는 것이며, 이진 벡터는 랜덤 또는 의사 랜덤하게 생성되고, 이진 정보 코드의 해당 요소와 연결되며 그러한 연결은 비밀키의 기초가 된다.TECHNICAL FIELD The present invention relates to communications and computer engineering, and in particular to encryption methods and equipment for encrypting arithmetic data. The present invention comprises generating a data block of K or less including elements of a binary information code of P≥1, and converting the data block under the control of an encryption key. A novel element of the system is that a binary vector of D≥1 is additionally generated so that the data block is connected to a binary vector and a corresponding element of a binary information code. The binary vector is randomly or pseudo-randomly generated, and binary information is generated. It is associated with the corresponding element of the code, and that connection is the basis of the private key.

Description

이진 코드 정보의 암호화 방법Encryption method of binary code information

본 발명은 통신 및 컴퓨터 엔지니어링 분야에 관련된다. 보다 구체적으로, 데이터를 암호화하는 방법 및 장치에 관련된다.The present invention relates to the field of communications and computer engineering. More specifically, it relates to a method and apparatus for encrypting data.

본 발명을 설명하기 위해 사용된 개념들은 다음과 같다.The concepts used to explain the present invention are as follows.

비밀키는 인증된 사용자만이 알고 있는 이진 정보를 의미한다.The private key refers to binary information that only the authenticated user knows.

암호화기는 컴퓨터 프로그램의 형태 또는 독립 유니트로써 수행될 수 있는 비밀키를 사용하여 입력 데이터를 변환하는 기본적 과정의 조합을 의미한다.An encrypter is a combination of the basic processes of converting input data using a secret key that can be performed in the form of a computer program or as an independent unit.

암호화는 비밀키의 통제하에 디지털 정보로 변환하는 과정으로, 원 데이터를 키를 습득하지 않고는 그로부터 정보를 추출할 수 없는 의사랜덤 문자열로 표현되는 암호화된 문장으로 변환한다.Encryption is a process of converting digital information under the control of a secret key, and converts the original data into an encrypted sentence represented by a pseudo-random string that cannot be extracted from it without acquiring the key.

해독은 조작자가 암호화 키를 알고 있어 암호화된 문장에서 원 정보를 뽑아내는 암호화의 역 과정이다.Decryption is the reverse process of encryption where the operator knows the encryption key and extracts the original information from the encrypted statement.

이진 벡터는 예를 들어 통신 링크상에 존재하는 잡음이나 의사 신호와 같은 특정의 온 오프 비트열을 의미한다. 본 발명에서는 이진 벡터는 수신자에 의해서 원하는 신호나 정보로 변환되지 않는 명령 비트열을 의미한다.Binary vector means a specific on-off bit string such as, for example, noise or pseudo signals present on a communication link. In the present invention, a binary vector means a command bit string that is not converted into a desired signal or information by a receiver.

이진 벡터를 형성하는 의사 랜덤 법칙은 최초 패러미터에 기초하여 확장 비트열을 생성하고, 상기 비트열을 필요한 크기의 요소로 분할하는 법칙을 의미한다. 상기 최초 패러미터로써 비밀키 또는 난수가 사용될 수 있다. 만약 그 값을 알지 못한다면 출력은 사실상 구별할 수 없는 랜덤한 신호가 될 것이다.The pseudo random law for forming a binary vector refers to a law for generating an extended bit string based on an initial parameter and dividing the bit string into elements of a required size. Secret key or random number may be used as the first parameter. If the value is unknown, the output will be a random signal that is virtually indistinguishable.

암호해독법은 암호화된 정보를 인증받지 않고 풀기 위해 비밀키를 계산하는 기술이나, 비밀키를 계산하지 않고 그러한 정보를 얻어낼 수 있는 방법이다.Cryptography is a technique for calculating a secret key to solve encrypted information without authentication, or a method of obtaining such information without calculating a secret key.

암호화 저항은 데이터 보호의 가능성을 측정하는 것으로 비밀키 없이 조작자가 변환 알고리즘을 습득한 상황에서 암호문에서 정보를 환원하기 위해 수행해야 될 기본적인 작업의 수로 주어지는 노동 강도를 의미한다.Cryptographic resistance is a measure of the likelihood of data protection, and refers to the labor intensity given the number of basic operations that must be performed to return information from the ciphertext in the context of the operator acquiring the conversion algorithm without a secret key.

데이터를 암호화하는 방법은 많은 방법이 알려져 있다. 예를 들어, 사이퍼 RC5(R. Rivest, RC5 암호화 알고리즘, 신속한 소프트웨어 암호화, 제2회 국제 워크샵(루이븐, 벨기에, 1994. 12. 14-16), 컴퓨터 사이언스 강의 노트 v.1008, Springer-Verlag, 1995, pp86-96)가 있다. 이러한 통상의 방법에 의하면, 데이터 블록의 암호화는 비밀키에 의해 수행되고, 데이터 블록은 하부 데이터 블록으로 분할되고, 순환 쉬프트 조작에 의해 선택적으로 교호되고, 마지막으로 현 블록의 모듈러 2 합과 모듈러 232 합을 수행한다. 이러한 블록 방법은 컴퓨터 프로그램의 형태로 암호화기에 의해 수행되어 고 암호화율이 가능하다.Many methods are known for encrypting data. For example, Cypher RC5 (R. Rivest, RC5 encryption algorithms, rapid software encryption, 2nd International Workshop (Ruven, Belgium, Dec. 14-16, 1994), Computer Science Lecture Notes v.1008, Springer-Verlag , 1995, pp86-96). According to this conventional method, the encryption of the data block is performed by a secret key, the data block is divided into lower data blocks, selectively alternated by a cyclic shift operation, and finally the modular 2 sum and the modular 2 of the current block. 32 Perform the sum. This block method is performed by an encryptor in the form of a computer program to enable a high encryption rate.

그러나, 상기의 방법은 차분 및 선형 암호분석법(Kaliski B. S., Yin Y. L., RC5 암호화 알고리즘의 차분 및 선형 암호분석법. 암호학의 진보-CRYPTO'96 Proc., Springer-Verlag, 1995, pp171-184)에 대한 충분한 저항을 보여주지 못하고 있으며, 그러한 암호화 기술은 공격자가 특별히 선택된 원문을 암호화할 수 있기 때문이다.However, the above method can be used for differential and linear cryptography (Kaliski BS, Yin YL, RC5 cryptographic algorithms. Differential and linear cryptography. It doesn't show enough resistance, because such an encryption technique could allow an attacker to encrypt a specially selected text.

특허 청구된 블록 암호화 방법에 가장 근사한 방법으로써 미국 표준 DES(미국 표준국, 데이터 암호화 표준, Federal Information Processing Standards Publication 46, 1997. 1)에 기술되어 있다. 상기 방법은 특정 길이의 비밀키를 형성하는 단계, 이진 코드의 형태로 표현된 입력 정보를 64 비트의 요소로 분할하는 단계, 상기 64 비트 데이터 블록을 생성하는 단계, 상기 블록들을 비밀키의 통제하에 변환하는 단계로 구성된다. 변환에 앞서 각 데이터 블록은 두 개의 32 비트 하부 블록 L과 R로 분할되고, 16 유사 변환 라운드동안 교대로 취급된다. 단일 변환 라운드는 치환, 교환 및 하부블록 R을 생성하는 모듈러 2 합으로 구성된다. 각 라운드는 하부블록 R과 L을 교환함으로써 종료된다. 상술한 블록 암호화 방법은 특별 전자 회로에 의해 수행될 경우 높은 변환율을 갖는다.The method most similar to the patented block encryption method is described in US standard DES (US Standards, Data Encryption Standard, Federal Information Processing Standards Publication 46, 1997. 1). The method comprises the steps of forming a private key of a particular length, dividing the input information expressed in the form of a binary code into elements of 64-bit, generating the 64-bit data block, and controlling the blocks under the control of the secret key. It consists of a step of converting. Prior to conversion, each data block is divided into two 32-bit sub-blocks L and R, which are handled alternately during 16 similar rounds of conversion. A single transform round consists of a modular two sum that produces a substitution, exchange and subblock R. Each round ends by exchanging lower blocks R and L. The block ciphering method described above has a high conversion rate when performed by a special electronic circuit.

불행히도, 이 방법을 이용할 때 그를 구성하는 결점들이 문제이며, 최초 텍스트의 특별히 선택된 입력 블록에 기초하여 다양한 암호화 기술을 효과적으로 적용하는 것이 가능하다. 이러한 단점은 그러한 암호 분석법에 있어서, 암호화 알고리즘의 통계적 특성의 전개에 의해 수행되는 분석가가 최초 입력 텍스트를 선택하는 것이 가능하다는 사실 때문이다.Unfortunately, the drawbacks that make up this method are problems when using this method, and it is possible to effectively apply various encryption techniques based on a specially selected input block of the original text. This drawback is due to the fact that in such cryptographic analysis, the analyst performed by the development of the statistical properties of the encryption algorithm is able to select the initial input text.

따라서, 본 발명의 목적은 이진 코드화 정보를 주어진 고정된 비밀키에의해 입력 데이터를 변환하고, 최초 텍스트를 사전에 결정되지 않은 구조의 암호화된 텍스트로 변환하는 암호화 방법을 제공함으로써, 암호화 알고리즘의 통계적 특성의 감지를 더 어렵게 하고, 선택된 원 텍스트에 기초한 암호 분석의 저항을 높이는 데 있다.Accordingly, an object of the present invention is to provide a method for encrypting binary coded information by a given fixed private key, and to provide an encryption method for converting the original text into encrypted text of an undetermined structure, thereby providing a statistical method of encryption algorithm. It makes the detection of characteristics more difficult and increases the resistance of cryptographic analysis based on the selected original text.

도1은 원 텍스트 P를 본 발명에 따라 암호화하는 과정을 보이는 개략도이다.1 is a schematic diagram showing a process of encrypting an original text P according to the present invention.

도2는 암호화된 텍스트 C의 해독 과정을 보이는 블록도이다.Fig. 2 is a block diagram showing the decryption process of encrypted text C.

도3은 이진 정보 코드를 요소 P1. P2, ... Pi ... 및 생성된 이진 벡터 r1, r2, ... ri, ... 로 분할하는 과정을 보여준다.3 shows the binary information code element P 1 . P 2 , ... P i ... and the resulting binary vectors r 1 , r 2 , ... r i , ... shows the division process.

도4는 이진 정보 코드의 요소에 이진 벡터를 연결함으로써 제거된 입력 데이터 블록을 개략적으로 보여준다.4 schematically shows an input data block removed by connecting a binary vector to an element of a binary information code.

도5는 실시예 2와 관련된 암호화 블록도이다.Fig. 5 is an encryption block diagram related to the second embodiment.

상기 문제는 비밀키를 생성하는 단계, P≥1인 이진 정보 코드의 요소를 포함하는 K 이하의 데이터 블록을 생성하는 단계, 데이터 블록을 비밀키의 통제하에 변환하는 단계로 구성되며, D≥1의 이진 벡터는 추가로 생성되고, 데이터 블록들은 이진 정보 코드의 해당 요소에 이진 벡터를 연결함으로써 생성된다.The problem consists of generating a secret key, generating a data block of K or less including elements of a binary information code of P≥1, converting the data block under the control of a secret key, and D≥1. The binary vector of is further generated, and the data blocks are generated by connecting the binary vector to the corresponding element of the binary information code.

상기와 같은 조작을 통해 암호화된 텍스트의 블록들의 규정은 비밀키와 이진 정보 코드 요소의 구조뿐만 아니라 이진 벡터의 구조에도 의존하며, 그 결과 암호화된 텍스트 블록의 상기 규정은 주어진 원 텍스트와 채택된 비밀키에 의해 더 이상 고정적이지 않다. 결과적으로, 암호화 알고리즘의 통계적 특성을 추출하는 것이 더 어려워지고, 선택된 원 텍스트에 기초하여 수행되는 암호 분석의 저항이 증가하게 된다.The definition of blocks of text encrypted through such an operation depends not only on the structure of the secret key and binary information code element, but also on the structure of the binary vector, so that the definition of the encrypted text block is based on the given original text and the secret adopted. It is no longer fixed by the key. As a result, it is more difficult to extract statistical characteristics of the encryption algorithm, and the resistance of cryptographic analysis performed based on the selected original text is increased.

본 발명의 다른 신규한 특성은 이러한 벡터들이 랜덤하게 생성되는 것이다. 이는 암호화된 텍스트 블록의 랜덤 변조를 가능하게 하고 공지된 방법에 의한 암호 분석의 저항을 향상시킨다.Another novel feature of the present invention is that these vectors are randomly generated. This enables random modulation of the encrypted text block and improves the resistance of cryptographic analysis by known methods.

또 다른 특성은 이진 벡터는 의사 랜덤하게 생성되어 특허 청구된 방법을 소프트웨어에 의해 다른 추가적인 전자 회로를 사용하지 않고 난수를 발생시켜 PC에서 수행될 수 있다는 것이다.Another feature is that binary vectors are pseudo-randomly generated and can be performed on a PC by generating a random number by software using the patented method without using any additional electronic circuitry.

또 다른 신규한 특징은 이진 벡터들이 비밀키에 기초한 해당 이진 정보 코드의 요소들과 연결된다는 점이다. 이러한 방법은 데이터 블록을 생성하는 과정에서 추가적인 불확실성을 도입하여 암호 시스템의 저항을 증진시킨다.Another novel feature is that binary vectors are associated with elements of the corresponding binary information code based on the secret key. This method introduces additional uncertainty in the creation of the data block, thereby increasing the resistance of the cryptographic system.

본 발명은 도1에 도시된 본 발명에 의해서 데이터 블록의 암호화 변환의 일반적 다이어그램으로 이해하는 것이 용이하다. 도1에는 RNG는 난수 발생기이고, R은 랜덤 이진 벡터이고, P는 변환된 이진 정보의 요소이고, E는 암호 유닛이고, K는 비밀키이고, C는 암호화된 텍스트 출력이고, [│]는 연결 작용의 기호이다.The present invention is easily understood by the general diagram of cryptographic transformation of the data block by the present invention shown in FIG. In Fig. 1, RNG is a random number generator, R is a random binary vector, P is an element of transformed binary information, E is an encryption unit, K is a secret key, C is an encrypted text output, and [│] is It is a symbol of linking action.

암호화 시스템 내에서 이진 정보의 요소는 랜덤하게 생성된 이진 벡터 R과 연결되어 암호화 요소 E의 입력으로 공급되어 암호화 텍스트 C를 생성하는 데이터 블록 B=R│P를 생성한다.The element of binary information in the encryption system is connected to a randomly generated binary vector R and fed to the input of the encryption element E to produce a data block B = R | P that produces encrypted text C.

본 발명과 관련하여 이진 벡터를 생성하는 블록은 암호화기의 일부분을 구성하며, 따라서 대체되어지지 않으며, 선택된 텍스트에 기초하여 수행된 암호 분석의 과정에서 역분석에 의해서도 암호화 알고리즘이 변경되지 않는다. 이러한 규정들은 종래의 공지된 암호화기에서 통상적으로 요구되는 사항이다. 이진 벡터의 구조는 암호화 과정에서 예측할 수 없는 방법으로 변화하며 이는 난수 발생기에 의해 수행된다. 따라서, 입력 블록에 이진 벡터를 연결해서 얻어지는 암호화된 데이터 블록은 사전에 선택되거나 알려질 수 없다. 따라서, 선택된 최초 텍스트에 기초하여 수행된 침해에 의한 장애가 거의 발생하지 않는다.In the context of the present invention, the block generating the binary vector constitutes a part of the encryptor and is therefore not replaced, and the encryption algorithm is not altered by reverse analysis in the course of cryptographic analysis performed on the basis of the selected text. These provisions are typically required in conventional known encryptors. The structure of the binary vector changes in an unpredictable way in the encryption process, which is performed by a random number generator. Thus, an encrypted data block obtained by linking a binary vector to an input block cannot be previously selected or known. Therefore, there is almost no obstacle due to the infringement performed based on the selected initial text.

인증된 사용자는 암호키를 알고 있으며, 그는 적절한 알고리즘을 사용하여 이진 벡터의 구조와 입력 블록을 복원할 수 있다. 사용자가 만약 이진 벡터만을 따로 버린다면 전송된 정보를 전혀 포함하지 않게 되고, 그는 완벽하게 그에게 의도된 내용을 회복할 수 있다.The authenticated user knows the encryption key, and he can restore the structure and input block of the binary vector using the appropriate algorithm. If the user discards only the binary vector, it does not contain any information sent, and he can completely recover what was intended for him.

도2는 본 발명과 관련된 복호화 과정을 보여주는 블록도이다. 암호화된 텍스트의 블록은 복호기 D로 보내지고, 입력된 비밀키 K를 사용하여 데이터 블록 B=R│P의 값을 복원할 수 있다. 사전에 작성되고 암호화 과정에 사용된 복원된 이진 벡터 R은 암호화 시스템의 내부에서 R과 난수 발생기에서 출력되는 새로운 난수와의 사이에서 모듈러 2 합을 함으로써 비트 단위로 지워진다.2 is a block diagram showing a decoding process related to the present invention. The block of encrypted text is sent to the decoder D, and using the input secret key K, it is possible to recover the value of the data block B = R│P. The restored binary vector R, previously written and used in the encryption process, is erased bit by bit by modular 2 summation between R and the new random number output from the random number generator in the encryption system.

이진 벡터의 난수 발생기는 예를 들어 확률적인 물리 과정 또는 많은 경우에 있어서 특별히 디자인된 전자 회로인 잡음 변환기의 신호를 측정함으로써 수행될 수 있다. 다른 구체예에 의하면 난수발생기 대신에 입력이 랜덤하게 선택된 이진수로 공급되어 원하는 크기의 의사난수열을 얻을 수 있는 의사난수 발생기를 사용할 수 있다. 의사난수 발생기에 대해서는 많이 알려져 있다. 예는 다음과 같다.(B. Schneier, 응용 암호학, 2판, John Wiley & Sons, Inc., 뉴욕, 1966, pp416-418) 만약 우리가 예를 들어 초기 난수로써 연속적인 키 스트로크 사이에 경과된 시간 간격의 값을 취한다면 상기와 같은 발생기의 사용은 소프트웨어에 의해 제안된 방법을 실현하는 것을 가능하게 한다.Random number generators of binary vectors can be performed, for example, by measuring the signal of a noise converter, which is a stochastic physics process or in many cases a specially designed electronic circuit. According to another embodiment, instead of the random number generator, a pseudo random number generator capable of obtaining a pseudo random number sequence of a desired size may be used by supplying a randomly selected binary number. Much is known about pseudorandom number generators. An example is (B. Schneier, Applied Cryptography, 2nd Edition, John Wiley & Sons, Inc., New York, 1966, pp416-418) if we elapsed between consecutive key strokes as an initial random number, for example. The use of such a generator makes it possible to realize the method proposed by the software if taking the value of the time interval.

하부 블록을 암호화하기 위하여 상술한 방법이나 본 발명에 근사한 것을 사용할 수 있으며, 미국 특허 제5,003,596호(M.C.Wood, 전자 디지털 데이터를 암호화하여 전송하는 방법, 1991. 3. 26)에 기술된 것과 같은 블록 암호화 방법을 사용할 수도 있다.In order to encrypt the lower block, the method described above or an approximation to the present invention can be used, and a block as described in US Patent No. 5,003, 596 (MCWood, Method for Encrypting and Transmitting Electronic Digital Data, March 26, 1991). You can also use an encryption method.

본 발명의 기술적 유연성은 다음 구체예에 의하여 증명될 것이다. 이해를 돕기 위하여 실시예들은 제안된 블록 암호화 방법의 특정 실시예를 수행하는 연속적인 과정의 논리 레코드로 구성되는 알고리즘의 형태로 주어질 것이다.The technical flexibility of the present invention will be demonstrated by the following embodiments. For the sake of understanding, the embodiments will be given in the form of an algorithm consisting of logical records of a continuous process performing a particular embodiment of the proposed block encryption method.

실시예 1Example 1

본 실시예는 32 비트 요소들로 세분된 이진 코드의 형태로 표현된 정보를 암호화하는 방법을 보여준다. 유니트 E는 상술한 선행기술에 따른 64 비트 데이터 블록의 암호화 성능을 보장한다.This embodiment shows a method of encrypting information represented in the form of binary code divided into 32 bit elements. Unit E guarantees the encryption performance of the 64-bit data block according to the prior art described above.

알고리즘 1 : 32 비트 블록 암호화기Algorithm 1: 32-bit block encryptor

1. 이진 코드 정보 P의 다음 32 비트 요소를 취한다. 32비트 랜덤 벡터 R과 데이터 블록 B=R│P를 생성한다. (기호 │은 연속화 기호이다.)1. Take the next 32-bit element of binary code information P. Generate a 32-bit random vector R and a data block B = R | (The symbol | is a sequential symbol.)

2. 선행기술을 이용하여 64비트 데이터 블록을 암호화한다.2. Encrypt the 64-bit data block using the prior art.

실시예 2Example 2

본 실시예는 12비트 요소로 세분된 이진 코드 형태로 표현된 정보를 암호화하는 방법을 보여준다. 64비트 블록 B(B=X│Y)를 암호화하는 공지 방법을 사용할 수 있다. 암호화 함수는 블록 B를 암호화할 때 E(B)로 지정되고, B←E(B) 룰에 의해 변환되어진다. ←는 할당 작용을 의미한다. 실시예 2의 기술을 위해 다음과 같은 알고리즘이 사용된다.This embodiment shows a method of encrypting information represented in the form of binary code subdivided into 12-bit elements. A known method of encrypting a 64-bit block B (B = X | Y) can be used. The encryption function is designated E (B) when encrypting block B, and is converted by the B ← E (B) rule. ← means assignment action. The following algorithm is used for the description of Example 2.

알고리즘 2: 48 비트 블록 암호화기Algorithm 2: 48-bit block encryptor

1. 암호화 키를 생성한다.1. Generate an encryption key.

2. 이진 정보 코드의 다음 12 비트 요소 p1 ,p2 ,p3 및 p4를 취하고, 랜덤한 네 개의 20비트 이진 벡터 v1, v2, v3 및 v4를 생성하고, 데이터 블록 P=p1│v1│p2│v2│p3│v3│p4│v4를 생성한다.2. Take the next 12 bit elements p 1 , p 2 , p 3 and p 4 of the binary information code, generate four random 20-bit binary vectors v 1 , v 2 , v 3 and v 4, and create a data block P = p 1 │v 1 │p 2 │v 2 │p 3 │v 3 │p generates 4 │v 4.

3. 데이터 블록 P를 두 개의 하부블록으로 분할한다: P=X│Y, X=p1│v1│p2│v2, Y=p3│v3│p4│v4 3. Divide the data block P into two subblocks: P = X│Y, X = p 1 │v 1 │p 2 │v 2 , Y = p 3 │v 3 │p 4 │v 4

4. 하부블록 X를 변환한다. X←E(X)4. Convert the lower block X. X ← E (X)

5. 하부블록 X를 하부블록 Y로 치환한다: Y:Y+X, +는 비트 단위의 모듈러 2 합을 의미한다.5. Replace lower block X with lower block Y: Y: Y + X, + means modular 2 sum in bits.

6. 하부블록을 변환한다. Y←E(Y)6. Convert the lower block. Y ← E (Y)

7. 하부블록 Y를 하부블록 X로 치환한다. X:X←X+Y7. Replace lower block Y with lower block X. X: X ← X + Y

8. 하부블록 X를 변환한다. X:X←E(X)8. Convert the lower block X. X: X ← E (X)

9. 하부블록 X를 하부블록 Y로 치환한다. Y:Y←Y+X9. Replace lower block X with lower block Y. Y: Y ← Y + X

10. 하부블록 Y를 변환한다. Y:Y←E(Y)10. Convert lower block Y. Y: Y ← E (Y)

11. 하부블록 Y를 하부블록 X로 치환한다. X:X←X+Y11. Replace lower block Y with lower block X. X: X ← X + Y

12. 블록 X│Y를 암호화 텍스트의 출력 블록으로 보낸다.12. Send block X│Y to the output block of encrypted text.

상기 실시예 2는 도3 내지 도5에 도시되어 있다. 도3에서, 블록 1은 12비트 요소로 세분된 이진 정보 코드이고, 블록 2는 생성된 20비트 벡터열이다. 도4는 생성된 데이터 블록 규정을 보여준다. 변환의 개략은 도5에 도시되어 있으며, 블록 E는 종래 기술에 의한 암호화 과정을 나타낸다.Embodiment 2 is shown in Figs. In Figure 3, block 1 is a binary information code subdivided into 12-bit elements, and block 2 is a generated 20-bit vector sequence. 4 shows the generated data block definition. An overview of the conversion is shown in FIG. 5, where block E represents the encryption process according to the prior art.

실시예 3Example 3

본 실시예는 이진 정보 코드의 32비트 요소와 32비트 랜덤 이진 벡터를 사용하여 1024 바이트 데이터 블록 B를 생성하는 방법에 비밀키를 적용하는 것을 보여준다. 암호화 과정은 기존의 암호화기 "크랩"을 사용한다. (Kaliski B.S., Robshaw M.J.B. 신속한 블록 암호화기 제안, 신속한 소프트웨어 암호화, 캠브리지 안전 워크샵의 회의록, 컴퓨터 사이언스 강의록, v.809, Springer-Verlag, 1994, pp.26-39, B.Schneier, 응용 암호학, 2판, John Wiley & Sons, Inc., 뉴욕, 1966, pp.342-344 참조) 상기 암호화기는 32비트 하부블록 B0, B1, B2, ..., B255로 표현된 1024 바이트 데이터 블록을 변환하는데 사용되며, 변환 테이블의 형태의 비밀키와 32비트 길이를 갖는 2048개의 하부키 Q0, Q1, Q2, ..., Q2047를 사용한다. E를 "크랩" 암호화기에 의해 정의된 암호화 함수로 정의한다. 다음 알고리즘은 실시예 3과 관련된 절차를 기술한다.This embodiment shows the application of a secret key to a method of generating a 1024 byte data block B using a 32 bit element of a binary information code and a 32 bit random binary vector. The encryption process uses an existing encryptor "crab". (Kaliski BS, Robshaw MJB Rapid Block Encryptor Proposal, Rapid Software Encryption, Minutes of the Cambridge Safety Workshop, Computer Science Lectures, v.809, Springer-Verlag, 1994, pp.26-39, B.Schneier, Applied Cryptography, 2 edition, John Wiley & Sons, reference Inc., New York, 1966, pp.342-344) the cryptographic groups the 32-bit sub-block B 0, B 1, B 2 , ..., 1024-byte data blocks represented by the B 255 It is used to convert the code, using a secret key in the form of a conversion table and 2048 subkeys Q 0 , Q 1 , Q 2 , ..., Q 2047 with a 32-bit length. E is defined as the encryption function defined by the "Crab" encryptor. The following algorithm describes the procedure associated with Example 3.

알고리즘 3: 512 바이트 확률적 암호화기Algorithm 3: 512 byte probabilistic encryptor

입력: 이진 정보 코드의 32비트 요소 p0, p1, p2, ..., p127의 형태로 표현된 이진 정보 코드의 512 바이트 요소Input: 32-bit element of binary information code. 512-byte element of binary information code in the form p 0 , p 1 , p 2 , ..., p 127 .

1. 128개의 랜덤 32 비트 이진 벡터 r0, r1, r2, ..., r127을 생성한다.Generate 128 random 32-bit binary vectors r 0 , r 1 , r 2 , ..., r 127 .

2. 32비트 이진 벡터와 이진 정보 코드의 32비트 요소를 중간 블록으로 통합한다.2. Integrate 32-bit binary vectors and 32-bit elements of binary information code into intermediate blocks.

(t0│t1│t2│...│t255)(t 0 │t 1 │t 2 │ ... │ t 255 )

(t0│t1│t2│...│t127)=(r0│r1│r2│...│r127)(t 0 │t 1 │t 2 │ ... │t 127 ) = (r 0 │r 1 │r 2 │ ... │ r 127 )

(t128│t129│t130│...│t255)=(p0│p1│p2│...│p127)(t 128 │t 129 │t 130 │ ... │t 255 ) = (p 0 │p 1 │p 2 │ ... │ p 127 )

3. 하부키 Q0, Q1, Q2, Q3 및 Q4를 사용하여 패러미터 u1=Q0 mod 256, u2=Q1 mod 256, u3=Q2 mod 256, s(1)=Q3 mod 8, S(2)=Q4 mod 8 을 계산한다.3. Using the following subkeys Q 0 , Q 1 , Q 2 , Q 3 and Q 4 , the parameters u 1 = Q 0 mod 256, u 2 = Q 1 mod 256, u 3 = Q 2 mod 256, s (1) = Q 3 mod 8, S (2) = Q 4 mod 8

4. 초기 카운터 값 i를 0으로 설정하고 32비트 변수 b0=b1=b2=...=b255=0 으로 설정한다.4. Set the initial counter value i to 0 and the 32-bit variable b 0 = b 1 = b 2 = ... = b 255 = 0.

5. 인덱스 h=[(u1 +i)<<<s(1)+ u2]<<<s(2)+u3 5. Index h = [(u 1 + i) <<< s (1) + u 2 ] <<< s (2) + u 3

6. 변수 bi에 값 th를 할당한다. : bi←th 6. Assign the value t h to the variable b i . : b i ← t h

7. 만약 i≠256, i값을 1 증가시키고 아이템 5를 수행한다. : i←i+17. If i ≠ 256, increase i by 1 and perform item 5. : i ← i + 1

8. 변수 bi를 1024 바이트 데이터 블록으로 통합한다. : B=b0│b1│b2│...│b255 8. Integrate the variable b i into a 1024 byte data block. : B = b 0 │b 1 │b 2 │ ... │b 255

9. 암호화기 "크랩"을 사용하여 블록 B를 암호화한다. B:C=E(B), E는 상기 암호화기의 암호화 함수이다.9. Encrypt block B using the encryptor "Crab". B: C = E (B), E is an encryption function of the encryptor.

출력: 암호화된 텍스트 C의 1024 바이트 데이터 블록Output: 1024-byte data block in encrypted text C

아이템 2,3,...,7은 이진 정보 코드의 요소들을 비밀키 더 정확하게는, 하부키 Q0, Q1, Q2, Q3, Q4에 기초한 이진 벡터에 연결하는 과정을 나타낸다.Items 2, 3, ..., 7 represent the process of linking elements of the binary information code to a binary vector based on the subkeys Q 0 , Q 1 , Q 2 , Q 3 , Q 4 more precisely.

상기 실시예에서 기재된 바와 같이, 본 발명의 블록 암호화 방법은 기술적으로 유연하고 추구하는 목적을 잘 달성할 수 있다.As described in the above embodiments, the block encryption method of the present invention is technically flexible and can achieve the object of pursuit well.

상기 실시예들은 퍼스널 컴퓨터로 쉽게 수행될 수 있고 이에 기초하여 선택된 초기 텍스트를 사용하여 행해진 침해에 대한 저항이 큰 소프트웨어 암호화 모듈을 만들 수 있다.The above embodiments can be easily performed with a personal computer and can create a software encryption module with high resistance to infringement made using the initial text selected thereon.

상기 실시예들에 의해 본 발명의 디지털 데이터의 암호화 방법이 기술적으로 유연함이 입증되었고, 추구하는 목적을 달성할 수 있다.By the above embodiments, the encryption method of the digital data of the present invention has been proved to be technically flexible, and the object to be pursued can be achieved.

본 발명은 PC에 의해 수행될 수 있으며, 고속 소프트웨어 암호화 모듈의 기초를 생성하고 신속한 암호화가 가능한 소프트웨어 시스템이 갖추어진 퍼스널 컴퓨터로 비싸고 복잡한 암호화 장비를 대체할 가능성을 제시한다.The present invention can be performed by a PC, presenting the possibility of replacing expensive and complicated encryption equipment with a personal computer equipped with a software system capable of creating the basis of a high speed software encryption module and enabling rapid encryption.

Claims (4)

비밀키를 형성하는 단계; 그 수가 P≥1인 이진 정보 코드의 요소를 포함하는 하나 이상의 데이터 블록을 형성하는 단계; 상기 데이터 블록을 비밀키의 제어하에 변환하는 단계;를 포함하여 구성되며,Forming a secret key; Forming one or more data blocks containing elements of a binary information code whose number is P≥1; Converting the data block under the control of a secret key; 상기 이진 정보 코드의 요소들로부터 독립적이며, D > 1인 이진 벡터 D가 추가적으로 생성되고 상기 데이터 블록들은 상기 이진 벡터들과 상기 이진 정보 코드의 대응하는 요소들을 연결함으로써 형성되는 것을 특징으로 하는 이진 코드 정보의 암호화 방법.A binary code D, independent of the elements of the binary information code, wherein D> 1 is further generated and the data blocks are formed by connecting the binary vectors with corresponding elements of the binary information code How do you encrypt information? 제 1 항에 있어서, 상기 이진 벡터는 랜덤하게 생성되는 것을 특징으로 하는 암호화 방법.The method of claim 1, wherein the binary vector is generated randomly. 제 1 항에 있어서, 상기 이진 벡터는 의사 랜덤 벡터로서 생성되는 것을 특징으로 하는 암호화 방법.2. The method of claim 1 wherein the binary vector is generated as a pseudo random vector. 제1항에 있어서, 상기 이진 벡터는 비밀키를 기초로 하여 이진 정보 코드의 해당 요소들과 연결되는 것을 특징으로 하는 암호화 방법.2. The method of claim 1 wherein the binary vector is associated with corresponding elements of a binary information code based on a secret key.
KR10-1998-0709834A 1997-04-02 1997-12-24 Encryption method of binary code information KR100497130B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1998-0709834A KR100497130B1 (en) 1997-04-02 1997-12-24 Encryption method of binary code information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU97104754 1997-04-02
KR10-1998-0709834A KR100497130B1 (en) 1997-04-02 1997-12-24 Encryption method of binary code information

Publications (2)

Publication Number Publication Date
KR20000016261A KR20000016261A (en) 2000-03-25
KR100497130B1 true KR100497130B1 (en) 2005-09-20

Family

ID=43670780

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0709834A KR100497130B1 (en) 1997-04-02 1997-12-24 Encryption method of binary code information

Country Status (1)

Country Link
KR (1) KR100497130B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002505452A (en) * 1998-02-24 2002-02-19 オトクリィトエ アクツィオネルノエ オブシェスト ヴォ 「モスコフスカヤ ゴロドスカヤ テレフォナヤセット」 How to block encrypt individual data
JP2003162986A (en) * 2001-11-27 2003-06-06 Sanyo Electric Co Ltd Id generating device and id confirming device
KR101553148B1 (en) * 2014-03-05 2015-09-14 울산대학교 산학협력단 Device and method for encrypting using bit extention process

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3978288A (en) * 1973-06-12 1976-08-31 Patelhold Patentverwertungs- Und Elektro-Holding Ag Method and apparatus for the secret transmission of speech signals

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3978288A (en) * 1973-06-12 1976-08-31 Patelhold Patentverwertungs- Und Elektro-Holding Ag Method and apparatus for the secret transmission of speech signals

Also Published As

Publication number Publication date
KR20000016261A (en) 2000-03-25

Similar Documents

Publication Publication Date Title
KR100657062B1 (en) Method for encrypting information and device for realization of the method
US6463150B1 (en) Encryption device for information in binary code
JP2002366029A (en) Encipherment safe against dpa(differential power analysis)
RU2124814C1 (en) Method for encoding of digital data
RU2077113C1 (en) Method for cryptoprotection of telecommunication know-how systems
Kumar et al. A novel approach of symmetric key cryptography
US6301361B1 (en) Encoding and decoding information using randomization with an alphabet of high dimensionality
KR100497130B1 (en) Encryption method of binary code information
RU2141729C1 (en) Method for encrypting of binary data units
RU2103828C1 (en) Method for block data encryption
Mohammed et al. Secure image encryption scheme using chaotic maps and rc4 algorithm
RU2359415C2 (en) Method for cryptographic transformation of digital data units
RU2188513C2 (en) Method for cryptographic conversion of l-bit digital-data input blocks into l-bit output blocks
KR101076747B1 (en) Method and apparatus for random accessible encryption and decryption by using a hierarchical tree structure of stream cipher module
RU2186467C2 (en) Method for iterative block encryption
JPH04335730A (en) Random ciphering communication system
RU2119260C1 (en) Binary data encrypting method
KR102243889B1 (en) Data decoding apparatus and method
RU2111620C1 (en) Method for encrypting data units
JP2001509608A (en) Method for cryptographically converting an L-bit input block of digital data into an L-bit output block
RU2140712C1 (en) Method for ciphering binary data blocks
RU2141728C1 (en) Method for encrypting binary information
JPH09116533A (en) Ciphering system
RU2204212C2 (en) Iterative method for block encryption
RU2184423C2 (en) Method for iterative block encryption of digital data

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20030509

Effective date: 20050331

Free format text: TRIAL NUMBER: 2003101001800; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20030509

Effective date: 20050331

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090407

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee