KR100345685B1 - Key generating method, and encryption and decryption system and its method by using the braid operation - Google Patents

Key generating method, and encryption and decryption system and its method by using the braid operation Download PDF

Info

Publication number
KR100345685B1
KR100345685B1 KR1019990050583A KR19990050583A KR100345685B1 KR 100345685 B1 KR100345685 B1 KR 100345685B1 KR 1019990050583 A KR1019990050583 A KR 1019990050583A KR 19990050583 A KR19990050583 A KR 19990050583A KR 100345685 B1 KR100345685 B1 KR 100345685B1
Authority
KR
South Korea
Prior art keywords
braid
predetermined
encryption
bab
braids
Prior art date
Application number
KR1019990050583A
Other languages
Korean (ko)
Other versions
KR20010046704A (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 KR1019990050583A priority Critical patent/KR100345685B1/en
Publication of KR20010046704A publication Critical patent/KR20010046704A/en
Application granted granted Critical
Publication of KR100345685B1 publication Critical patent/KR100345685B1/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

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

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 땋임 연산을 이용한 암호화/복호화 시스템 및 그 방법과 그를 위한 키 생성 방법과 상기 방법들을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.The present invention relates to an encryption / decryption system using a braiding operation, a method thereof, a key generation method therefor, and a computer-readable recording medium having recorded thereon a program for implementing the methods.

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

본 발명은 땋임군(braid group)의 공액문제(Conjugacy problem)를 이용한 암호화/복호화 시스템 및 그 방법과 그를 위한 키 생성 방법과 상기 방법들을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있음.The present invention provides an encryption / decryption system using a conjugacy problem of a braid group, a method thereof, a key generation method therefor, and a computer-readable recording medium recording a program for realizing the methods. Its purpose is to.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은, 땋임 연산을 이용한 암호화/복호화 시스템에 있어서, 제1 소정의 땋임(a)에 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하기 위한 키 생성 수단; 상기 키 생성 수단으로부터 공개키(a, bab-1)를 등록받아 암호화 수단으로 전달하기 위한 인증 수단; 소정의 메시지(M)를 땋임(m)으로 변환하고, 상기 공개키(a, bab-1)에 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하여 상기 땋임(m)을 암호화(cac-1, mcbab-1c-1)하기 위한 상기 암호화 수단; 및 상기 암호화 수단으로부터 전달받은 암호문의 일부(cac-1)에 상기 비밀키(b)를 공액화(bcac-1b-1)하여 상기 암호화 수단으로부터 전달받은 암호문의 다른 일부(mcbab-1c-1)와 연산(m = m(cbab-1c-1)(bcac-1b-1)-1)하여 상기 땋임(m)을 구하여 복호화하기 위한 복호화 수단을 포함한다.According to the present invention, in an encryption / decryption system using a braiding operation, a second predetermined braid (b) is conjugated (bab -1 ) to a first predetermined braid (a) to obtain a secret key (b) and a public key ( a, bab- 1 ) key generation means for registering the public key; Authentication means for receiving a public key (a, bab -1 ) from the key generation means and transferring it to an encryption means; Converts a predetermined message (M) into a braid (m), and conjugates a third predetermined braid (c) to the public key (a, bab -1 ) (cac -1 , cbab -1 c -1 ) The encryption means for encrypting the braid (m) (cac -1 , mcbab -1 c -1 ); And the other part of the ciphertext received from the encryption means by conjugating (bcac- 1 b -1 ) the secret key b to the portion of the ciphertext (cac -1 ) received from the encryption means (mcbab -1 c- ). 1 ) and a calculation means (m = m (cbab- 1 c- 1 ) (bcac- 1 b -1 ) -1 ) to obtain the braid (m) and to decode.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 메시지의 암호화 또는 복호화 등에 이용됨.The present invention is used to encrypt or decrypt a message.

Description

땋임 연산을 이용한 암호화/복호화 시스템 및 그 방법과 그를 위한 키 생성 방법{Key generating method, and encryption and decryption system and its method by using the braid operation}Encryption / decryption system using braiding operation and method and key generation method therefor {Key generating method, and encryption and decryption system and its method by using the braid operation}

본 발명은 키 생성 방법과 그를 이용한 암호화/복호화 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 땋임 연산을 이용한 암호화/복호화 시스템 및 그 방법과 그를 위한 키 생성 방법과 상기 방법들을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a key generation method, an encryption / decryption system using the same, and a method and a computer-readable recording medium recording a program for realizing the method. Particularly, the encryption / decryption system using a braid operation and the method and A method of generating a key therefor and a computer-readable recording medium having recorded thereon a program for realizing the above methods.

현재 사용되고 있는 공개키 암호화/복호화 시스템은 크게 엘가말(E1Gamal)로 대표되는 이산로그 계열과 RSA(Rivest-Shamir-Adleman)로 대표되는 인수분해 계열로 나눌 수 있으며, 각각은 '유한군 위의 이산로그를 구하기 어려움' 및 '합성수의 인수분해하기 어려움'에 의존하고 있다. 현재까지 두 계열의 안전성은 비슷한 것으로 나타나고 있으며, 단지 각 암호화/복호화 시스템의 특성으로 인하여 사용 환경에 따라 적합한 암호화/복호화 시스템이 선택되어 사용되고 있다.The public key encryption / decryption system currently used can be largely divided into a discrete log series represented by El Gamal (E1Gamal) and a factorized series represented by Rist-Shamir-Adleman (RSA). 'Difficult to obtain log' and 'difficult to factor synthetic water'. Until now, the security of the two series has been shown to be similar, and due to the characteristics of each encryption / decryption system, an appropriate encryption / decryption system is selected and used according to the use environment.

그런데, 이러한 종래의 암호화/복호화 시스템은 주로 정수론적인 접근 방식을 취하고 있기 때문에, 새롭게 개발되는 계산 방법과 계산 능력의 향상으로 인하여 안정성이 의심받고 있는 상황이다. 특히, 한창 연구되고 있는 양자 컴퓨터가 개발된다면 정수론적인 암호화/복호화 시스템은 더 이상 안전하지 않게 된다. 따라서, 새로운 암호화/복호화 시스템의 개발이 요구되고 있다.However, since such a conventional encryption / decryption system mainly takes a numerical approach, stability is questioned due to the newly developed calculation method and the improvement of the calculation capability. In particular, if a quantum computer under study is developed, the numerical encryption / decryption system is no longer secure. Therefore, the development of a new encryption / decryption system is required.

한편, 1925년 아틴(Artin)에 의해 제안된 땋임군(braid group)은 이후 많은수학자들에 의해 연구되어 왔고 지금도 많은 연구가 진행되고 있다. 이 중 땋임군의 공액문제(Conjugacy problem)는 땋임군의 가장 중요한 문제 중의 하나로 알려져 수학자들 사이에서 많은 연구가 있었지만 아직까지도 효율적인 해법은 알려져 있지 않으며, 현재까지 알려진 가장 좋은 알고리즘의 복잡도는 다음의 (수학식1)에 나타나 있는 바와 같다.On the other hand, the braid group proposed by Artin in 1925 has been studied by many mathematicians since, and many studies are still in progress. Of these, the Conjugacy problem is known as one of the most important problems of the braid group, and there have been many studies among mathematicians. However, no efficient solution is known yet, and the complexity of the best algorithm known to date is It is as shown in (1).

[수학식 1] [Equation 1]

여기서, n은 땋임군의 인수이고, |W|는 땋임군을 아틴 생성자로 표현하였을 때의 단어의 길이이다. 상기 (수학식1)에서 n|W|가 10 정도만 되어도 그 복잡도는 10,000 자릿수 정도나 되기 때문에 알고리즘을 이용한 컴퓨터 계산으로는 문제 해결이 불가능하다.Where n is the argument of the group of braids, and | W | is the length of the word when the group of braids is represented by the atin generator. In the above Equation (1), even if n | W | is about 10, the complexity is about 10,000 digits. Therefore, it is impossible to solve the problem by computer calculation using an algorithm.

그런데, 아직까지도 '땋임군의 공액문제의 어려움'을 이용한 암호화/복호화 시스템은 개발된 적이 없다.However, no encryption / decryption system has been developed yet, using the difficulty of conjugation of braids.

따라서, 새로운 양자 컴퓨터의 출현과 새로운 계산 방법 등에 대처하기 위하여, 땋임군(braid group)의 공액문제(Conjugacy problem)를 이용한 암호화/복호화 시스템의 개발이 절실히 요구되고 있다.Therefore, in order to cope with the emergence of new quantum computers, new calculation methods, and the like, there is an urgent need for the development of an encryption / decryption system using the conjugate problem of a braid group.

본 발명은 상기 요구에 부응하기 위하여 안출된 것으로, 땋임군(braidgroup)의 공액문제(Conjugacy problem)를 이용한 암호화/복호화 시스템 및 그 방법과 그를 위한 키 생성 방법과 상기 방법들을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to meet the above requirements, and records an encryption / decryption system using the conjugate problem of a braidgroup, a method thereof, a key generation method therefor, and a program for realizing the methods. Its purpose is to provide a computer readable recording medium.

도 1 은 본 발명에 이용되는 땋임의 일예시도.1 is an exemplary view of the braid used in the present invention.

도 2 는 본 발명에 따른 땋임 연산을 이용한 암호화/복호화 시스템의 송수신 구조를 설명하기 위한 일예시도.Figure 2 is an example for explaining the transmission and reception structure of the encryption / decryption system using a braiding operation according to the present invention.

도 3 은 본 발명에 따른 땋임 연산을 이용한 암호화/복호화를 위한 키 생성 방법에 대한 일실시예 흐름도.3 is a flow diagram of an embodiment of a key generation method for encryption / decryption using a braid operation according to the present invention.

도 4 는 본 발명에 따른 땋임 연산을 이용한 암호화 방법에 대한 일실시예 흐름도.4 is a flowchart illustrating an encryption method using a braid operation according to the present invention.

도 5 는 본 발명에 따른 땋임 연산을 이용한 복호화 방법에 대한 일실시예 흐름도.5 is a flowchart illustrating an embodiment of a decoding method using a braiding operation according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

21 : 인증 시스템(CA) 22 : 암호화 시스템21: authentication system (CA) 22: encryption system

23 : 복호화 시스템23: decryption system

상기 목적을 달성하기 위한 본 발명의 암호화/복호화 시스템은, 땋임 연산을 이용한 암호화/복호화 시스템에 있어서, 제1 소정의 땋임(a)에 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하기 위한 키 생성 수단; 상기 키 생성 수단으로부터 공개키(a, bab-1)를 등록받아 암호화 수단으로 전달하기 위한 인증 수단; 소정의 메시지(M)를 땋임(m)으로 변환하고, 상기 공개키(a, bab-1)에 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하여 상기 땋임(m)을 암호화(cac-1, mcbab-1c-1)하기 위한 상기 암호화 수단; 및 상기 암호화 수단으로부터 전달받은 암호문의 일부(cac-1)에 상기 비밀키(b)를 공액화(bcac-1b-1)하여 상기 암호화 수단으로부터 전달받은 암호문의 다른 일부(mcbab-1c-1)와 연산(m = m(cbab-1c-1)(bcac-1b-1)-1)하여 상기 땋임(m)을 구하여 복호화하기 위한 복호화 수단을 포함하는 것을 특징으로 한다.한편, 본 발명의 암호화/복호화 방법은, 땋임 연산을 이용한 암호화/복호화 시스템에 적용되는 암호화/복호화 방법에 있어서, 제1 소정의 땋임(a)에 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 1 단계; 소정의 메시지(M)를 땋임(m)으로 변환하고, 상기 공개키(a, bab-1)에 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하여 상기 땋임(m)을 암호화(cac-1, mcbab-1c-1)하는 제 2 단계; 및 상기 암호화된 암호문의 일부(cac-1)에 상기 비밀키(b)를 공액화(bcac-1b-1)하여 상기 암호화된 암호문의 다른 일부(mcbab-1c-1)와 연산(m = m(cbab-1c-1)(bcac-1b-1)-1)하여 상기 땋임(m)을 구하여 복호화하는 제 3 단계를 포함하는 것을 특징으로 한다.In the encryption / decryption system of the present invention for achieving the above object, in the encryption / decryption system using a braid operation, the second predetermined braid (b) is conjugated to the first predetermined braid (a) (bab -1). Key generation means for generating a secret key (b) and a public key (a, bab -1 ) to register the public key; Authentication means for receiving a public key (a, bab -1 ) from the key generation means and transferring it to an encryption means; Converts a predetermined message (M) into a braid (m), and conjugates a third predetermined braid (c) to the public key (a, bab -1 ) (cac -1 , cbab -1 c -1 ) The encryption means for encrypting the braid (m) (cac -1 , mcbab -1 c -1 ); And the other part of the ciphertext received from the encryption means by conjugating (bcac- 1 b -1 ) the secret key b to the portion of the ciphertext (cac -1 ) received from the encryption means (mcbab -1 c- ). 1 ) and a calculation means for obtaining and decoding the braid m by performing operation (m = m (cbab −1 c −1 ) (bcac −1 b −1 ) −1 ). in the encoding / decoding method of the present invention, encoding / decoding method applied to the encryption / decryption system using the braids operation, a first predetermined ball braids (a) a second predetermined braids, (b) the liquid (bab - 1 ) a first step of generating a private key (b) and a public key (a, bab- 1 ) to register the public key; Converts a predetermined message (M) into a braid (m), and conjugates a third predetermined braid (c) to the public key (a, bab -1 ) (cac -1 , cbab -1 c -1 ) A second step of encoding the braid (m) (cac -1 , mcbab -1 c -1 ); And the part of the encrypted cipher text ball to the private key (b) to (cac -1) liquefaction (bcac -1 b -1) to the other part of the encrypted cipher text (mcbab -1 c -1) and operations (m = m (cbab -1 c -1 ) (bcac -1 b -1 ) -1 ) to obtain and decode the braid (m).

또한, 본 발명의 키 생성 방법은, 땋임 연산을 이용한 암호화/복호화 시스템의 키 생성 장치에 적용되는 키 생성 방법에 있어서, 제1 소정의 땋임(a)을 구하고 제3 소정의 땋임(c)과 곱의 동치가 되는 제2 소정의 땋임(b)을 구하는 제 1 단계; 및 상기 제1 소정의 땋임(a)에 상기 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 2 단계를 포함하는 것을 특징으로 한다.Further, the key generation method of the present invention is a key generation method applied to a key generation device of an encryption / decryption system using a braid operation, wherein the first predetermined braid (a) is obtained and the third predetermined braid (c) is used. A first step of obtaining a second predetermined braid (b) that is a product equivalent; And conjugating (bab- 1 ) the second predetermined braid (b) to the first predetermined braid (a) to generate a secret key (b) and a public key (a, bab -1 ). Characterized in that it comprises a second step of registering.

또한, 본 발명의 암호화 방법은, 땋임 연산을 이용한 암호화 시스템에 적용되는 암호화 방법에 있어서, 제1 소정의 땋임(a)을 구하고 제3 소정의 땋임(c)과 곱의 동치가 되는 제2 소정의 땋임(b)을 구하는 제 1 단계; 상기 제1 소정의 땋임(a)에 상기 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 2 단계; 소정의 메시지(M)를 땋임(m)으로 변환하는 제 3 단계; 상기 제3 소정의 땋임(c)을 선택하여 상기 공개키(a, bab-1)에 상기 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하는 제 4 단계; 및 상기 메시지가 변환된 땋임(m)과 상기 공액화된 공개키(cbab-1c-1)를 곱(mcbab-1c-1)하여 암호문(cac-1, mcbab-1c-1)을 생성하는 제 5 단계를 포함하는 것을 특징으로 한다.In addition, the encryption method of the present invention is the encryption method applied to the encryption system using the braiding operation, wherein the first predetermined braid (a) is obtained and the second predetermined that is equal to the product of the third predetermined braid (c). A first step of obtaining the braid (b) of; The first predetermined braids (a) the second predetermined braids, (b) the ball liquefied (bab -1) and a private key (b) the public key to generate (a, bab -1) on the public key A second step of registering; A third step of converting the predetermined message M into braids m; The fourth predetermined braid (c) to conjugate (cac -1 , cbab -1 c -1 ) the third predetermined braid (c) to the public key (a, bab- 1 ) step; And multiplying (mcbab -1 c -1) to cipher text (cac -1, mcbab -1 c -1 ) the braids (m) and the ball liquefied public key (cbab -1 c -1) the message is converted to It characterized in that it comprises a fifth step of generating.

또한, 본 발명의 복호화 방법은, 땋임 연산을 이용한 복호화 시스템에 적용되는 복호화 방법에 있어서, 암호화 과정에서 암호화된 암호문(cac-1, mcbab-1c-1)을 수신하는 제 1 단계; 상기 수신된 암호문의 일부(cac-1)에 비밀키(b)를 공액화(bcac-1b-1)하여 그 값에서 곱의 동치인 두 땋임의 곱의 순서를 바꾸는 제 2 단계; 및 상기 곱의 순서를 바꾼 값의 역을 상기 암호화된 암호문의 다른 일부(mcbab-1c-1)와 곱하여 땋임(m)을 구하여 소정의 메시지(M)를 복호화하는 제 3 단계를 포함하는 것을 특징으로 한다.In addition, the decryption method of the present invention, a decryption method applied to the decryption system using a braid operation, the first step of receiving an encrypted cipher text (cac -1 , mcbab -1 c -1 ) during the encryption process; A second step of conjugating (bcac -1 b -1 ) the secret key (b) to a portion (cac -1 ) of the received cipher text and changing the order of the products of the two braids that are equivalents of the products in the value; And a third step of multiplying the inverse of the value of the multiplication by the other portion of the encrypted ciphertext (mcbab- 1 c -1 ) to obtain a braid (m) and to decrypt a predetermined message (M). It features.

한편, 본 발명은, 땋임 연산을 이용하여 메시지를 암호화/복호화하기 위하여, 프로세서를 구비한 암호화/복호화 시스템에, 제1 소정의 땋임(a)에 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 1 기능; 소정의 메시지(M)를 땋임(m)으로 변환하고, 상기 공개키(a, bab-1)에 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하여 상기 땋임(m)을 암호화(cac-1, mcbab-1c-1)하는 제 2 기능; 및 상기 암호화된 암호문의 일부(cac-1)에 상기 비밀키(b)를 공액화(bcac-1b-1)하여 상기 암호화된 암호문의 다른 일부(mcbab-1c-1)와 연산(m = m(cbab-1c-1)(bcac-1b-1)-1)하여 상기 땋임(m)을 구하여 복호화하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.On the other hand, in the present invention, in order to encrypt / decrypt a message using a braiding operation, a second predetermined braid (b) is conjugated to a first predetermined braid (a) in an encryption / decryption system having a processor ( bab- 1 ) to generate a secret key (b) and a public key (a, bab- 1 ) to register the public key; Converts a predetermined message (M) into a braid (m), and conjugates a third predetermined braid (c) to the public key (a, bab -1 ) (cac -1 , cbab -1 c -1 ) A second function of encoding the braid (m) (cac -1 , mcbab -1 c -1 ); And the part of the encrypted cipher text ball to the private key (b) to (cac -1) liquefaction (bcac -1 b -1) to the other part of the encrypted cipher text (mcbab -1 c -1) and operations (m providing a computer-readable recording medium having recorded thereon a program for realizing a third function of obtaining and decoding the braid (m) by performing m (cbab -1 c -1 ) (bcac -1 b -1 ) -1 ). do.

또한, 본 발명은, 땋임 연산을 이용한 암호화/복호화에 사용되는 키를 생성하기 위하여, 프로세서를 구비한 키 생성 장치에, 제1 소정의 땋임(a)을 구하고 제3 소정의 땋임(c)과 곱의 동치가 되는 제2 소정의 땋임(b)을 구하는 제 1 기능; 및 상기 제1 소정의 땋임(a)에 상기 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 2 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In addition, the present invention, in order to generate a key used for encryption / decryption using a braid operation, a first predetermined braid (a) is obtained in a key generation device having a processor, and the third predetermined braid (c) and A first function of obtaining a second predetermined braid (b) that is a product equivalent; And conjugating (bab- 1 ) the second predetermined braid (b) to the first predetermined braid (a) to generate a secret key (b) and a public key (a, bab -1 ). A computer readable recording medium having recorded thereon a program for realizing a second function of registering the present invention is provided.

또한, 본 발명은, 땋임 연산을 이용하여 메시지를 암호화하기 위하여, 프로세서를 구비한 키 생성 및 암호화 시스템에, 제1 소정의 땋임(a)을 구하고 제3 소정의 땋임(c)과 곱의 동치가 되는 제2 소정의 땋임(b)을 구하는 제 1 기능; 상기 제1 소정의 땋임(a)에 상기 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 2 기능; 소정의 메시지(M)를 땋임(m)으로 변환하는 제 3 기능; 상기 제3 소정의 땋임(c)을 선택하여 상기 공개키(a, bab-1)에 상기 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하는 제 4 기능; 및 상기 메시지가 변환된 땋임(m)과 상기 공액화된 공개키(cbab-1c-1)를 곱(mcbab-1c-1)하여 암호문(cac-1, mcbab-1c-1)을 생성하는 제 5 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In addition, the present invention obtains a first predetermined braid (a) in a key generation and encryption system provided with a processor, in order to encrypt a message using a braid operation, and equals the product with the third predetermined braid (c). A first function of obtaining a second predetermined braid (b) to be; The first predetermined braids (a) the second predetermined braids, (b) the ball liquefied (bab -1) and a private key (b) the public key to generate (a, bab -1) on the public key A second function to register; A third function of converting a predetermined message M into braids m; The fourth predetermined braid (c) to conjugate (cac -1 , cbab -1 c -1 ) the third predetermined braid (c) to the public key (a, bab- 1 ) function; And multiplying (mcbab -1 c -1) to cipher text (cac -1, mcbab -1 c -1 ) the braids (m) and the ball liquefied public key (cbab -1 c -1) the message is converted to A computer readable recording medium having recorded thereon a program for realizing a fifth function to be generated is provided.

또한, 본 발명은, 땋임 연산을 이용하여 메시지를 복호화하기 위하여, 프로세서를 구비한 복호화 시스템에, 암호화 과정에서 암호화된 암호문(cac-1, mcbab-1c-1)을 수신하는 제 1 기능; 상기 수신된 암호문의 일부(cac-1)에 비밀키(b)를 공액화(bcac-1b-1)하여 그 값에서 곱의 동치인 두 땋임의 곱의 순서를 바꾸는 제 2 기능; 및 상기 곱의 순서를 바꾼 값의 역을 상기 암호화된 암호문의 다른 일부(mcbab-1c-1)와 곱하여 땋임(m)을 구하여 소정의 메시지(M)를 복호화하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.The present invention also provides a decryption system having a processor for decrypting a message using a braid operation, comprising: a first function of receiving an encrypted cipher text (cac -1 , mcbab -1 c -1 ) encrypted during an encryption process; A second function of conjugating a secret key (b) to a portion (cac -1 ) of the received ciphertext (bcac -1 b -1 ) to change the order of the products of two braids that are equivalents of the products in the value; And multiplying the inverse of the order of the product by another portion of the encrypted ciphertext (mcbab- 1 c -1 ) to obtain a braid (m) to decrypt a predetermined message (M). A computer readable recording medium having recorded a program is provided.

즉, 본 발명은 땋임군(braid group)의 공액문제(Conjugacy problem)를 이용한 공개키 암호화/복호화 시스템 및 그 방법과 그를 위한 키 생성 방법에 관한 것으로, 특히 RSA 형태가 아닌 이산로그 형태의 일방향 함수와 비슷한 면이 있으나, 이산로그 형태가 '유한군 위의 이산로그를 구하기 어려움'을 이용하는데 비하여 '땋임군의 공액문제의 어려움'을 이용한다.That is, the present invention relates to a public key encryption / decryption system using a conjugacy problem of a braid group and a method thereof, and a method for generating a key therefor, in particular, a one-way function in the form of a discrete log rather than an RSA. It is similar to, but the form of discrete log uses 'difficulty of obtaining conjunctive log on Yuhan'.

특히, 이산로그 계열과 RSA 등의 암호화/복호화 시스템은 정수론적인 암호화/복호화 시스템인데 반하여, 본 발명은 기하학적 접근 방법을 기초로 한 암호화/복호화 시스템에 관한 것으로, 이와 유사한 접근 방법의 암호화/복호화 시스템은 아직까지 개발된 적이 없다.In particular, the encryption / decryption system such as the discrete log series and RSA is an integer-based encryption / decryption system, whereas the present invention relates to an encryption / decryption system based on a geometric approach, and an encryption / decryption system of a similar approach. Has not been developed yet.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명에 이용되는 땋임의 일예시도이다.1 is an exemplary view of the braid used in the present invention.

도 1 에 도시된 바와 같이, 땋임군은 여러 가닥의 끈이 있을 때 이 끈들을 머리를 땋는 것과 같이 땋아 놓은 땋임을 대수적인 군(group)으로 표현하는 것이다.As shown in Figure 1, the group of braids is to represent the braided braids in a logarithmic group, such as braiding the hair when there are several strands of strings.

땋임군을 표현하는 방법은 여러 가지가 있는데, 이 중 가장 대표적이며 직관적으로 알기 쉬운 방법은 기하학적인 방법으로 군의 생성자(generator)를 표현하고 이 생성자가 기하학적으로 어떤 모양으로 변환이 가능한지를 관계연산자(relation)로 나타내어 군표현(presentation)을 나타내는 것이다.There are several ways to express the group of braids. The most representative and intuitively easy way is to express the group's generator in a geometric way and the relational operator which geometric shape can be converted into a shape. It is represented by a (relation) to represent a presentation.

우선, i번째 끈(strand)과 i+1번째 끈이 정해진 방향으로 꼬여 있을 때, 즉i번째 끈 위로 i+1번째 끈이 지나갈 때, 이러한 만남을 군의 생성자 σi라고 정의하며, 땋임군의 다른 군표현에서의 생성자와 구분하기 위해서 아틴 생성자라고도 한다. 또한, 꼬여있는 방향이 반대로 되어 있으면 이는 σi -1이라고 정의한다. 임의의 땋임을 아틴 표현법으로 표현한다고 하면, 주어진 땋임을 위에서 아래 방향으로 읽으면서 각각의 땋임을 아틴 생성자로 표현한다. 이런 방법으로 하면 임의의 복잡한 땋임을 단어(word)로 표현할 수 있다. 임의의 두 땋임의 단어의 곱은 두 땋임을 위에서 아래로 붙이면 된다. 처음의 두 땋임을 각각 단어로 표현하였을 때, 이 단어를 연달아서 쓰게 되면 두 땋임의 곱이 된다. 이러한 방법으로 곱셈을 정의하면 이 집합은 군을 이루게 된다.First, when the i-th string and the i + 1 string are twisted in a predetermined direction, i.e., when the i + 1 string passes over the i-th string, this encounter is defined as the group's creator, σ i , Also known as the Atin constructor, to distinguish it from the constructors in other group expressions. In addition, if the twisted direction is reversed, this is defined as σ i -1 . Suppose any braid is represented by an atin expression, and each braid is represented by an atin constructor, reading a given braid from top to bottom. In this way, any complex braid can be expressed in words. To multiply the words of any two braids, attach the two braids from top to bottom. When each of the first two braids is expressed in words, the words in succession are the product of the two braids. If you define multiplication in this way, this set is grouped.

도 1 에 도시된 바와 같이, 각각의 2개의 땋임은 윗부분과 아랫부분을 고정한 상태에서 적당히 끈을 이동하면 하나에서 다른 하나로 변환할 수 있다. 이러한 성질을 이용하면 두 땋임의 동치를 정의할 수 있으며, 이를 관계연산자로 나타내면 아래의 (수학식2)와 같은 군표현을 얻을 수 있다.As shown in Figure 1, each of the two braids can be converted from one to the other by moving the strings properly in a fixed state of the top and bottom. By using this property, we can define the equivalence of two braids. If we express this as a relational operator, we can get the group expression as shown in Equation 2 below.

[수학식 2]σ12n-1ii+1ii+1ii+1ijjiEquation 2 σ12n-1ii + 1ii + 1ii + 1ijji

여기서, |i-j|≥2이다.Where | i-j | ≥2.

이렇게 하여 얻은 군에 대해서 주어진 단어(word) U,V에 대하여 U=WVW-1을 만족하는 W가 존재하는가 하는 문제를 공액문제(conjugacy problem)라 한다. 이 문제를 전수조사 방법으로 해결하려면 모든 W에 대하여 조사를 해야 하기 때문에 이러한 방법으로 공액문제를 해결하기는 불가능하다. 따라서, 이 문제에 대한 효과적인 해법은 아직 알려져 있지 않으며, 많은 수학자들의 연구 결과에 의하면 이 문제는 대단히 어려운 문제로 알려져 있다. 이 문제가 비결정성 다항식(NP : Non-deterministic Polynominal)이 되는지도 아직 알려져 있지 않고, 현재까지 연구된 바에 따르면 NP보다 어려운 문제라고 알려져 있다. 이러한 사실을 기본으로 하여 엘가말(E1Gamal) 암호화/복호화 시스템과 비슷한 형태의 암호화/복호화 시스템을 구성할 수 있다.The conjugacy problem is called whether there exists a W that satisfies U = WVW −1 for a given word U, V for the group obtained in this way. In order to solve this problem, it is impossible to solve the conjugation problem in this way because all W must be investigated. Thus, an effective solution to this problem is not yet known, and many mathematicians have shown that it is a very difficult problem. It is not yet known whether this problem becomes a non-deterministic polynominal (NP), and it has been studied to be more difficult than NP. Based on this fact, an encryption / decryption system similar to the E1Gamal encryption / decryption system can be constructed.

도 2 는 본 발명에 따른 땋임 연산을 이용한 암호화/복호화 시스템의 송수신 구조를 설명하기 위한 일예시도이다.2 is an exemplary view illustrating a transmission and reception structure of an encryption / decryption system using a braid operation according to the present invention.

본 발명의 기본적인 구성은 복호화 시스템(12)의 키 생성부(도면에 도시되지 않음)에서 후술되는 도 3 에 도시된 바와 같은 방법으로 초기화 과정을 수행하여 공개키 (a, bab-1)과 비밀키 b를 생성한 후에, 그 중에서 공개키 (a, bab-1)을 인증 시스템(CA)(21)에 등록하면(11), 인증 시스템(21)은 암호화 시스템(22)으로 공개키 (a, bab-1)을 전송한다(12). 이때, 인증 시스템(21)은 암호화 시스템(22)과 복호화 시스템(23)이 정당한 사용자인지를 확인하는 인증 과정을 수행한다.The basic configuration of the present invention is a key generation unit (not shown in the figure) of the decryption system 12. Public key (a, bab) by performing an initialization process by a method as shown in FIG.-One) And the private key b, then the public key (a, bab-One) Is registered in the authentication system (CA) 21 (11), the authentication system 21 is a public key (a, bab to the encryption system 22)-One(12). At this time, the authentication system 21 performs an authentication process for confirming whether the encryption system 22 and the decryption system 23 are legitimate users.

그러면, 복호화 시스템(23)으로 메시지를 암호화하여 전송하고자 하는 암호화 시스템(22)에서는 인증 시스템(21)으로부터 전달받은 공개키 (a, bab-1)을 이용하여 메시지를 후술되는 도 4 의 방법으로 암호화하여(13) 복호화 시스템(23)으로 전송한다(14).Then, the encryption system 22 to encrypt and transmit the message to the decryption system 23 uses the public key (a, bab- 1 ) received from the authentication system 21 to describe the message in the method of FIG. 4 described below. The data is encrypted (13) and transmitted to the decryption system 23 (14).

그러면, 암호화된 메시지를 전달받은 복호화 시스템(23)은 이 메시지를 후술되는 도 5 의 방법으로 복호화하여 원래 메시지를 복원하게 된다(15).Then, the decryption system 23 receiving the encrypted message decrypts the message by the method of FIG. 5 described later to restore the original message (15).

다음으로, 도 3 을 참조하여 땋임 연산을 이용한 암호화/복호화 방법에 사용되는 공개키와 비밀키를 생성하는 방법에 대하여 상세히 살펴보면 다음과 같다.Next, referring to FIG. 3, a method for generating a public key and a secret key used in an encryption / decryption method using a braid operation will be described in detail.

도 3 은 본 발명에 따른 땋임 연산을 이용한 암호화/복호화를 위한 키 생성 방법에 대한 일실시예 흐름도이다.3 is a flowchart illustrating a method for generating a key for encryption / decryption using a braid operation according to the present invention.

먼저, 복호화 시스템(23)에서 2n개의 끈 중에서 임의의 땋임 a를 하나 구하고, 2n개의 끈 중에서 오른쪽 n개의 끈들만이 꼬여있는 땋임 b를 구한다(31).First, in the decryption system 23, one random braid a is obtained from 2n strings, and the braid b is obtained by twisting only the right n strings of the 2n strings (31).

이후, 복호화 시스템(23)에서 상기 임의의 땋임 a와 우땋임 b를 이용하여 공액 bab-1을 계산한다. 이 중에서 비밀키는 b가 되고, a와 bab-1이 공개키가 된다(32). 이후, 도 1 에서 전술한 바와 같이, 공개키 (a, bab-1)을 인증 시스템(CA)(21)에 등록하면(11), 인증 시스템(21)이 암호화 시스템(22)으로 공개키 (a, bab-1)을 전송한다(12).Thereafter, in the decoding system 23, the conjugate bab −1 is calculated using the arbitrary braid a and the right braid b. The secret key is b, and a and bab -1 are public keys (32). Subsequently, as described above with reference to FIG. 1, when the public key (a, bab- 1 ) is registered in the authentication system (CA) 21 (11), the authentication system 21 uses the public key ( a, bab -1 ) (12).

다음으로 도 4 및 도 5 를 참조하여 암호화 과정과 복호화 과정을 상세히 살펴보면 다음과 같다.Next, the encryption process and the decryption process will be described in detail with reference to FIGS. 4 and 5.

도 4 는 본 발명에 따른 땋임 연산을 이용한 암호화 방법에 대한 일실시예 흐름도이고, 도 5 는 본 발명에 따른 땋임 연산을 이용한 복호화 방법에 대한 일실시예 흐름도이다.4 is a flowchart illustrating an encryption method using a braid operation according to the present invention, and FIG. 5 is a flowchart illustrating a decryption method using a braid operation according to the present invention.

먼저, 메시지를 암호화하는 과정은, 암호화 시스템(22)에서 메시지 M을 땋임 m으로 변환하고(41), 2n개의 끈 중에서 왼쪽의 n개의 끈들만이 꼬여있는 임의의 땋임 c를 선택하여(42) 공개키 a와 bab-1에 c를 공액화하여 cac-1와 cbab-1c-1을 구하고, 땋임 m과 공액화된 공개키 cbab-1c-1을 곱하여 mcbab-1c-1을 계산하여(43) 암호문 mcbab-1c-1와 cac-1을 복호화 시스템(23)으로 전송한다(44).First, the process of encrypting the message, in the encryption system 22 converts the message M to braid m (41), and selects a random braid c with only n strings left of 2n strings (42). C is conjugated to public keys a and bab -1 to obtain cac -1 and cbab -1 c -1 , and multiplies braid m with conjugated public key cbab -1 c -1 to calculate mcbab -1 c -1 (43) The cipher text mcbab -1 c -1 and cac -1 are transmitted to the decryption system 23 (44).

한편, 2n개의 끈 중에서 오른쪽 n개의 끈들의 땋임을 c로 하고, 2n개의 끈 중에서 왼쪽 n개의 끈들의 땋임을 b로 하여도 상관이 없다.On the other hand, the braids of the right n strings among the 2n strings may be c, and the braids of the left n strings of the 2n strings may be b.

다음으로, 상기 메시지 M을 땋임 m으로 변환하는 과정을 좀 더 상세히 살펴보면 다음과 같다.Next, the process of converting the message M into braid m will be described in more detail.

먼저, 메시지(숫자) M을 땋임으로 바꾸는 작업이 필요하다. 일반적으로 단어(word)로 표현되는 땋임은 이와 동치인 다른 많은 단어들이 존재하나, 일반적인 단어와 메시지와의 관계가 1:1 관계로 유지되는 전단사 함수가 존재하지 않는다. 따라서, 조금은 특별한 방법으로 땋임을 변환해야만 한다. 만약, 임의의 땋임에서 어느 두 개의 끈도 두 번 만나지 않고, 모든 땋임이 양땋임이라면, 이 땋임을 표준요소(canonical factor)라 한다. 이때, 각각의 끈들의 시작점이 어느 점에서 끝나는지를 살피게 되면, 이를 바탕으로 순열군(permutation group)을 만들 수 있으며, 간단하게 전단사 함수를 구성할 수 있다. 따라서, 표준요소와 순열군은 동치가 된다.First, we need to convert the message (number) M to braided. In general, there are many other words which are equivalent to braid, but there is no shear history function in which the relationship between the general word and the message is maintained in a 1: 1 relationship. Therefore, the braid must be converted in some special way. If any two braids in any braid do not meet twice, and all braids are double braids, then this braid is called a canonical factor. At this point, when the starting point of each string is examined at which point, the permutation group can be created based on this, and the shear yarn function can be simply configured. Thus, the standard element and the permutation group are equivalent.

다음으로 어떻게 메시지가 순열군으로 표현될 수 있으며, 순열군이 땋임으로 표현되는지를 살펴보기로 한다.Next, let's take a look at how a message can be expressed in permutations and how a permutation is represented by braids.

우선, 임의의 순열을 숫자로 표현하는 방법을 살펴보기로 한다. 순열을 나타내는 방법으로는 여러 가지가 있겠으나, 그 중 하나로 (π(1), π(2),…, π(n))으로 나타내는 방법이 있다. 즉, 땋임의 표준요소와 비슷하게 첫 번째 끈의 끝 부분이 몇 번째로 이동하였는지를 쓰고, 두 번째 끈의 끝 부분이 몇 번째로 갔는지를 차례대로 쓰는 방법이다. 이 표현에 대하여 반전(inversion)을 구한다. 이때, 반전열이라 함은 i번째 항의 π(i)앞에 i보다 작은 π(j)의 개수를 적은 열을 뜻한다. 이렇게 하여 다음의 (수학식 3)을 구한다.First, let's look at how to express an arbitrary permutation as a number. There are various ways to indicate permutation, but one of them is a method represented by (π (1), π (2), ..., π (n)). In other words, similar to the standard element of braid, it is written how the end of the first string moved and how many times the end of the second string went. Find the inversion of this expression. In this case, the inversion column refers to a column in which the number of π (j) smaller than i is smaller than π (i) in the i th term. In this way, the following Equation 3 is obtained.

[수학식 3] [Equation 3]

여기서, αk는 반전열의 k번째 항이다.Α k is the k-th term of the inversion string.

역으로 임의의 숫자로 반전열을 구할 수 있으며, 임의의 반전열로부터 순열도 구할 수 있다. 반전열의 앞부분부터 시작하여 순열을 완성하게 되는데, 만약 k번째 반전열이 αk라 하면 k를 k+1번째 순열에 추가하게 된다. 이렇게 n까지 작업을 끝내면 여기서 나오는 열이 우리가 원하는 순열이 된다. 이런 방법으로 하면 n개로이루어진 임의의 순열과 n!은 1:1 대응이 이루어지며, 우리가 원하는 메시지와 땋임의 표준요소의 대응이 된다.Conversely, an inverted sequence can be obtained by any number, and a permutation can also be obtained from any inverted sequence. There is completed the permutation, starting from the front column inversion, if the k-th column is inverted if α k d is added to the k (k + 1) th permutation. When we're done with n like this, the columns from this are the permutations we want. In this way, a random permutation of n and n! Is a one-to-one correspondence, corresponding to the message and the standard element of the braid.

그러나, 메시지 M을 하나의 표준요소로 표현하게 되면, 공격자의 입장에서 땋임 자체를 순열군의 관점에서 바라보게 된다. 그러면, 순열군의 공액문제가 쉽게 풀리기 때문에 공격자는 메시지를 알아낼 수 있다. 따라서, 본 발명에서는 하나의 표준요소에 다른 표준요소를 곱하여서 메시지를 암호화한다. 여기서, 다른 표준요소를 선택하는 방법은 여러 가지가 있겠으나, 본 발명에서는 처음 땋임의 역원을 구한 후에, 이 역원에서 나온 음수 지수승을 양수 지수승으로 바꾼 땋임을 사용한다. 이렇게 해서 나온 두 땋임의 곱을 m이라고 표현한다.However, if the message M is expressed as a standard element, the braid itself is viewed from the attacker's point of view from the point of view of the permutations. The attacker can then figure out the message because the permutation problem is easily solved. Therefore, in the present invention, the message is encrypted by multiplying one standard element with another standard element. Here, there are many ways to select other standard elements, but in the present invention, after obtaining the inverse of the first braid, the braid is changed from the negative power of the inverse to the positive power. The product of the two braids is m.

다음으로, 도 5 를 참조하여 암호화된 메시지를 복호화하는 과정을 살펴보면, 복호화 시스템(23)은 암호화 시스템(22)으로부터 암호문 cac-1과 mcbab-1c-1을 수신하면(51), 수신한 cac-1에 비밀키 b를 공액화하여 bcac-1b-1을 구할 수 있다. 이때, b와 c를 각각 우땋임과 좌땋임으로 선택하였기 때문에 곱의 순서를 바꾸어도 두 곱은 동치임으로, 다음의 (수학식 4)와 같은 식이 성립하게 된다.Next, referring to FIG. 5, when the encrypted message is decrypted, the decryption system 23 receives the ciphertext cac -1 and mcbab -1 c -1 from the encryption system 22 (51). bcac -1 b -1 can be obtained by conjugating the secret key b to cac -1 . At this time, since b and c are selected as right braid and left braid, respectively, even if the order of the products is changed, the two products are equivalent, and the following equation (4) is established.

[수학식 4]cbab-1-1-1-1Equation 4 cbab-1-1-1-1

그리고, 수신된 암호화 메시지 mcbab-1c-1에 bcac-1b-1의 역을 구하여 곱하여주면 다음의 (수학식 5)가 성립하게 된다.And, by multiplying the received encrypted message mcbab -1 c -1 by the inverse of bcac -1 b -1, the following Equation 5 is established.

[수학식 5]m = m(cbab-1-1-1-1-1[Equation 5] m = m (cbab-1-1-1-1-1

이때, 상기 (수학식 5)에 상기 (수학식 4)를 대입하면 m을 구할 수 있게 된다(52). 이후, 땋임 m은 간단한 방법으로 원래의 메시지 M으로 복호화할 수 있다(53).상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.At this time, by substituting Equation 4 into Equation 5, m can be obtained (52). The braid m can then be decoded into the original message M in a simple manner (53). The method of the present invention as described above can be implemented as a program in a computer-readable form in a recording medium (CD-ROM, RAM, ROM, Floppy disk, hard disk, magneto-optical disk, etc.).

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.

상기와 같은 본 발명은, 땋임의 공액문제를 이용한 공개키 암호화/복호화 시스템으로, 현재까지 전 세계적으로도 제안된 적이 없는 전혀 새로운 암호화/복호화 시스템을 제공할 수 있다.The present invention as described above, as a public key encryption / decryption system using a conjugated problem of braiding, it is possible to provide a completely new encryption / decryption system that has not been proposed even worldwide.

또한, 본 발명은, 주로 정수론적 접근 방식을 취하는 종래의 암호화/복호화 시스템과 달리, 기하학적이 구조를 기본 골격으로 사용하였기 때문에 정해진 길이의 메시지나 단순한 문자 메시지의 암호화뿐만 아니라 임의의 길이를 가진 메시지나 다른 형태의 메시지의 암호화에도 사용할 수 있다.Furthermore, the present invention, unlike the conventional encryption / decryption system, which mainly takes a numerical approach, because the geometric structure is used as the basic skeleton, the message having an arbitrary length as well as the encryption of a message of a predetermined length or a simple text message. It can also be used to encrypt other forms of messages.

또한, 본 발명은, 새로운 계산 방법과 양자 컴퓨터 등에 의하여 안전성이 의심받고 있는 종래의 암호화/복호화 시스템과 달리, NP보다 더 어려운 문제를 풀어야 하기 때문에 안전성이 뛰어나다.In addition, the present invention is excellent in safety because it has to solve a problem more difficult than NP, unlike the conventional encryption / decryption system whose security is suspected by a new calculation method, a quantum computer, or the like.

또한, 본 발명은, 속도면에 있어서도 사용 가능한 수준의 속도를 제공하고 있어, 실제로 응용 가능한 시스템이라고 할 수 있다.In addition, the present invention provides a speed that can be used in terms of speed, and can be said to be a system that can be actually applied.

Claims (23)

땋임 연산을 이용한 암호화/복호화 시스템에 있어서,In the encryption / decryption system using a braid operation, 제1 소정의 땋임(a)에 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하기 위한 키 생성 수단;The registering the public key to generate a first predetermined braids (a) a second predetermined braids, (b) the ball liquefied (bab -1) by the private key (b) and public keys (a, bab -1) for Key generation means for; 상기 키 생성 수단으로부터 공개키(a, bab-1)를 등록받아 암호화 수단으로 전달하기 위한 인증 수단;Authentication means for receiving a public key (a, bab -1 ) from the key generation means and transferring it to an encryption means; 소정의 메시지(M)를 땋임(m)으로 변환하고, 상기 공개키(a, bab-1)에 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하여 상기 땋임(m)을 암호화(cac-1, mcbab-1c-1)하기 위한 상기 암호화 수단; 및Converts a predetermined message (M) into a braid (m), and conjugates a third predetermined braid (c) to the public key (a, bab -1 ) (cac -1 , cbab -1 c -1 ) The encryption means for encrypting the braid (m) (cac -1 , mcbab -1 c -1 ); And 상기 암호화 수단으로부터 전달받은 암호문의 일부(cac-1)에 상기 비밀키(b)를 공액화(bcac-1b-1)하여 상기 암호화 수단으로부터 전달받은 암호문의 다른 일부(mcbab-1c-1)와 연산(m = m(cbab-1c-1)(bcac-1b-1)-1)하여 상기 땋임(m)을 구하여 복호화하기 위한 복호화 수단Conjugating the secret key (b) to a part of the cipher text (cac -1 ) received from the encryption means (bcac -1 b -1 ) to another part of the cipher text (mcbab -1 c -1 ) received from the encryption means Decoding means for obtaining and decoding the braid (m) by performing operation (m = m (cbab -1 c -1 ) (bcac -1 b -1 ) -1 ) 을 포함하는 암호화/복호화 시스템.Encryption / decryption system comprising a. 제 1 항에 있어서,The method of claim 1, 상기 키 생성 수단은,The key generating means, 상기 제1 소정의 땋임(a)을 구하고 상기 제3 소정의 땋임(c)과 곱의 동치가 되는 상기 제2 소정의 땋임(b)을 구하여 상기 제1 소정의 땋임(a)에 상기 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 상기 인증 수단에 등록하는 것을 특징으로 하는 암호화/복호화 시스템.Obtaining the first predetermined braid (a) and obtaining the second predetermined braid (b) which is equivalent to the product of the third predetermined braid (c), and obtaining the second predetermined braid (b) to the first predetermined braid (a). ball predetermined braids, (b) liquefaction (bab -1) by the private key (b) and public key encryption / decryption, characterized in that to generate the (a, bab -1) for registering the public key to the authentication means system. 제 2 항에 있어서,The method of claim 2, 상기 암호화 수단은,The encryption means, 상기 소정의 메시지(M)를 땋임(m)으로 변환하고, 상기 제3 소정의 땋임(c)을 선택하여 상기 인증 수단으로부터 전달받은 공개키(a, bab-1)에 상기 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)한 후에, 상기 메시지가 변환된 땋임(m)과 상기 공액화된 공개키(cbab-1c-1)를 곱(mcbab-1c-1)하여 암호문(cac-1, mcbab-1c-1)을 생성하여 상기 복호화 수단으로 전송하는 것을 특징으로 하는 암호화/복호화 시스템.The predetermined message M is converted into a braid m, the third predetermined braid c is selected, and the third predetermined braid is applied to the public keys a and bab −1 received from the authentication means. (c) a ball multiplied by the liquefied (cac -1, cbab -1 c -1 ), braids (m) and the ball liquefied public key (cbab -1 c -1) the message is converted after (mcbab - 1 c -1 ) to generate a ciphertext (cac -1 , mcbab -1 c -1 ) and transmit it to the decryption means. 제 3 항에 있어서,The method of claim 3, wherein 상기 복호화 수단은,The decoding means, 상기 암호화 수단으로부터 전달받은 암호문의 일부(cac-1)에 상기 비밀키(b)를 공액화(bcac-1b-1)하여 상기 제2 및 제3 소정의 땋임의 곱의 순서를 바꾼 후에, 그 값의 역을 상기 암호화 수단으로부터 전달받은 암호문의 다른 일부(mcbab-1c-1)와 곱하여 상기 땋임(m)을 구하여 상기 소정의 메시지(M)를 복호화하는 것을 특징으로 하는 암호화/복호화 시스템.After the secret key b is conjugated (bcac -1 b -1 ) to a part of the ciphertext (cac -1 ) received from the encryption means, the order of the products of the second and third predetermined braids is changed. The inverse of the value is multiplied by another portion (mcbab- 1 c -1 ) of the cipher text received from the encryption means to obtain the braid (m) to decrypt the predetermined message (M), characterized in that . 제 1 항 내지 제 4 항중 어느 한 항에 있어서,The method according to any one of claims 1 to 4, 상기 암호화 수단에서 소정의 메시지(M)를 땋임(m)으로 변환하는 과정은,The process of converting the predetermined message (M) into braid (m) in the encryption means, 상기 소정의 메시지(M)를 표준요소(canonical factor)들의 곱으로 표현하는 것을 특징으로 하는 암호화/복호화 시스템.And the predetermined message (M) is expressed as a product of canonical factors. 제 5 항에 있어서,The method of claim 5, 상기 제3 소정의 땋임(c)은, 2n개의 끈 중에서 왼쪽의 n개(n은 땋임군의 인수)의 끈들만이 꼬여있는 임의의 좌땋임이고,The third predetermined braid (c) is any left braid where only n strings (n is a factor of braid group) on the left of 2n strings are twisted. 상기 제2 소정의 땋임(b)은, 2n개의 끈 중에서 오른쪽 n개의 끈들만이 꼬여있는 우땋임인 것을 특징으로 하는 암호화/복호화 시스템.The second predetermined braid (b) is an encryption / decryption system, characterized in that the right braid twisted only n strings out of 2n strings. 제 5 항에 있어서,The method of claim 5, 상기 제3 소정의 땋임(c)은, 2n개의 끈 중에서 오른쪽의 n개의 끈들만이 꼬여있는 임의의 우땋임이고,The third predetermined braid (c) is any right braid, in which only n strings on the right side of the 2n strings are twisted. 상기 제2 소정의 땋임(b)은, 2n개의 끈 중에서 왼쪽 n개의 끈들만이 꼬여있는 좌땋임인 것을 특징으로 하는 암호화/복호화 시스템.The second predetermined braid (b) is an encryption / decryption system, characterized in that the left braid is twisted only the left n of the 2n string. 땋임 연산을 이용한 암호화/복호화 시스템에 적용되는 암호화/복호화 방법에 있어서,In the encryption / decryption method applied to an encryption / decryption system using a braid operation, 제1 소정의 땋임(a)에 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 1 단계;First predetermined by braids (a) a second predetermined braids, (b) the ball liquefied (bab -1) to generate a private key (b) and public keys (a, bab -1) for registering the public key First step; 소정의 메시지(M)를 땋임(m)으로 변환하고, 상기 공개키(a, bab-1)에 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하여 상기 땋임(m)을 암호화(cac-1, mcbab-1c-1)하는 제 2 단계; 및Converts a predetermined message (M) into a braid (m), and conjugates a third predetermined braid (c) to the public key (a, bab -1 ) (cac -1 , cbab -1 c -1 ) A second step of encoding the braid (m) (cac -1 , mcbab -1 c -1 ); And 상기 암호화된 암호문의 일부(cac-1)에 상기 비밀키(b)를 공액화(bcac-1b-1)하여 상기 암호화된 암호문의 다른 일부(mcbab-1c-1)와 연산(m = m(cbab-1c-1)(bcac-1b-1)-1)하여 상기 땋임(m)을 구하여 복호화하는 제 3 단계The part of the encrypted cipher text (cac -1) to another part of the encrypted cipher text to the ball liquefied (bcac -1 b -1) the secret key (b) (mcbab -1 c -1 ) and calculation (m = The third step of obtaining and decoding the braid (m) by m (cbab -1 c -1 ) (bcac -1 b -1 ) -1 를 포함하는 암호화/복호화 방법.Encryption / decryption method comprising a. 제 8 항에 있어서,The method of claim 8, 상기 제 1 단계는,The first step is, 상기 제1 소정의 땋임(a)을 구하고 상기 제3 소정의 땋임(c)과 곱의 동치가 되는 상기 제2 소정의 땋임(b)을 구하는 제 4 단계; 및A fourth step of obtaining the first predetermined braid (a) and obtaining the second predetermined braid (b) which is a product of the third predetermined braid (c); And 상기 제1 소정의 땋임(a)에 상기 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 5 단계The first predetermined braids (a) the second predetermined braids, (b) the ball liquefied (bab -1) and a private key (b) the public key to generate (a, bab -1) on the public key 5th step to register 를 포함하는 암호화/복호화 방법.Encryption / decryption method comprising a. 제 9 항에 있어서,The method of claim 9, 상기 제 2 단계는,The second step, 상기 소정의 메시지(M)를 땋임(m)으로 변환하는 제 6 단계;A sixth step of converting the predetermined message M into braids m; 상기 제3 소정의 땋임(c)을 선택하여 상기 등록된 공개키(a, bab-1)에 상기 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하는 제 7 단계; 및Selecting the third predetermined braid (c) to conjugate (cac -1 , cbab -1 c -1 ) the third predetermined braid (c) to the registered public key (a, bab -1 ) Seventh step; And 상기 메시지가 변환된 땋임(m)과 상기 공액화된 공개키(cbab-1c-1)를 곱(mcbab-1c-1)하여 암호문(cac-1, mcbab-1c-1)을 생성하여 전송하는 제 8 단계The ciphertext (cac -1 , mcbab -1 c -1 ) is generated by multiplying the braid (m) to which the message is converted and the conjugated public key (cbab -1 c -1 ) (mcbab -1 c -1 ) 8th step to transmit by 를 포함하는 암호화/복호화 방법.Encryption / decryption method comprising a. 제 10 항에 있어서,The method of claim 10, 상기 제 3 단계는,The third step, 상기 암호화된 암호문(cac-1, mcbab-1c-1)을 수신하는 제 9 단계;A ninth step of receiving the encrypted cipher text (cac -1 , mcbab -1 c -1 ); 상기 수신된 암호문의 일부(cac-1)에 상기 비밀키(b)를 공액화(bcac-1b-1)하여 그 값에서 상기 제2 및 제3 소정의 땋임의 곱의 순서를 바꾸는 제 10 단계; 및A tenth to conjugate (bcac -1 b -1 ) the secret key (b) to a portion (cac -1 ) of the received ciphertext and change the order of the product of the second and third predetermined braids in its value; step; And 상기 곱의 순서를 바꾼 값의 역을 상기 암호화된 암호문의 다른 일부(mcbab-1c-1)와 곱하여 상기 땋임(m)을 구하여 상기 소정의 메시지(M)를 복호화하는 제 11 단계An eleventh step of deciphering the predetermined message (M) by obtaining the braid (m) by multiplying the inverse of the multiplication order of the product by another portion of the encrypted cipher text (mcbab- 1 c -1 ) 를 포함하는 암호화/복호화 방법.Encryption / decryption method comprising a. 제 8 항 내지 제 11 항중 어느 한 항에 있어서,The method according to any one of claims 8 to 11, 상기 소정의 메시지(M)를 땋임(m)으로 변환하는 과정은,The process of converting the predetermined message (M) into braid (m), 상기 소정의 메시지(M)를 표준요소(canonical factor)들의 곱으로 표현하는 것을 특징으로 하는 암호화/복호화 방법.And the predetermined message (M) is expressed as a product of canonical factors. 제 12 항에 있어서,The method of claim 12, 상기 제3 소정의 땋임(c)은, 2n개의 끈 중에서 왼쪽의 n개(n은 땋임군의 인수)의 끈들만이 꼬여있는 임의의 좌땋임이고,The third predetermined braid (c) is any left braid where only n strings (n is a factor of braid group) on the left of 2n strings are twisted. 상기 제2 소정의 땋임(b)은, 2n개의 끈 중에서 오른쪽 n개의 끈들만이 꼬여있는 우땋임인 것을 특징으로 하는 암호화/복호화 방법.The second predetermined braid (b) is an encryption / decryption method, characterized in that the right braid twisted only n strings out of 2n strings. 제 12 항에 있어서,The method of claim 12, 상기 제3 소정의 땋임(c)은, 2n개의 끈 중에서 오른쪽의 n개의 끈들만이 꼬여있는 임의의 우땋임이고,The third predetermined braid (c) is any right braid, in which only n strings on the right side of the 2n strings are twisted. 상기 제2 소정의 땋임(b)은, 2n개의 끈 중에서 왼쪽 n개의 끈들만이 꼬여있는 좌땋임인 것을 특징으로 하는 암호화/복호화 방법.The second predetermined braid (b) is an encryption / decryption method, characterized in that the left braid twisted only the left n string of the 2n string. 땋임 연산을 이용한 암호화/복호화 시스템의 키 생성 장치에 적용되는 키 생성 방법에 있어서,In the key generation method applied to the key generation device of the encryption / decryption system using the braiding operation, 제1 소정의 땋임(a)을 구하고 제3 소정의 땋임(c)과 곱의 동치가 되는 제2 소정의 땋임(b)을 구하는 제 1 단계; 및A first step of obtaining a first predetermined braid (a) and a second predetermined braid (b) which is equivalent to a product with the third predetermined braid (c); And 상기 제1 소정의 땋임(a)에 상기 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 2 단계The first predetermined braids (a) the second predetermined braids, (b) the ball liquefied (bab -1) and a private key (b) the public key to generate (a, bab -1) on the public key 2nd step to register 를 포함하는 키 생성 방법.Key generation method comprising a. 땋임 연산을 이용한 암호화 시스템에 적용되는 암호화 방법에 있어서,In the encryption method applied to the encryption system using a braid operation, 제1 소정의 땋임(a)을 구하고 제3 소정의 땋임(c)과 곱의 동치가 되는 제2 소정의 땋임(b)을 구하는 제 1 단계;A first step of obtaining a first predetermined braid (a) and a second predetermined braid (b) which is equivalent to a product with the third predetermined braid (c); 상기 제1 소정의 땋임(a)에 상기 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 2 단계;The first predetermined braids (a) the second predetermined braids, (b) the ball liquefied (bab -1) and a private key (b) the public key to generate (a, bab -1) on the public key A second step of registering; 소정의 메시지(M)를 땋임(m)으로 변환하는 제 3 단계;A third step of converting the predetermined message M into braids m; 상기 제3 소정의 땋임(c)을 선택하여 상기 공개키(a, bab-1)에 상기 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하는 제 4 단계; 및The fourth predetermined braid (c) to conjugate (cac -1 , cbab -1 c -1 ) the third predetermined braid (c) to the public key (a, bab- 1 ) step; And 상기 메시지가 변환된 땋임(m)과 상기 공액화된 공개키(cbab-1c-1)를 곱(mcbab-1c-1)하여 암호문(cac-1, mcbab-1c-1)을 생성하는 제 5 단계The ciphertext (cac -1 , mcbab -1 c -1 ) is generated by multiplying the braid (m) to which the message is converted and the conjugated public key (cbab -1 c -1 ) (mcbab -1 c -1 ) The fifth step 를 포함하는 땋임 연산을 이용한 암호화 방법.Encryption method using a braid operation comprising a. 제 16 항에 있어서,The method of claim 16, 상기 제 1 단계는,The first step is, 상기 소정의 메시지(M)를 표준요소(canonical factor)들의 곱으로 표현하는 것을 특징으로 하는 땋임 연산을 이용한 암호화 방법.And the predetermined message (M) is expressed as a product of canonical factors. 땋임 연산을 이용한 복호화 시스템에 적용되는 복호화 방법에 있어서,In the decoding method applied to the decoding system using a braid operation, 암호화 과정에서 암호화된 암호문(cac-1, mcbab-1c-1)을 수신하는 제 1 단계;A first step of receiving an encrypted cipher text (cac -1 , mcbab -1 c -1 ) in the encryption process; 상기 수신된 암호문의 일부(cac-1)에 비밀키(b)를 공액화(bcac-1b-1)하여 그 값에서 곱의 동치인 두 땋임의 곱의 순서를 바꾸는 제 2 단계; 및A second step of conjugating (bcac -1 b -1 ) the secret key (b) to a portion (cac -1 ) of the received cipher text and changing the order of the products of the two braids that are equivalents of the products in the value; And 상기 곱의 순서를 바꾼 값의 역을 상기 암호화된 암호문의 다른 일부(mcbab-1c-1)와 곱하여 땋임(m)을 구하여 소정의 메시지(M)를 복호화하는 제 3 단계A third step of decrypting a predetermined message (M) by obtaining a braid (m) by multiplying the inverse of the order of the product by another portion of the encrypted ciphertext (mcbab- 1 c -1 ) 를 포함하는 땋임 연산을 이용한 복호화 방법.Decoding method using a braid operation comprising a. 제 18 항에 있어서,The method of claim 18, 상기 곱의 동치인 두 땋임중 한 땋임은, 2n개의 끈 중에서 왼쪽의 n개(n은 땋임군의 인수)의 끈들만이 꼬여있는 임의의 좌땋임이고,One of the two braids equivalent to the product is any left braid where only the left n of the 2n strings (n is the argument of the braid group) are twisted, 상기 곱의 동치인 두 땋임중 다른 땋임은, 2n개의 끈 중에서 오른쪽 n개의 끈들만이 꼬여있는 우땋임인 것을 특징으로 하는 땋임 연산을 이용한 복호화 방법.The other one of the two braids equivalent to the product is a decoding method using a braid operation, characterized in that the right braid twisted only n strings out of 2n strings. 땋임 연산을 이용하여 메시지를 암호화/복호화하기 위하여, 프로세서를 구비한 암호화/복호화 시스템에,In an encryption / decryption system with a processor, to encrypt / decrypt a message using a braid operation, 제1 소정의 땋임(a)에 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 1 기능;First predetermined by braids (a) a second predetermined braids, (b) the ball liquefied (bab -1) to generate a private key (b) and public keys (a, bab -1) for registering the public key First function; 소정의 메시지(M)를 땋임(m)으로 변환하고, 상기 공개키(a, bab-1)에 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하여 상기 땋임(m)을 암호화(cac-1, mcbab-1c-1)하는 제 2 기능; 및Converts a predetermined message (M) into a braid (m), and conjugates a third predetermined braid (c) to the public key (a, bab -1 ) (cac -1 , cbab -1 c -1 ) A second function of encoding the braid (m) (cac -1 , mcbab -1 c -1 ); And 상기 암호화된 암호문의 일부(cac-1)에 상기 비밀키(b)를 공액화(bcac-1b-1)하여 상기 암호화된 암호문의 다른 일부(mcbab-1c-1)와 연산(m = m(cbab-1c-1)(bcac-1b-1)-1)하여 상기 땋임(m)을 구하여 복호화하는 제 3 기능The part of the encrypted cipher text (cac -1) to another part of the encrypted cipher text to the ball liquefied (bcac -1 b -1) the secret key (b) (mcbab -1 c -1 ) and calculation (m = Third function for obtaining and decoding the braid (m) by m (cbab -1 c -1 ) (bcac -1 b -1 ) -1 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this. 땋임 연산을 이용한 암호화/복호화에 사용되는 키를 생성하기 위하여, 프로세서를 구비한 키 생성 장치에,In order to generate a key used for encryption / decryption using a braid operation, to a key generation device having a processor, 제1 소정의 땋임(a)을 구하고 제3 소정의 땋임(c)과 곱의 동치가 되는 제2 소정의 땋임(b)을 구하는 제 1 기능; 및A first function of obtaining a first predetermined braid (a) and a second predetermined braid (b) which is equivalent to the product of the third predetermined braid (c); And 상기 제1 소정의 땋임(a)에 상기 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 2 기능The first predetermined braids (a) the second predetermined braids, (b) the ball liquefied (bab -1) and a private key (b) the public key to generate (a, bab -1) on the public key 2nd function to register 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this. 땋임 연산을 이용하여 메시지를 암호화하기 위하여, 프로세서를 구비한 키 생성 및 암호화 시스템에,In a key generation and encryption system with a processor to encrypt a message using a braid operation, 제1 소정의 땋임(a)을 구하고 제3 소정의 땋임(c)과 곱의 동치가 되는 제2 소정의 땋임(b)을 구하는 제 1 기능;A first function of obtaining a first predetermined braid (a) and a second predetermined braid (b) which is equivalent to the product of the third predetermined braid (c); 상기 제1 소정의 땋임(a)에 상기 제2 소정의 땋임(b)을 공액화(bab-1)하여 비밀키(b)와 공개키(a, bab-1)를 생성하여 상기 공개키를 등록하는 제 2 기능;The first predetermined braids (a) the second predetermined braids, (b) the ball liquefied (bab -1) and a private key (b) the public key to generate (a, bab -1) on the public key A second function to register; 소정의 메시지(M)를 땋임(m)으로 변환하는 제 3 기능;A third function of converting a predetermined message M into braids m; 상기 제3 소정의 땋임(c)을 선택하여 상기 공개키(a, bab-1)에 상기 제3 소정의 땋임(c)을 공액화(cac-1, cbab-1c-1)하는 제 4 기능; 및The fourth predetermined braid (c) to conjugate (cac -1 , cbab -1 c -1 ) the third predetermined braid (c) to the public key (a, bab- 1 ) function; And 상기 메시지가 변환된 땋임(m)과 상기 공액화된 공개키(cbab-1c-1)를 곱(mcbab-1c-1)하여 암호문(cac-1, mcbab-1c-1)을 생성하는 제 5 기능The ciphertext (cac -1 , mcbab -1 c -1 ) is generated by multiplying the braid (m) to which the message is converted and the conjugated public key (cbab -1 c -1 ) (mcbab -1 c -1 ) 5th function to do 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this. 땋임 연산을 이용하여 메시지를 복호화하기 위하여, 프로세서를 구비한 복호화 시스템에,In a decryption system with a processor, to decrypt a message using a braid operation, 암호화 과정에서 암호화된 암호문(cac-1, mcbab-1c-1)을 수신하는 제 1 기능;A first function of receiving an encrypted cipher text cac -1 and mcbab -1 c -1 in an encryption process; 상기 수신된 암호문의 일부(cac-1)에 비밀키(b)를 공액화(bcac-1b-1)하여 그 값에서 곱의 동치인 두 땋임의 곱의 순서를 바꾸는 제 2 기능; 및A second function of conjugating a secret key (b) to a portion (cac -1 ) of the received ciphertext (bcac -1 b -1 ) to change the order of the products of two braids that are equivalents of the products in the value; And 상기 곱의 순서를 바꾼 값의 역을 상기 암호화된 암호문의 다른 일부(mcbab-1c-1)와 곱하여 땋임(m)을 구하여 소정의 메시지(M)를 복호화하는 제 3 기능A third function of decrypting a predetermined message M by multiplying the inverse of the multiplication of the product by another portion of the encrypted ciphertext (mcbab- 1 c -1 ) to obtain a braid (m) 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR1019990050583A 1999-11-15 1999-11-15 Key generating method, and encryption and decryption system and its method by using the braid operation KR100345685B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990050583A KR100345685B1 (en) 1999-11-15 1999-11-15 Key generating method, and encryption and decryption system and its method by using the braid operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990050583A KR100345685B1 (en) 1999-11-15 1999-11-15 Key generating method, and encryption and decryption system and its method by using the braid operation

Publications (2)

Publication Number Publication Date
KR20010046704A KR20010046704A (en) 2001-06-15
KR100345685B1 true KR100345685B1 (en) 2002-07-27

Family

ID=19620102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990050583A KR100345685B1 (en) 1999-11-15 1999-11-15 Key generating method, and encryption and decryption system and its method by using the braid operation

Country Status (1)

Country Link
KR (1) KR100345685B1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100395158B1 (en) * 2001-07-12 2003-08-19 한국전자통신연구원 Public key cryptosystem using finite non abelian groups
WO2003013052A1 (en) * 2001-07-27 2003-02-13 Korea Advanced Institute Of Science And Technology Cryptosystems based on non-commutatity
KR20030079141A (en) * 2002-04-02 2003-10-10 이창우 Method for Embodying a key agreement protocol
KR20030079142A (en) * 2002-04-02 2003-10-10 이창우 Method for Encryption/Decryption of Information using Public Key Cryptosystem
KR20040017488A (en) * 2002-08-21 2004-02-27 이창우 Method for performing signature and confirmation of Information using Public Key Cryptosystem
KR20040017487A (en) * 2002-08-21 2004-02-27 이창우 Authenticating method using public key cryptosystem
KR101327980B1 (en) * 2012-01-19 2013-11-13 서울대학교산학협력단 ID-based additive homomorphic encryption method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272755A (en) * 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
US5729608A (en) * 1993-07-27 1998-03-17 International Business Machines Corp. Method and system for providing secure key distribution in a communication system
US5751808A (en) * 1995-03-09 1998-05-12 Anshel; Michael M. Multi-purpose high speed cryptographically secure sequence generator based on zeta-one-way functions
KR19980077685A (en) * 1997-04-22 1998-11-16 구자홍 METHOD AND DEVICE FOR GENERATING KEYS AND ENCRYPTION SYSTEM USING KEYS CREATED THEREFOR
JPH11282348A (en) * 1998-03-31 1999-10-15 Sony Corp Hyperelliptic curve enciphering method, and its decording

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272755A (en) * 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
US5729608A (en) * 1993-07-27 1998-03-17 International Business Machines Corp. Method and system for providing secure key distribution in a communication system
US5751808A (en) * 1995-03-09 1998-05-12 Anshel; Michael M. Multi-purpose high speed cryptographically secure sequence generator based on zeta-one-way functions
KR19980077685A (en) * 1997-04-22 1998-11-16 구자홍 METHOD AND DEVICE FOR GENERATING KEYS AND ENCRYPTION SYSTEM USING KEYS CREATED THEREFOR
JPH11282348A (en) * 1998-03-31 1999-10-15 Sony Corp Hyperelliptic curve enciphering method, and its decording

Also Published As

Publication number Publication date
KR20010046704A (en) 2001-06-15

Similar Documents

Publication Publication Date Title
JP7049374B2 (en) A terminal device that performs the same type of encryption, a server device that processes the ciphertext, and its method.
CN111510281B (en) Homomorphic encryption method and device
JP6934963B2 (en) Data encryption methods and systems
Sharma et al. A review on various cryptographic techniques & algorithms
CN109039640A (en) A kind of encryption and decryption hardware system and method based on rsa cryptosystem algorithm
KR100345685B1 (en) Key generating method, and encryption and decryption system and its method by using the braid operation
JP6187624B1 (en) Information processing apparatus, information processing method, and program
Al-Qdah et al. Simple encryption/decryption application
CN117375836A (en) Encryption and decryption method and system for long text segment based on RSA encryption algorithm
Yang et al. A (k, n) secret document sharing with meaningful shares
Mohan et al. An encryption technique using the adjacency matrices of certain graphs with a self-invertible key matrix
JP2013098722A (en) Ciphering device of stream cipher, deciphering device of stream cipher, ciphering method of stream cipher, deciphering method of stream cipher, and program
KR101076747B1 (en) Method and apparatus for random accessible encryption and decryption by using a hierarchical tree structure of stream cipher module
JP3389210B2 (en) Extended key generation device, encryption / decryption device, extended key generation method, and storage medium
CN111130755A (en) Matrix double encryption method based on signature
JP5103407B2 (en) Encrypted numerical binary conversion system, encrypted numerical binary conversion method, encrypted numerical binary conversion program
Ullagaddi et al. Symmetric synchronous stream encryption using images
JP2003304237A (en) Method for creating common key, encryption method using the common key, method for managing common key, method for authentifying solid by solid number of terminal, program for executing these methods, and application software including the program
Popoola Data Integrity Using Caesar Cipher and Residue Number System
Jain et al. Variation of playfair cipher
JP5293612B2 (en) ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, AND PROGRAM
US20230327851A1 (en) Secure multi-party computation methods and apparatuses
JP2003115831A (en) Common key generation method, enciphering method using common key, program therefor, recording medium recording the same program, enciphering device, deciphering method and deciphering device
Zekaj et al. Using incomplete polynomial functions of the odd degree n and their inverses for data encryption and decryption
Khalid et al. Encrypting data using the features of memetic algorithm and cryptography

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090701

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee