KR100679627B1 - Ciphering and Deciphering Method - Google Patents

Ciphering and Deciphering Method Download PDF

Info

Publication number
KR100679627B1
KR100679627B1 KR1020050025214A KR20050025214A KR100679627B1 KR 100679627 B1 KR100679627 B1 KR 100679627B1 KR 1020050025214 A KR1020050025214 A KR 1020050025214A KR 20050025214 A KR20050025214 A KR 20050025214A KR 100679627 B1 KR100679627 B1 KR 100679627B1
Authority
KR
South Korea
Prior art keywords
elliptic curve
secret key
receiver
shared secret
generating
Prior art date
Application number
KR1020050025214A
Other languages
Korean (ko)
Other versions
KR20060103360A (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 KR1020050025214A priority Critical patent/KR100679627B1/en
Publication of KR20060103360A publication Critical patent/KR20060103360A/en
Application granted granted Critical
Publication of KR100679627B1 publication Critical patent/KR100679627B1/en

Links

Images

Classifications

    • DTEXTILES; PAPER
    • D06TREATMENT OF TEXTILES OR THE LIKE; LAUNDERING; FLEXIBLE MATERIALS NOT OTHERWISE PROVIDED FOR
    • D06FLAUNDERING, DRYING, IRONING, PRESSING OR FOLDING TEXTILE ARTICLES
    • D06F57/00Supporting means, other than simple clothes-lines, for linen or garments to be dried or aired 
    • D06F57/12Supporting means, other than simple clothes-lines, for linen or garments to be dried or aired  specially adapted for attachment to walls, ceilings, stoves, or other structures or objects
    • D06F57/122Supporting means, other than simple clothes-lines, for linen or garments to be dried or aired  specially adapted for attachment to walls, ceilings, stoves, or other structures or objects for attachment by clamping between two retaining-planes
    • DTEXTILES; PAPER
    • D06TREATMENT OF TEXTILES OR THE LIKE; LAUNDERING; FLEXIBLE MATERIALS NOT OTHERWISE PROVIDED FOR
    • D06FLAUNDERING, DRYING, IRONING, PRESSING OR FOLDING TEXTILE ARTICLES
    • D06F57/00Supporting means, other than simple clothes-lines, for linen or garments to be dried or aired 
    • D06F57/06Supporting means, other than simple clothes-lines, for linen or garments to be dried or aired  comprising vertical members connected by horizontal bars
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F26DRYING
    • F26BDRYING SOLID MATERIALS OR OBJECTS BY REMOVING LIQUID THEREFROM
    • F26B25/00Details of general application not covered by group F26B21/00 or F26B23/00
    • F26B25/06Chambers, containers, or receptacles
    • F26B25/14Chambers, containers, receptacles of simple construction
    • F26B25/18Chambers, containers, receptacles of simple construction mainly open, e.g. dish, tray, pan, rack
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05DHINGES OR SUSPENSION DEVICES FOR DOORS, WINDOWS OR WINGS
    • E05D7/00Hinges or pivots of special construction
    • E05D7/04Hinges adjustable relative to the wing or the frame
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16BDEVICES FOR FASTENING OR SECURING CONSTRUCTIONAL ELEMENTS OR MACHINE PARTS TOGETHER, e.g. NAILS, BOLTS, CIRCLIPS, CLAMPS, CLIPS OR WEDGES; JOINTS OR JOINTING
    • F16B35/00Screw-bolts; Stay-bolts; Screw-threaded studs; Screws; Set screws
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16FSPRINGS; SHOCK-ABSORBERS; MEANS FOR DAMPING VIBRATION
    • F16F1/00Springs

Abstract

본 발명은 암복호화방법에 관한 것으로서, F2 m 유한체상의 타원곡선, 상기 타원곡선의 모듈러연산에 사용되는 감축불가다항식, 상기 타원곡선상의 송신초기점 및 상기 타원곡선상의 송신초기점과 동일한 값을 갖는 상기 타원곡선상의 수신초기점에 대한 정보를 송신자측과 수신자측에서 공유하는 단계와; F2 m 유한체상의 초타원곡선, 상기 초타원곡선의 모듈러연산에 사용되는 감축불가다항식에 대한 정보를 송신자측과 수신자측에서 공유하는 단계와; 송신자측에서 제1송신비밀키를 선택하는 단계와; 송신자측에서 상기 제1송신비밀키의 회수만큼 상기 타원곡선상의 송신초기점을 반복 더하여 제1송신공개키를 생성하는 단계와; 상기 제1송신공개키를 수신자측으로 전송하는 단계와; 수신자측에서 제1수신비밀키를 선택하는 단계와; 수신자측에서 상기 제1수신비밀키의 회수만큼 상기 타원곡선상의 수신초기점을 반복 더하여 제1수신공개키를 생성하는 단계와; 상기 제1수신공개키를 송신자측으로 전송하는 단계와; 송신자측에서 상기 제1송신비밀키의 회수만큼 상기 제1수신공개키를 반복 더하여 타원곡선공유비밀키를 생성하는 단계와; 송신자측에서 상기 타원곡선공유비밀키에 기초하여 초타원곡선공유비밀키를 생성하는 단계와; 송신자측에서 상기 초타원곡선공유비밀키의 회수만큼 상기 초타원곡선상의 송신초기점을 반복 더하여 제2송신공개키를 생성하는 단계와; 상기 제2송신공개키를 수신자측으로 전송 하는 단계와; 수신자측에서 상기 제1수신비밀키의 회수만큼 상기 제1송신공개키를 반복 더하여 상기 타원곡선공유비밀키를 생성하는 단계와; 수신자측에서 상기 타원곡선공유비밀키에 기초하여 상기 초타원곡선공유비밀키를 생성하는 단계와; 수신자측에서 상기 초타원곡선공유비밀키의 회수만큼 상기 초타원곡선상의 수신초기점을 반복 더하여 제2수신공개키를 생성하는 단계와; 상기 제2수신공개키를 송신자측으로 전송하는 단계와; 송신자측에서 상기 초타원곡선의 송신초기점와 상기 제2수신공개키를 더하여 암복호화공유비밀키를 생성하는 단계와; 송신자측에서 상기 암복호화공유비밀키를 사용하여 평문을 암호화하는 단계와; 상기 암호화된 평문을 수신자측으로 전송하는 단계와; 수신자측에서 상기 초타원곡선의 수신초기점과 상기 제2송신공개키를 더하여 상기 암복호화공유비밀키를 생성하는 단계와; 수신자측에서 상기 암복호화공유비밀키을 사용하여 상기 송신자측으로부터 전송되는 암호화된 평문을 복호화하는 단계를 포함하는 것을 특징으로 한다. 이에 의해, 암호강도를 향상시킬 수 있다.The present invention relates to an encryption / decryption method, wherein an elliptic curve on a F 2 m finite body, a non-reducible polynomial used for modular operation of the elliptic curve, a transmission initial point on the elliptic curve and a transmission initial point on the elliptic curve Sharing information on the reception origin on the elliptic curve having a sender side and a receiver side; Sharing information about a super elliptic curve on a F 2 m finite body and a non-reducible polynomial used for a modular operation of the super elliptic curve at a sender side and a receiver side; Selecting a first transmission secret key at the sender side; Generating a first transmission public key by repeatedly adding a transmission initial point on the elliptic curve by the number of times of the first transmission secret key on a sender side; Transmitting the first transmission public key to a receiver side; Selecting a first receiving secret key at the receiver side; Generating a first receiving public key by repeatedly adding a reception initial point on the elliptic curve by the number of times of the first receiving secret key on a receiver side; Transmitting the first receiving public key to a sender side; Generating an elliptic curve shared secret key by repeating adding the first received public key by the number of times of the first transmitted secret key at a sender side; Generating a super elliptic curve shared secret key based on the elliptic curve shared secret key at a sender side; Generating a second transmission public key by repeatedly adding a transmission initial point on the super elliptic curve as many times as the number of the super elliptic curve sharing secret keys on the sender side; Transmitting the second transmission public key to a receiver side; Generating the elliptic curve shared secret key by repeatedly adding the first transmit public key as many times as the number of the first received secret keys on a receiver side; Generating the super elliptic curve shared secret key based on the elliptic curve shared secret key at a receiver side; Generating a second receiving public key by repeatedly adding a reception initial point on the super elliptic curve by the number of times of the super elliptic curve sharing secret key at a receiver side; Transmitting the second receiving public key to a sender side; Generating an encryption / decryption shared secret key by adding a transmission origin of the super elliptic curve and the second receiving public key on a sender side; Encrypting plain text using the encryption / decryption shared secret key at a sender side; Transmitting the encrypted plain text to a receiver side; Generating the encryption / decryption shared secret key by adding a reception origin of the super elliptic curve and the second transmission public key at a receiver side; And decrypting the encrypted plain text transmitted from the sender side using the encryption / decryption shared secret key at the receiver side. As a result, the encryption strength can be improved.

타원곡선, 암호화, 공유비밀키, 평문, 초기점 Elliptic Curve, Encryption, Shared Secret, Plain Text, Initial Point

Description

암복호화방법{Ciphering and Deciphering Method}Ciphering and Deciphering Method

도1은 본 발명의 일 실시예에 따른 암복호화방법의 흐름도,1 is a flowchart of an encryption / decryption method according to an embodiment of the present invention;

도2는 본 발명의 일 실시예에 따른 암복화화방법에서 타원곡선에 대한 감축불가다항식의 벡터값을 나타낸 표,Figure 2 is a table showing the vector value of the non-reduced polynomial for the elliptic curve in the darkening method according to an embodiment of the present invention,

도3은 본 발명의 일 실시예에 따른 암복화화방법에서 초타원곡선에 대한 감축불가다항식의 벡터값을 나타낸 표,Figure 3 is a table showing the vector value of the non-reduced polynomial for the super-elliptic curve in the darkening method according to an embodiment of the present invention,

도4는 본 발명의 다른 실시예에 따른 암복호화방법의 흐름도,4 is a flowchart of an encryption / decryption method according to another embodiment of the present invention;

도5는 종래의 암복호화방법의 흐름도,5 is a flowchart of a conventional encryption / decryption method;

도6은 종래의 이중서명방법의 흐름도이다.6 is a flowchart of a conventional double signature method.

본 발명은 암복호화방법에 관한 것으로서, 보다 상세하게는 송신자측과 수신자측 이 각각 생성한 비밀정보에 기초하여 세션키(Session Key)형태로 비밀키를 공유하여 암호화 및 복호화를 수행하는 방법에 관한 것이다.The present invention relates to an encryption / decryption method, and more particularly, to a method for performing encryption and decryption by sharing a secret key in the form of a session key based on secret information generated by a sender and a receiver. will be.

최근 컴퓨터통신망이 급격히 발전함에 따라 개인프라이버시, 전자상거래내역 등 중요한 정보를 암호화하는 기법이 안출되어 이용되고 있다.Recently, with the rapid development of computer communication networks, techniques for encrypting important information such as personal privacy and e-commerce history have been devised and used.

암호화기법은 동일한 키(비밀키)를 사용하여 암호화와 복호화를 수행하는 비밀키암호방식과, 공개키를 사용하여 암호화하고 개인키를 사용하여 복호화하는 공개키암호방식으로 구분할 수 있다.Encryption methods can be classified into a secret key encryption method for performing encryption and decryption using the same key (secret key) and a public key encryption method for encrypting using a public key and decrypting using a private key.

공개키암호방식의 경우 기본 함수들은 수학적으로 어려운 문제를 바탕으로 하고 있으므로 암복호화의 연산 속도는 비밀키암호방식에 비해 매우 느릴 뿐만 아니라 많은 시스템 리소스(Resource)가 요구된다.In the case of public key cryptography, the basic functions are based on a difficult mathematical problem. Therefore, the operation speed of encryption and decryption is much slower than that of the secret key cryptography and requires a lot of system resources.

한편 비밀키암호화방식의 경우 암호화에 따른 기밀성을 확보하기 위해 비밀키는 통신당사자이외 제3자에게 노출되지 않도록 유의해야 할 뿐만 아니라 정보를 교환하는 당사자가 N인 경우 1명이 추가로 가입하는 경우 N개의 비밀키가 추가로 필요해지므로(공개키암호방식의 경우 한 쌍의 공개키와 개인키만 추가됨) 비밀키의 관리가 어려워진다.On the other hand, in the case of secret key encryption method, in order to secure confidentiality according to encryption, it is necessary to be careful not to expose the secret key to a third party other than a communication party, and in the case where the party exchanging information is N, one additional person joins N Since additional private keys are needed (in the case of public key cryptography, only a pair of public and private keys are added), it becomes difficult to manage the private key.

이러한 공개키암호화방식과 비밀키암호화방식의 특성을 고려하여 공개키암호방식에 따라 정보전체를 암호화하는 대신 비밀키암호화방식으로 정보를 암호화하고 정보의 암호화에 사용되는 비밀키를 공개키암호화방식으로 송신자측과 수신자측에서 공유하는 방법이 널리 이용되고 있다.Considering the characteristics of the public key encryption method and the secret key encryption method, instead of encrypting the entire information according to the public key encryption method, the secret key encryption method encrypts the information and the secret key used for the encryption of the information is used as the public key encryption method. The sharing method in the sender side and the receiver side is widely used.

이와 같이 비밀키암호화방식에서 사용된 비밀키를 공개키암호화방식으로 공유할 때 송신자측에서 일방적으로 세션키형태로 비밀키를 설정하는 것은 신뢰성이 떨어지므로 송신자측과 수신자측이 각각 생성한 비밀정보에 기초하여 세션키형태로 비밀키를 공유하는 방법이 안출되어 있다. As described above, when the secret key used in the secret key encryption method is shared by the public key encryption method, it is unreliable to set the secret key in the form of a session key on the sender side unilaterally. Based on this, a method of sharing a secret key in the form of a session key is proposed.

이와 같이 세션키형태로 비밀키를 공유하는 알고리즘은 대부분 디피-헬만 (Diffie - Hellman) 알고리즘에 기초를 두고 있다.Algorithms for sharing secret keys in the form of session keys are mostly based on the Diffie-Hellman algorithm.

도5는 종래의 암복호화방법의 흐름도이다.5 is a flowchart of a conventional encryption / decryption method.

종래의 암복호화방법을 설명하면 다음과 같다. 설명의 편의를 위해 송신자와 수신자는 2보다 큰 소수(prime number)인 p와, p보다 작은 정수인 Z(p)*의 생성자(Generator) g(1<g<p)를 공유하고 있는 것으로 가정한다. 여기서 소수 p와 생성자 g에 대한 정보는 평문전송을 위한 통신회선설정시 셰션키(Session Key)형태로 교환하거나 송신자측과 수신자측에서 접근할 수 있는 공개리스트에 올려놓는 등의 방법으로 공유할 수 있다.The conventional encryption / decryption method is as follows. For the sake of convenience, it is assumed that the sender and receiver share p, a prime number greater than 2, and a generator g (1 <g <p) of Z (p) *, an integer less than p. . Here, the information about the prime number p and the generator g can be shared by exchanging them in the form of a session key when setting up a communication line for plain text transmission or by placing them on a public list accessible from the sender side and the receiver side. have.

먼저 송신자측과 수신자측은 임의로 p-1보다 작은 정수 a와 b를 각각 비밀키로 선택한다(S101). 여기서 a와 b는 정수 집합(1, 2, ..., p-2)에 속하도록 선택된다.First, the sender side and the receiver side arbitrarily select integers a and b smaller than p-1 as secret keys, respectively (S101). Where a and b are chosen to belong to a set of integers (1, 2, ..., p-2).

다음에 송신자측은 비밀키 a로 공개키 A=(ga) mod p를 계산한 후, 수신자측에게 전송한다(S102).Next, the sender calculates the public key A = (g a ) mod p using the secret key a and transmits it to the receiver (S102).

다음에 수신자측은 비밀키 b로 공개키 B=(gb) mod p를 계산한 후, 송신자측에게 전송한다(S103).Next, the receiver calculates the public key B = (g b ) mod p using the secret key b, and transmits it to the sender (S103).

다음에 송신자측은 수신자측으로부터의 공개키에 비밀키 a를 적용하여 공유비밀키 Sa = (B)a mod p= (gb)a mod p=gab mod p를 생성한다(S104).Next, the sender side applies the secret key a to the public key from the receiver side to generate a shared secret key S a = (B) a mod p = (g b ) a mod p = g ab mod p (S104).

다음에 송신자측은 공유비밀키로 평문을 암호화하여 수신자측으로 전송한다 (S105).The sender side then encrypts the plain text with the shared secret key and sends it to the receiver side (S105).

다음에 수신자측은 송신자측으로부터의 공개키에 비밀키 b를 적용하여 공유비밀키 Sb = (A)b mod p= (ga)b mod p=gab mod p를 생성한다(S106).The receiver side then applies the secret key b to the public key from the sender side to generate a shared secret key S b = (A) b mod p = (g a ) b mod p = g ab mod p (S106).

마지막으로 수신자측은 자신이 생성한 공유비밀키를 이용하여 송신자측으로부터의 암호문을 복호화한다(S107). 여기서 Sa = Sb가 되므로 송신자측이 암호화하여 수신자측에게 전송한 정보를 수신자측에서 송신자로부터의 공개키를 이용하여 복호화할 수 있게 된다.Finally, the receiver decrypts the cipher text from the sender using the shared secret generated by the receiver (S107). Since S a = S b , the sender side can decrypt the information transmitted to the receiver by using the public key from the sender.

한편 정보를 보내는 자의 신원을 확인하는 인증(Authentication)문제, 정보전달 도중 정보가 훼손되지 않았음을 보장하는 무결성(Intergrity)문제, 정보제공자가 정보제공사실을 부인하는 것을 방지하는 부인방지(Non-reputation)문제를 해결하기 위해 발송내용을 메시지 다이제스트(Message Digest)한 것을 다시 송신자의 비밀키로 암호화하는 전자서명(Digital Signature)방법이 안출되어 있다.On the other hand, authentication issues verify the identity of the sender, integrity issues to ensure that the information has not been compromised during the delivery, and non-repudiation to prevent the provider from denying the information. In order to solve the reputation problem, a digital signature method is proposed that encrypts the message digest with the sender's private key.

그리고 전자서명의 하나로 전자상거래 등과 같이 특정 수신인에게만 알려지고 다른 수신인에게는 비밀이 요구되는 정보를 전송하고자 하는 경우 양 수신인에게 전달되는 정보를 모아 한꺼번에 송신자의 비밀키로 암호화하는 이중서명(Dual Signature)이 사용되고 있다.And if one wants to transmit information that is known only to specific recipients such as e-commerce and requires confidentiality to other recipients, the dual signature is used to collect the information delivered to both recipients and encrypt it with the sender's secret key at once. have.

도6은 종래의 이중서명방법의 흐름도이다.6 is a flowchart of a conventional double signature method.

종래의 이중서명방법을 설명하면 다음과 같다. The conventional double signature method is described as follows.

먼저 구매자는 구매정보(OI)에 대해 해쉬(Hash)함수를 적용하여 메시지다이 제스트 M1을 생성한다(S121).First, the purchaser generates a message digest M1 by applying a hash function to the purchase information OI (S121).

다음에 구매자는 지불정보(PI)에 대해 해쉬(Hash)함수를 적용하여 메시지다이제스트 M2를 생성한다(S122).Next, the buyer generates a message digest M2 by applying a hash function to the payment information PI (S122).

다음에 구매자는 두개의 메시지 다이제스트 M1과 M2를 연접(Concatenation)하여 연접결과물 M1M2를 생성한다(S123).Next, the purchaser concatenates two message digests M1 and M2 to generate a concatenated result M1M2 (S123).

다음에 연접결과물 M1M2에 대하여 해쉬함수를 적용하여 메시지다이제스트 M을 생성한다(S124).Next, a message digest M is generated by applying a hash function to the concatenated result M1M2 (S124).

다음에 구매자는 메시지다이제스트 M을 구매자의 자신의 비밀키로 전자서명(이중서명)을 생성한다(S125).Next, the purchaser generates an electronic signature (double signature) using the message digest M as the purchaser's own private key (S125).

다음에 구매자는 지불기관에 전송할 지불정보를 비밀키로 암호화한다(S126).Next, the buyer encrypts the payment information to be sent to the payment institution with the secret key (S126).

다음에 자신의 비밀키를 지불기관의 공개키로 암호화하여 전자봉투를 생성한다(S127).Next, the electronic key is generated by encrypting its private key with the public key of the payment institution (S127).

다음에 구매자는 구매정보, 암호화된 지불정보, 연접결과물 M1M2, 이중서명, 전자봉투를 판매자에게 전송한다(S128).Next, the buyer transmits the purchase information, encrypted payment information, concatenated result M1M2, double signature, and electronic envelope to the seller (S128).

한편 판매자는 수신된 구매정보에 구매자와 동일한 해쉬함수를 적용하여 메시지다이제스트 M1'을 생성한다(S129).Meanwhile, the seller generates the message digest M1 'by applying the same hash function as the buyer to the received purchase information (S129).

다음에 판매자는 수신된 연접결과물 M1M2중 M1을 새로 생성한 M1'로 대체시킨 후, 대체된 M1'M2에 동일한 해쉬함수를 적용하여 메시지다이제스트 M'을 생성한다(S130).Next, the seller replaces the received M1 M2 with the newly generated M1 'and then applies the same hash function to the replaced M1'M2 to generate the message digest M' (S130).

다음에 판매자는 수신된 이중서명을 구매자의 공개키로 복호화하여 메시지다 이제스트 M을 생성한다(S131).The seller then decrypts the received dual signature with the buyer's public key to generate the message M (S131).

다음에 판매자는 해쉬함수를 적용하여 생성한 메시지다이제스트 M'과 구매자의 공개키로 복호화한 메시지다이제스트 M을 비교하여 일치하는 경우 정당한 구매요청으로 판단한다(S132).Next, the seller compares the message digest M 'generated by applying the hash function with the message digest M decrypted with the buyer's public key, and determines that the purchase is a legitimate purchase request (S132).

다음에 판매자는 암호화된 지불정보, 전자봉투, 이중서명, 연접결과물 M1M2를 지불기관으로 전송한다(S133).Next, the seller transmits the encrypted payment information, the electronic envelope, the double signature, and the concatenated result M1M2 to the payment institution (S133).

다음에 지불기관은 수신된 전자봉투를 자신의 개인키로 복호화한다(S134).Next, the payment institution decrypts the received electronic envelope with its private key (S134).

다음에 지불기관은 전자봉투에서 획득한 비밀키를 이용하여 지불정보, 연접결과물 M1M2, 구매자의 서명을 생성한다(S135).Next, the payment institution generates the payment information, the concatenated result M1M2, and the buyer's signature using the secret key obtained from the electronic envelope (S135).

다음에 지불기관은 복호화된 지불정보에 구매자와 동일한 해쉬함수를 적용하여 메시지다이제스트 M2'를 생성한다(S136).Next, the payer generates a message digest M2 'by applying the same hash function as the buyer to the decrypted payment information (S136).

다음에 지불기관은 수신된 M1M2중 M2를 새로 생성한 M2'로 대체시킨 후, 대체된 M1M2'에 동일한 해쉬함수를 적용하여 메시지다이제스트 M"을 생성한다(S137).Next, the payment institution replaces the received M1M2 with the newly generated M2 ', and then applies the same hash function to the replaced M1M2' to generate the message digest M "(S137).

다음에 지불기관은 수신된 이중서명을 구매자의 공개키로 복호화하여 메시지다이제스트 M을 생성한다(S138).Next, the payer decrypts the received dual signature with the buyer's public key to generate a message digest M (S138).

다음에 판매자는 해쉬함수를 적용하여 생성한 메시지다이제스트 M"과 구매자의 공개키로 복호화한 메시지다이제스트 M을 비교하여 일치하는 경우 정당한 결제요청으로 판단한다(S139).Next, the seller compares the message digest M " generated by applying the hash function to the message digest M &quot; decrypted with the buyer's public key and determines that the payment is a legitimate payment request (S139).

그런데 종래의 암복호화방법에 따르면, 소인수분해의 어려움을 1회 이용하여 암복호화를 실시하기 때문에 동일한 키 크기를 기준으로 비교할 때 상대적으로 암 호강도가 약하다는 문제점이 있었다.However, according to the conventional encryption and decryption method, since encryption and decryption is performed by using the difficulty of prime factorization once, there is a problem in that the encryption strength is relatively weak when compared based on the same key size.

그리고 종래의 전자서명방법에 따르면, 전자봉투를 사용하여야 하기 때문에 처리속도가 저하되고 전자봉투의 도청에 따른 정보의 보안성이 저하된다는 문제점이 있었다. In addition, according to the conventional electronic signature method, there is a problem that the processing speed is lowered and the security of the information due to the eavesdropping of the electronic bag is reduced because the electronic envelope must be used.

따라서 본 발명의 목적은, 암호강도가 향상되도록 한 암복호화방법을 제공하는 것이다.Accordingly, it is an object of the present invention to provide an encryption / decryption method in which encryption strength is improved.

상기 목적은, 본 발명에 따라, F2 m 유한체상의 타원곡선, 상기 타원곡선의 모듈러연산에 사용되는 감축불가다항식, 상기 타원곡선상의 송신초기점 및 상기 타원곡선상의 송신초기점과 동일한 값을 갖는 상기 타원곡선상의 수신초기점에 대한 정보를 송신자측과 수신자측에서 공유하는 단계와; F2 m 유한체상의 초타원곡선, 상기 초타원곡선의 모듈러연산에 사용되는 감축불가다항식에 대한 정보를 송신자측과 수신자측에서 공유하는 단계와; 송신자측에서 제1송신비밀키를 선택하는 단계와; 송신자측에서 상기 제1송신비밀키의 회수만큼 상기 타원곡선상의 송신초기점을 반복 더하여 제1송신공개키를 생성하는 단계와; 상기 제1송신공개키를 수신자측으로 전송하는 단계와; 수신자측에서 제1수신비밀키를 선택하는 단계와; 수신자측에서 상기 제1수신비밀키의 회수만큼 상기 타원곡선상의 수신초기점을 반복 더하여 제1수 신공개키를 생성하는 단계와; 상기 제1수신공개키를 송신자측으로 전송하는 단계와; 송신자측에서 상기 제1송신비밀키의 회수만큼 상기 제1수신공개키를 반복 더하여 타원곡선공유비밀키를 생성하는 단계와; 송신자측에서 상기 타원곡선공유비밀키에 기초하여 초타원곡선공유비밀키를 생성하는 단계와; 송신자측에서 상기 초타원곡선공유비밀키의 회수만큼 상기 초타원곡선상의 송신초기점을 반복 더하여 제2송신공개키를 생성하는 단계와; 상기 제2송신공개키를 수신자측으로 전송하는 단계와; 수신자측에서 상기 제1수신비밀키의 회수만큼 상기 제1송신공개키를 반복 더하여 상기 타원곡선공유비밀키를 생성하는 단계와; 수신자측에서 상기 타원곡선공유비밀키에 기초하여 상기 초타원곡선공유비밀키를 생성하는 단계와; 수신자측에서 상기 초타원곡선공유비밀키의 회수만큼 상기 초타원곡선상의 수신초기점을 반복 더하여 제2수신공개키를 생성하는 단계와; 상기 제2수신공개키를 송신자측으로 전송하는 단계와; 송신자측에서 상기 초타원곡선의 송신초기점와 상기 제2수신공개키를 더하여 암복호화공유비밀키를 생성하는 단계와; 송신자측에서 상기 암복호화공유비밀키를 사용하여 평문을 암호화하는 단계와; 상기 암호화된 평문을 수신자측으로 전송하는 단계와; 수신자측에서 상기 초타원곡선의 수신초기점과 상기 제2송신공개키를 더하여 상기 암복호화공유비밀키를 생성하는 단계와; 수신자측에서 상기 암복호화공유비밀키을 사용하여 상기 송신자측으로부터 전송되는 암호화된 평문을 복호화하는 단계를 포함하는 것을 특징으로 하는 암복호화방법에 의해 달성된다.The object is, according to the present invention, an elliptic curve on the F 2 m finite body, a non-reduced polynomial used for the modular operation of the elliptic curve, a transmission initial point on the elliptic curve and a transmission initial point on the elliptic curve. Sharing information on the reception origin on the elliptic curve having a sender side and a receiver side; Sharing information about a super elliptic curve on a F 2 m finite body and a non-reducible polynomial used for a modular operation of the super elliptic curve at a sender side and a receiver side; Selecting a first transmission secret key at the sender side; Generating a first transmission public key by repeatedly adding a transmission initial point on the elliptic curve by the number of times of the first transmission secret key on a sender side; Transmitting the first transmission public key to a receiver side; Selecting a first receiving secret key at the receiver side; Generating a first received public key by repeatedly adding a reception initial point on the elliptic curve by the number of times of the first received secret key on a receiver side; Transmitting the first receiving public key to a sender side; Generating an elliptic curve shared secret key by repeating adding the first received public key by the number of times of the first transmitted secret key at a sender side; Generating a super elliptic curve shared secret key based on the elliptic curve shared secret key at a sender side; Generating a second transmission public key by repeatedly adding a transmission initial point on the super elliptic curve as many times as the number of the super elliptic curve sharing secret keys on the sender side; Transmitting the second transmission public key to a receiver side; Generating the elliptic curve shared secret key by repeatedly adding the first transmit public key as many times as the number of the first received secret keys on a receiver side; Generating the super elliptic curve shared secret key based on the elliptic curve shared secret key at a receiver side; Generating a second receiving public key by repeatedly adding a reception initial point on the super elliptic curve by the number of times of the super elliptic curve sharing secret key at a receiver side; Transmitting the second receiving public key to a sender side; Generating an encryption / decryption shared secret key by adding a transmission origin of the super elliptic curve and the second receiving public key on a sender side; Encrypting plain text using the encryption / decryption shared secret key at a sender side; Transmitting the encrypted plain text to a receiver side; Generating the encryption / decryption shared secret key by adding a reception origin of the super elliptic curve and the second transmission public key at a receiver side; And decrypting an encrypted plaintext transmitted from the sender side using the encryption / decryption shared secret key at a receiver side.

여기서 상기 초타원곡선공유비밀키를 생성하는 단계는, 상기 타원곡선공유비밀키의 x값 또는 y값 중 어느 일방을 선택하는 단계와, 상기 선택된 타원곡선공유 비밀키값을 이진수로 변환하는 단계와, 상기 이진수로 변환된 타원곡선공유비밀키값을 십진수로 변환하는 단계를 포함하도록 구성할 수 있다.The generating of the super elliptic curve shared secret key may include selecting either one of an x value and a y value of the elliptic curve shared secret key, converting the selected elliptic curve shared secret key value into a binary number; And converting the elliptic curve shared secret key value converted to binary to decimal.

그리고 전자봉투를 제거하여 처리속도와 보안성을 향상시킬 수 있도록, 상기 초타원곡선공유비밀키는 송신자측과 수신자1측사이 및 송신자측과 수신자2측사이에서 각각 독립적으로 생성되고; 송신자측에서 상기 수신자1측 정보에 대해 해쉬함수를 적용하여 메시지다이제스트 M1을 생성하는 단계와, 상기 송신자측에서 상기 수신자2측 정보에 대해 상기 해쉬함수를 적용하여 메시지다이제스트 M2를 생성하는 단계와, 상기 송신자측에서 상기 메시지다이제스트 M1과 M2를 연접하여 연접결과물 M1M2를 생성하는 단계와, 상기 송신자측에서 상기 연접 결과물 M1M2에 상기 해쉬함수를 적용하여 메시지다이제스트 M을 생성하는 단계와, 상기 송신자측에서 상기 메시지다이제스트 M을 상기 수신자1측에 대한 암복호화공유비밀키를 이용하여 전자서명 DS1을 생성하는 단계와, 상기 송신자측에서 상기 메시지다이제스트 M을 상기 수신자2측에 대한 암복호화공유비밀키를 적용하여 전자서명을 DS2를 생성하는 단계와; 상기 송신자측에서 상기 수신자2측에 대한 암복호화공유비밀키로 상기 수신자2측 정보를 암호화하는 단계와, 상기 송신자측에서 상기 수신자1측 정보, 상기 암호화된 수신자2측 정보, 상기 연접결과물 M1M2, 상기 전자서명 DS1 및 DS2를 상기 수신인1측에 전송하는 단계와, 상기 수신자1측에서 상기 수신자1측 정보에 상기 해쉬함수를 적용하여 메시지다이제스트 M1'을 생성하는 단계와, 상기 수신자측에서 상기 연접결과물 M1M2중 M1을 상기 메시지다이제스트 M1'로 대체시킨 후, 상기 대체된 M1'M2에 상기 해쉬함수를 적용하여 메시지다이제스트 M'을 생성하는 단계와, 상기 수신자1측에서 상기 전자서명 DS1을 상기 송신자측에 대한 암복호화공유비밀키로 복호화하여 메시지다이제스트 M을 생성하는 단계와, 상기 수신자1측에서 상기 메시지다이제스트 M'과 상기 송신자측에 대한 암복호화공유비밀키로 복호화한 메시지다이제스트 M을 비교하여 일치하는 경우 정당한 구매요청으로 판단하는 단계와, 상기 수신자1측에서 상기 암호화된 수신자2측 정보, 상기 연접결과물 M1M2, 상기 전자서명 DS2를 상기 수신인2측에 전송하는 단계와, 상기 수신자2측에서 상기 암호화된 수신자2측 정보를 상기 송신자측에 대한 암복호화공유비밀키로 복호화하는 단계와, 상기 복호화된 수신자2측 정보를 상기 해쉬함수를 적용하여 메시지다이제스트 M2'를 생성하는 단계와, 상기 연접결과물 M1M2중 M2를 상기 메시지다이제스트 M2'로 대체시킨 후, 상기 대체된 연접결과물 M1M2'에 상기 해쉬함수를 적용하여 메시지다이제스트 M"을 생성하는 단계와, 상기 수신자2측에서 상기 전자서명 DS2을 상기 송신자측에 대한 암복호화공유비밀키로 복호화하여 메시지다이제스트 M을 생성하는 단계와, 상기 수신자2측에서 상기 메시지다이제스트 M"과 상기 송신자측에 대한 암복호화공유비밀키로 복호화한 메시지다이제스트 M을 비교하여 일치하는 경우 정당한 구매요청으로 판단하는 단계를 포함하도록 구성하는 것이 바람직하다.And the super-elliptic curve sharing secret key is independently generated between the sender side and the receiver 1 side and between the sender side and the receiver 2 side to remove the electronic envelope and improve processing speed and security; Generating a message digest M1 by applying a hash function to the receiver 1 side information at a sender side, generating a message digest M2 by applying the hash function to the receiver 2 side information at the sender side; Generating a concatenated result M1M2 by concatenating the message digests M1 and M2 at the sender side, generating a message digest M by applying the hash function to the concatenated result M1M2 at the sender side, and at the sender side Generating the digital signature DS 1 by using the decryption shared secret key for the receiver 1 on the message digest M; and encrypting the decryption shared secret key for the receiver 2 on the message digest M on the sender side. Applying the digital signature to generate a DS 2 ; Encrypting the receiver 2 side information with an encryption / decryption shared secret key for the receiver 2 side at the sender side, the receiver 1 side information, the encrypted receiver 2 side information, the concatenated result M1M2, and at the sender side; Transmitting the digital signatures DS 1 and DS 2 to the recipient 1 side, generating the message digest M1 'by applying the hash function to the receiver 1 side information at the receiver 1 side, and at the receiver side. Replacing M1 in the concatenated result M1M2 with the message digest M1 ', generating a message digest M' by applying the hash function to the replaced M1'M2, and receiving the digital signature DS 1 at the receiver 1 side; Decrypting with the encryption / decryption shared secret key for the sender side to generate a message digest M, and receiving the message digest M 'at the receiver 1 side; Comparing the message digest M decrypted with the encryption / decryption shared secret key to the sender side and determining that the message is a legitimate purchase request, and at the receiver 1 side, the encrypted receiver 2 side information, the concatenated result M1M2 and the electronic device; Transmitting a signature DS 2 to the recipient 2 side, decrypting the encrypted recipient 2 side information with an encryption / decryption shared secret key for the sender side, and decrypting the decrypted recipient 2 side information; Generating a message digest M2 'by applying the hash function, replacing M2 of the concatenated result M1M2 with the message digest M2', and then applying the hash function to the replaced concatenation result M1M2 '. &Quot;, and converts the digital signature DS 2 to the encryption / decryption shared secret for the sender side at the receiver 2 side. Decrypting and generating a message digest M, and comparing the message digest M " and the message digest M decrypted with the encryption / decryption shared secret key for the sender side and determining that the request is a legitimate purchase request. It is preferable to configure to include.

이하에서, 첨부도면을 참조하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도1은 본 발명의 일 실시예에 따른 암복호화방법의 흐름도이고, 도2는 본 발명의 일 실시예에 따른 암복화화방법에서 타원곡선에 대한 감축불가다항식의 벡터 값을 나타낸 표이며, 도3은 본 발명의 일 실시예에 따른 암복화화방법에서 초타원곡선에 대한 감축불가다항식의 벡터값을 나타낸 표이다.1 is a flowchart of an encryption / decryption method according to an embodiment of the present invention, and FIG. 2 is a table showing a vector value of an inflexible polynomial with respect to an elliptic curve in an encryption / decoding method according to an embodiment of the present invention. 3 is a table showing the vector value of the non-reduced polynomial with respect to the super-elliptic curve in the darkening method according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 암복호화방법을 설명하면 다음과 같다.Referring to the encryption and decryption method according to an embodiment of the present invention as follows.

제1단계 : 타원곡선에 대한 정보 공유(S1)Step 1: Sharing Information on Elliptic Curves (S1)

타원곡선은 F2 4 유한체(여기서 유한체는 F2 m의 m이 1보다 큰 양의 정수가 되도록 설정됨)상에서 비초특이타원곡선(Non-supersingular Elliptic Curve)이 되도록 선택되어 있다. 설명의 편의를 위해 선택된 타원곡선 E : y2 + xy = x3 +

Figure 112005016061407-pat00001
x2 + 1이라고 하고, 감축불가 다항식 f(x) = x4 + x + 1이라고 한다.The elliptic curve is chosen to be a non-supersingular elliptic curve on the F 2 4 finite body, where the finite body is set such that m of F 2 m is a positive integer greater than one. Elliptic curve selected for convenience of explanation E: y 2 + xy = x 3 +
Figure 112005016061407-pat00001
It is called x 2 + 1 and the non-reducible polynomial f (x) = x 4 + x + 1.

α감축불가 다항식 f(x) = x4 + x + 1로 구성할 수 있는 벡터 값은

Figure 112006074379358-pat00002
즉, 16개가 존재한다. 여기서 벡터 값은
Figure 112006074379358-pat00003
로서 4bit로 구성되어 있다는 점을 고려하여 각 bit의 위치 값을 나타내는
Figure 112006074379358-pat00004
의 멱승(power)으로 벡터 값과 위치값(
Figure 112006074379358-pat00005
0,
Figure 112006074379358-pat00200
1,
Figure 112006074379358-pat00201
2,
Figure 112006074379358-pat00202
3) 표현을 나타내면 도2와 같다. 도2에서 표시된 g는 감축불가다항식을 벡터 값으로 변환할 때 기준이 되는 생성자(generator)를 의미한다.A vector value that can be composed of α-unreducible polynomial f (x) = x 4 + x + 1
Figure 112006074379358-pat00002
That is, there are 16. Where the vector value is
Figure 112006074379358-pat00003
The position value of each bit
Figure 112006074379358-pat00004
The power of the vector value and the position value (
Figure 112006074379358-pat00005
0 ,
Figure 112006074379358-pat00200
1 ,
Figure 112006074379358-pat00201
2 ,
Figure 112006074379358-pat00202
3 ) Expression is as shown in FIG. In FIG. 2, g denotes a generator that is a reference when converting an irreducible polynomial to a vector value.

도2의 감축불가다항식 벡터값에 기초하여 타원곡선을 만족하는 유한점을 산출하면 (0, 1), (

Figure 112005016061407-pat00009
3,
Figure 112005016061407-pat00010
3), (
Figure 112005016061407-pat00011
3,
Figure 112005016061407-pat00012
0), (
Figure 112005016061407-pat00013
5,
Figure 112005016061407-pat00014
12), (
Figure 112005016061407-pat00015
5,
Figure 112005016061407-pat00016
14), (
Figure 112005016061407-pat00017
6,
Figure 112005016061407-pat00018
10), (
Figure 112005016061407-pat00019
15,
Figure 112005016061407-pat00020
7), (
Figure 112005016061407-pat00021
15,
Figure 112005016061407-pat00022
9), (
Figure 112005016061407-pat00023
6,
Figure 112005016061407-pat00024
7), (
Figure 112005016061407-pat00025
9,
Figure 112005016061407-pat00026
2), (
Figure 112005016061407-pat00027
9,
Figure 112005016061407-pat00028
11), (
Figure 112005016061407-pat00029
10,
Figure 112005016061407-pat00030
2), (
Figure 112005016061407-pat00031
10,
Figure 112005016061407-pat00032
4), (
Figure 112005016061407-pat00033
12,
Figure 112005016061407-pat00034
2), (
Figure 112005016061407-pat00035
12,
Figure 112005016061407-pat00036
7), (
Figure 112005016061407-pat00037
0,
Figure 112005016061407-pat00038
15)을 얻을 수 있다. 여기서
Figure 112005016061407-pat00039
0 = 1로서 감축불가다항식의 마지막 벡터 값을 나타낸다.When a finite point satisfying an elliptic curve is calculated based on the non-reduced polynomial vector value of FIG. 2, (0, 1), (
Figure 112005016061407-pat00009
3 ,
Figure 112005016061407-pat00010
3 ), (
Figure 112005016061407-pat00011
3 ,
Figure 112005016061407-pat00012
0 ), (
Figure 112005016061407-pat00013
5 ,
Figure 112005016061407-pat00014
12 ), (
Figure 112005016061407-pat00015
5 ,
Figure 112005016061407-pat00016
14 ), (
Figure 112005016061407-pat00017
6 ,
Figure 112005016061407-pat00018
10 ), (
Figure 112005016061407-pat00019
15 ,
Figure 112005016061407-pat00020
7 ), (
Figure 112005016061407-pat00021
15 ,
Figure 112005016061407-pat00022
9 ), (
Figure 112005016061407-pat00023
6 ,
Figure 112005016061407-pat00024
7 ), (
Figure 112005016061407-pat00025
9 ,
Figure 112005016061407-pat00026
2 ), (
Figure 112005016061407-pat00027
9 ,
Figure 112005016061407-pat00028
11 ), (
Figure 112005016061407-pat00029
10 ,
Figure 112005016061407-pat00030
2 ), (
Figure 112005016061407-pat00031
10 ,
Figure 112005016061407-pat00032
4 ), (
Figure 112005016061407-pat00033
12 ,
Figure 112005016061407-pat00034
2 ), (
Figure 112005016061407-pat00035
12 ,
Figure 112005016061407-pat00036
7 ), (
Figure 112005016061407-pat00037
0 ,
Figure 112005016061407-pat00038
15 ). here
Figure 112005016061407-pat00039
0 = 1, which represents the last vector value of the non-reducible polynomial.

그리고 송신자측은 타원곡선상의 유한점 중 어느 하나를 초기점(Pes)으로 선택하고, 수신자측은 송신초기점(Pes)과 동일한 값을 갖도록 초기점(Per)을 선택한다. 이하 설명의 편의를 위해 Pes = Per =(

Figure 112005016061407-pat00040
9,
Figure 112005016061407-pat00041
2)이라고 한다.And the sender side selects an initial point (P er) either a finite point on the elliptic curve selected as the initial point (P es), and the receiver side so as to have a value equal to the transmission zero point (P es). For convenience of explanation, P es = Per =
Figure 112005016061407-pat00040
9 ,
Figure 112005016061407-pat00041
2 ).

이러한 타원곡선에 대한 정보는 평문전송을 위한 통신회선설정시 셰션키(Session Key)형태로 교환하거나 송신자측과 수신자측에서 접근할 수 있는 공개리스트에 올려놓는 등의 방법으로 공유할 수 있다.The information on the elliptic curve can be shared by exchanging it in the form of a session key when setting up a communication line for plain text transmission or by placing it on a public list accessible from the sender side and the receiver side.

제2단계 : 초타원곡선에 대한 정보 공유(S2)Step 2: share information about the super-elliptic curve (S2)

초타원곡선(Hyper Elliptic Curve)은 F2 5 유한체((여기서, 유한체는 F2 m의 m이 1보다 큰 양의 정수가 되도록 설정됨)상에서 선택되어 있다. 설명의 편의를 위해 선택된 초타원곡선은 HE : v2 + (u2 + u)v = u5 + u3 + 1이고 초타원곡선의 모듈러(Modular)연산에 사용되는 감축불가다항식은 p(x)= x5 + x2 + 1 이라고 한다. 여기서 초타원곡선의 모듈러(Modular) 연산에 사용되는 감축불가다항식은 타원곡선의 경우와 동일하게 선택하여도 무방하다.The hyper elliptic curve is selected on the F 2 5 finite body (where the finite body is set such that m of F 2 m is a positive integer greater than 1). The elliptic curve is HE: v 2 + (u 2 + u) v = u 5 + u 3 + 1, and the non-reduced polynomial used for the modular operation of the super elliptic curve is p (x) = x 5 + x 2 + 1 It is called. Here, the non-reduced polynomial used in the modular operation of the super elliptic curve may be selected in the same way as the elliptic curve.

전술한 초타원곡선의 감축불가다항식의 벡터값을 계산하면 도3과 같고, 도3의 감축불가다항식 벡터값에 기초하여 초타원곡선을 만족하는 유한점을 산출하면 (0,1), (1,1), (

Figure 112005016061407-pat00042
5,
Figure 112005016061407-pat00043
15), (
Figure 112005016061407-pat00044
5,
Figure 112005016061407-pat00045
27), (
Figure 112005016061407-pat00046
7,
Figure 112005016061407-pat00047
4), (
Figure 112005016061407-pat00048
7,
Figure 112005016061407-pat00049
25), (
Figure 112005016061407-pat00050
9,
Figure 112005016061407-pat00051
27), (
Figure 112005016061407-pat00052
9,
Figure 112005016061407-pat00053
30), (
Figure 112005016061407-pat00054
10,
Figure 112005016061407-pat00055
23), (
Figure 112005016061407-pat00056
10,
Figure 112005016061407-pat00057
30), (
Figure 112005016061407-pat00058
14,
Figure 112005016061407-pat00059
8), (
Figure 112005016061407-pat00060
14,
Figure 112005016061407-pat00061
19), (
Figure 112005016061407-pat00062
15,
Figure 112005016061407-pat00063
0), (
Figure 112005016061407-pat00064
15,
Figure 112005016061407-pat00065
8), (
Figure 112005016061407-pat00066
18,
Figure 112005016061407-pat00067
23), (
Figure 112005016061407-pat00068
18,
Figure 112005016061407-pat00069
29), (
Figure 112005016061407-pat00070
19,
Figure 112005016061407-pat00071
2), (
Figure 112005016061407-pat00072
19,
Figure 112005016061407-pat00073
28), (
Figure 112005016061407-pat00074
20,
Figure 112005016061407-pat00075
15), (
Figure 112005016061407-pat00076
20,
Figure 112005016061407-pat00077
29), (
Figure 112005016061407-pat00078
23, 0), (
Figure 112005016061407-pat00079
23,
Figure 112005016061407-pat00080
4), (
Figure 112005016061407-pat00081
25,
Figure 112005016061407-pat00082
), (
Figure 112005016061407-pat00083
25,
Figure 112005016061407-pat00084
14), (
Figure 112005016061407-pat00085
27,0), (
Figure 112005016061407-pat00086
27,
Figure 112005016061407-pat00087
2), (
Figure 112005016061407-pat00088
28,
Figure 112005016061407-pat00089
7), (
Figure 112005016061407-pat00090
29, o), (
Figure 112005016061407-pat00091
29,
Figure 112005016061407-pat00092
), (
Figure 112005016061407-pat00093
30,0), (
Figure 112005016061407-pat00094
30,
Figure 112005016061407-pat00095
16)을 얻을 수 있다.The vector value of the non-reduced polynomial of the super-elliptic curve described above is calculated as shown in FIG. 3, and when a finite point satisfying the super-elliptic curve is calculated based on the non-reduced polynomial vector of FIG. ,One), (
Figure 112005016061407-pat00042
5 ,
Figure 112005016061407-pat00043
15 ), (
Figure 112005016061407-pat00044
5 ,
Figure 112005016061407-pat00045
27 ), (
Figure 112005016061407-pat00046
7 ,
Figure 112005016061407-pat00047
4 ), (
Figure 112005016061407-pat00048
7 ,
Figure 112005016061407-pat00049
25 ), (
Figure 112005016061407-pat00050
9 ,
Figure 112005016061407-pat00051
27 ), (
Figure 112005016061407-pat00052
9 ,
Figure 112005016061407-pat00053
30 ), (
Figure 112005016061407-pat00054
10 ,
Figure 112005016061407-pat00055
23 ), (
Figure 112005016061407-pat00056
10 ,
Figure 112005016061407-pat00057
30 ), (
Figure 112005016061407-pat00058
14 ,
Figure 112005016061407-pat00059
8 ), (
Figure 112005016061407-pat00060
14 ,
Figure 112005016061407-pat00061
19 ), (
Figure 112005016061407-pat00062
15 ,
Figure 112005016061407-pat00063
0 ), (
Figure 112005016061407-pat00064
15 ,
Figure 112005016061407-pat00065
8 ), (
Figure 112005016061407-pat00066
18 ,
Figure 112005016061407-pat00067
23 ), (
Figure 112005016061407-pat00068
18 ,
Figure 112005016061407-pat00069
29 ), (
Figure 112005016061407-pat00070
19 ,
Figure 112005016061407-pat00071
2 ), (
Figure 112005016061407-pat00072
19 ,
Figure 112005016061407-pat00073
28 ), (
Figure 112005016061407-pat00074
20 ,
Figure 112005016061407-pat00075
15 ), (
Figure 112005016061407-pat00076
20 ,
Figure 112005016061407-pat00077
29 ), (
Figure 112005016061407-pat00078
23 , 0), (
Figure 112005016061407-pat00079
23 ,
Figure 112005016061407-pat00080
4 ), (
Figure 112005016061407-pat00081
25 ,
Figure 112005016061407-pat00082
), (
Figure 112005016061407-pat00083
25 ,
Figure 112005016061407-pat00084
14 ), (
Figure 112005016061407-pat00085
27 , 0), (
Figure 112005016061407-pat00086
27 ,
Figure 112005016061407-pat00087
2 ), (
Figure 112005016061407-pat00088
28 ,
Figure 112005016061407-pat00089
7 ), (
Figure 112005016061407-pat00090
29 , o), (
Figure 112005016061407-pat00091
29 ,
Figure 112005016061407-pat00092
), (
Figure 112005016061407-pat00093
30 , 0), (
Figure 112005016061407-pat00094
30 ,
Figure 112005016061407-pat00095
16 ).

한편 송신자측은 초타원곡선상의 유한점 중 어느 하나를 초기점(Phes)으로 선택하고, 수신자측에서는 초타원곡선상의 유한점 중 어느 하나를 초기점(Pher)으로 선택한다.On the other hand, the sender side selects any one of the finite points on the super elliptic curve as the initial point P hes , and the receiver side selects any one of the finite points on the super elliptic curve as the initial point P her .

이하 설명의 편의를 위해 Phes은 (

Figure 112005016061407-pat00096
30, 0), Pher은 (
Figure 112005016061407-pat00097
29,0)이라고 한다.For convenience of description below, P hes is (
Figure 112005016061407-pat00096
30 , 0), P her is (
Figure 112005016061407-pat00097
29,0 ).

초타원곡선상의 송신자측 초기점(Phes)과 초타원곡선상의 수신자측 초기점(Pher)이외의 초타원곡선에 대한 정보는 타원곡선에 대한 정보와 같은 방법으로 공유할 수 있다.The information about the super elliptic curves other than the sender side initial point P hes on the super elliptic curve and the receiver side initial point P her on the super elliptic curve can be shared in the same way as the information on the elliptic curve.

제3단계 : 제1송신비밀키의 선택(S3)Step 3: selection of the first transmission secret key (S3)

송신자측은 제1송신비밀키(SKs1)를 임의로 선택한다. 이하 설명의 편의를 위해 제1송신비밀키 SKs1는 15라고 한다. The sender side arbitrarily selects the first transmission secret key SK s1 . For convenience of explanation, the first transmission secret key SK s1 is referred to as 15.

제4단계 : 제1송신공개키의 생성 및 전송(S4)Fourth step: generation and transmission of the first transmission public key (S4)

송신자측은 아래와 같은 방법으로 제1송신비밀키의 회수만큼 타원곡선상의 송신초기점을 반복 더하여 제1송신공개키를 생성한 후, 수신자측으로 전송한다.The sender side generates the first sender public key by repeatedly adding the initial transmission point on the elliptic curve as many times as the first sender secret key in the following manner, and transmits it to the receiver side.

제1송신비밀키 SKs1가 15이라고 할 경우 다음과 같은 방법으로 OKs1 = Pes SKs1를 계산하면 (

Figure 112005016061407-pat00098
9,
Figure 112005016061407-pat00099
11)라는 제1송신공개키를 얻을 수 있다. 이하 설명의 편의를 위해 타원곡선상의 송신초기점 Pes = P라고 가정하기로 한다.If the first transmission secret key SK s1 is 15, then OK s1 = P es SK s1 is calculated as follows:
Figure 112005016061407-pat00098
9 ,
Figure 112005016061407-pat00099
11 ), the first transmission public key can be obtained. For convenience of explanation, it will be assumed that the transmission origin P es = P on the elliptic curve.

P를 15번 반복해서 더하는 계산 시간을 줄이기 위해 SKs1=15를 이진수 (1111)2로 변환하면 15P = P + 2P + 4P + 8P로 간단히 계산할 수 있다.To reduce the computation time of adding P 15 times, convert SK s1 = 15 to binary (1111) 2 and simply calculate 15P = P + 2P + 4P + 8P.

① 먼저 두 점이 일치하는 경우의 타원곡선상에서의 덧셈법칙을 적용하여 2P를 계산하면 다음과 같다.① First, 2P is calculated by applying addition law on elliptic curve when two points coincide.

Figure 112005016061407-pat00100
Figure 112005016061407-pat00100

Figure 112005016061407-pat00101
Figure 112005016061407-pat00101

Figure 112005016061407-pat00102
Figure 112005016061407-pat00102

이므로

Figure 112005016061407-pat00103
이다.Because of
Figure 112005016061407-pat00103
to be.

② 다음에 두 점이 일치하는 경우의 타원곡선상에서의 덧셈법칙을 적용하여 4P = 2P + 2P를 계산하면,       (2) Calculate 4P = 2P + 2P by applying the addition rule on the elliptic curve when two points coincide next.

Figure 112005016061407-pat00104
Figure 112005016061407-pat00104

Figure 112005016061407-pat00105
Figure 112005016061407-pat00105

Figure 112005016061407-pat00106
Figure 112005016061407-pat00106

이므로,

Figure 112005016061407-pat00107
이다.Because of,
Figure 112005016061407-pat00107
to be.

③ 다음에 두 점이 일치하는 경우의 타원곡선상에서의 덧셈법칙을 적용하여 8P = 4P + 4P를 계산하면,       (3) Calculate 8P = 4P + 4P by applying the addition rule on the elliptic curve when the two points coincide.

Figure 112005016061407-pat00108
Figure 112005016061407-pat00108

Figure 112005016061407-pat00109
Figure 112005016061407-pat00109

Figure 112005016061407-pat00110
Figure 112005016061407-pat00110

이므로,

Figure 112005016061407-pat00111
이다.Because of,
Figure 112005016061407-pat00111
to be.

④ 다음에 두 점이 상이한 경우의 타원곡선상에서의 덧셈법칙을 적용하여 1P + 2P를 계산하면,       ④ Next, if we apply the addition rule on the elliptic curve when two points are different, calculate 1P + 2P,

Figure 112005016061407-pat00112
Figure 112005016061407-pat00112

Figure 112005016061407-pat00113
Figure 112005016061407-pat00113

Figure 112005016061407-pat00114
Figure 112005016061407-pat00114

이므로, 1P + 2P =

Figure 112005016061407-pat00115
이다.= 1P + 2P
Figure 112005016061407-pat00115
to be.

⑤ 다음에 두 점이 상이한 경우의 타원곡선상에서의 덧셈법칙을 적용하여 (1P + 2P) + 4P를 계산하면,       ⑤ Calculate (1P + 2P) + 4P by applying the addition rule on the elliptic curve when two points are different.

Figure 112005016061407-pat00116
Figure 112005016061407-pat00116

Figure 112005016061407-pat00117
Figure 112005016061407-pat00117

Figure 112005016061407-pat00118
Figure 112005016061407-pat00118

이므로, (1P + 2P) + 4P =

Figure 112005016061407-pat00119
이다.(1P + 2P) + 4P =
Figure 112005016061407-pat00119
to be.

⑥ 다음에 두 점이 상이한 경우의 타원곡선상에서의 덧셈법칙을 적용하여 (1P + 2P + 4P) + 8P를 계산하면,       ⑥ Calculate (1P + 2P + 4P) + 8P by applying the addition rule on the elliptic curve when two points are different.

Figure 112005016061407-pat00120
Figure 112005016061407-pat00120

Figure 112005016061407-pat00121
Figure 112005016061407-pat00121

Figure 112005016061407-pat00122
Figure 112005016061407-pat00122

이므로 (1P + 2P + 4P) + 8P =

Figure 112005016061407-pat00123
이다.(1P + 2P + 4P) + 8P =
Figure 112005016061407-pat00123
to be.

제5단계 : 제1수신비밀키의 선택(S5)Step 5: selecting the first receiving secret key (S5)

수신자측은 제1수신비밀키(SKr1)를 임의로 선택한다. 이하 설명의 편의를 위해 제1수신비밀키 SKr1는 13이라고 가정한다. The receiver side arbitrarily selects the first reception secret key SK r1 . For convenience of explanation, it is assumed that the first receiving secret key SK r1 is 13.

제6단계 : 제1수신공개키의 생성 및 전송(S6)Step 6: generation and transmission of the first public key (S6)

수신자측은 제1수신비밀키의 회수만큼 타원곡선상의 수신초기점을 반복 더하여 제1수신공개키 OKr1 = PerSKr1를 생성한 후, 송신자측으로 전송한다.Receiver side transmits by creating a first number of first receiving a secret key by repeatedly adding the received initial points on the elliptic curve first received public key OK r1 = P er SK r1, the side of the sender.

여기서 제1수신공개키를 제1송신공개키의 경우와 동일한 방법으로 계산하면 PerSKr1 = (

Figure 112005016061407-pat00124
12,
Figure 112005016061407-pat00125
2)를 얻을 수 있다.By calculation, where the first public key received in the same way as in the case of the first transmitted public key P er r1 = SK (
Figure 112005016061407-pat00124
12 ,
Figure 112005016061407-pat00125
2 ) can be obtained.

제7단계 : 송신자측 타원곡선공유비밀키의 생성(S7)Step 7: generation of the sender side elliptic curve sharing secret key (S7)

송신자측은 제1송신비밀키의 회수만큼 제1수신공개키를 반복 더하여 타원곡선공유비밀키 SKte = SKs1(PerOKr1)를 생성한다.The sender side generates the elliptic curve shared secret key SK te = SK s1 ( Per OK r1 ) by repeatedly adding the first receiving public key as many times as the first transmitting secret key.

여기서 제1수신공개키 OKr1은 (

Figure 112005016061407-pat00126
12,
Figure 112005016061407-pat00127
2)이고 제1송신비밀키 SKs1는 15이므로 SKs1(PerOKr1)=13(PerOKr1)=(PerOKr1)+4(PerOKr1)+8(PerOKr1)을 제1송신공개키의 경우와 동일한 방법으로 계산하면 (
Figure 112005016061407-pat00128
12,
Figure 112005016061407-pat00129
7)라는 타원곡선공유비밀키를 얻을 수 있다.Where the first public key OK r1 is (
Figure 112005016061407-pat00126
12 ,
Figure 112005016061407-pat00127
2) a first secret key SK transmission s1 is a 15-SK s1 (P er OK r1) = 13 (P er OK r1) = (P er OK r1) +4 (P er OK r1) +8 (P er OK If r1 ) is calculated in the same way as for the first transmission public key,
Figure 112005016061407-pat00128
12 ,
Figure 112005016061407-pat00129
7 ), an elliptic curve shared secret can be obtained.

제8단계 : 송신자측 초타원곡선공유비밀키의 생성(S8)Step 8: Generation of the Super Elliptic Curve Sharing Secret Key on the Sender Side (S8)

먼저 송신자측은 타원곡선공유비밀키의 x 또는 y값 중 어느 일방을 선택한 다. 이하 설명의 편의를 위해 x값을 선택하는 것으로 한다(S8-1).First, the sender selects either the x or y value of the elliptic curve sharing secret key. For convenience of explanation, it is assumed that an x value is selected (S8-1).

다음에 타원곡선공유비밀키의 x값

Figure 112005016061407-pat00130
12를 도2를 참조하여 이진수로 변환하면 (1111)2가 된다(S8-2).The x value of the elliptic curve shared secret
Figure 112005016061407-pat00130
Converting 12 to binary with reference to FIG. 2 results in (1111) 2 (S8-2).

다음에 이진수로 변환된 타원곡선공유비밀키값 (1111)2를 십진수로 변환하면 (15)10 즉, 15라는 초타원곡선공유비밀키 SKthe를 얻을 수 있다(S8-3).Subsequently, converting the elliptic curve shared secret key value (1111) 2 converted to binary number into decimal number (15) 10, that is, the super elliptic curve shared secret key SK the can be obtained (S8-3).

제9단계 : 제2송신공개키의 생성 및 전송(S9)Step 9: generation and transmission of the second transmission public key (S9)

송신자측은 초타원곡선공유비밀키의 회수만큼 초타원곡선상의 송신초기점을 반복 더하여 제2송신공개키 OKs2 = SKthe Phes를 생성한 후, 수신자측으로 전송한다.The sender side adds the transmission initial point on the super elliptic curve by the number of times the super elliptic curve shared secret key is generated, generates a second transmission public key OK s2 = SK the P hes, and transmits it to the receiver side.

초타원곡선상의 송신초기점 Phes를 (

Figure 112005016061407-pat00131
30,0)라고 할 경우 다음과 같은 방법으로 계산하면 (
Figure 112005016061407-pat00132
29, 0)라는 제2송신공개키를 얻을 수 있다. 이하 설명의 편의를 위해 초타원곡선상의 송신초기점 Phes = P라고 가정하기로 한다.Transmit start point P hes on the super elliptic curve (
Figure 112005016061407-pat00131
30 , 0) If you calculate in the following way (
Figure 112005016061407-pat00132
29 , 0) to obtain a second public key. For convenience of explanation, it is assumed that the transmission initial point P hes = P on the super elliptic curve.

(1) 먼저 P를 divisor 형태로 변환한다.   (1) First, convert P to divisor type.

div

Figure 112005016061407-pat00133
을 계산한다.div
Figure 112005016061407-pat00133
Calculate

Figure 112005016061407-pat00134
,
Figure 112005016061407-pat00135
Figure 112005016061407-pat00134
,
Figure 112005016061407-pat00135

Figure 112005016061407-pat00136
Figure 112005016061407-pat00136

Figure 112005016061407-pat00137
...(i)
Figure 112005016061407-pat00137
... (i)

(i)에서 d=1 이면

Figure 112005016061407-pat00138
이므로, 양변에 +1을 한다.If d = 1 in (i)
Figure 112005016061407-pat00138
Therefore, we add +1 to both sides.

Figure 112005016061407-pat00139
... 양변에
Figure 112005016061407-pat00140
의 곱셈의 역원인
Figure 112005016061407-pat00141
을 곱한다.
Figure 112005016061407-pat00139
... on both sides
Figure 112005016061407-pat00140
Inverse of multiplication of
Figure 112005016061407-pat00141
Multiply by

Figure 112005016061407-pat00142
Figure 112005016061407-pat00142

Figure 112005016061407-pat00143
Figure 112005016061407-pat00143

따라서,

Figure 112005016061407-pat00144
therefore,
Figure 112005016061407-pat00144

(2) div

Figure 112005016061407-pat00145
, div
Figure 112005016061407-pat00146
를 이용해 덧셈을 계산한다.(2) div
Figure 112005016061407-pat00145
, div
Figure 112005016061407-pat00146
Calculate addition using.

Figure 112005016061407-pat00147
Figure 112005016061407-pat00147

Figure 112005016061407-pat00148
Figure 112005016061407-pat00148

양변에

Figure 112005016061407-pat00149
를 약분하면,
Figure 112005016061407-pat00150
On both sides
Figure 112005016061407-pat00149
In short,
Figure 112005016061407-pat00150

따라서,

Figure 112005016061407-pat00151
therefore,
Figure 112005016061407-pat00151

Figure 112005016061407-pat00152
Figure 112005016061407-pat00152

먼저,

Figure 112005016061407-pat00153
를 계산한다.first,
Figure 112005016061407-pat00153
Calculate

Figure 112005016061407-pat00154
이므로
Figure 112005016061407-pat00155
가 된다.
Figure 112005016061407-pat00154
Because of
Figure 112005016061407-pat00155
Becomes

Figure 112005016061407-pat00156
Figure 112005016061407-pat00156

Figure 112005016061407-pat00157
Figure 112005016061407-pat00157

Figure 112005016061407-pat00158
Figure 112005016061407-pat00158

괄호를 풀고 같은 항끼리 묶으면,Loosen the parentheses and tie the same terms together,

Figure 112005016061407-pat00159
Figure 112005016061407-pat00159

Figure 112005016061407-pat00160
Figure 112005016061407-pat00160

Figure 112005016061407-pat00161
양변에
Figure 112005016061407-pat00162
의 곱셈의 역원인
Figure 112005016061407-pat00163
을 곱하면,
Figure 112005016061407-pat00164
따라서,
Figure 112005016061407-pat00165
Figure 112005016061407-pat00161
On both sides
Figure 112005016061407-pat00162
Inverse of multiplication of
Figure 112005016061407-pat00163
Multiply by
Figure 112005016061407-pat00164
therefore,
Figure 112005016061407-pat00165

Figure 112005016061407-pat00166
Figure 112005016061407-pat00166

Figure 112005016061407-pat00167
Figure 112005016061407-pat00167

Figure 112005016061407-pat00168
Figure 112005016061407-pat00168

Figure 112005016061407-pat00169
Figure 112005016061407-pat00169

⑦ 다음에

Figure 112005016061407-pat00170
로 소인수 분해를 한다.⑦ Next
Figure 112005016061407-pat00170
Perform prime factorization with.

Figure 112005016061407-pat00171
양변에
Figure 112005016061407-pat00172
의 곱셈의 역원인
Figure 112005016061407-pat00173
을 양변에 곱한 후,
Figure 112005016061407-pat00171
On both sides
Figure 112005016061407-pat00172
Inverse of multiplication of
Figure 112005016061407-pat00173
Multiply by both sides,

Figure 112005016061407-pat00174
Figure 112005016061407-pat00174

Figure 112005016061407-pat00175
Figure 112005016061407-pat00175

먼저 분자를 계산하기 쉽게 나눈다.First divide the numerator easily.

Figure 112005016061407-pat00176
...(i)
Figure 112005016061407-pat00176
... (i)

Figure 112005016061407-pat00177
Figure 112005016061407-pat00177

Figure 112005016061407-pat00178
...(ii)
Figure 112005016061407-pat00178
... (ii)

(i) + (ii) 한 결과는 The results of (i) + (ii)

Figure 112005016061407-pat00179
...(iii)
Figure 112005016061407-pat00179
... (iii)

(iii)을 d=

Figure 112005016061407-pat00180
로 나눈 결과는 (iii) d =
Figure 112005016061407-pat00180
Divided by

Figure 112005016061407-pat00181
...(iv)
Figure 112005016061407-pat00181
... (iv)

(iv)를 mod a = mod

Figure 112005016061407-pat00182
한 결과는
Figure 112005016061407-pat00183
(iv) mod a = mod
Figure 112005016061407-pat00182
One result is
Figure 112005016061407-pat00183

따라서

Figure 112005016061407-pat00184
을 좌표로 변환시키면,
Figure 112005016061407-pat00185
,
Figure 112005016061407-pat00186
이 되고 2P한 결과는
Figure 112005016061407-pat00187
이다.therefore
Figure 112005016061407-pat00184
Converting to coordinates,
Figure 112005016061407-pat00185
,
Figure 112005016061407-pat00186
And the result of 2P
Figure 112005016061407-pat00187
to be.

제10단계 : 수신자측 타원곡선공유비밀키의 생성(S10)Step 10: generation of the receiver side elliptic curve sharing secret key (S10)

수신자측은 제1수신비밀키의 회수만큼 제1송신공개키를 반복 더하여 타원곡선공유비밀키 SKte = SKr1 (PesSKs1)를 생성한다. 수신자측에서 생성한 타원곡선공유비밀키는 송신자측에서 생성한 타원곡선공유비밀키와 동일한 값 (

Figure 112005016061407-pat00188
12,
Figure 112005016061407-pat00189
7)을 갖게 된다.The receiver side adds the first transmission public key as many times as the number of the first reception secret keys to generate an elliptic curve sharing secret key SK te = SK r1 (P es SK s1 ). The elliptic curve shared secret generated by the receiver is the same value as the elliptic curve shared secret generated by the sender.
Figure 112005016061407-pat00188
12 ,
Figure 112005016061407-pat00189
7 )

제11단계 : 수신자측 초타원곡선공유비밀키의 생성(S11)Step 11: generation of the receiver side super elliptic curve sharing secret key (S11)

수신자측은 송신자측과 같이 타원곡선공유비밀키의 x값을 선택한 후, 이진수변환과 십진수변환을 거쳐 초타원곡선공유비밀키을 생성한다. 수신자측에서 생성한 초타원곡선공유비밀키는 송신자측에서 생성한 초타원곡선공유비밀키와 동일한 값 15를 갖게 된다.The receiver side selects the x value of the elliptic curve shared secret key like the sender side, and then generates a super elliptic curve shared secret key through binary and decimal conversion. The super elliptic curve shared secret generated by the receiver has the same value as the super elliptic curve shared secret generated by the sender.

제12단계 : 제2수신공개키의 생성 및 전송(S12)Step 12: generating and transmitting a second receiving public key (S12)

수신자측은 초타원곡선공유비밀키의 회수만큼 초타원곡선상의 수신초기점을 반복 더하여 제2수신공개키(OKr2)를 생성한 후, 송신자측으로 전송한다. The receiver side adds the reception initial point on the super elliptic curve as many times as the number of the super elliptic curve sharing secret keys, generates a second receiving public key OK r2 , and transmits it to the sender side.

여기서 초타원곡선공유비밀키 SKthe 15, 초타원곡선상의 수신초기점 Pher를 (

Figure 112005016061407-pat00190
29, 0)를 이용하여 제1송신공개키의 경우와 동일한 방법으로 계산하면 PherSKthe = (
Figure 112005016061407-pat00191
7,
Figure 112005016061407-pat00192
4)라는 제2수신공개키를 얻을 수 있다.Here, the super elliptic curve sharing secret key SK the 15, the receiving initial point P her on the super elliptic curve (
Figure 112005016061407-pat00190
29 , 0) using the same method as for the first transmission public key, P her SK the = (
Figure 112005016061407-pat00191
7 ,
Figure 112005016061407-pat00192
4 ) a second receiving public key can be obtained.

제13단계 : 송신자측 암복호화공유비밀키의 생성(S13)Step 13: generation of sender-side encryption / decryption shared secret key (S13)

송신자측은 초타원곡선의 초기점와 제2수신공개키를 더하여 암복호화공유비밀키 SKcd = Phes OKr2를 생성한다. 여기서 송신자측 암복호화공유비밀키는 전술한 제2송신공개키를 계산하는 경우와 동일한 방법으로 암복호화공유비밀키를 생성할 수 있다.The sender side adds the initial point of the super-elliptic curve and the second receiving public key to generate the encryption / decryption shared secret key SK cd = Phes OK r2 . Here, the sender-side encryption / decryption shared secret key may generate the encryption / decryption shared secret key in the same manner as the case of calculating the second transmission public key.

제14단계 : 암호화 및 암호문의 전송(S14)Step 14: transmission of encryption and cipher text (S14)

송신자측은 암복호화공유비밀키를 사용하여 평문을 암호화한 후, 수신자측으로 전송한다.The sender side encrypts the plain text using the encryption / decryption shared secret key and transmits it to the receiver side.

제15단계 : 수신자측 암복호화공유비밀키의 생성(S15)Step 15: generation of a receiver side encryption / decryption shared secret key (S15)

수신자측은 초타원곡선상의 수신초기점과 제2송신공개키를 반복 더하여 암복호화공유비밀키 SKcd = Pher OKs2를 생성한다. 여기서 수신자측 암복호화공유비밀키는 전술한 제2송신공개키를 계산하는 경우와 동일한 방법으로 계산할 수 있다.In addition to repeating the received zero point and the second transmit the public key on the recipient's side second elliptic curve to generate the decryption shared secret key SK cd = P s2 her OK. Here, the receiver side encryption / decryption shared secret key can be calculated in the same manner as in the case of calculating the above-described second transmission public key.

제16단계 : 암호문의 복호화(S16)Step 16: decrypt ciphertext (S16)

수신자측은 송신자측으로부터의 암호문을 자신이 생성한 암복호화공유비밀키 를 사용하여 복호화한다. 여기서 수신자측에서 생성한 암복호화공유비밀키는 송신자측에서 생성한 암복호화공유비밀키와 동일한 값을 가지므로( Phes OKr2 = Phes Pher SKthe Pher = Phes Pher SKthe = Pher OKs2) 송신자측으로부터의 암호문을 자신이 생성한 암복호화공유비밀키를 사용하여 복호화할 수 있게 된다.The receiver side decrypts the cipher text from the sender side using the encryption / decryption shared secret key generated by the receiver side. Here, the encryption / decryption shared secret generated by the receiver has the same value as the encryption / decryption shared secret generated by the sender (P hes OK r2 = P hes P her SK the P her = P hes P her SK the = P her OK s2 ) The ciphertext from the sender side can be decrypted using the encryption / decryption shared secret key generated by the sender.

한편 전술한 실시예에서는 한 쌍의 송신자측과 수신자측이 암복호화공유비밀키를 생성하여 암복호화하는 방법에 대하여 설명하고 있으나, 전자상거래 등에 있어서와 같이 송신자측에서 하나의 관련정보를 수신자측1과 수신자측2에 전송하는 경우에도 본 발명을 적용할 수 있음은 물론이다.Meanwhile, in the above-described embodiment, a method of generating and decrypting an encryption / decryption shared secret key by a pair of the sender side and the receiver side has been described. However, as in e-commerce, the sender side includes one piece of related information. Of course, the present invention can also be applied to transmission to the receiver 2 and the receiver side.

도4는 본 발명의 다른 실시예에 따른 암복호화방법의 흐름도이다.4 is a flowchart of an encryption / decryption method according to another embodiment of the present invention.

본 발명의 다른 실시예에 따른 암복호화방법을 설명하면 다음과 같다.Referring to the encryption and decryption method according to another embodiment of the present invention are as follows.

먼저 송신자측(이하 "구매자"라고 함)과 수신자1측(이하 "판매자"라고 함)사이 및 구매자와 수신자2측(이하 "지불기관"이라고 함)사이에 전술한 본 발명의 일 실시예에서 설명한 암복호화방법에 따라 각각 다른 암복호화공유비밀키를 생성한다(S21). First, in one embodiment of the present invention described above between the sender side (hereinafter referred to as "buyer") and receiver 1 side (hereinafter referred to as "seller") and between the buyer and receiver 2 side (hereinafter referred to as "payment authority"). According to the encryption / decryption method described above, different encryption / decryption shared secrets are generated (S21).

다음에 구매자는 구매정보(OI)에 대해 해쉬함수를 적용하여 메시지다이제스트 M1을 생성한다(S22).Next, the purchaser generates a message digest M1 by applying a hash function to the purchase information OI (S22).

다음에 구매자는 지불정보(PI)에 대해 해쉬함수를 적용하여 메시지다이제스트 M2를 생성한다(S23).Next, the buyer generates a message digest M2 by applying a hash function to the payment information PI (S23).

다음에 구매자는 두개의 메시지 다이제스트 M1과 M2를 연접하고 연접결과물 M1M2를 생성한다(S24).Next, the buyer concatenates two message digests M1 and M2 and generates a concatenated result M1M2 (S24).

다음에 구매자는 연접 결과물 M1M2에 대하여 해쉬함수를 적용하여 메시지다이제스트 M을 생성한다(S25).Next, the purchaser generates a message digest M by applying a hash function to the concatenated result M1M2 (S25).

다음에 구매자는 메시지다이제스트 M을 판매자에 대한 암복호화공유비밀키로 전자서명 DS1을 생성한다(S26).Next, the purchaser generates the digital signature DS 1 using the message digest M as the encryption / decryption shared secret for the seller (S26).

다음에 구매자는 메시지다이제스트 M을 지불기관에 대한 암복호화공유비밀키로 전자서명 DS2를 생성한다(S27).Next, the purchaser generates the digital signature DS 2 with the message digest M as the encryption / decryption shared secret for the payment institution (S27).

다음에 구매자는 지불기관에 전송할 지불정보를 지불기관에 대한 암복호화공유비밀키로 암호화한다(S28).Next, the buyer encrypts the payment information to be sent to the payment institution with the encryption / decryption shared secret for the payment institution (S28).

다음에 구매자는 구매정보, 암호화된 지불정보, 연접결과물 M1M2, 전자서명 DS1 및 DS2를 판매자에게 전송한다(S29).Next, the buyer transmits the purchase information, encrypted payment information, the concatenated result M1M2, the digital signatures DS 1 and DS 2 to the seller (S29).

한편 판매자는 수신된 구매정보에 구매자와 동일한 해쉬함수를 적용하여 메시지다이제스트 M1'을 생성한다(S30).Meanwhile, the seller generates the message digest M1 'by applying the same hash function as the buyer to the received purchase information (S30).

다음에 판매자는 수신된 연접결과물 M1M2중 M1을 새로 생성한 M1'로 대체시킨 후, 대체된 M1'M2에 동일한 해쉬함수를 적용하여 메시지다이제스트 M'을 생성한다(S31).Next, the seller replaces the received M1 M2 with the newly generated M1 'and then applies the same hash function to the replaced M1'M2 to generate the message digest M' (S31).

다음에 판매자는 수신된 전자서명 DS1을 판매자에 대한 암복호화공유비밀키로 복호화하여 메시지다이제스트 M을 생성한다(S32).Next, the seller decrypts the received digital signature DS 1 with the encryption / decryption shared secret key for the seller to generate a message digest M (S32).

다음에 판매자는 해쉬함수를 적용하여 생성한 메시지다이제스트 M'과 판매 자에 대한 암복호화공유비밀키로 복호화한 메시지다이제스트 M을 비교하여 일치하는 경우 정당한 구매요청으로 판단한다(S33).Next, the seller compares the message digest M 'generated by applying the hash function with the message digest M decrypted with the encryption / decryption shared secret for the seller, and determines that the purchase is a legitimate purchase request (S33).

다음에 판매자는 구매자로부터의 암호화된 지불정보, 전자서명 DS2, 연접결과물 M1M2를 지불기관으로 전송한다(S34).Next, the seller transmits the encrypted payment information from the buyer, the digital signature DS 2 , and the concatenated result M1M2 to the payment institution (S34).

다음에 지불기관은 수신된 지불정보를 구매자에 대한 암복호화공유비밀키로 복호화한다(S35).Next, the payment institution decrypts the received payment information with the encryption / decryption shared secret for the buyer (S35).

다음에 지불기관은 복호화된 지불정보에 구매자와 동일한 해쉬함수를 적용하여 메시지다이제스트 M2'를 생성한다(S36).Next, the payer generates a message digest M2 'by applying the same hash function as the buyer to the decrypted payment information (S36).

다음에 지불기관은 수신된 연접결과물 M1M2중 M2를 새로 생성한 M2'로 대체시킨 후, 대체된 연접결과물 M1M2'에 동일한 해쉬함수를 적용하여 메시지다이제스트 M"을 생성한다(S37).Next, the payer replaces M2 in the received concatenation product M1M2 with the newly generated M2 ', and then applies the same hash function to the replaced concatenation product M1M2' to generate a message digest M "(S37).

다음에 지불기관은 수신된 전자서명 DS2를 구매자에 대한 암복호화공유비밀키로 복호화하여 메시지다이제스트 M을 생성한다(S38).Next, the payment institution decrypts the received digital signature DS 2 with the encryption / decryption shared secret key for the buyer to generate a message digest M (S38).

다음에 판매자는 해쉬함수를 적용하여 생성한 메시지다이제스트 M"과 판매자에 대한 암복호화공유비밀키로 복호화한 메시지다이제스트 M을 비교하여 일치하는 경우 정당한 결제요청으로 판단한다(S39).Next, the seller compares the message digest M " generated by applying the hash function with the message digest M decrypted with the encryption / decryption shared secret for the seller, and determines that the payment is a legitimate payment request (S39).

상술한 바와 같이 본 발명의 일 실시예에 따르면 타원곡선과 초타원곡선사이의 유기적 관계를 반영하여 2회의 이산대수문제의 어려움을 암복호화에 이용함으로써, 암호강도를 향상시킬 수 있게 된다. As described above, according to the exemplary embodiment of the present invention, the encryption strength can be improved by using the difficulty of two discrete algebra problems in encryption and decryption by reflecting the organic relationship between the elliptic curve and the super elliptic curve.

그리고 공유비밀키를 사용하여 전자봉투를 제거함으로써, 처리속도와 정보의 보안성을 향상시킬 수 있게 된다.And by removing the electronic envelope using a shared secret key, it is possible to improve the processing speed and security of information.

따라서 본 발명에 따르면, 타원곡선과 초타원곡선사이의 유기적 관계를 반영하여 2회의 이산대수문제의 어려움을 암복호화에 이용함으로써, 암호강도를 향상시킬 수 있다.Therefore, according to the present invention, the encryption strength can be improved by using the difficulty of two discrete algebra problems in encryption and decryption by reflecting the organic relationship between the elliptic curve and the super elliptic curve.

Claims (3)

F2 m 유한체상의 타원곡선, 상기 타원곡선의 모듈러연산에 사용되는 감축불가다항식, 상기 타원곡선상의 송신초기점 및 상기 타원곡선상의 송신초기점과 동일한 값을 갖는 상기 타원곡선상의 수신초기점에 대한 정보를 송신자측과 수신자측에서 공유하는 단계와;F 2 m an elliptic curve on a finite body, a non-reducible polynomial used for the modular operation of the elliptic curve, a transmission initial point on the elliptic curve and a reception initial point on the elliptic curve having the same value as the transmission initial point on the elliptic curve. Sharing information on the sender side and the receiver side; F2 m 유한체상의 초타원곡선, 상기 초타원곡선의 모듈러연산에 사용되는 감축불가다항식에 대한 정보를 송신자측과 수신자측에서 공유하는 단계와;Sharing information about a super elliptic curve on a F 2 m finite body and a non-reducible polynomial used for a modular operation of the super elliptic curve at a sender side and a receiver side; 송신자측에서 제1송신비밀키를 선택하는 단계와;Selecting a first transmission secret key at the sender side; 송신자측에서 상기 제1송신비밀키의 회수만큼 상기 타원곡선상의 송신초기점을 반복 더하여 제1송신공개키를 생성하는 단계와;
Figure 112005016061407-pat00193
Generating a first transmission public key by repeatedly adding a transmission initial point on the elliptic curve by the number of times of the first transmission secret key on a sender side;
Figure 112005016061407-pat00193
상기 제1송신공개키를 수신자측으로 전송하는 단계와;Transmitting the first transmission public key to a receiver side; 수신자측에서 제1수신비밀키를 선택하는 단계와;Selecting a first receiving secret key at the receiver side; 수신자측에서 상기 제1수신비밀키의 회수만큼 상기 타원곡선상의 수신초기점을 반복 더하여 제1수신공개키를 생성하는 단계와;Generating a first receiving public key by repeatedly adding a reception initial point on the elliptic curve by the number of times of the first receiving secret key on a receiver side; 상기 제1수신공개키를 송신자측으로 전송하는 단계와;Transmitting the first receiving public key to a sender side; 송신자측에서 상기 제1송신비밀키의 회수만큼 상기 제1수신공개키를 반복 더하여 타원곡선공유비밀키를 생성하는 단계와;Generating an elliptic curve shared secret key by repeating adding the first received public key by the number of times of the first transmitted secret key at a sender side; 송신자측에서 상기 타원곡선공유비밀키에 기초하여 초타원곡선공유비밀키를 생성하는 단계와;Generating a super elliptic curve shared secret key based on the elliptic curve shared secret key at a sender side; 송신자측에서 상기 초타원곡선공유비밀키의 회수만큼 상기 초타원곡선상의 송신초기점을 반복 더하여 제2송신공개키를 생성하는 단계와;Generating a second transmission public key by repeatedly adding a transmission initial point on the super elliptic curve as many times as the number of the super elliptic curve sharing secret keys on the sender side; 상기 제2송신공개키를 수신자측으로 전송하는 단계와;Transmitting the second transmission public key to a receiver side; 수신자측에서 상기 제1수신비밀키의 회수만큼 상기 제1송신공개키를 반복 더하여 상기 타원곡선공유비밀키를 생성하는 단계와;Generating the elliptic curve shared secret key by repeatedly adding the first transmit public key as many times as the number of the first received secret keys on a receiver side; 수신자측에서 상기 타원곡선공유비밀키에 기초하여 상기 초타원곡선공유비밀키를 생성하는 단계와;Generating the super elliptic curve shared secret key based on the elliptic curve shared secret key at a receiver side; 수신자측에서 상기 초타원곡선공유비밀키의 회수만큼 상기 초타원곡선상의 수신초기점을 반복 더하여 제2수신공개키를 생성하는 단계와;Generating a second receiving public key by repeatedly adding a reception initial point on the super elliptic curve by the number of times of the super elliptic curve sharing secret key at a receiver side; 상기 제2수신공개키를 송신자측으로 전송하는 단계와;Transmitting the second receiving public key to a sender side; 송신자측에서 상기 초타원곡선의 송신초기점과 상기 제2수신공개키를 더하여 암복호화공유비밀키를 생성하는 단계와;Generating an encryption / decryption shared secret key by adding a transmission origin of the super elliptic curve and the second receiving public key on a sender side; 송신자측에서 상기 암복호화공유비밀키를 사용하여 평문을 암호화하는 단계와;Encrypting plain text using the encryption / decryption shared secret key at a sender side; 상기 암호화된 평문을 수신자측으로 전송하는 단계와;Transmitting the encrypted plain text to a receiver side; 수신자측에서 상기 초타원곡선의 수신초기점과 상기 제2송신공개키를 더하여 상기 암복호화공유비밀키를 생성하는 단계와;Generating the encryption / decryption shared secret key by adding a reception origin of the super elliptic curve and the second transmission public key at a receiver side; 수신자측에서 상기 암복호화공유비밀키을 사용하여 상기 송신자측으로부터 전송되는 암호화된 평문을 복호화하는 단계를 포함하는 것을 특징으로 하는 암복호화방법.And decrypting an encrypted plaintext transmitted from the sender side using the encryption-decryption shared secret key at a receiver side.
제1항에 있어서,The method of claim 1, 상기 초타원곡선공유비밀키를 생성하는 단계는, 상기 타원곡선공유비밀키의 x값 또는 y값 중 어느 일방을 선택하는 단계와, 상기 선택된 타원곡선공유비밀키값을 이진수로 변환하는 단계와, 상기 이진수로 변환된 타원곡선공유비밀키값을 십진수로 변환하는 단계를 포함하는 것을 특징으로 하는 암복호화방법.The generating of the super elliptic curve shared secret key may include selecting either one of an x value and a y value of the elliptic curve shared secret key, converting the selected elliptic curve shared secret key value into a binary number; And an elliptic curve shared secret key value converted into a binary number. 제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 상기 초타원곡선공유비밀키는 송신자측과 수신자1측사이 및 송신자측과 수신자2측사이에서 각각 독립적으로 생성되고;The super-elliptic curve sharing secret keys are generated independently between the sender side and the receiver 1 side and between the sender side and the receiver 2 side, respectively; 송신자측에서 상기 수신자1측 정보에 대해 해쉬함수를 적용하여 메시지다이제스트 M1을 생성하는 단계와, 상기 송신자측에서 상기 수신자2측 정보에 대해 상기 해쉬함수를 적용하여 메시지다이제스트 M2를 생성하는 단계와, 상기 송신자측에서 상기 메시지다이제스트 M1과 M2을 연접하여 연접결과물 M1M2를 생성하는 단계와, 상기 송신자측에서 상기 연접 결과물 M1M2에 상기 해쉬함수를 적용하여 메시지다이제스트 M을 생성하는 단계와, 상기 송신자측에서 상기 메시지다이제스트 M을 상기 수신자1측에 대한 암복호화공유비밀키를 이용하여 전자서명 DS1을 생성하는 단 계와, 상기 송신자측에서 상기 메시지다이제스트 M을 상기 수신자2측에 대한 암복호화공유비밀키를 적용하여 전자서명을 DS2를 생성하는 단계와; 상기 송신자측에서 상기 수신자2측에 대한 암복호화공유비밀키로 상기 수신자2측 정보를 암호화하는 단계와, 상기 송신자측에서 상기 수신자1측 정보, 상기 암호화된 수신자2측 정보, 상기 연접결과물 M1M2, 상기 전자서명 DS1 및 DS2를 상기 수신인1측에 전송하는 단계와, 상기 수신자1측에서 상기 수신자1측 정보에 상기 해쉬함수를 적용하여 메시지다이제스트 M1'을 생성하는 단계와, 상기 수신자측에서 상기 연접결과물 M1M2중 M1을 상기 메시지다이제스트 M1'로 대체시킨 후, 상기 대체된 M1'M2에 상기 해쉬함수를 적용하여 메시지다이제스트 M'을 생성하는 단계와, 상기 수신자1측에서 상기 전자서명 DS1을 상기 송신자측에 대한 암복호화공유비밀키로 복호화하여 메시지다이제스트 M을 생성하는 단계와, 상기 수신자1측에서 상기 메시지다이제스트 M'과 상기 송신자측에 대한 암복호화공유비밀키로 복호화한 메시지다이제스트 M을 비교하여 일치하는 경우 정당한 구매요청으로 판단하는 단계와, 상기 수신자1측에서 상기 암호화된 수신자2측 정보, 상기 연접결과물 M1M2, 상기 전자서명 DS2를 상기 수신인2측에 전송하는 단계와, 상기 수신자2측에서 상기 암호화된 수신자2측 정보를 상기 송신자측에 대한 암복호화공유비밀키로 복호화하는 단계와, 상기 복호화된 수신자2측 정보를 상기 해쉬함수를 적용하여 메시지다이제스트 M2'를 생성하는 단계와, 상기 연접결과물 M1M2중 M2를 상기 메시지다이제스트 M2'로 대체시킨 후, 상기 대체된 연접결과물 M1M2'에 상기 해쉬함수를 적용하여 메시지다이제스트 M"을 생성하는 단계와, 상기 수신자2측에서 상기 전자서명 DS2을 상기 송신자측에 대한 암복호화공유비밀키로 복호화하여 메시지다이제스트 M을 생성하는 단계와, 상기 수신자2측에서 상기 메시지다이제스트 M"과 상기 송신자측에 대한 암복호화공유비밀키로 복호화한 메시지다이제스트 M을 비교하여 일치하는 경우 정당한 구매요청으로 판단하는 단계를 포함하는 것을 특징으로 하는 암복호화방법.Generating a message digest M1 by applying a hash function to the receiver 1 side information at a sender side, generating a message digest M2 by applying the hash function to the receiver 2 side information at the sender side; Generating a concatenated result M1M2 by concatenating the message digests M1 and M2 at the sender side, generating a message digest M by applying the hash function to the concatenated result M1M2 at the sender side, and at the sender side Generating the digital signature DS 1 by using the decryption shared secret key for the receiver 1 on the message digest M; and encrypting the decryption shared secret key for the receiver 2 on the message digest M on the sender side. Generating a digital signature DS 2 by applying a; Encrypting the receiver 2 side information with an encryption / decryption shared secret key for the receiver 2 side at the sender side, the receiver 1 side information, the encrypted receiver 2 side information, the concatenated result M1M2, and at the sender side; Transmitting the digital signatures DS 1 and DS 2 to the recipient 1 side, generating the message digest M1 'by applying the hash function to the receiver 1 side information at the receiver 1 side, and at the receiver side. Replacing M1 in the concatenated result M1M2 with the message digest M1 ', generating a message digest M' by applying the hash function to the replaced M1'M2, and receiving the digital signature DS 1 at the receiver 1 side; Decrypting with the encryption / decryption shared secret key for the sender side to generate a message digest M, and receiving the message digest M 'at the receiver 1 side; Comparing the message digest M decrypted with the encryption / decryption shared secret key to the sender side and determining that the message is a legitimate purchase request, and at the receiver 1 side, the encrypted receiver 2 side information, the concatenated result M1M2 and the electronic device; Transmitting a signature DS 2 to the recipient 2 side, decrypting the encrypted recipient 2 side information with an encryption / decryption shared secret key for the sender side, and decrypting the decrypted recipient 2 side information; Generating a message digest M2 'by applying the hash function, replacing M2 of the concatenated result M1M2 with the message digest M2', and then applying the hash function to the replaced concatenation result M1M2 '. &Quot;, and converts the digital signature DS 2 to the encryption / decryption shared secret for the sender side at the receiver 2 side. Decrypting and generating a message digest M, and comparing the message digest M " and the message digest M decrypted with the encryption / decryption shared secret key for the sender side and determining that the request is a legitimate purchase request. Encryption and decryption method comprising a.
KR1020050025214A 2005-03-26 2005-03-26 Ciphering and Deciphering Method KR100679627B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050025214A KR100679627B1 (en) 2005-03-26 2005-03-26 Ciphering and Deciphering Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050025214A KR100679627B1 (en) 2005-03-26 2005-03-26 Ciphering and Deciphering Method

Publications (2)

Publication Number Publication Date
KR20060103360A KR20060103360A (en) 2006-09-29
KR100679627B1 true KR100679627B1 (en) 2007-02-28

Family

ID=37623372

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050025214A KR100679627B1 (en) 2005-03-26 2005-03-26 Ciphering and Deciphering Method

Country Status (1)

Country Link
KR (1) KR100679627B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102525749B1 (en) * 2021-09-24 2023-04-26 주식회사 스파이스웨어 Method and Apparatus for Artificial Intelligence Post-Quantum Cryptography

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000224157A (en) * 1999-02-01 2000-08-11 Toyo Commun Equip Co Ltd Hyperelliptic stream cipher system
KR20040041186A (en) * 2002-11-08 2004-05-17 한국전자통신연구원 Hyperelliptic curve crtpto processor hardware apparatus
US20050025311A1 (en) 2003-07-28 2005-02-03 Microsoft Corporation Tate pairing techniques for use with hyperelliptic curves

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000224157A (en) * 1999-02-01 2000-08-11 Toyo Commun Equip Co Ltd Hyperelliptic stream cipher system
KR20040041186A (en) * 2002-11-08 2004-05-17 한국전자통신연구원 Hyperelliptic curve crtpto processor hardware apparatus
US20050025311A1 (en) 2003-07-28 2005-02-03 Microsoft Corporation Tate pairing techniques for use with hyperelliptic curves

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문1
논문2

Also Published As

Publication number Publication date
KR20060103360A (en) 2006-09-29

Similar Documents

Publication Publication Date Title
Rodriguez-Henriquez et al. A brief introduction to modern cryptography
US9503261B2 (en) Public key encryption with digital signature scheme
JP4527358B2 (en) An authenticated individual cryptographic system that does not use key escrow
CN101079701B (en) Highly secure ellipse curve encryption and decryption method and device
CN112104453B (en) Anti-quantum computation digital signature system and signature method based on digital certificate
WO2017167771A1 (en) Handshake protocols for identity-based key material and certificates
CN106713349B (en) Inter-group proxy re-encryption method capable of resisting attack of selecting cipher text
CN109831305B (en) Anti-quantum computation signcryption method and system based on asymmetric key pool
Kumar et al. An efficient implementation of digital signature algorithm with SRNN public key cryptography
Trang et al. A type of public-key block cipher algorithm
CN101964039B (en) Encryption protection method and system of copyright object
KR100396740B1 (en) Provably secure public key encryption scheme based on computational diffie-hellman assumption
KR20040009766A (en) Apparatus and method for transmitting and receiving in encryption system
CN111262709A (en) Trapdoor hash function-based unlicensed bookmark encryption system and method
WO2013039659A1 (en) Hybrid encryption schemes
KR100679627B1 (en) Ciphering and Deciphering Method
KR20030047148A (en) Method of messenger security based on client/server using RSA
Dung A method for constructing public-key block cipher schemes based on elliptic curves
JP3694242B2 (en) Signed cryptographic communication method and apparatus
JP3041293B2 (en) Encryption method, decryption method, authentication method, encryption device, decryption device, authentication device, authentication message sender device, authentication message receiver device, encryption communication system and authentication system
JPH07118709B2 (en) Confidential information communication method
Kapoor A new cryptography algorithm with an integrated scheme to improve data security
CN116781243B (en) Unintentional transmission method based on homomorphic encryption, medium and electronic equipment
Nguyen et al. A high-performance authentication-encryption scheme
Ezekiel et al. Optimized Rivest, Shamir and Adleman (RSA) for Network Inter-Layer Communication

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121130

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131122

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151119

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee