KR100876525B1 - Complementary method of symmetric key cryptography for multilingual text string encryption - Google Patents

Complementary method of symmetric key cryptography for multilingual text string encryption Download PDF

Info

Publication number
KR100876525B1
KR100876525B1 KR1020070002793A KR20070002793A KR100876525B1 KR 100876525 B1 KR100876525 B1 KR 100876525B1 KR 1020070002793 A KR1020070002793 A KR 1020070002793A KR 20070002793 A KR20070002793 A KR 20070002793A KR 100876525 B1 KR100876525 B1 KR 100876525B1
Authority
KR
South Korea
Prior art keywords
text
encryption
byte
algorithm
bits
Prior art date
Application number
KR1020070002793A
Other languages
Korean (ko)
Other versions
KR20070013344A (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 KR1020070002793A priority Critical patent/KR100876525B1/en
Publication of KR20070013344A publication Critical patent/KR20070013344A/en
Priority to PCT/KR2008/000110 priority patent/WO2008084966A1/en
Application granted granted Critical
Publication of KR100876525B1 publication Critical patent/KR100876525B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • 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
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 발명은 컴퓨터 단말기에서 취급하는 한글, 일본어와 같은 다국어 텍스트 문자열을 대칭키 암호 알고리즘으로 암호화했을 때, 암호문이 문자 코드 영역을 벗어나서 터미널에 표시할 수 없는 경우를 방지하고, 아울러 원문과 동일한 길이의 암호문을 생성하기 위한 방법에 관한 것으로, 특히 컴퓨터 단말기로 취급하는 문자열을 수학적 연산에 근거한 여러 단계의 절차로 암호화함에 있어서, 다국어 문자 코드의 일부 비트는 고정하고, 나머지 비트에 대해서만 암호화 절차를 수행하여, 암호문의 문자 코드 영역이 고정된 비트의 영역 안에서 제한되도록 하는 절차;를 포함함을 특징으로 한다.According to the present invention, when a multilingual text string such as Korean or Japanese, which is handled by a computer terminal, is encrypted with a symmetric key encryption algorithm, the cipher text cannot be displayed on the terminal beyond the character code area, and the same length as that of the original text is prevented. The present invention relates to a method for generating a cipher text. In particular, in encrypting a string treated as a computer terminal by a multi-step procedure based on a mathematical operation, some bits of the multilingual character code are fixed and only the remaining bits are encrypted. And a process of allowing the character code region of the ciphertext to be limited within the region of the fixed bit.

Description

다국어 텍스트 문자열 암호화를 위한 대칭키 암호 알고리즘 보완 방법{Complement method for many languages text characters encryption algorithm}Complement method for many languages text characters encryption algorithm}

도 1은 본 발명에 실시예에 따른 한글, 일본어와 같은 다국어 코드를 임의의 비밀키로 암호화했을 때, 그 결과가 해당 코드 영역을 벗어날 수 있음을 보여주는 도면.1 is a view showing that when multilingual codes such as Korean and Japanese are encrypted with an arbitrary secret key according to an embodiment of the present invention, the result may be out of the corresponding code area.

도 2는 본 발명에 실시예에 따른 암호문의 코드 영역이 원문의 코드 영역을 벗어나지 않도록 원문을 여러개의 비트 마스킹 그룹으로 구분하고, 각각의 그룹에 해당하는 비트 마스크로 비밀키를 보정하는 방법을 도식화한 도면.2 is a diagram illustrating a method of dividing an original text into a plurality of bit masking groups so that the code region of the cipher text does not leave the code region of the original text, and correcting a secret key with a bit mask corresponding to each group according to an embodiment of the present invention. One drawing.

도 3은 본 발명에 실시예에 따른 일부 비트는 고정하고, 나머지 비트만 암호화하는 실시예를 보여주는 도면.3 is a view showing an embodiment in which some bits are fixed and only the remaining bits are encrypted according to an embodiment of the present invention.

도 4는 본 발명에 실시예에 따른 원문과 비밀키를 입력받아 암호화 절차를 수행하는 순서도.4 is a flowchart for performing an encryption procedure by receiving an original text and a secret key according to an embodiment of the present invention.

도 5는 본 발명에 실시예에 따른 상기 도 4의 하위 절차로서, 원문의 문자열을 1바이트씩 읽으면서, 해당 문자가 아스키 코드일 경우의 암호화 절차를 수행하는 순서도.FIG. 5 is a flowchart of a sub procedure of FIG. 4 according to an embodiment of the present invention, in which an encryption procedure is performed when a corresponding character is an ASCII code while reading a string of original text one byte. FIG.

도 6은 본 발명에 실시예에 따른 상기 도 4의 하위 절차로서, 원문의 문자열 을 1바이트씩 읽으면서, 해당 문자가 다국어 코드일 경우, 1바이트를 추가로 읽은 후, 암호화 절차를 수행하는 순서도.FIG. 6 is a sub-procedure of FIG. 4 according to an embodiment of the present invention. When a character string is a multi-language code while reading the character string of the original text one by one, the flowchart further performs an encryption procedure after additionally reading one byte. .

<주요 부분에 대한 부호의 설명><Description of the code for the main part>

104 : 대칭키 암호화 알고리즘 (본 발명의 실시예에서는 간단하게 XOR 연산만 수행)104: symmetric key encryption algorithm (in the embodiment of the present invention simply performs an XOR operation)

221 : 특정 영역1에서 비트 마스킹된 비밀키221: Bit masked secret key in specific area 1

320 : 비밀키 영역 320: secret key area

330 : 비트 마스크330: bit mask

340 : 비크 마스킹된 비밀키 영역340: Beek masked secret key area

403 : 원문의 문자열을 1바이트씩 읽으면서, 아스키 코드 여부 판단403: Determine whether ASCII code by reading the original text string by 1 byte

404 : 아스키 코드일 경우, 아스키 암호화 함수 호출404: ASCII encryption function call in case of ASCII code

407 : 아스키 코드가 아닐 경우, 1바이트를 추가로 읽은 후, 다국어 암호화 함수 호출407: If it is not ASCII code, read additional 1 byte, then call multilingual encryption function

550 : 아스키 암호화 함수에서, 원문에서 읽은 문자 코드가 임의의 영역1에 해당할 경우, 해당 영역의 비트 마스크로 비밀키를 보정하는 절차550: In the ASCII encryption function, when the character code read from the original text corresponds to an arbitrary region 1, a procedure of correcting the secret key with a bit mask of the region

560 : 아스키 암호화 함수에서, 원문에서 읽은 문자 코드가 임의의 영역2에 해당할 경우, 해당 영역의 비트 마스크로 비밀키를 보정하는 절차560: In the ASCII encryption function, if the character code read from the original text corresponds to an arbitrary area 2, a procedure for correcting the secret key with a bit mask of the corresponding area

6050 : 다국어 암호화 함수에서, 원문에서 읽은 상위 1바이트 문자 코드가 임의의 영역1에 해당할 경우, 상위 1바이트를 암호화하기 위한 비밀키를 해당 영역의 비트 마스크로 보정하는 절차6050: In the multi-language encryption function, when the upper one byte character code read from the original text corresponds to an arbitrary region 1, a procedure for correcting the secret key for encrypting the upper one byte with the bit mask of the region.

6060 : 다국어 암호화 함수에서, 원문에서 읽은 상위 1바이트 문자 코드가 임의의 영역2에 해당할 경우, 상위 1바이트를 암호화하기 위한 비밀키를 해당 영역의 비트 마스크로 보정하는 절차6060: In the multi-language encryption function, if the high-order byte character code read from the original text belongs to an arbitrary area 2, a procedure for correcting the secret key for encrypting the high-order byte with the bit mask of the corresponding area.

6090 : 다국어 암호화 함수에서, 원문에서 읽은 상위 1바이트 문자 코드가 임의의 영역1에 해당할 경우, 하위 1바이트를 암호화하기 위한 비밀키를 해당 영역의 비트 마스크로 보정하는 절차6090: In the multilingual encryption function, when the upper one byte character code read from the original text belongs to an arbitrary region 1, a procedure for correcting the secret key for encrypting the lower one byte with a bit mask of the region.

6100 : 다국어 암호화 함수에서, 원문에서 읽은 상위 1바이트 문자 코드가 임의의 영역2에 해당할 경우, 하위 1바이트를 암호화하기 위한 비밀키를 해당 영역의 비트 마스크로 보정하는 절차6100: In the multi-language encryption function, when the upper 1 byte character code read from the original text belongs to an arbitrary area 2, a procedure for correcting the secret key for encrypting the lower 1 byte with the bit mask of the corresponding area.

본 발명은 컴퓨터 단말기에서 취급하는 한글, 일본어와 같은 다국어 텍스트 문자열을 대칭키 암호 알고리즘으로 암호화했을 때, 암호문이 문자 코드 영역을 벗어나서 터미널에 표시할 수 없는 경우를 방지하고, 아울러 원문과 동일한 길이의 암호문을 생성하기 위한 방법에 관한 것으로, 보다 상세하게는 컴퓨터 단말기로 취급하는 문자열을 수학적 연산에 근거한 여러 단계의 절차로 암호화함에 있어서, 다국어 문자 코드의 일부 비트는 고정하고, 나머지 비트에 대해서만 암호화 절차를 수행하여, 암호문의 문자 코드 영역이 고정된 비트의 영역 안에서 제한되도록 하는 방법에 관한 것이다.According to the present invention, when a multilingual text string such as Korean or Japanese, which is handled by a computer terminal, is encrypted with a symmetric key encryption algorithm, the cipher text cannot be displayed on the terminal beyond the character code area, and the same length as that of the original text is prevented. The present invention relates to a method for generating a cipher text, and more particularly, to encrypting a string treated as a computer terminal by a multi-step procedure based on a mathematical operation, in which some bits of the multilingual character code are fixed and only the remaining bits are encrypted. By performing the above, the character code area of the cipher text is restricted in the area of the fixed bit.

일반적으로 컴퓨터 단말기에서 사용하는 암호화 알고리즘은 크게 2개의 방식이 있는데, 하나는 파일, 패킷 등의 데이터 암호화에 주로 사용하는 대칭형 알고리즘이고, 다른 하나는 금융권 공인인증서 등 인증 시스템에서 주로 사용하는 비대칭형 알고리즘이다.In general, there are two types of encryption algorithms used in computer terminals. One is a symmetric algorithm that is mainly used for encrypting data such as files and packets, and the other is an asymmetric algorithm that is mainly used in authentication systems such as financial certificates. to be.

대칭형 알고리즘과 비대칭형 알고리즘의 차이점은 암호화와 복호화에 동일한 키(Key)를 사용하는가의 여부이다. 대칭형 알고리즘은 암호화와 복호화에 동일한 키(Key)를 사용하는데 반해서, 비대칭형 알고리즘은 암호화와 복호화에 사용되는 키(Key)가 쌍으로 존재하고, 쌍을 이루는 키 중에서 어떤 하나의 키(Key)로 암호화하면, 복호화는 나머지 하나의 키(Key)로만 가능하다.The difference between symmetric and asymmetric algorithms is whether the same key is used for encryption and decryption. The symmetric algorithm uses the same key for encryption and decryption, whereas the asymmetric algorithm has a pair of keys used for encryption and decryption, and any key among the paired keys. When encrypted, decryption is possible only with the other key.

본 발명은 한글, 일본어와 같은 다국어 텍스트 문자열에 대한 암호화 결과를 터미널에 표시 가능한 문자 코드로 보정하는 방법에 관한 것으로서, 본 발명이 속하는 기술 분야인 대칭형 알고리즘의 종래기술로는 다음과 같은 것이 있다.The present invention relates to a method for correcting an encryption result for a multilingual text string such as Korean and Japanese with a character code that can be displayed on a terminal. The following are the related arts of a symmetric algorithm that is a technical field of the present invention.

대칭형 알고리즘으로는, IBM에서 개발한 DES(Data Encryption Standard) 알고리즘이 대표적이다. DES는 IBM에서 개발한 블록암호 알고리즘으로 1977년에 미국 표준국(NBS : National Bureau of Standards)에서 표준으로 채택되었다. 64비트 입력 블록을 56비트 비밀키를 이용하여 암호화하는 블록암호 알고리즘이며, 미국 연방부의 데이터 보호용으로 출발하여, ANSI(American National Standards Institute)의 표준 암호 알고리즘으로 사용되기까지 사용 범위가 확대되어 현재 전세계적으로 가장 널리 사용되고 있다. 그러나 56비트라는 짧은 키 길이로 인해 더 이상 안전하지 않다고 보는 것이 일반적인 견해이다. 이러한 점을 보완해서, DES를 3회 반복하는 3DES(Triple DES)를 사용하도록 권고되었으며, 최근에는 차세대 미국 표준인 AES가 확정되어 사용되고 있다.The symmetric algorithm is representative of the Data Encryption Standard (DES) algorithm developed by IBM. DES is a block cipher algorithm developed by IBM that was adopted by the National Bureau of Standards (NBS) in 1977. A block cipher algorithm that encrypts 64-bit input blocks using 56-bit secret keys.Its scope of use extends from the US Federal Department of Data Protection to ANSI's standard cryptographic algorithms. Most widely used in the world. However, the general view is that it is no longer secure because of the short key length of 56 bits. To compensate for this, it is recommended to use 3DES (Triple DES), which repeats DES three times, and recently, AES, the next generation US standard, has been determined and used.

DES의 56비트라는 짧은 키 길이로 인한 안정성 문제를 해결하기 위한 대안으로 3개의 키로 DES를 3회 반복하여 사용하는 Triple DES를 사용하게되었다. 3DES는 속도가 DES 보다 3배 정도 느리다는 단점에도 불구하고, 기존의 DES를 이용하여 쉽게 구현되며 DES의 안전성 문제를 해결하는 장점으로 인하여 여러 표준에서 사용되었다.As an alternative to solve the stability problem caused by the short key length of 56 bits of DES, Triple DES is used, which uses DES three times with three keys. Despite the disadvantage that 3DES is about 3 times slower than DES, 3DES is easily implemented using DES and has been used in various standards due to its advantages of solving the safety problem of DES.

1998년을 기점으로 표준 기한이 만료된 DES를 대체할 블록암호의 필요성에 따라, NIST에서는 향후 정부와 상업계에서 사용할 수 있는 강한 암호화 알고리즘 표준으로 AES(Advanced Encryption Standard)의 개발을 추진하였다. NIST는 3DES 보다 더 효율적이고 안전하며 로얄티가 없어야 하는 등을 만족하는 알고리즘을 공모하고, 3년여에 걸쳐 15개의 후보 알고리즘을 공개적으로 평가하여, 2000년 10월 2일 최종 AES 알고리즘을 선정 발표하였다. AES에 채택된 블록암호는 Daemem과 Rijmen에 의해 개발되고 RIJNDAEL로 명명된 알고리즘으로 DES와 Triple DES를 대신해서 2001년 12월 새로운 업계 표준으로 자리잡았다.In response to the need for block ciphers to replace the DES, which expired in 1998, NIST pushed ahead with the development of the Advanced Encryption Standard (AES) as a strong encryption algorithm standard for future government and commercial use. NIST announced a final AES algorithm selected on October 2, 2000, after publicly evaluating 15 candidate algorithms over three years. . The block cipher adopted by AES was developed by Daemem and Rijmen and named RIJNDAEL, and became a new industry standard in December 2001, replacing DES and Triple DES.

국내에서도 표준으로 사용할 알고리즘을 개발했는데, SEED는 민간부문에서의 정보와 개인 프라이버시 등을 보호하기 위하여 한국정보보호진흥원(KISA)과 ETRI 주도하에 개발된 대칭키 방식의 128비트 블록암호 알고리즘으로 1999년 9월 한국정보통신기술협회(TTA)의 표준으로 채택되었고, 2005년 11월 제31차 ISO/IEC 국제표 준화회의에서 국제표준으로 확정되었다.We developed an algorithm to be used as a standard in Korea. SEED is a symmetric key 128-bit block encryption algorithm developed by KISA and ETRI in 1999 to protect information and private privacy in the private sector. It was adopted as the standard of the Korea Information and Communication Technology Association (TTA) in September, and it was confirmed as the international standard at the 31st ISO / IEC International Standardization Meeting in November 2005.

그러나, 종래의 기술은 데이터 암호화를 위한 범용적인 기술이어서, 한글, 일본어와 같은 다국어 텍스트 문자열을 암호화 했을 경우, 그 결과가 원문의 코드 영역을 벗어날 수 있어서, 바이너리 코드로 그대로 저장했을 경우는 문제가 없으나, 텍스트로 출력할 경우, 터미널로 출력할 수 없는 영역의 문자코드, 또는 제어코드가 삽입되는 문제점이 발생한다.However, the conventional technique is a general technique for encrypting data. When encrypting a multilingual text string such as Korean or Japanese, the result may be out of the original code region, and thus, when stored as a binary code, there is a problem. However, when outputting as text, a problem occurs in that a character code or control code of an area that cannot be output to a terminal is inserted.

이러한 점을 보완해서, 한글, 일본어와 같은 다국어 코드를 1바이트의 헥사 코드로 각각 잘라서 암호화하는 방법을 많이 사용하고 있으나, 이럴 경우, 길이가 2배로 늘어나는 단점이 있다. 압축 알고리즘을 병행해서 사용하면, 길이를 줄일 수 있으나, 압축된 길이가 일정하지 않은 문제점이 발생한다. 그 밖에 한글, 일본어와 같은 다국어 코드를, 암호화를 위한 별도 코드 테이블로 관리하거나, 치환 등의 방법으로 암호화하는 방법도 소개되어 있지만, 이 역시 원문의 길이 보다 늘어나는 단점을 가지고 있거나, 비트 연산에 근거하지 않은 치환 등의 방법은 시대에 역행하는 알고리즘으로서 바람직한 방법이 아니다.Complementing this point, many methods of encrypting multi-language codes such as Korean and Japanese are cut into 1-byte hexa code, respectively, but in this case, the length is doubled. Using the compression algorithm in parallel can reduce the length, but the problem is that the compressed length is not constant. In addition, a method of encrypting multi-language codes such as Korean and Japanese as separate code tables for encryption, or using a substitution method is introduced, but this also has disadvantages that increase the length of the original text or is based on bit operations. Substitutions such as unsubstitution are not preferable as the algorithm against the times.

따라서, 한글, 일본어와 같은 다국어 텍스트 문자열을 암호화 했을 경우, 그 결과가 원문의 코드 영역을 유지하고, 길이도 원본과 동일하게 유지되는 기법이 요구되고 있다.Therefore, when multi-language text strings such as Korean and Japanese are encrypted, a technique is required in which the result retains the code region of the original text and the length is the same as the original.

기존의 대칭형 암호화 알고리즘으로 한글, 일본어와 같은 다국어 텍스트 문 자열을 암호화할 경우 다음과 같은 두가지 문제점이 발생한다. 첫째, 암호문이 문자 코드 영역을 벗어나서 터미널에 표시할 수 없는 경우가 발생한다. 둘째, 상기 첫째의 문제점을 방지하기 위한 변형된 알고리즘이 많이 있으나, 암호문의 길이가 원문 보다 길어지는 단점이 있다. 상기 두가지 문제점을 보완한 이상적인 알고리즘은, 암호문의 영역이 문자 코드 영역을 벗어나지 않고, 암호문의 길이는 원문의 길이와 동일해야 한다.When encrypting multilingual text strings such as Korean and Japanese with the existing symmetric encryption algorithm, the following two problems occur. First, a passphrase may not be displayed on the terminal because it is outside the character code field. Second, there are many modified algorithms to prevent the first problem, but the disadvantage is that the length of the cipher text is longer than the original text. In an ideal algorithm that complements the above two problems, the length of the ciphertext should be the same as the length of the original text without the region of the ciphertext leaving the character code region.

본 발명은 상기의 이상적인 알고리즘을 구현하기 위한 목적으로 시작되었으며, 본 발명 자체가 새로운 개념의 대칭형 암호화 알고리즘은 아니며, 기존의 대칭형 암호화 알고리즘을 보완하기 위한, 중간 절차라고 할 수 있다. The present invention has been started for the purpose of implementing the above-described ideal algorithm, the present invention is not a symmetric encryption algorithm of the new concept itself, it can be said to be an intermediate procedure to complement the existing symmetric encryption algorithm.

본 발명의 목적은 컴퓨터 단말기에서 취급하는 한글, 일본어와 같은 다국어 텍스트 문자열에 대한 암호화 결과를 터미널에 표시 가능한 문자 코드로 보정하여, 암호화된 결과를 바이너리가 아닌, 텍스트 형태로 관리하여, 이메일, 인터넷 게시판, 메신저, 워드프로세서 등에서도 암호화된 형태로 그대로 저장할 수 있고, 필요 시에는 종이 문서로 인쇄도 가능하도록 제공함에 있다.SUMMARY OF THE INVENTION An object of the present invention is to correct an encryption result for a multi-language text string such as Korean or Japanese handled by a computer terminal with a character code that can be displayed on a terminal, and to manage the encrypted result in a text form instead of binary, by using an email or the Internet. Even in bulletin boards, messengers, word processors, etc., it can be stored in an encrypted form and can be printed as a paper document if necessary.

또한, 본 발명의 목적은 암호화된 결과가 원본의 길이와 동일하기 때문에, 데이터를 전송, 저장하는 전산 시스템을 수정 개발하지 않아도, 암호화된 데이터를 그대로 취급할 수 있도록 제공함에 있다.In addition, an object of the present invention is that the encrypted result is the same as the original length, so that the encrypted data can be handled as it is, without modifying and developing a computer system for transmitting and storing data.

예를 들어, 데이터 전송에 있어서, 시스템 간의 통신 패킷은 송신측과 수신측이 미리 정의된 형태로 패킷을 만들어 주고받는데, 그 패킷은 고정 길이도 있을 수 있고, 가변 길이도 있을 수 있다. 고정 길이의 경우, 패킷의 특정 위치에서 길 이 20의 한글 필드가 있을 때, 이 필드를 암호화해야 한다면, 기존의 암호화 알고리즘을 사용하면, 길이가 늘어나기 때문에, 늘어난 길이를 취급할 수 있도록 시스템을 수정 개발해야 한다. 하지만, 본 발명의 기법을 활용하면, 암호화한 결과도 길이가 동일하기 때문에, 시스템을 수정 개발해야하는 비용 문제가 발생하지 않는다.For example, in data transmission, a communication packet between systems makes and receives a packet in a predefined form between a transmitting side and a receiving side, which may have a fixed length or a variable length. In the case of fixed length, if there is a Korean field of length 20 at a specific location in the packet, and you need to encrypt this field, you can use the existing encryption algorithm to increase the length, so the system can be handled to handle the increased length. Modifications should be developed. However, using the technique of the present invention, since the result of encryption is the same length, there is no cost problem of modifying and developing the system.

데이터 저장에 있어서는, 데이터베이스의 테이블을 구성하는 필드는 고정 길이도 있을 수 있고, 가변 길이도 있을 수 있다. 한글을 취급하는 고정 길이의 경우, 암호화된 결과의 길이가 변경된다면, 이 변경된 길이를 저장할 수 있도록 시스템을 수정 개발하는 비용 문제가 발생하지만, 본 발명의 기법을 활용하면 이러한 비용을 절감할 수 있다.In data storage, the fields constituting a table of a database may have a fixed length and may have a variable length. In the case of a fixed length dealing with Hangul, if the length of the encrypted result is changed, there is a cost problem of modifying and developing the system to store the changed length, but using the technique of the present invention can reduce such a cost. .

상기한 목적을 달성하기 위한 본 발명의 방법은; 컴퓨터 단말기에서 취급하는 한글, 일본어와 같은 다국어 텍스트 문자열을 대칭키 암호 알고리즘으로 암호화했을 때, 암호문이 문자 코드 영역을 벗어나서 터미널에 표시할 수 없는 경우를 방지하고, 아울러 원문과 동일한 길이의 암호문을 생성하기 위한 방법에 관한 것으로, 특히 컴퓨터 단말기로 취급하는 문자열을 수학적 연산에 근거한 여러 단계의 절차로 암호화함에 있어서, 다국어 문자 코드의 일부 비트는 고정하고, 나머지 비트에 대해서만 암호화 절차를 수행하여, 암호문의 문자 코드 영역이 고정된 비트의 영역 안에서 제한되도록 하는 절차;를 포함함을 특징으로 한다.The method of the present invention for achieving the above object; When multilingual text strings such as Korean and Japanese, which are handled by a computer terminal, are encrypted with a symmetric key cryptographic algorithm, the cipher text is prevented from being displayed on the terminal beyond the character code area, and a cipher text of the same length as the original text is generated. In particular, in encrypting a string to be treated as a computer terminal in a multi-step procedure based on mathematical operations, some bits of the multilingual character code are fixed and only the remaining bits are encrypted to perform encryption. Character code region to be restricted within the region of fixed bits.

상기 다국어 코드는, 컴퓨터 단말기에서 한글, 일본어와 같은 세계 각국의 언어를 취급하기 위해 2바이트, 또는 그 이상으로 정의된 문자 코드로서, KSC5601과 같은 국가 표준 코드, 마이크로소프트와 같은 소프트웨어 회사에서 제공하는 문자 코드, 모든 다국어를 표준화한 유니 코드 등이 있다.The multi-language code is a character code defined as two bytes or more in order to handle international languages such as Korean and Japanese in a computer terminal, and is provided by a national standard code such as KSC5601 or a software company such as Microsoft. Character codes, Unicode to standardize all languages.

또한, 상기 비트 마스킹은, 문자 코드에서 특정 위치의 비트 값을 차단한다는 의미로서, 필요한 자리의 비트 값은 그대로 통과 시키고, 필요하지 않은 자리의 비트 값은 차단한다는 것이다. 수학적으로 이러한 비트 연산은 AND 연산으로 구현할 수 있다. 하기 (표 1)을 참조하면, 원본 비트를 AND로 0과 연산하면, 원본의 값과 상관없이 무조건 0으로 출력되고, 원본 비트를 AND로 1과 연산하면, 원본 비트와 같은 값이 출력된다. 이러한 개념은 다음과 같은 경우에 사용할 수 있다. 1바이트에서 상위 4비트는 제거하고, 하위 4비트만 사용하고 싶다면, 상위 4비트는 0으로, 하위 4비트는 1로 AND 연산을 수행하면 된다. 즉, "00001111"과 같은 비트 마스크를 원본에 AND 연산으로 가해 주면 된다.In addition, the bit masking means that a bit value of a specific position is blocked in a character code, and a bit value of a necessary place is passed as it is, and a bit value of an unnecessary place is blocked. Mathematically, this bitwise operation can be implemented as an AND operation. Referring to Table 1 below, if the original bit is ANDed with 0, the original bit is output as 0 regardless of the original value, and if the original bit is ANDed with 1, the same value as the original bit is output. This concept can be used in the following cases: If you want to remove the upper 4 bits from 1 byte and use only the lower 4 bits, you can perform an AND operation with the upper 4 bits as 0 and the lower 4 bits as 1. That is, a bit mask such as "00001111" may be applied to the original by AND operation.

Figure 112007002435825-pat00001
Figure 112007002435825-pat00001

한편, 상기 암호화는, 본 발명이 속하는 기술분야인 대칭형 암호 알고리즘으로서, 컴퓨터 단말기로 구현하는 대칭형 암호 알고리즘의 수학적 이론은 (표 2)에서 보여주는 XOR 연산에 그 근거를 두고 있다. 간단히 원문의 각 비트를 비밀키의 각 비트로 XOR 연산만 수행해도 성공적인 암호문을 생성할 수 있다. 생성한 암호문은 (수학식 1)과 같이 암호화에 사용한 비밀키로 역으로 연산하면 원문을 다시 취득할 수 있다. 대칭형이란 이름이 붙은 것은 암호화와 복호화에 같은 비밀키를 사용한다는 데 기인한 것이다. 이러한 XOR 연산의 특성과 보안성 강화를 위한 혼돈(diffusion), 치환 등의 절차를 추가한 대칭형 알고리즘이 많이 발표되어 있으며, 대표적인 것으로 세계적으로 많이 사용되는 DES 알고리즘과, 국내에서 개발해서 표준화한 SEED 알고리즘이 있다. On the other hand, the encryption is a symmetric cryptographic algorithm in the technical field of the present invention, the mathematical theory of the symmetric cryptographic algorithm implemented by a computer terminal is based on the XOR operation shown in (Table 2). Simply performing an XOR operation on each bit of the original text with each bit of the secret key can produce a successful ciphertext. The generated cipher text can be obtained by reversing the secret key used for encryption as shown in Equation (1). The name symmetric is due to the use of the same secret key for encryption and decryption. Many symmetric algorithms have been introduced that add the characteristics of XOR operation and procedures such as diffusion and substitution to enhance security. The representative ones are DES algorithms that are widely used around the world and SEED algorithms developed and standardized in Korea. There is this.

Figure 112007002435825-pat00002
Figure 112007002435825-pat00002

Figure 112007002435825-pat00003
Figure 112007002435825-pat00003

Figure 112007002435825-pat00004
Figure 112007002435825-pat00004

이하 본 발명의 바람직한 실시예에 따른 상세한 설명을 첨부된 도면들을 참조하여 설명한다. 하기에는 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.Hereinafter, a detailed description of a preferred embodiment of the present invention will be described with reference to the accompanying drawings. In the following description, detailed descriptions of well-known functions or configurations will be omitted when it is determined that the detailed descriptions of the known functions or configurations may unnecessarily obscure the subject matter of the present invention.

본 발명의 실시예에서는 컴퓨터 단말기에서 취급하는 한글, 일본어와 같은 다국어 텍스트 문자열에 대한 암호화 결과를 터미널에 표시 가능한 문자 코드로 보정하는 기능을 제공하기 위해서, 문자 코드를 여러개의 비트 마스킹 그룹으로 구분하고, 각각의 그룹에 해당하는 비트 마스크로 비밀키를 보정 후에, 암호화 작업을 수행한다.In an embodiment of the present invention, in order to provide a function of correcting an encryption result of a multilingual text string such as Korean and Japanese handled by a computer terminal into a character code that can be displayed on a terminal, the character code is divided into a plurality of bit masking groups. After calibrating the secret key with the bit mask corresponding to each group, encryption is performed.

일반적으로 컴퓨터 단말기에서 사용하는 암호화 알고리즘은 크게 2개의 방식이 있는데, 하나는 파일, 패킷 등의 데이터 암호화에 주로 사용하는 대칭형 알고리즘이고, 다른 하나는 금융권 공인인증서 등 인증 시스템에서 주로 사용하는 비대칭형 알고리즘이다. 그런데, 현재 사용하고 있는 대칭형 알고리즘은 단순히 바이너리 데이터를 암호화하는 알고리즘이기 때문에, 텍스트 문자열을 암호화할 경우, 문자 코드 영역을 벗어나서, 터미널에 출력할 수 없을 뿐만 아니라, 텍스트 파일 형태로 저장도 할 수 없다. 이러한 문제점을 보완한 알고리즘도 개발되어 있지만, 암호화 결과가 원문의 길이 보다 길어지는 문제점이 다시 노출되었다.In general, there are two types of encryption algorithms used in computer terminals. One is a symmetric algorithm that is mainly used for encrypting data such as files and packets, and the other is an asymmetric algorithm that is mainly used in authentication systems such as financial certificates. to be. However, the symmetric algorithm currently used is simply an algorithm for encrypting binary data. Therefore, if a text string is encrypted, it cannot be output to the terminal beyond the character code area and can not be saved in the form of a text file. . Algorithms have been developed to compensate for this problem, but the problem that the encryption result is longer than the original length is again exposed.

따라서, 본 발명은 암호화 결과가 문자 코드 영역을 벗어나지 않도록 보정하여 터미널에 표시 가능하고, 텍스트 파일 형태로 저장도 가능하게 하고, 아울러 암호문의 길이가 원문과 동일하도록 유지하는 방법을 제안한다.Accordingly, the present invention proposes a method of correcting the encryption result so as not to deviate from the character code area so that it can be displayed on the terminal, stored in the form of a text file, and kept in the same length as the original text.

먼저, 도 1을 참조하여 본 발명의 방법을 설명한다.First, the method of the present invention will be described with reference to FIG.

도 1은 본 발명에 실시예에 따른 한글, 일본어와 같은 다국어 코드를 임의의 비밀키로 암호화했을 때, 그 결과가 해당 코드 영역을 벗어날 수 있음을 보여주는 도면이다.1 is a view showing that when multilingual codes such as Korean and Japanese are encrypted with an arbitrary secret key according to an embodiment of the present invention, the result may be out of the corresponding code area.

상기 도1을 참조하면, 원문 영역(101)인 다국어 코드 영역을 임의의 비밀키 영역(102)으로 암호화할 경우, 그 결과인 암호문 영역(103)이 원문 영역(101)을 벗어날 수 있음을 보여주고 있다.Referring to FIG. 1, when the multi-language code region, which is the original region 101, is encrypted with an arbitrary secret key region 102, the resulting ciphertext region 103 may be out of the original region 101. Giving.

상기 원문 영역(101)은 한글, 일본어와 같은 다국어 코드 영역이며, 여기서는 KSC5601 코드 중 한글 영역을 예시로 들었다.The original text area 101 is a multi-language code area such as Korean and Japanese. Here, the Korean language area of the KSC5601 code is taken as an example.

일반적으로 컴퓨터 단말기에서 텍스트 문자열을 표기함에 있어서, 영문, 숫자, 기본적인 기호는 1바이트 중 하위 7비트를 사용하는 아스키 코드를 사용한다. 하지만, 한글, 일본어, 중국어, 아랍어와 같은 다국어 표기에는 2바이트, 또는 그 이상의 코드가 사용된다.In general, in displaying a text string in a computer terminal, an ASCII code using the lower 7 bits of a byte is used for alphabets, numbers, and basic symbols. However, multi-byte notation, such as Korean, Japanese, Chinese, and Arabic, uses two bytes or more codes.

예를들어, 영문 'A'를 표기하기 위해서는 1바이트가 필요하며, 그 해당 코드는 '01000001' 로서 아스키 코드 테이블에 정의되어 있다. '01000001'은 해당 비트를 2진수로 표기한 것이며, 일반적으로 보기 좋게 사용하는 16진수 헥사 표기로 변환하면 '41'에 해당한다.For example, an English letter 'A' requires one byte, and the corresponding code is defined in the ASCII code table as '01000001'. '01000001' is the binary representation of the corresponding bit, which is equivalent to '41' when converted to hexadecimal hexadecimal notation, which is commonly used.

이에 반해, 한글 '가'를 표기하기 위해서는 2바이트가 필요하며, 그 해당 코드는 '1011000010100001' 로서 KSC5601 한글 코드 테이블에 정의되어 있다. 마찬가지로 16진수 헥사 표기로 변환하면 'B0A1'에 해당한다. 이와 같이, 모든 다국어는 2바이트, 또는 그 이상의 코드 테이블에 정의되어 표기된다.On the other hand, two bytes are required to indicate Korean 'ga', and the corresponding code is '1011000010100001', which is defined in the KSC5601 Korean code table. Likewise, converting to hexadecimal hexadecimal notation corresponds to 'B0A1'. As such, all multilingual languages are defined and represented in two or more code tables.

상기 비밀키 영역(102)은 임의의 영역으로 정의되기 때문에, 16진수 헥사 표기로 '0000' ~ 'FFFF' 의 모든 영역을 가질 수 있다. 비밀키는 컴퓨터 단말기의 터미널인 키보드로 직접 입력 받을 수도 있고, 외부 저장 장치인 CD, USB 메모리 등에 저장되어 있는 파일에서도 읽을 수 있기 때문에, 문자열 코드 영역을 벗어난 모든 영역에서 비밀키 영역(102)이 정의될 수 있다.Since the secret key area 102 is defined as an arbitrary area, it may have all areas of '0000' to 'FFFF' in hexadecimal hexadecimal notation. The secret key can be directly input by the keyboard, which is a terminal of a computer terminal, or can be read from a file stored in an external storage device such as a CD or a USB memory. Can be defined.

상기 암호문 영역(103)은 상기 원문 영역(101)과 비밀키 영역(102)을 대칭키 암호화 알고리즘(104)으로 암호화한 결과가 차지할 수 있는 영역이다. 원문 영역(101)은 특정 다국어의 문자열 코드 영역으로 제한적이지만, 비밀키 영역은 제한 이 없기 때문에, 암호화한 결과인 암호문 영역(103)은 원문 영역(101)을 벗어날 수 있음을 도1에서 보여주고 있다. 일반적으로 사용하는 DES 등의 대칭키 암호화 알고리즘은 내부적으로 XOR 연산을 포함하고 있으며, 그 연산은 원문 영역(101)을 암호화한 결과가 원문 영역을 벗어나지 않도록 보장해 주지 않는다. 또한 DES 등의 알고리즘은 보안성을 강화하기 위해서, XOR 연산 외에 혼돈(diffusion), 치환 등의 절차가 추가되기 때문에 원문 영역(101)을 보장 받기는 더욱 힘들어진다. 따라서, 암호문 영역(103)이 원문 영역(101)을 벗어나지 않도록 하기 위해서, 원문 영역의 일부 비트를 고정해야하는 필요성이 대두된다.The ciphertext area 103 is an area that may be occupied by a result of encrypting the original text area 101 and the secret key area 102 with the symmetric key encryption algorithm 104. Although the original text area 101 is limited to a string code area of a specific multilingual language, but the secret key area is not limited, it is shown in FIG. 1 that the cipher text area 103 which is a result of the encryption may be out of the original text area 101. have. In general, symmetric key encryption algorithms such as DES include an XOR operation internally, and the operation does not guarantee that the result of encrypting the original region 101 does not leave the original region. In addition, in order to enhance security, algorithms such as DES, etc. are further difficult to be guaranteed because the original region 101 is added in addition to the XOR operation. Therefore, there is a need to fix some bits of the original text area so that the cipher text area 103 does not leave the original text area 101.

(표 3)의 사례1에서 보면, 암호화한 결과의 문자 코드가 컴퓨터 단말기에 정의되어 있지 않기 때문에, 컴퓨터 단말기의 터미널에 단순히 '?'로 출력된다. 물론, 컴퓨터 단말기의 터미널로 출력하지 않고, 바이너리 파일 형태로 코드를 그대로 저장하고 있으면, 내부적으로 유효한 코드가 될 수 있지만, 텍스트 파일의 내용을 읽어주는 뷰어 프로그램이나, 에디터, 워드프로세서 등에서의 출력은 불가능하다.In Example 1 of Table 3, since the character code of the result of encryption is not defined in the computer terminal, it is simply output as '?' To the terminal of the computer terminal. Of course, if the code is stored as a binary file without being output to the terminal of the computer terminal, the code can be valid internally, but the output from the viewer program, the editor, the word processor, etc., which reads the contents of the text file, impossible.

사례2에서 보면, 한글을 암호화한 결과가, 한글 영역을 벗어나서 한자로 출력되었다. 한자로 출력되는 것이 문제가 될 것은 없지만, 한자는 중국어 윈도우즈, 일본어 윈도우즈에서도 사용하는 문자 언어로서, 그 코드 영역이 각기 다르기 때문에, 한글에 대한 암호화 결과가 한자 범위를 침범하는 것은 호환성의 혼란을 가져올 수 있는 문제점을 내포하고 있다.In case 2, the result of encrypting Hangul is output in Hanja, outside the Hangul domain. The output of Chinese characters is not a problem, but because Chinese characters are used in Chinese and Japanese Windows, and their code areas are different, the result of the encryption of Korean characters violates the range of Chinese characters. There are potential problems.

사례3, 사례4에서 보면, 한글을 암호화한 결과가, 아스키 문자 2바이트로 출 력되었다. 크게 문제될 것은 없지만, 2바이트 다국어 코드를 암호화한 결과가, 1바이트 코드 2개로 변경되는 것은 그리 바람직해 보이지는 않는다.In Cases 3 and 4, the result of encrypting Hangul is output as 2 bytes of ASCII characters. There is no big problem, but it does not seem so desirable that the result of encrypting a two-byte multilingual code changed to two one-byte codes.

이와같이 사례1에서 부터 사례4 까지 살펴 본 결과, 문자열의 암호화는 그 결과가 터미널에 표시할 수 있는 문자 코드 영역에서 암호화되어야 하며, 문자 코드 영역 중에서도, 같은 언어 코드 영역에서 변환되는 것이 바람직하다는 것을 살펴 볼 수 있었다.As a result of examining cases 1 to 4, it was found that the encryption of the string should be encrypted in the character code area that can be displayed on the terminal, and it is preferable that the character code area is converted in the same language code area. Could see.

Figure 112007002435825-pat00005
Figure 112007002435825-pat00005

하기 (표 4)에서는 본 발명의 구체적인 실시예로 참고하고 있는 KS5601 한글 코드표를 보여주고 있다.Table 4 below shows the KS5601 Korean code table for reference as a specific embodiment of the present invention.

Figure 112007002435825-pat00006
Figure 112007002435825-pat00006

상기 대칭키 암호화 알고리즘(104)은 암호화와 복호화에 있어서 동일한 비밀키를 사용하는 알고리즘이며, 컴퓨터 단말기에 있어서 대칭키 암호화 알고리즘(104)의 수학적 근거는 XOR 연산에 기초하고 있다. DES, SEED 등의 표준화된 알고리즘도 내부적으로는 XOR 연산에 기초하고, 보안성 강화를 위해 혼돈(diffusion), 치환 등의 절차를 추가해서 이루어져 있다. 본 발명의 실시예에서는, 본 발명의 목적을 명확히 설명하기 위해서, 단순히 XOR 연산만 수행하는 것으로 대칭키 암호화 알고리즘을 대신한다. XOR 연산만 수행해도 성공적인 암호문을 생성할 수 있다.The symmetric key encryption algorithm 104 is an algorithm using the same secret key in encryption and decryption, and the mathematical basis of the symmetric key encryption algorithm 104 in a computer terminal is based on an XOR operation. Standardized algorithms such as DES and SEED are also internally based on XOR operation, and are made up of additional procedures such as confusion and substitution to enhance security. In the embodiment of the present invention, in order to clearly illustrate the object of the present invention, the symmetric key encryption algorithm is replaced by simply performing an XOR operation. Only an XOR operation can be used to generate a successful ciphertext.

도 2는 본 발명에 실시예에 따른 암호문의 코드 영역이 원문의 코드 영역을 벗어나지 않도록 원문을 여러개의 비트 마스킹 그룹으로 구분하고, 각각의 그룹에 해당하는 비트 마스크로 비밀키를 보정하는 방법을 도식화한 도면이다.2 is a diagram illustrating a method of dividing an original text into a plurality of bit masking groups so that the code region of the cipher text does not leave the code region of the original text, and correcting a secret key with a bit mask corresponding to each group according to an embodiment of the present invention. One drawing.

상기 도2를 참조하면, 원문 영역(210)은 3개의 비트 마스킹 그룹으로 구분되며, 첫번째 비트 마스킹 그룹(211)은 해당 그룹의 비트 마스크로 마스킹된 비밀키(221)에 의해서 암호화한 결과가 암호문 영역(230)의 첫번째 영역(231)을 벗어나지 않게 된다. 이와 같은 방식으로 두번째 비트 마스킹 그룹(212), 세번째 비트 마스킹 그룹(213)도 암호화한 결과가 원문 영역을 벗어나지 않도록 보장 받는다.Referring to FIG. 2, the text area 210 is divided into three bit masking groups, and the first bit masking group 211 is encrypted using a secret key 221 masked with a bit mask of the group. It does not leave the first region 231 of the region 230. In this manner, the second bit masking group 212 and the third bit masking group 213 are also guaranteed not to leave the original region.

여기서 여러개의 그룹으로 구분하는 기준은 상위 비트의 공통성이다. 하기 (표 5)을 참조하면, 한글 '가'에서 '웨' 까지는 상위 바이트의 상위 4비트, 하위 바이트의 상위 3비트가 공통이다. 즉, '가'에서 '웨'까지의 문자를 구분하는 기준은 상위 바이트의 하위 4비트, 하위 바이트의 하위 5비트가 결정하는 것이다. 여기서, 하위 바이트의 상위 3비트 중에 두번째 비트가 공통은 아니지만, 중간중간 일부 비트만 마스크할 경우, 혼돈이 올 수 있기 때문에, 상위 3비트를 하나로 묶고, 하위 5비트만 암호화하는 것으로 정했다.The criterion for dividing into multiple groups is the commonality of the higher bits. Referring to (Table 5) below, the upper 4 bits of the upper byte and the upper 3 bits of the lower byte are common in Korean 'ga' to 'we'. That is, the criteria for distinguishing characters from 'a' to 'we' are determined by the lower 4 bits of the upper byte and the lower 5 bits of the lower byte. Here, although the second bit is not common among the upper 3 bits of the lower byte, if only some bits in the middle are masked, there may be confusion. Therefore, the upper 3 bits are combined and the lower 5 bits are encrypted.

따라서, 이 범위에 들어있는 원문을 암호화한 결과가 이 범위를 벗어나지 않도록 하기 위해서는, 공통되는 상위 비트는 그대로 유지하고, 하위 비트만 암호화하면 되는 것이다.Therefore, in order to ensure that the result of encrypting the original text contained in this range does not fall outside this range, the common upper bits are kept intact and only the lower bits need to be encrypted.

이와 같은 방법으로 한글의 다른 영역도 해당 영역을 벗어나지 않도록 보정할 수 있고, 일본어, 중국어 등의 다른 다국어 코드도, 공통 비트별로 그룹화 후에 서로 다른 하위 비트만 암호화하는 방법으로 원문의 영역을 보존할 수 있다.In this way, other areas of Hangul can be corrected so as not to be out of the area, and other multilingual codes such as Japanese and Chinese can be preserved by encrypting only the lower bits after grouping by common bits. have.

Figure 112007002435825-pat00007
Figure 112007002435825-pat00007

도 3은 본 발명에 실시예에 따른 일부 비트는 고정하고, 나머지 비트만 암호화하는 실시예를 보여주는 도면이다.3 is a view showing an embodiment in which some bits are fixed and only the remaining bits are encrypted according to an embodiment of the present invention.

상기 도3을 참조하면, 일부 비트는 고정하고, 나머지 비트만 암호화하기 위한 구체적인 실시예의 한 방법으로서, 원문의 상위 1바이트의 고정된 비트(311)와 하위 1바이트의 고정된 비트(312)는 암호문의 상위 1바이트의 같은 위치의 비트(351)와 하위 1바이트의 같은 위치의 비트(352)와 동일함을 보여주고 있다.Referring to FIG. 3, as a method of a specific embodiment for fixing some bits and encrypting only the remaining bits, the fixed bit 311 of the upper 1 byte of the original text and the fixed bit 312 of the lower 1 byte are It is shown that the bit 351 of the same position of the upper 1 byte of the ciphertext is the same as the bit 352 of the same position of the lower 1 byte.

이러한 결과를 만들기 위해서, 본 발명의 실시예인 상기 도3의 방법에서는 비밀키 영역(320)을 비트 마스크(330)로 연산한 새로운 비밀키 영역(340)으로 원문 영역의 특정 그룹(310)을 암호화하는 절차를 보여주고 있다. 본 예시에서의 대칭키 암호화 알고리즘은 단순히 XOR 연산만 수행하기 때문에, 고정하고 싶은 비트가 있으면, 그 비트를 '0'으로 연산하면 된다. XOR 연산의 특성으로, '0'과 연산한 비트는 원래의 값이 유지된다. 참고로 '1'과 연산한 비트는 반대의 값이 나온다. 따라서, 고정하고 싶은 비트의 위치를 마스크로 만들고, 비밀키를 해당 마스크로 걸러내고, 걸러낸 비밀키로 암호화 연산을 수행하면, 마스크된 비트는 고정되고, 마스크되지 않은 비트만 암호화 연산된다.In order to make this result, in the method of FIG. 3, the embodiment of the present invention encrypts a specific group 310 of the original text region with the new secret key region 340, which computes the secret key region 320 with the bit mask 330. The procedure is shown. In this example, the symmetric key encryption algorithm simply performs XOR operation. Therefore, if there is a bit to be fixed, the bit may be calculated as '0'. As a characteristic of XOR operation, '0' and the bit operated on are retained. For reference, the bit calculated with '1' has the opposite value. Therefore, if the position of the bit to be fixed is masked, the secret key is filtered with the mask, and the encryption operation is performed with the filtered secret key, the masked bits are fixed and only the unmasked bits are encrypted.

여기에서 원문 영역의 특정 그룹(310)이란, 상기 도2에서 구분한 비트 마스킹 그룹 중의 하나로서, 구체적인 예로서 상기 (표 5)에서 보여주는 영역 1을 보여주고 있다. 일부 비트를 고정하고, 나머지 비트만 암호화하기 위한 방법은 프로그램 구현상의 문제로 여러가지 방식이 나올 수 있으며, 여기에서는 간단하게 비밀키를 비트 마스킹하는 방법으로 예시를 보여주고 있으며, 이 예시는 특허 청구항의 이해를 돕기 위한 예시 중의 하나일 뿐, 이 예시의 방법이 특허 청구항은 아님을 명시한다.Herein, the specific group 310 of the original region is one of the bit masking groups divided in FIG. 2 and shows region 1 shown in Table 5 as a specific example. The method for fixing some bits and encrypting only the remaining bits can be variously implemented due to a problem in the program implementation. Here, an example is simply shown as a method of bit masking a secret key. It is only one example to help understand, and it is noted that the method of this example is not a patent claim.

상기 원문 영역(310)의 특정 그룹은 상위 1바이트, 하위 1바이트인 총 2바이트로 구성되어 있으며, 상위 1바이트는 공통된 상위 4비트(311)와 각각의 문자를 구분하는 하위 4비트로 구성된다. 또한, 하위 1바이트는 공통된 상위 3비트(312)와 각각의 문자를 구분하는 하위 5비트로 구성된다.The specific group of the text area 310 is composed of a total of two bytes, that is, an upper one byte and a lower one byte, and the upper one byte is composed of a common upper four bits 311 and lower four bits separating each character. In addition, the lower one byte is composed of a common upper three bits 312 and the lower five bits separating each character.

여기서, 하위 1바이트의 상위 3비트 중에 두번째 비트가 공통은 아니지만, 중간중간 일부 비트만 마스크할 경우, 혼돈이 올 수 있기 때문에, 상위 3비트를 하나로 묶고, 하위 5비트만 암호화하는 것으로 정했다.Here, although the second bit is not common among the upper 3 bits of the lower 1 byte, confusion may occur when only some bits in the middle are masked. Therefore, the upper 3 bits are grouped together and only the lower 5 bits are encrypted.

하기 (표 6)에서는 상기 도3에 해당하는 구체적인 실시예를 보여준다. 사례1에서 보면, 한글 '고'를 'ab'라는 비밀키로 XOR 연산을 수행하면, 그 결과가 문자 코드 영역을 벗어나기 때문에, 컴퓨터 단말기의 터미널에 '?'로 표시된다. 이와 같은 문제점을 해결하기 위해서, 사례2에서는 비트 마스킹을 적용하여 보정한 결과를 보여준다. 사례2에서 비밀키 'ab'의 16진 헥사코드인 '61 62'를 비트 마스크 '0F 1F' 로 비트 마스킹해서 보정하면, '고'를 암호화한 결과가 '굻'이 됨을 알 수 있다.Table 6 shows specific examples corresponding to FIG. 3. In case 1, when the XOR operation is performed with the secret key 'ab' in Korean, the result is out of the character code area, and is displayed as '?' In the terminal of the computer terminal. To solve this problem, Case 2 shows the result of correction by applying bit masking. In case 2, if the hexadecimal hexadecimal code '61 62 'of the secret key' ab 'is bit masked and corrected with the bit mask' 0F 1F ', the result of encrypting' high 'is' 굻'.

Figure 112007002435825-pat00008
Figure 112007002435825-pat00008

도 4는 본 발명에 실시예에 따른 원문과 비밀키를 입력받아 암호화 절차를 수행하는 순서도이다.4 is a flow chart for performing an encryption procedure by receiving an original text and a secret key according to an embodiment of the present invention.

상기 도 4는 본 발명이 기존의 대칭키 암호화 알고리즘에 어떻게 적용될 수 있는지에 대한 예시를 보여준 것으로서, 이 순서도 자체가 특허청구의 범위에 포함되지는 않는다.4 shows an example of how the present invention can be applied to an existing symmetric key encryption algorithm, and this flowchart itself is not included in the claims.

상기 도 4를 참조하면, 컴퓨터 단말기를 통해서 원문에 대한 암호화가 요구되면, 원문과 비밀키를 문자열 배열로 입력(401 단계)받는다.Referring to FIG. 4, when encryption of the original text is requested through the computer terminal, the original text and the secret key are input in a string array (step 401).

입력받은 원문을 1바이트씩 순차적으로 읽어서(402 단계) 문자열의 끝인 NULL이 될 때까지(410 단계) 절차를 반복하면서 암호화한다. 원문과 마찬가지로 비밀키도 1바이트씩 순차적으로 읽어서(402 단계) 반복 사용한다.The input text is sequentially read one byte at a time (step 402) and the procedure is encrypted while repeating the procedure until the end of the string becomes NULL (step 410). As in the original text, the secret key is read one by one sequentially (step 402) and repeatedly used.

순차적으로 읽은 원문 코드가 아스키 코드의 범위에 해당되면, 아스키 암호화 함수(404 단계)를 적용하는 절차로 분기하고, 아스키 코드의 범위에 해당되지 않으면, 원문을 추가로 1바이트 읽어 들이고(406 단계), 다국어 암호화 함수(407 단계)를 적용하는 절차로 분기(403 단계) 한다.If the original code read sequentially falls within the ASCII code range, branches to the procedure of applying the ASCII encryption function (step 404), and if it does not fall within the ASCII code range, reads an additional one byte of the original text (step 406). In step 403, the process proceeds to applying the multilingual encryption function (step 407).

아스키 암호화 함수(404 단계)는 도 5에서 상세 단계를 설명한다.The ASCII encryption function (step 404) describes the detailed steps in FIG.

다국어 암호화 함수(407 단계)는 도 6에서 상세 단계를 설명한다.The multilingual encryption function (step 407) describes the detailed steps in FIG.

아스키 암호화 함수(404 단계)가 완료됐으면, 원문 문자열의 다음 바이트를 읽기 위해서 인덱스를 1 증가(405 단계)한다.When the ASCII encryption function is completed (step 404), the index is incremented by one (step 405) to read the next byte of the original string.

다국어 암호화 함수(407 단계)가 완료됐으면, 원문 문자열의 다음 바이트를 읽기 위해서 인덱스를 2 증가(408 단계)한다.When the multilingual encryption function (step 407) is complete, the index is incremented by two (step 408) to read the next byte of the original string.

비밀키 문자열 길이는 원문의 문자열 길이와 상이하기 때문에, 문자열의 다음 바이트를 읽기 위한 인덱스를 별도로 관리해야 한다. 일반적으로, 비밀키 문자열을 마지막 바이트까지 읽었으면, 처음 바이트 부터 반복해서 읽는 것으로 인덱스를 증가(409 단계)한다.Since the secret key string length is different from the original string length, an index for reading the next byte of the string must be managed separately. In general, if the secret key string has been read to the last byte, the index is incremented by repeatedly reading the first byte.

원문 문자열의 마지막 바이트까지 암호화가 끝났으면, 생성된 암호문을 출력(411 단계)한다.If the encryption is completed to the last byte of the original text string, the generated cipher text is output (step 411).

도 5는 본 발명에 실시예에 따른 상기 도 4의 하위 절차로서, 원문의 문자열을 1바이트씩 읽으면서, 해당 문자가 아스키 코드일 경우의 암호화 절차를 수행하는 순서도이다.FIG. 5 is a flowchart of a sub procedure of FIG. 4 according to an embodiment of the present invention, in which an encryption procedure is performed when a corresponding character is an ASCII code while reading a string of original text one byte.

상기 도 5를 참조하면, 원문 1바이트와, 비밀키 1바이트를 읽어들이고(510 단계), 해당 원문 1바이트가 암호화가 필요없거나, 암호화를 해선 안되는 영역에 해당되면(520 단계), 암호화 절차를 수행하지 않고, 원문 1바이트를 암호문 1바이트에 그대로 대입(570 단계)한다.Referring to FIG. 5, when the original 1 byte and the secret key 1 byte are read (step 510), if the original 1 byte corresponds to an area that does not need encryption or should not be encrypted (step 520), the encryption procedure is performed. Instead of performing it, the original 1 byte is substituted into the encrypted text 1 byte as it is (step 570).

원문 1바이트가 임의의 C3에서 C4 사이의 영역에 해당하면, 해당 영역에서 사용하기로 정의한 비트 마스크(551)로, 읽어들인 비밀키 1바이트를 비트 마스킹(550 단계)한다.If the original 1 byte corresponds to a region between any C3 to C4, the bit mask 551 defined for use in the region is bit masked (step 550).

비트 마스킹된 비밀키(581)로, 원문 1바이트를 대칭키 암호화 알고리즘으로 암호화(580 단계) 한다. 여기서는 구체적인 예시를 가시적이고 명확하게 보여주기 위해서, 단순히 XOR 연산만 수행하는 것으로 대칭키 암호화 알고리즘을 대신했다.The bit masked secret key 581 is used to encrypt one byte of the original text using a symmetric key encryption algorithm (step 580). For the sake of clarity and clarity, the symmetric key encryption algorithm is replaced by simply performing an XOR operation.

이와 같은 방식으로 원문 1바이트가 C5에서 C6 사이의 영역일 경우와, 일반화한 Cn에서 Cn+1 사이(n=1, 3, 5, ...)의 영역에 대해서 각각 정의된 비트 마스크로 비트 마스킹 후에 암호화하는 절차가 수행된다.In this way, a bit is defined as a bit mask defined for each case where the original one byte is a region between C5 and C6, and a region between generalized Cn and Cn + 1 (n = 1, 3, 5, ...). After masking, an encryption procedure is performed.

도 6은 본 발명에 실시예에 따른 상기 도 4의 하위 절차로서, 원문의 문자열을 1바이트씩 읽으면서, 해당 문자가 다국어 코드일 경우, 1바이트를 추가로 읽은 후, 암호화 절차를 수행하는 순서도이다.FIG. 6 is a sub-procedure of FIG. 4 according to an embodiment of the present invention. When a character string is a multi-language code while reading a character string of the original text by one byte, a flowchart of performing an encryption procedure after additionally reading one byte. to be.

상기 도 6을 참조하면, 원문 2바이트와, 비밀키 1바이트를 읽어들이고(6010 단계), 해당 원문 상위 1바이트가 암호화가 필요없거나, 암호화를 해선 안되는 영역에 해당되면(6020 단계), 암호화 절차를 수행하지 않고, 원문 2바이트를 암호문 2바이트에 그대로 대입(6070 단계, 6110 단계)한다.Referring to FIG. 6, when the original 2 bytes and the secret key 1 byte are read (step 6010), if the upper 1 byte of the original text does not need encryption or corresponds to an area that should not be encrypted (step 6020), the encryption procedure is performed. 2 bytes of the original text are substituted into 2 bytes of the cipher text without performing (step 6070 and 6110).

원문 상위 1바이트가 임의의 C3에서 C4 사이의 영역에 해당하면, 해당 영역에서 사용하기로 정의한 비트 마스크(6051)로, 읽어들인 비밀키 1바이트를 비트 마스킹(6050 단계)한다.If the upper 1 byte of the original text corresponds to a region between any C3 to C4, a bit mask (6051) defined for use in the region is bit masked (step 6050).

비트 마스킹된 비밀키(6081)로, 원문 상위 1바이트를 대칭키 암호화 알고리즘으로 암호화(6080 단계)한다.A bit masked secret key 6061 is used to encrypt the upper 1 byte of the original text using a symmetric key encryption algorithm (step 6080).

또한, 원문 하위 1바이트를 암호화하기 위해서, 해당 영역에서 사용하기로 정의한 비트 마스크(6091)로, 읽어들인 비밀키 1바이트를 비트 마스킹(6090 단계)한다.In addition, in order to encrypt the lower 1 byte of the original text, a bit mask (6091) defined for use in the corresponding area is bit masked (step 6090).

비트 마스킹된 비밀키(6121)로, 원문 하위 1바이트를 대칭키 암호화 알고리즘으로 암호화(6120 단계)한다. 여기서는 구체적인 예시를 가시적이고 명확하게 보여주기 위해서, 단순히 XOR 연산만 수행하는 것으로 대칭키 암호화 알고리즘을 대신했다.With the bit masked secret key 6121, the lower 1 byte of the original text is encrypted using a symmetric key encryption algorithm (step 6120). For the sake of clarity and clarity, the symmetric key encryption algorithm is replaced by simply performing an XOR operation.

이와 같은 방식으로 원문 상위 1바이트가 C5에서 C6 사이의 영역일 경우와, 일반화한 Cn에서 Cn+1 사이(n=1, 3, 5, ...)의 영역에 대해서 각각 정의된 비트 마스크로 비트 마스킹 후에 암호화하는 절차가 수행된다.In this way, the upper 1 byte of the original text is defined as the bit mask defined for the area between C5 and C6, and for the area between generalized Cn and Cn + 1 (n = 1, 3, 5, ...). After bit masking, an encryption procedure is performed.

하기 (표 7)은 본 연구의 방법을 적용해서, KSC5601 한글을 암호화한 실시예이다. 먼저, XOR 연산만 수행했을 경우의 문제점을 보여주고 있으며, 다음으로 DES 알고리즘으로 암호화했을 때의 문제점을 보여주고 있다. 마지막으로 본 연구의 방법으로 보완했을 경우의 성공적인 결과를 보여주고 있다.Table 7 below shows an example of applying KSC5601 Korean alphabet by applying the method of the present study. First, it shows the problem when only XOR operation is performed, and next shows the problem when encrypting with DES algorithm. Finally, it shows the successful result when it is supplemented by the method of this study.

Figure 112007002435825-pat00009
Figure 112007002435825-pat00009

한편, 본 발명의 실시예에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.On the other hand, in the embodiment of the present invention has been described with respect to specific embodiments, various modifications are possible without departing from the scope of the invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the appended claims, but also by those equivalent to the claims.

본 발명에 따르면, 컴퓨터 단말기에서 취급하는 한글, 일본어와 같은 다국어 텍스트 문자열에 대한 암호화 결과를 터미널에 표시 가능한 문자 코드로 보정하는 방법을 제공함으로써, 암호화 결과를 바이너리 파일이 아닌, 텍스트 형태로 저장을 할 수 있다. 텍스트 형태로 저장이 가능하다는 것은, 이메일 본문, 인터넷 게시판, 메신저, 워드프로세서 등에서도 암호화된 형태로 그대로 저장이 가능하고, 필요 시에는 종이 문서로 인쇄도 가능하다는 것을 의미한다. 또한, 본 발명은 한글, 일본어와 같은 다국어 텍스트 문자열 코드의 암호화 결과를 동일한 코드 영역 내에서 암호화하기 때문에, 원문과 암호문의 길이를 동일하게 할 수 있다.According to the present invention, by providing a method for correcting an encryption result for a multilingual text string such as Korean and Japanese handled by a computer terminal with a character code that can be displayed on a terminal, the encryption result can be stored in a text form instead of a binary file. can do. Being able to save in the form of text means that it can be stored in encrypted form even in an e-mail body, an Internet bulletin board, a messenger, a word processor, etc., and can be printed as a paper document if necessary. In addition, since the present invention encrypts an encryption result of a multilingual text string code such as Korean and Japanese within the same code area, the length of the original text and the cipher text can be the same.

암호화 결과가 터미널에 표시 가능하고, 원문과 동일한 길이를 가지는 특징을 활용하면, 전산 시스템의 보안 관리를 더욱 효율적으로 운용할 수 있다.If the result of the encryption can be displayed on the terminal and has the same length as the original text, the security management of the computer system can be more efficiently operated.

예를들어, 최근에 사회적으로 이슈가 되고 있는 고객정보 유출에 대한 방지 방법으로 본 발명이 효과적으로 사용될 수 있다. 고객정보는 데이터베이스에 접근하거나, 통신 패킷을 해킹해서 유출할 수 있다. 때문에 고객정보를 암호화해서 관리해야하는데, 본 발명을 사용하면, 데이터베이스나 통신 패킷의 필드 길이를 수정하는 비용 부담을 줄일 수 있다. 또한, 암호화 결과가 원문의 텍스트 문자열 코드 영역 내에서 유지되기 때문에, 암호화된 결과를 데이터베이스에 그대로 저장이 가 능하다. 통신 패킷도 시스템 운영자가 모니터링 하기 위해서는 텍스트 파일 형태로 로그를 남겨야하는데, 암호화된 원문의 텍스트 문자열 코드 영역에서 로그를 남기기 때문에, 깨끗하게 모니터링이 가능하다. 기존의 암호화 알고리즘을 사용하면, 문자 코드 영역을 벗어나는 경우가 있기 때문에, 로그에 불필요한 문자가 남거나, 제어 문자의 영향으로 줄바꿈이 일어나는 등 로그를 확인하기가 불편하다.For example, the present invention can be effectively used as a method for preventing the leakage of customer information, which has become a social issue recently. Customer information can be leaked by accessing the database or hacking communication packets. Therefore, it is necessary to encrypt and manage customer information. By using the present invention, the cost burden of modifying the field length of a database or a communication packet can be reduced. In addition, since the encryption result is maintained in the text string code area of the original text, the encrypted result can be stored in the database as it is. In order to monitor the communication packet, the system operator should leave the log in the form of a text file. The log is left in the text string code area of the encrypted original text, so that it can be monitored clearly. If the existing encryption algorithm is used, it may be out of the character code area, so it is inconvenient to check the log such as unnecessary characters left in the log or line breaks caused by the control characters.

또한, 휴대폰 SMS 문자 메세지는 길이가 80자로 제한되어 있기 때문에, 원문 80자를 암호화한 결과가 80자 이상이 되어서는 안된다. 하지만, 본 발명을 사용하면, 80자의 원문을 80자의 암호문으로 변환이 가능한 장점이 있다. 그동안 정치적인 문제로 공공연하게 비밀로 숨겨두었던, 휴대폰의 음성통화와 문자 메세지 도청 가능성은 이미 사실로 밝혀 졌으며, 본 발명을 사용하면, 국가 기밀이나, 기업 기밀, 개인의 사적인 비밀까지도 안전하게 문자 메세지로 전송이 가능하다.In addition, since the mobile phone SMS text message is limited to 80 characters, the result of encrypting the original 80 characters should not be more than 80 characters. However, using the present invention, there is an advantage that can convert the original text of 80 characters to the cipher text of 80 characters. The possibility of eavesdropping on voice calls and text messages on mobile phones, which have been hidden in public for political reasons, has already turned out to be true. With the present invention, even national secrets, corporate secrets, and personal private secrets can be safely transmitted as text messages. This is possible.

Claims (4)

텍스트 문자열에 대한 대칭키 암호 알고리즘을 보완하는 방법에 있어서,In the method to complement the symmetric key encryption algorithm for text strings, 컴퓨터 단말기로 취급하는 문자열을 수학적 연산에 근거한 여러 단계의 절차로 암호화함에 있어서, 다국어 문자 코드의 일부 비트는 고정하고, 나머지 비트에 대해서만 암호화를 수행하는 절차;를 포함함을 특징으로 하는 텍스트 문자열에 대한 대칭키 암호 알고리즘 보완 방법.In encrypting a string treated as a computer terminal by a multi-step procedure based on a mathematical operation, a process of fixing some bits of the multilingual character code and performing encryption only on the remaining bits; Complementary method for symmetric key cryptographic algorithms. 제1항에서,In claim 1, 텍스트 문자열이란, 정의된 문자 코드 테이블을 참조하여, 컴퓨터 단말기의 터미널에 표시가 가능하고, 메모장 등의 텍스트 편집기에서 입력, 출력, 삭제, 저장이 가능하도록 정의된 문자 배열;을 포함함을 특징으로 하는 텍스트 문자열에 대한 대칭키 암호 알고리즘 보완 방법.The text string may include a character array defined to be displayed on a terminal of a computer terminal with reference to the defined character code table and to be input, output, deleted, and stored in a text editor such as a notepad. How to complement the symmetric key cryptographic algorithm for a text string. 제1항에서,In claim 1, 대칭키 암호 알고리즘이란 수학적 연산에 근거한 여러 단계의 절차로 암호화를 수행하는 과정이며, 상기 알고리즘 보안 방법은 대칭키 암호 알고리즘의 여러 단계 중간에 삽입되는 것을 특징으로 하는 텍스트 문자열에 대한 대칭키 암호 알고리즘 보완 방법.A symmetric key cryptographic algorithm is a process of performing encryption by a multi-step procedure based on a mathematical operation, and the algorithm security method is complementary to a symmetric key cryptographic algorithm for a text string, which is inserted in the middle of the various steps of the symmetric key cryptographic algorithm. Way. 제1항에서,In claim 1, 다국어 문자 코드란, 컴퓨터 단말기에서 한글, 일본어와 같은 세계 각국의 언어를 취급하기 위해 정의된 문자 코드로서, KSC5601과 같은 국가 표준 코드, 마이크로소프트와 같은 소프트웨어 회사에서 제공하는 문자 코드, 모든 다국어를 표준화한 유니 코드;를 포함함을 특징으로 하는 텍스트 문자열에 대한 대칭키 암호 알고리즘 보완 방법.Multi-language character codes are character codes defined to handle international languages such as Korean and Japanese on computer terminals, and standardize national standard codes such as KSC5601, character codes provided by software companies such as Microsoft, and all multilingual languages. A unicode; complementary symmetric-key cryptographic algorithm for a text string.
KR1020070002793A 2007-01-10 2007-01-10 Complementary method of symmetric key cryptography for multilingual text string encryption KR100876525B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070002793A KR100876525B1 (en) 2007-01-10 2007-01-10 Complementary method of symmetric key cryptography for multilingual text string encryption
PCT/KR2008/000110 WO2008084966A1 (en) 2007-01-10 2008-01-08 Complement method for many languages text characters encryption algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070002793A KR100876525B1 (en) 2007-01-10 2007-01-10 Complementary method of symmetric key cryptography for multilingual text string encryption

Publications (2)

Publication Number Publication Date
KR20070013344A KR20070013344A (en) 2007-01-30
KR100876525B1 true KR100876525B1 (en) 2008-12-31

Family

ID=38013060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070002793A KR100876525B1 (en) 2007-01-10 2007-01-10 Complementary method of symmetric key cryptography for multilingual text string encryption

Country Status (2)

Country Link
KR (1) KR100876525B1 (en)
WO (1) WO2008084966A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL199616A0 (en) 2009-06-28 2010-05-17 Chaim Shen Orr Pattern-free encryption
KR101315683B1 (en) * 2012-03-12 2013-12-13 이니텍(주) Encrypting and decrypting method without causing change of data size and type
CN103544141B (en) * 2012-07-16 2016-09-07 哈尔滨安天科技股份有限公司 Meaningful text string extracting method and system in binary data
KR101593169B1 (en) 2014-08-20 2016-02-15 한국전자통신연구원 Feistel-based variable length block cipher apparatus and method thereof
CN113806766A (en) * 2021-08-12 2021-12-17 招银云创信息技术有限公司 Data encryption method and device, computer equipment and storage medium
CN117278986B (en) * 2023-11-23 2024-03-15 浙江小遛信息科技有限公司 Data processing method and data processing equipment for sharing travel

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004320475A (en) 2003-04-16 2004-11-11 Ntt Data Corp Enciphering device, deciphering device, enciphering method, and deciphering method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010062821A (en) * 1999-12-28 2001-07-07 은승표 The method of coding word for publications and electronic books on internet and its system
US20060165232A1 (en) * 2002-12-16 2006-07-27 Dzevdet Burazerovic Method and apparatus to encrypt video data streams
CN1938980A (en) * 2004-02-13 2007-03-28 Ivi斯马特技术公司 Method and apparatus for cryptographically processing data
KR20060007208A (en) * 2004-07-19 2006-01-24 학교법인 대양학원 Video stream encrypting method for digital rights management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004320475A (en) 2003-04-16 2004-11-11 Ntt Data Corp Enciphering device, deciphering device, enciphering method, and deciphering method

Also Published As

Publication number Publication date
KR20070013344A (en) 2007-01-30
WO2008084966A1 (en) 2008-07-17

Similar Documents

Publication Publication Date Title
US9736142B2 (en) Tokenization using multiple reversible transformations
Maram et al. Intelligent security algorithm for UNICODE data privacy and security in IOT
US8874932B2 (en) Method for order invariant correlated encrypting of data and SQL queries for maintaining data privacy and securely resolving customer defects
KR100876525B1 (en) Complementary method of symmetric key cryptography for multilingual text string encryption
US11902417B2 (en) Computer-implemented method of performing format-preserving encryption of a data object of variable size
US20120284528A1 (en) Multi-purpose multi-dimensional, variable and multi-key e-mail and data encryption method
CN108280356A (en) File encryption-decryption method, device, processing terminal and computer readable storage medium
CN105099652A (en) Data encryption and decryption method and devices
JPH07334081A (en) Method and apparatus for concealment and decoding of information by digital chaos signal
CN104993923A (en) Radar data protection method based on combination of information hiding and encryption techniques
Rajput et al. An improved cryptographic technique to encrypt text using double encryption
Shahapure et al. Variation and security enhancement of block ciphers by embedding
Balajee UNICODE and Colors Integration tool for Encryption and Decryption
US20220311596A1 (en) A computer-implemented method of performing feistel-network-based block-cipher encryption of plaintext
Manikandasaran et al. MONcrypt: a technique to ensure the confidentiality of outsourced data in cloud storage
CN112910630B (en) Method and device for replacing expanded key
KR20110073227A (en) Method, apparatus, server and recordable medium for encrypting and combining order info and contents info separated from personal info
Carlson et al. Key space reduction using isomorphs
CN115242389B (en) Data confusion transmission method and system based on multi-level node network
KR101428650B1 (en) Method of encryption and method of decryption
Kumar et al. Secured communication using data dictionary through triple des
Averin et al. Mathematical Model of Symmetric Cryptoalgorithm Based on Representing Mumbers as Sums of Special Code Elements
KR20010028468A (en) Apparatus for encrypting and decrypting data and controlling method thereof
CN115242540A (en) Data processing method and system
CN112069472A (en) User login authentication method and system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee