KR20020088522A - Secret sharing method between authorized persons using public key cryptography - Google Patents

Secret sharing method between authorized persons using public key cryptography Download PDF

Info

Publication number
KR20020088522A
KR20020088522A KR1020010027129A KR20010027129A KR20020088522A KR 20020088522 A KR20020088522 A KR 20020088522A KR 1020010027129 A KR1020010027129 A KR 1020010027129A KR 20010027129 A KR20010027129 A KR 20010027129A KR 20020088522 A KR20020088522 A KR 20020088522A
Authority
KR
South Korea
Prior art keywords
public key
function
data
key
information
Prior art date
Application number
KR1020010027129A
Other languages
Korean (ko)
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 KR1020010027129A priority Critical patent/KR20020088522A/en
Publication of KR20020088522A publication Critical patent/KR20020088522A/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Abstract

PURPOSE: A method for sharing a multipoint secret using a public key method is provided to encode specific data and decode the encoded data by using the public key method. CONSTITUTION: A plurality of members of a group contacts comes in contact with an authentication server, registers a public key, and receives private keys(S1). The members receives the registered public key(S2). Data are encoded by using the public key and the number(r) of data reading members is set up(S3). A function(f(x)) defined by the number(r) and values of the function(f(x)) for each public key are generated and a decoding key is set up by the function(f(x))(S6). The decoding key and the encoded data are stored(S6). The members of the number(r) input the private keys(S5). The public key and the function value are identified by using the private keys(S6). The information of the function(f(X)) is produced(S7). The encode data are decoded(S8).

Description

공개키 방식을 이용한 다자간 비밀공유 방법 {Secret sharing method between authorized persons using public key cryptography}Multi-party secret sharing method using public key method {Secret sharing method between authorized persons using public key cryptography}

본 발명은 공개키 방식을 이용한 다자간 비밀공유 방법에 관한 것으로서, 더욱 상세하게는 공개키를 이용하여 특정 데이터를 암호화하고, 암호화된 데이터를 인증된 특정 그룹의 사람들이 복호화할 수 있도록 하는 공개키 방식을 이용한 다자간 비밀공유 방법에 관한 것이다.The present invention relates to a multi-party secret sharing method using a public key method, and more particularly, a public key method for encrypting specific data using a public key and for decrypting the encrypted data by a specific group of authenticated people. The present invention relates to a multilateral secret sharing method.

최근, 정보 기술(Information technology: IT)의 혁신적인 발전에 따라 개인과 개인간 및 개인과 기업간의 정보 교류가 인트라넷, LAN 등 사내 통신망이나 인터넷 등의 공중망을 통하여 활발히 이루어지고 있으며, 여러 중요 정보를 포함하는 각종 데이터들이 컴퓨터 내의 파일로서 보관되는 경우가 많다. 이와 같이 통신망이나 컴퓨터에 의한 정보 교류 및 저장이 활발해지면서, 외부의 침입자가 개인의 또는 기업의 중요정보에 접근하여 불법적으로 정보를 얻고 이를 악용하는 경우가 증가하고 있으며, 많은 중요 정보를 저장하여 놓은 컴퓨터, 노트북 컴퓨터 등이 분실 또는 도난당하는 경우에도 정보 유출에 의하여 막대한 피해를 볼 우려가 있다.In recent years, along with the innovative development of information technology (IT), the exchange of information between individuals and individuals and between companies and companies is actively performed through intra-company communication networks such as intranets and LANs or public networks such as the Internet. Various data are often stored as files in a computer. As the information exchange and storage by the communication network or the computer becomes active, the intruder from outside gains access to the private information of the individual or the company and illegally obtains the information and exploits it, and stores a lot of important information. Even if a computer or a laptop computer is lost or stolen, there is a risk of enormous damage due to information leakage.

이와 같은 문제를 해결하기 위하여, 각 사용자의 데이터를 보호하기 위한 여러 가지 암호화 기법이 개발되어 실용화되고 있으나, 이와 같은 암호화 기법들은 암호를 알고있는 각 개별 사용자만이 자신만의 비밀번호를 가지고 정보를 암호화/복호화하여 정보에 접근할 수 있거나, 정보를 공유하는 특정 그룹의 사람들이 동일한 암호를 관리, 사용하여야 하므로 비밀번호의 체계적 관리가 곤란하며, 각 사용자 집단에 따른 차별화된 등급별 데이터 접근 및 관리를 편리하게 수행할 수 없는 문제점이 있다. 또한 인터넷의 발달, 네트워크의 확장 등 조직의 안과 밖의 경계가 흐려지면서, 종래의 방법으로는 내부자에 의한 정보 유출을 충분히 방지할 수 없으며, 또한 보안 메일의 경우 여러 사람에게 동시에 같은 파일이나 폴더를 암호화하여 보낼 수 없는 단점이 있다. 또한 기존의 암호 알고리듬을 이용한 데이터 암호화 기술은 단지 어떠한 파일이나 폴더를 암호화할 때 사용할 뿐, 네트워크 상에서 다수의 사용자 사이에 안전하게 자료를 주고받을 수 없는 문제점이 있다.In order to solve this problem, various encryption schemes have been developed and put into practice to protect the data of each user. However, such encryption schemes encrypt information with their own password only by each individual user who knows the password. It is difficult to systematically manage passwords because it is possible to access / decrypt the information or to share the information with a certain group of people who share information, and it is difficult to systematically manage passwords. There is a problem that cannot be done. In addition, as the boundary between the inside and outside of the organization is blurred, such as the development of the Internet and the expansion of the network, the conventional method cannot sufficiently prevent the leakage of information by insiders, and secure mail encrypts the same file or folder to multiple people at the same time. There is a drawback that can not be sent. In addition, the data encryption technology using the existing encryption algorithm is used only to encrypt any file or folder, there is a problem that can not safely transmit data between multiple users on the network.

따라서, 본 발명의 목적은 하나의 중요 문서를 다수의 인증된 사용자가 위조나 변조없이 보관, 관리할 수 있으며, 다수의 인증된 사용자가 공동으로 또는 단독으로 자신들의 개인키를 이용하여, 암호화된 문서를 복호화할 수 있는 공개키 방식을 이용한 다자간 비밀공유 방법을 제공하는 것이다.Accordingly, it is an object of the present invention that a single important document can be stored and managed by multiple authenticated users without forgery or tampering, and encrypted by multiple authenticated users, either jointly or alone, using their private keys. It is to provide a multilateral secret sharing method using a public key method that can decrypt a document.

본 발명은 또한 메일 또는 메일의 첨부 파일을 암호화하거나, 여러 사람에게 동시에 같은 메일을 암호화해서 전송할 수 있는 공개키 방식을 이용한 다자간 비밀공유 방법을 제공하는 것이다.The present invention also provides a multilateral secret sharing method using a public key method that encrypts a mail or an attachment of a mail, or encrypts and transmits the same mail to several people at the same time.

도 1은 본 발명의 일 실시예에 따른 공개키 방식을 이용한 다자간 비밀공유 방법이 구현되는 컴퓨터 시스템의 일 예를 도시한 구성도.1 is a block diagram showing an example of a computer system implemented with a multi-party secret sharing method using a public key method according to an embodiment of the present invention.

도 2는 본 발명의 일 실시예에 따른 공개키 방식을 이용한 다자간 비밀공유 방법에 의하여 제작된 암호화된 파일의 구성을 설명하기 위한 도면.2 is a view for explaining the configuration of an encrypted file produced by a multi-party secret sharing method using a public key method according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따른 공개키 방식을 이용한 다자간 비밀공유 방법에 의하여 데이터를 암호화 및 복호화하는 단계를 설명하는 플로우 챠트.3 is a flow chart illustrating a step of encrypting and decrypting data by a multilateral secret sharing method using a public key method according to an embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 공개키 방식을 이용한 다자간 비밀공유 방법에 의하여 메일을 송, 수신하는 단계를 설명하는 플로우 챠트.Figure 4 is a flow chart illustrating the steps of sending and receiving mail by a multi-party secret sharing method using a public key method according to an embodiment of the present invention.

상기 목적을 달성하기 위하여, 본 발명의 공개키 방식을 이용한 다자간 비밀공유 방법은 데이터 열람이 가능하도록 인증된 집단 구성원(구성원수: n)이 인증 서버에 접속한 후, 공개키를 등록하고 개인키를 교부받는 과정, 인증서버로부터 인증된 사용자의 공개키를 전송받아 데이터를 암호화하고, 상기 집단 구성원 중에서 데이터를 열람할 수 있는 최소 인원수 r (여기서, 1≤ r ≤ n이다.)을 설정하는 과정, 상기 최소 인원수 r의 공개키에 의하여 규정되는 함수 f(x)를 생성하고, 각 공개키에 따른 함수 f(x)의 함수값과 상기 함수 f(x)에 관한 정보를 암호화된 데이터와 함께 저장하는 과정을 포함한다. 암호화된 데이터는 상기 집단 구성원 중 데이터를 열람할 수 있는 최소 인원수 r이 모여 그들의 개인키를 입력하는 과정, 입력된 개인키와 상기 집단 구성원의 공개키 정보를 비교하여, 개인키의 입력자가 상기 인증된 집단 구성원중 1인인지를 확인한 후, 상기 개인키에 해당하는 공개키 정보와 그 공개키에 대한 함수 f(x)값을 얻는 과정, 얻어진 최소 인원수 r의 공개키 및 r개의 함수 f(x)값에 의하여 함수 f(x)의 정보를 산출하는 과정, 및 산출된 f(x)에 관한 정보를 복호화키로 사용하여 암호화된 데이터를 복호화하여 해독된다.In order to achieve the above object, in the multi-party secret sharing method using the public key method of the present invention, a group member (number of members: n) authorized to view data is connected to an authentication server, and then the public key is registered and the private key. Receiving the public key of the authenticated user from the authentication server, encrypting the data, and setting the minimum number of persons r (where 1 ≦ r ≦ n) among the group members to view the data. Generate a function f (x) defined by the public key of the minimum number of persons r, and include the function value of the function f (x) according to each public key and information about the function f (x) together with the encrypted data. The process of storing. In the encrypted data, a process of inputting their private key with the minimum number of persons r capable of viewing data among the group members, comparing the inputted private key with the public key information of the group member, allows the inputter of the private key to perform the authentication. After confirming that the member is one of the group members, the public key information corresponding to the private key and a function f (x) value for the public key are obtained, the public key of the minimum number of persons r and the r functions f (x) A process of calculating the information of the function f (x) by the value, and using the calculated information about f (x) as a decryption key, decrypts the encrypted data and decrypts it.

여기서, 상기 암호화된 데이터는 메일 또는 메일에 첨부된 파일일 수 있다. 또한, 상기 데이터를 열람할 수 있는 최소 인원수 r의 공개키에 의하여 규정되는 함수 f(x)는 r-1차 다항식이고, 상기 복호화키는 상기 r-1차 다항식 f(x)의 계수인 것이 바람직하다.Here, the encrypted data may be a mail or a file attached to the mail. Further, the function f (x) defined by the public key of the minimum number of persons r who can view the data is r-1 order polynomial, and the decryption key is a coefficient of the r-1 order polynomial f (x). desirable.

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

본 발명의 공개키 방식을 이용한 다자간 비밀공유 방법은 문서 또는 메일을 암호화 및 복호화할 때, 공개키 방식의 암호 알고리듬을 사용하는 것으로서, 단순히 하나의 공개키를 이용하여 파일과 폴더를 암호화하는 것이 아니라, 여러 사람의 공개키 및 개인키를 이용하여 문서나 데이터를 같이 암호화하고 복호화한다. 따라서, 본 발명의 방법은 암호화할 사용자수 n과 복호화할 사용자수 r (여기서, 1≤ r ≤ n이다.)을 선택할 수 있도록 함으로서 문서의 중요도에 가중치를 둘 수 있다.The multi-party secret sharing method using the public key method of the present invention uses a public key encryption algorithm when encrypting and decrypting a document or mail, and does not encrypt files and folders using a single public key. Using the public and private keys of several people, the document or data are encrypted and decrypted together. Accordingly, the method of the present invention can weight the importance of the document by allowing the selection of the number of users n to encrypt and the number of users r to decrypt (where 1 ≦ r ≦ n).

본 발명에 따른 공개키를 이용한 다자간 비밀공유 방법은 n보다 같거나 작은 r 명(여기서, 1≤ r ≤ n이다.)의 공개키로부터 복호화키를 추출해 내는 방식을 사용한다. 예를 들면 하나의 파일을 10명의 사람(10명의 공개키)이 모여서 암호화할때, 복호화할 때 필요한 사람의 수를 3명(선택 가능)으로 선택하면, 적어도 3명의 사람(암호화할 때 모인 사람)이 모여야 복호화를 할 수 있고, 1명으로 선택하면 10명중 누구나 복호화를 할 수 있다. 이 경우 암/복호화에 필요한 공개키는 공개키 서버에 저장되어 있고, 네트워크 상에서 검색하여 사용할 수 있다.In the multi-party secret sharing method using the public key according to the present invention, a method of extracting a decryption key from r public names (where 1 ≦ r ≦ n) is less than or equal to n is used. For example, when encrypting a file with 10 people (10 public keys) and selecting 3 people (selectable) for decryption, at least 3 people (people who are gathered when encrypting) ) Can be decrypted, and if one is selected, anyone out of 10 can decrypt. In this case, the public key required for encryption / decryption is stored in the public key server and can be searched and used on the network.

도 1은 본 발명의 일 실시예에 따른 공개키 방식을 이용한 다자간 비밀공유 방법이 구현되는 컴퓨터 시스템의 일 예를 도시한 것이다. 도 1에 도시한 바와 같이, 본 발명에 따라 다자간에 비밀을 공유하기 위해서는, 데이터 열람이 가능하도록 인증된 집단 구성원(구성원수: n)이 사용자 컴퓨터(102)를 이용하여 인터넷 등의 통신망(104)을 통하여 인증 서버(106)에 접속한 후, 인증 서버(106)로부터 사용자의 개인키를 교부받는다. 이때 인증 서버(106)는 사용자의 개인키와 대응하는 공개키를 생성하여 인증서 저장소(108)에 저장한다.1 illustrates an example of a computer system in which a multi-party secret sharing method using a public key method according to an embodiment of the present invention is implemented. As shown in Fig. 1, in order to share a secret between parties in accordance with the present invention, a group member (number of members: n) authorized to view data is connected to a communication network 104 such as the Internet using a user computer 102. After connecting to the authentication server 106 via the server, the user's private key is issued from the authentication server 106. At this time, the authentication server 106 generates a public key corresponding to the user's private key and stores it in the certificate store 108.

이와 같이 데이터의 열람이 가능하도록 인증된 집단 구성원의 개인키 및 공개키가 생성된 후에, 데이터를 암호화하고자 하는 사용자는 통신망(104)을 통하여 인증서버(106)에 접속한 후, 데이터 열람을 허용할 집단 구성원의 공개키를 모두 전송받고, 상기 공개키를 이용하여 데이터를 암호화하고, 데이터 열람이 허용된 집단 중에서 데이터를 열람할 수 있는 최소 인원수 r (여기서, 1≤ r ≤ n이다.)을 설정한다.After the private and public keys of the group members who are authenticated to be able to access the data are generated, the user who wants to encrypt the data is allowed to access the authentication server 106 through the communication network 104 and then access the data. Receive all the public keys of the group members to be transmitted, encrypt the data using the public key, and obtain the minimum number r (where 1 ≦ r ≦ n) of the group that is allowed to view the data among the groups allowed to view the data. Set it.

이때 데이터의 암호화 프로그램은 데이터를 열람할 수 있는 최소 인원수 r의공개키에 의하여 규정되는 함수 f(x)를 생성하고, 각 공개키에 따른 함수 f(x)의 함수값과 상기 함수 f(x)에 관한 정보를 암호화된 데이터와 함께 저장하며, 상기 함수 f(x)에 관한 특정 정보, 예를 들면 함수 f(x)의 계수를 암호화된 데이터의 복호화키로서 설정한다. 따라서, 도 2에 도시된 바와 같이 암호화된 데이터는 데이터 열람을 허용할 집단 구성원 n의 공개키 정보, 상기 구성원 중 데이터를 열람할 수 있는 최소 인원수 r의 공개키에 의하여 규정되는 함수 f(x) 및 각 공개키에 따른 함수 f(x)의 함수값 등의 암호화 정보와 함께 저장된다.At this time, the data encryption program generates a function f (x) defined by the public key of the minimum number of persons r that can view the data, and the function value of the function f (x) corresponding to each public key and the function f (x). Is stored together with the encrypted data, and specific information about the function f (x), for example, the coefficient of the function f (x), is set as the decryption key of the encrypted data. Thus, as shown in Fig. 2, the encrypted data is a function f (x) defined by the public key information of the group member n to allow data viewing, and the public key of the minimum number of people r that can view data among the members. And encryption information such as a function value of the function f (x) according to each public key.

이와 같이 암호화된 데이터를 열람하기 위해서는, 상기 데이터의 열람이 가능하도록 인증된 집단 구성원 중, 데이터를 열람할 수 있는 최소 인원수 r이 모여 그들의 개인키를 입력한다. 개인키가 입력되면 암호화 프로그램은 먼저 데이터 열람을 허용할 집단 구성원 n의 공개키 정보와 입력된 개인키를 비교하여, 개인키의 입력자가 데이터의 열람이 가능하도록 인증된 집단 중 1인인지를 확인한 후, 맞으면 공개키 정보와 그 공개키에 대한 함수 f(x)값을 함수 f(x)에 대입한다. 이와 같은 방식으로 데이터를 열람할 수 있는 최소 인원수 r이 모두 그들의 개인키를 입력하면, r개의 공개키값 및 r개의 함수값 f(x)에 의하여 함수 f(x)의 정보가 산출되며, 이때 산출된 f(x)에 관한 특정 정보, 예를 들면 함수 f(x)의 계수를 얻어 암호화된 데이터를 복호화한다.In order to view the encrypted data in this way, among the members of the group authorized to view the data, the minimum number of rs who can view the data gathers and inputs their private keys. When the private key is entered, the encryption program first compares the public key information of the group member n, which is allowed to access the data, with the input private key, and checks whether the inputter of the private key is one of the groups authorized to view the data. If true, then assign the public key information and the function f (x) value for that public key to the function f (x). When the minimum number of persons r who can access the data in this manner enters their private keys, the information of the function f (x) is calculated by r public key values and r function values f (x). Specific information about the obtained f (x), for example, the coefficient of the function f (x) is obtained to decrypt the encrypted data.

상기 최소 인원수 r의 공개키에 의하여 규정되는 함수 f(x)는 r개의 변수값 및 r개의 함수값에 의하여 결정되는 함수를 의미하는 것으로서, 상기 함수 f(x)로서 적합한 함수는 r-1차 다항식이 사용될 수 있으며, 상기 암호화된 데이터에 첨부된 복호화키로는 상기 r-1차 다항식의 r개의 계수 중 어느 하나일 수 있다. 이와 같이 최소 인원수 r의 공개키에 의하여 규정되는 함수 f(x)에 의한 복호화키의 생성 및 복호화키의 해독과정을 예를 들어 상세히 설명하면 다음과 같다.A function f (x) defined by the public key of the minimum number of people r means a function determined by r variable values and r function values, and a function suitable as the function f (x) is r-1 order A polynomial may be used, and the decryption key attached to the encrypted data may be any one of r coefficients of the r-1th order polynomial. Thus, the process of generating the decryption key and decrypting the decryption key by the function f (x) defined by the public key of the minimum number of people r will be described in detail as follows.

p를 상당히 큰 소수라 하고 함수 f(x)를 Zp 위에서의 r-1차 다항식으로 설정한다. 참여자의 수 n보다 소수 p가 크면 주어진 Zp위에서의 복호화키를 상수로 가지는 r-1차 다항식 f(x)를 이용하여 (r, n)-비밀배분법을 만들 수 있다. r개의 점 (xi, yi)을 지니는 r-1차 다항식은 유일하게 결정되므로, 이를 이용하여 (r, n) 비밀 배분법을 만드는 것은 이미 샤미르(Shamir)에 의하여 이론적으로 정립되었다. 예를 들어, 신용회사 S는 n명의 참석자 xi각각에게 yi=f(xi) mod p (여기서 f(x)는 r-1차 다항식임)를 만족하는 yi를 분배한다. 그러면 위에서 설명한 대로 r명의 참석자가 모이면 함수 f(x)를 특정할 수 있고, 특정된 함수 f(x)로부터 복호화키를 얻을 수 있다. 이 복호화키의 비도는 p의 크기에 달려있다. 즉 복호화키의 원소의 개수는 pr이고 (r-1)명이 있으면 복호화키를 구할 확률은 1/p이다.Let p be a fairly large prime and set the function f (x) to the r-1th order polynomial over Zp. If the fraction p is larger than the number n of participants, the (r, n) -secret distribution method can be made by using the r-first polynomial f (x) with the decryption key on a given Zp as a constant. Since the r-1th order polynomial with r points (x i , y i ) is uniquely determined, creating a (r, n) secret distribution using this has already been theoretically established by Shamir. For example, credit company S distributes y i satisfying y i = f (x i ) mod p (where f (x) is an r-1 polynomial) to each of n attendees x i . Then, when r attendees gather as described above, a function f (x) can be specified, and a decryption key can be obtained from the specified function f (x). The decryption key depends on the size of p. That is, if the number of elements of the decryption key is p r and (r-1) names, the probability of obtaining the decryption key is 1 / p.

상기 신용회사 S가 5명의 참여자중 3명이 모이면 데이터의 열람을 허용하도록 (3,5) 비밀 배분법을 설정하고, p=17이고 복호화키가 f(x) =2x2+10x+13 mod 17의상수항인 13이라 가정하면 이들의 함수값은 다음 수학식 1 내지 5와 같다.When the credit company S gathers three of five participants, it sets up a (3,5) secret allocation method to allow access of the data, p = 17 and the decryption key is f (x) = 2x 2 + 10x + 13 mod. Assuming that the constant term of 17 is 13, their function values are shown in Equations 1 to 5 below.

[수학식 1]y1= f(1) ≡ 8 mod 17[Equation 1] y 1 = f (1) ≡ 8 mod 17

[수학식 2]y2= f(2) ≡ 7 mod 17Y 2 = f (2) ≡ 7 mod 17

[수학식 3]y3= f(3) ≡ 10 mod 17Y 3 = f (3) ≡ 10 mod 17

[수학식 4]y4= f(4) ≡ 0 mod 17[Equation 4] y 4 = f (4) ≡ 0 mod 17

[수학식 5]y5= f(5) ≡ 11 mod 17Y 5 = f (5) ≡ 11 mod 17

복호화키 13을 분배하기 위하여 각 참석자 xi에 대응하여 yi값(=f(xi))를 분배하게 된다. 여기서 세 사람 이상의 참석자가 모여, 개인키를 이용하여 그들 각각의 공개키 및 상기 공개키에 따른 함수값를 얻어내면, 이를 이용하여 2차 방정식을 풀수 있고, 2차 방정식의 상수항인 복호화키 13을 얻을 수 있다. 만일 참석자 1, 3 과 5가 모였다면 각자의 값을 2차 방정식 f(x)=a2x2+a1x+a0에 대입하면, a2+a1+a0=8, 9a2+3a1+a0= 10, 8a2+5a1+a0=11이므로, 이 식을 풀면 a0=13, a1=10, a2=2를 얻는다. 이와 같이 r 명의 참석자가 복호화키를 찾으려는 문제는 결국 r개의 연립 (r-1)차합동식의 해를 구하는 문제로 유도되고, r명의 참석자가 모인 경우에만 상기 해를 얻을 수 있게 된다.In order to distribute the decryption key 13, a y i value (= f (x i )) is distributed corresponding to each participant x i . Here, when three or more attendees gather together and use their private keys to obtain their respective public keys and function values according to the public keys, the quadratic equations can be solved using them to obtain the decryption key 13, which is a constant term of the quadratic equations. Can be. If attendees 1, 3, and 5 are assembled, assign their values to the quadratic equation f (x) = a 2 x 2 + a 1 x + a 0 , a 2 + a 1 + a 0 = 8, 9a 2 Since + 3a 1 + a 0 = 10, 8a 2 + 5a 1 + a 0 = 11, solving this equation gives a 0 = 13, a 1 = 10, and a 2 = 2. As such, the problem of r participants finding the decryption key is ultimately led to a solution of r simultaneous (r-1) differential joint equations, and the solution can be obtained only when r participants gather.

이를 일반화하면, 선택된 다항식이 Zp위에서 다음 수학식 6과 같고Generalizing this, the selected polynomial is equal to

[수학식 6][Equation 6]

f(x) = a0+ a1x + ... + at-1xt-1mod pf (x) = a 0 + a 1 x + ... + a t-1 x t-1 mod p

인증된 참여자 각각에게 비밀열쇠의 부분열쇠 yi를 주었다고 가정할 때, 임의의 t명이 모이면, 부분집합 {x1, ... ,xt} 및 {y1, ... ,yt}이 주어지고 다음 수학식 7의 연립합동식을 얻는다.Assuming that each authenticated participant is given a subkey y i of a secret key, if any t names are gathered, the subsets {x 1 , ..., x t } and {y 1 , ..., y t } Is given and the system of joint equations

[수학식 7][Equation 7]

이 식을 행렬 합동식으로 변환하면, 다음 수학식 7이 되고,If we convert this equation to a matrix congruence equation, we get

[수학식 8][Equation 8]

이때 계수 행렬은 반데르몬드(Vandermonde) 행렬이 되며, 이 행렬을 A라 놓으면 A의 행렬식은 잘 알려진 정리에 의하여, 다음 수학식 8이 된다.In this case, the coefficient matrix becomes a Vandermonde matrix, and if this matrix is A, the determinant of A becomes Equation 8 according to a well-known theorem.

[수학식 9][Equation 9]

이때, 각 참여자가 서로 다른 몫을 가지고 있다고 가정하면, 임의의 ij≠ ikmod p에 대하여 xi≠ ximod p이므로 det A = 0 mod p이다. 따라서 행렬 A는 역행렬을 가지므로 어렵지 않게 합동식의 해를 구할 수 있으며 복호화키를 계산할 수 있다. 상기 합동식의 해를 구하는 다른 방법으로는 잘 알려진 라그랑제 보간법 등 통상의 수학적 방법을 사용할 수도 있다.In this case, assuming that each participant has a different quotient, det A = 0 mod p since x i ≠ x i mod p for any i j ≠ i k mod p. Therefore, since matrix A has an inverse matrix, it is not difficult to solve the joint equation and calculate the decryption key. As another method for solving the joint equation, conventional mathematical methods such as the well-known Lagrangian interpolation method may be used.

도 3은 본 발명의 일 실시예에 따른 공개키 방식을 이용한 다자간 비밀공유 방법에 의하여 데이터를 암호화 및 복호화하는 단계를 설명하는 플로우 챠트이다. 도 3에 도시된 바와 같이, 본 발명의 방법에 의하여 파일을 암호화 및 복호화하기 위하여는 먼저 데이터 열람이 가능하도록 인증된 집단 구성원(구성원수: n)이 인증 서버에 접속한 후, 공개키를 등록하고 사용자의 개인키를 교부받는다(S1). 다음으로 등록된 사용자의 공개키를 전송받고(S2), 상기 공개키를 이용하여 데이터를 암호화하고, 데이터 열람을 허용할 집단 구성원 중에서 데이터를 열람할 수 있는 최소 인원수 r (여기서, 1≤ r ≤ n이다.)을 설정한다(S3). 상기 정보가 입력되면 데이터의 암호화 프로그램은 데이터를 열람할 수 있는 최소 인원수 r의 공개키에 의하여 규정되는 함수 f(x)를 생성하고, 각 공개키에 따른 함수 f(x)의 함수값과 상기 함수 f(x)에 관한 정보를 암호화된 데이터 정보와 함께 저장한다(S4).3 is a flowchart illustrating a process of encrypting and decrypting data by a multilateral secret sharing method using a public key method according to an embodiment of the present invention. As shown in Fig. 3, in order to encrypt and decrypt a file by the method of the present invention, a group member (number of members: n) authorized to view data is first connected to an authentication server, and then a public key is registered. And receives the user's private key (S1). Next, the public key of the registered user is received (S2), the data is encrypted using the public key, and the minimum number of persons r who can view the data among the members of the group to be allowed to access the data (where 1≤ r≤ n is set) (S3). When the information is input, the data encryption program generates a function f (x) defined by the public key of the minimum number of persons r that can view the data, and the function value of the function f (x) corresponding to each public key and the Information about the function f (x) is stored together with the encrypted data information (S4).

이와 같이 암호화된 데이터를 열람하기 위해서는, 상기 데이터의 열람이 가능하도록 인증된 집단 구성원 중, 데이터를 열람할 수 있는 최소 인원수 r이 모여그들의 개인키를 입력한다(S5). 개인키가 입력되면 암호화 프로그램은 먼저 데이터 열람을 허용할 집단 구성원 n의 공개키 정보와 개인키를 비교하여, 개인키의 입력자가 데이터의 열람이 가능하도록 인증된 집단중 1인인지를 확인한 후, 맞으면 공개키 정보와 그 공개키에 대한 함수 f(x)값을 돌려준 다음(S6), 얻어진 최소 인원수 r의 공개키 및 r개의 함수값 f(x)에 의하여 함수 f(x)의 정보를 산출하며(S7), 이때 산출된 f(x)에 관한 특정 정보, 예를 들면 함수 f(x)의 계수를 암호화된 데이터의 복호화키로서 사용하여 암호화된 데이터를 복호화(S8)한다.In order to view the encrypted data as described above, among the members of the group authorized to view the data, the minimum number r who can view the data is gathered to input their private keys (S5). When the private key is entered, the encryption program first compares the private key with the public key information of group member n, which is allowed to view the data, and checks whether the inputter of the private key is one of the groups authorized to access the data. After returning the public key information and the function f (x) value for the public key (S6), the information of the function f (x) is calculated based on the obtained public key of the minimum number of persons r and the r function values f (x). In operation S7, the encrypted data is decrypted (S8) using specific information about f (x) calculated at this time, for example, the coefficient of the function f (x) as the decryption key of the encrypted data.

본 발명에 따른 공개키 방식을 이용한 다자간 비밀공유 방법은 암호화된 메일의 전송 및 복호화에도 유용하게 사용될 수 있으며, 도 4는 이와 같이 본 발명의 비밀공유 방법에 의하여 메일을 송, 수신하는 단계를 설명하는 플로우 챠트이다. 도 4에 도시된 바와 같이, 본 발명의 방법에 의하여 메일을 송수신 하는 과정은 공개키 등록 및 개인키 교부 과정(S1), 공개키 전송과정(S2), 데이터 암호화 및 최소 인원수 설정 과정(S3), 함수 f(x) 생성, 각 공개키에 따른 함수 f(x)의 함수값, 상기 함수 f(x)에 관한 정보를 저장하는 과정(S4)은 도 3에서 설명한 바와 같고, 이와 같이 암호화된 메일 또는 암호화된 첨부파일을 전송 및 수신한다(S6). 이와 같이 수신된 암호의 복호화 과정(S6 내지 S9)은 도 3의 단계 S5 내지 S8과 유사한 과정으로 이루어진다.The multi-party secret sharing method using the public key method according to the present invention can be usefully used for transmission and decryption of encrypted mail. FIG. 4 illustrates the steps of sending and receiving mail by the secret sharing method of the present invention. This is a flow chart. As shown in Figure 4, the process of sending and receiving mail by the method of the present invention is a public key registration and private key issuing process (S1), public key transmission process (S2), data encryption and the minimum number of people setting process (S3) , A function f (x) generation, a function value of the function f (x) according to each public key, and a process of storing information about the function f (x) (S4) are the same as described with reference to FIG. Send and receive the mail or encrypted attachment (S6). The decryption process (S6 to S9) received in this way is a similar process to the steps S5 to S8 of FIG.

이와 같은 본 발명의 공개키 방식을 이용한 다자간 비밀공유 방법에 의하여문서, 데이터, 메일, 메일의 첨부파일에 다수인이 공동으로 암호화하고 서명을 하여 문서의 위조나 변조를 막을 수 있고, 문서 등을 암호화한자가 특정 그룹의 최소 1인 이상이 모여야만 문서의 복호화가 가능하도록 설정할 수 있다. 따라서 본 발명의 공개키 방식을 이용한 다자간 비밀공유 방법은 다수의 인증자에게 동시에 암호화된 메일을 전송할 수 있으며, 부서별 차별화된 보안등급이 필요한 업체에서 자료를 공유할 때, 지점이나 해외지사가 많은 업체에서 문서를 송,수신할 때, 고객의 중요정보를 수집/관리하는 업체에서 고객의 정보를 암호와 하여 보관할 때 유용하게 사용할 수 있다. 특히 다수의 사람들이 함께 모여 결재를 하거나, 특정의 사람들이 모인 상태에서만 공개되어야 하는 유언장의 암호화 등에 유용하게 사용될 수 있다.By using a multi-party secret sharing method using the public key method of the present invention, a plurality of people jointly encrypt and sign documents, data, mails, and attachments of mails to prevent forgery or alteration of documents, Encryptor can be set to be able to decrypt the document only when at least one person in a specific group has gathered. Therefore, the multi-party secret sharing method using the public key method of the present invention can transmit encrypted mail to multiple authenticators at the same time, when sharing data from a company that requires a differentiated security level by department, many branches or overseas branches When sending and receiving documents in, the company that collects / manages important customer information can be useful when storing customer information with password. In particular, a large number of people can come together to make a payment, or it can be usefully used for encryption of a will that must be disclosed only when a certain people are gathered.

이상 상술한 바와 같이, 본 발명의 공개키 방식을 이용한 다자간 비밀공유 방법은 하나의 중요 문서를 다수의 인증된 사용자가 위조나 변조없이 보관, 관리할 수 있으며, 다수의 인증된 사용자가 공동으로 또는 단독으로 자신들의 개인키를 이용하여, 암호화된 문서를 복호화할 수 있다. 또한 본 발명의 공개키 방식을 이용한 다자간 비밀공유 방법은 메일의 첨부 파일을 암호화하거나, 여러 사람에게 동시에 같은 메일을 암호화해서 전송할 수 있고, 인증된 각 사용자는 자신의 개인키를 이용하여 전송된 메일을 복호화할 수 있다.As described above, the multi-party secret sharing method using the public key method of the present invention can store and manage one important document without forgery or tampering by a plurality of authenticated users, By using their private key alone, encrypted documents can be decrypted. In addition, multi-party secret sharing method using the public key method of the present invention can encrypt the attachment of the e-mail, or send the same e-mail to multiple people at the same time, each authenticated user is sent by using his private key Can be decoded.

Claims (4)

데이터 열람이 가능하도록 인증된 집단 구성원(구성원수: n)이 인증 서버에 접속한 후, 공개키를 등록하고 개인키를 교부받는 과정;Registering a public key and issuing a private key after a group member (number of members: n) authorized to view data is connected to the authentication server; 인증서버로부터 인증된 사용자의 공개키를 전송받아 데이터를 암호화하고, 상기 집단 구성원 중에서 데이터를 열람할 수 있는 최소 인원수 r (여기서, 1≤ r ≤ n이다.)을 설정하는 과정;Receiving the public key of the authenticated user from the authentication server, encrypting the data, and setting a minimum number r (where 1 ≦ r ≦ n) of the group members to view the data; 상기 최소 인원수 r의 공개키에 의하여 규정되는 함수 f(x)를 생성하고, 각 공개키에 따른 함수 f(x)의 함수값과 상기 함수 f(x)에 관한 정보를 암호화된 데이터와 함께 저장하는 과정;Generate a function f (x) defined by the public key of the minimum number of persons r, and store the function value of the function f (x) and the information about the function f (x) according to each public key together with the encrypted data. Process of doing; 상기 인증된 집단 구성원중 중 r명이 모여 그들의 개인키를 입력하는 과정;R of the authenticated group members gather to enter their private keys; 입력된 개인키와 상기 집단 구성원의 공개키 정보를 비교하여, 개인키의 입력자가 상기 인증된 집단 중 1인인지를 확인한 후, 상기 개인키에 해당하는 공개키 정보와 그 공개키에 대한 함수 f(x)값을 얻는 과정;After comparing the input private key with the public key information of the group member, confirming that the inputter of the private key is one of the authenticated groups, and then, the public key information corresponding to the private key and the function f ( x) the process of obtaining a value; 얻어진 최소 인원수 r의 공개키 및 r개의 함수값 f(x)에 의하여 함수 f(x)의 정보를 산출하는 과정; 및Calculating information of the function f (x) based on the obtained public key of the minimum number r and r function values f (x); And 산출된 f(x)에 관한 정보를 복호화키로 사용하여 암호화된 데이터를 복호화하는 과정을 포함하는 공개키 방식을 이용한 다자간 비밀공유 방법.A multi-party secret sharing method using a public key method, comprising: decrypting encrypted data using the calculated information about f (x) as a decryption key. 제1항에 있어서, 상기 암호화된 데이터는 메일 또는 메일에 첨부된 파일이며, 상기 각 공개키에 따른 함수 f(x)의 함수값과 상기 함수 f(x)에 관한 정보를 상기 암호화된 데이터와 함께 저장한 후, 이를 전송하고 수신하는 과정을 더욱 포함하는 공개키 방식을 이용한 다자간 비밀공유 방법.The method of claim 1, wherein the encrypted data is a mail or a file attached to the mail, wherein the function value of the function f (x) and the information about the function f (x) according to each public key are compared with the encrypted data. Multi-party secret sharing method using a public key method further comprising the step of storing together, and transmitting and receiving it. 제1항에 있어서, 상기 데이터를 열람할 수 있는 최소 인원수 r의 공개키에 의하여 규정되는 함수 f(x)는 r-1차 다항식인 것을 특징으로 하는 공개키 방식을 이용한 다자간 비밀공유 방법.The method of claim 1, wherein the function f (x) defined by the public key of the minimum number of persons r that can access the data is an r-1 order polynomial. 제3항에 있어서, 상기 복호화키는 상기 r-1차 다항식 f(x)의 계수인 것을 특징으로 하는 공개키 방식을 이용한 다자간 비밀공유 방법.4. The method of claim 3, wherein the decryption key is a coefficient of the r-th order polynomial f (x).
KR1020010027129A 2001-05-18 2001-05-18 Secret sharing method between authorized persons using public key cryptography KR20020088522A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010027129A KR20020088522A (en) 2001-05-18 2001-05-18 Secret sharing method between authorized persons using public key cryptography

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010027129A KR20020088522A (en) 2001-05-18 2001-05-18 Secret sharing method between authorized persons using public key cryptography

Publications (1)

Publication Number Publication Date
KR20020088522A true KR20020088522A (en) 2002-11-29

Family

ID=27705360

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010027129A KR20020088522A (en) 2001-05-18 2001-05-18 Secret sharing method between authorized persons using public key cryptography

Country Status (1)

Country Link
KR (1) KR20020088522A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100561438B1 (en) * 2004-07-09 2006-03-17 삼성전자주식회사 Revoking method using lagrange interpolation and method for transmitting contents using the same
KR100864367B1 (en) * 2006-07-20 2008-10-17 성균관대학교산학협력단 Method for providing safety of web service in ubiquitous circumstance
KR101022788B1 (en) * 2004-01-29 2011-03-17 주식회사 케이티 Apparatus and method of data preservating in public key infrastructure based on group

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101022788B1 (en) * 2004-01-29 2011-03-17 주식회사 케이티 Apparatus and method of data preservating in public key infrastructure based on group
KR100561438B1 (en) * 2004-07-09 2006-03-17 삼성전자주식회사 Revoking method using lagrange interpolation and method for transmitting contents using the same
KR100864367B1 (en) * 2006-07-20 2008-10-17 성균관대학교산학협력단 Method for providing safety of web service in ubiquitous circumstance

Similar Documents

Publication Publication Date Title
US7860243B2 (en) Public key encryption for groups
KR100734162B1 (en) Method and apparatus for secure distribution of public/private key pairs
US8108678B1 (en) Identity-based signcryption system
US5481613A (en) Computer network cryptographic key distribution system
US5276737A (en) Fair cryptosystems and methods of use
US7715565B2 (en) Information-centric security
EP2348446B1 (en) A computer implemented method for authenticating a user
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
Mihara Quantum identification schemes with entanglements
AU4107193A (en) Verifying secret keys in a public-key cryptosystem
JPH07181892A (en) Jointly owning method of cryptographic key and device therefor
CN111431897B (en) Multi-attribute mechanism attribute-based encryption method with tracking function for cloud-assisted Internet of things
EP1079565A2 (en) Method of securely establishing a secure communication link via an unsecured communication network
KR100582546B1 (en) Method for sending and receiving using encryption/decryption key
CN103493428A (en) Data encryption
WO1993021708A1 (en) Verifying secret keys in a public-key cryptosystem
Newman et al. Public key management for network security
CN110740034B (en) Method and system for generating QKD network authentication key based on alliance chain
CN116743358A (en) Repudiation multi-receiver authentication method and system
JP2006227411A (en) Communications system, encryption device, key generator, key generating method, restoration device, communication method, encryption method, and cryptography restoration method
KR20020088522A (en) Secret sharing method between authorized persons using public key cryptography
CN114726544B (en) Method and system for acquiring digital certificate
Nair et al. An efficient group authentication mechanism supporting key confidentiality, key freshness and key authentication in cloud computing
Guthery Group authentication using the naccache-stern public-key cryptosystem
Hawthorne An alternative to public key encryption

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application