KR20130135018A - Encryption and decryption method and signature method based on method for generating secret key, and recording medium storing program for executing method of the same in computer - Google Patents
Encryption and decryption method and signature method based on method for generating secret key, and recording medium storing program for executing method of the same in computer Download PDFInfo
- Publication number
- KR20130135018A KR20130135018A KR1020120128616A KR20120128616A KR20130135018A KR 20130135018 A KR20130135018 A KR 20130135018A KR 1020120128616 A KR1020120128616 A KR 1020120128616A KR 20120128616 A KR20120128616 A KR 20120128616A KR 20130135018 A KR20130135018 A KR 20130135018A
- Authority
- KR
- South Korea
- Prior art keywords
- secret key
- user
- sub
- uid
- root
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체에 관한 것으로, 더욱 상세하게는, 비밀키 생성부를 계층화하여 비밀키를 생성하는 비밀키 생성 장치 방법을 기반으로 한 암복호화 방법 및 서명 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체에 관한 것이다. The present invention relates to an encryption / decryption method and a signature method based on a secret key generation method, and a recording medium recording a program for executing the method on a computer. More specifically, the secret key generation unit is layered to create a secret key. An encryption / decryption method and a signature method based on a secret key generating device method to be generated, and a recording medium recording a program for executing the method on a computer.
최근 컴퓨터 기술의 발달과 통신망의 급속한 확장으로 인해 컴퓨터 관련 자원과 전송되는 데이터들에 대한 보안 문제가 큰 이슈로 부각되고 있다. 이러한 문제를 해결할 수 있는 하나의 대안으로 암호 기반 시스템이 이용되고 있다. 현재까지 가장 크게 기여한 암호 시스템은 공개키 암호 시스템인데, 이와 같은 전통적 공개키 시스템에서는 사용자의 공개키를 미리 인증해야 하고 문제가 발생한 인증서는 유효기간 종료 전이라도 폐기해야 하므로 공개키의 인증서 관리에 관한 어려움이 발생한다. 따라서 개인의 아이디(identity, ID)를 기반으로 하는 아이디(ID) 기반 암호 시스템이 제안되었다. Recently, due to the development of computer technology and the rapid expansion of communication network, security issues regarding computer-related resources and transmitted data are emerging as a big issue. As an alternative to solve this problem, a password-based system is used. The most important contributing system to date is the public key cryptosystem, which requires authentication of the user's public key in advance and the revocation of the problem certificate before the end of its validity period. Difficulties arise. Therefore, an ID (ID) based encryption system based on an individual's identity (ID) has been proposed.
공개키 기반 암호 시스템은 비밀키를 먼저 정하고 공개키를 계산하는 방식을 따른다. 반면, 아이디 기반 암호 시스템은 아이디를 먼저 선택하고 이로부터 비밀키를 계산하며, 비밀키 발급은 키 발행기관(PKG, private key generator)이 아이디로부터 계산하여 비밀채널을 통해 발급한다. Public key-based cryptosystems follow a method of first determining a secret key and then calculating the public key. On the other hand, the ID-based encryption system first selects an ID and calculates a secret key from it, and a private key generator (PKG) calculates a secret key from the ID and issues it through a secret channel.
종래 아이디 기반 암호 시스템은 클라이언트 단에서 수행되는 과정이 느린 단점이 있어서, TDL(Trapdoor Discrete Logarithm) 기반의 새로운 아이디 기반 암호 시스템이 제안되었으나, 이 역시 비밀키 발급이 느리다는 단점이 있다. 따라서 본 발명에서는 사용자 단(클라이언트 단)의 효율성과 키 발급의 효율성을 모두 갖출 수 있는 새로운 기술을 제안하고자 한다. The conventional ID-based cryptosystem has a disadvantage that the process performed at the client end is slow, and a new ID-based cryptosystem based on a TDL (Trapdoor Discrete Logarithm) has been proposed, but this also has a disadvantage of slow secret key issuance. Therefore, the present invention is to propose a new technology that can be equipped with both the efficiency of the user terminal (client stage) and the efficiency of key issuance.
이와 관련된 선행기술을 구체적으로 살펴보면, 한국공개공보 제2005-0037723호(발명의 명칭 : 신원정보를 기반으로 하는 암호 시스템에서의 컨퍼런스 세션키 분배방법)에는 서로 다른 두 임시 비밀키를 선택하여 메시지를 생성하고 세션키 생성용 변수를 생성할 때 세션 개시 개체의 임시 비밀키를 사용하는 프로토콜을 제공하는 방법을 개시하고 있다. 이는 신원 정보 기반의 암호 시스템을 구현하는 단계와 키 공유 프로토콜 단계로 이루어져 신원 정보 기반 암호 시스템은 서명을 제공하는 시스템으로 구성된다. 본 발명은 비밀키를 생성하는 주체를 계층화하여 서브 비밀키 생성부의 비밀키 생성시간을 단축하고자 하는 것이므로 상기 선행기술과 구성상 차이가 있다. Looking at the related art in detail, Korean Laid-Open Publication No. 2005-0037723 (name of the invention: a method for distributing a conference session key in a cryptographic system based on identity information) selects two different temporary secret keys and displays a message. Disclosed is a method for providing a protocol that uses a temporary secret key of a session initiation object when generating and generating variables for generating a session key. It consists of implementing an identity-based cryptographic system and a key sharing protocol phase, and the identity-based cryptographic system consists of a system that provides a signature. The present invention is intended to shorten the secret key generation time of the sub-secret key generation unit by stratifying the subject generating the secret key, which is different from the prior art.
또한, 한국공개공보 제2011-0117169호(발명의 명칭 : ID 기반 인증키 프로토콜을 수행하기 위한 방법 및 장치)에는 암호키 에스크로 문제를 겪지 않는 ID 기반 인증키 동의 프로토콜을 개시하고 있다. 이는 ID 기반 인증키 동의 프로토콜에 관련 된 것으로, 비밀키 생성 주체를 계층화하는 본 발명과는 차이가 있다. In addition, Korean Laid-Open Patent Publication No. 2011-0117169 (name and method for performing an ID-based authentication key protocol) discloses an ID-based authentication key agreement protocol that does not suffer from cryptographic key escrow. This is related to the ID-based authentication key agreement protocol, which is different from the present invention which stratifies the secret key generation subject.
본 발명이 이루고자 하는 기술적 과제는, 아이디 기반 암호 기술의 비밀키 생성부를 계층화하여 클라이언트 단의 경량화 및 비밀키 생성의 효율성을 보장할 수 있는 비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법을 제공하는 데 있다. 또한, 계층화된 비밀키 생성부를 각각 용도에 적합하게 혼합하여 다양한 분야에 활용될 수 있도록 한다.The technical problem to be achieved by the present invention, the encryption and decryption method and the signature method based on the secret key generation method that can ensure the light weight of the client end and the efficiency of secret key generation by layering the secret key generation unit of the ID-based encryption technology To provide. In addition, the hierarchical secret key generation unit can be mixed to suit each purpose so as to be utilized in various fields.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 암복호화 방법은, (e) 암호화된 메시지를 수신하는 사용자 아이디(UID)를 공개키로 이용해서 임의의 랜덤 값(r)을 선택하여 메세지를 암호화하여 암호문(U, V)(U=gr, V=m·(SUID)r)을 생성하여 전송하는 단계; 및 (f) 상기 암호화된 메시지를 수신한 사용자 아이디(UID)에 대응되는 비밀키(skUID, )를 토대로 을 이용하여 메시지를 복원하는 단계;를 포함하며, 상기 사용자 아이디에 대응되는 비밀키는, 루트 마스터 키와 소정의 루트 파라미터를 설정하고 비밀키를 발급할 수 있는 사용자의 수(n)를 설정하여 제1 해쉬 함수를 이용하여 소정의 서브 파라미터를 계산하고 상기 루트 파라미터, 서브 파라미터를 이용하여 상기 설정된 사용자의 수(n)만큼 비밀키 발급이 가능한 제1서브 마스터 키 세트를 생성하고 상기 사용자 아이디에 대해 제2 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 상기 제1서브 마스터 키 세트와 선형 결합하여 생성되는 것을 특징으로 한다. The encryption and decryption method according to the present invention for achieving the above technical problem, (e) using a user ID (U ID ) receiving the encrypted message as a public key to select a random random value (r) to encrypt the message Generating and transmitting cipher texts U and V (U = g r , V = m · (S UID ) r ); And (f) a secret key (sk UID , corresponding to the user ID (U ID ) receiving the encrypted message). Based on Restoring the message using a message, wherein the private key corresponding to the user ID includes: setting a root master key and a predetermined root parameter and setting a number n of users who can issue the secret key; Compute a predetermined sub-parameter using a first hash function and generate a first sub-master key set capable of issuing a private key by the set number n of the user by using the root parameter and the sub-parameter, and assigns to the user ID. Deriving the bit representation value using a second hash function for the first sub-master key set is generated by linearly combining.
상기의 다른 기술적 과제를 달성하기 위한 본 발명에 따른 서명 방법은, (g) 사용자 아이디(UID)에 대응되는 비밀키(skUID, )를 토대로 임의의 랜덤 값(r)을 선택하여 e=H2(gr,m)을 계산하여 서명(σUID,m, σUID,m=(gr, r-e·skUID))을 생성하는 단계; 및 (h) 상기 생성된 서명(σUID,m=(U, V))을 수신한 경우, 송신자의 상기 사용자 아이디(UID)를 이용하여 U=gV·(SUID)H3 (U,m)를 토대로 상기 서명의 유효성을 검증하는 단계;를 포함하며, 상기 사용자 아이디에 대응되는 비밀키는, 루트 마스터 키와 소정의 루트 파라미터를 설정하고 비밀키를 발급할 수 있는 사용자의 수(n)를 설정하여 제1 해쉬 함수를 이용하여 소정의 서브 파라미터를 계산하고 상기 루트 파라미터, 서브 파라미터를 이용하여 상기 설정된 사용자의 수(n)만큼 비밀키 발급이 가능한 제1서브 마스터 키 세트를 생성하고 상기 사용자 아이디에 대해 제2 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 상기 제1서브 마스터 키 세트와 선형 결합하여 생성되는 것을 특징으로 한다. Signature method according to the present invention for achieving the above another technical problem, (g) a secret key (sk UID , corresponding to the user ID (U ID )) Select a random value r and compute e = H 2 (g r , m) to generate a signature (σ UID, m , σ UID, m = (g r , re · sk UID )). Making; And (h) the generated signature (σ UID, m = (U , V)) when receiving, using the user ID of the sender (U ID) U = g V · (S UID) H3 (U, m) verifying the validity of the signature, wherein the secret key corresponding to the user ID includes the number of users who can set a root master key and a predetermined root parameter and issue a secret key (n ) To calculate a predetermined sub-parameter using the first hash function, and to generate a first sub-master key set capable of issuing a secret key for the set number of users (n) using the root parameter and the sub-parameter. And a bit representation value is derived for the user ID by using a second hash function and is linearly combined with the first sub master key set.
본 발명에 따른 비밀키 생성 방법을 기반으로 한 암복호화 방법 및 서명 방법에 의하면, 비밀키 생성부의 계층화를 통해 클라이언트 단의 경량화와 비밀키 생성의 효율성을 도모할 수 있다. 또한, 계층화된 비밀키 생성부를 각각 용도에 적합하게 혼합하여 다양한 분야에 활용될 수 있다.According to the encryption / decryption method and signature method based on the secret key generation method according to the present invention, it is possible to reduce the weight of the client end and efficiency of secret key generation through the layering of the secret key generation unit. In addition, the hierarchical secret key generation unit may be mixed for each purpose and utilized in various fields.
도 1은 본 발명에 따른 비밀키 생성 장치 구성을 도시한 블록도,
도 2는 본 발명에 따른 비밀키 생성 방법이 구현되는 원리를 간략하게 도시한 도면,
도 3 내지 도 4는 본 발명에 따른 비밀키 생성 방법에 의해 생성된 비밀키를 토대로 암복호화하는 과정과 서명 생성 및 전송 과정을 도시한 도면, 그리고,
도 5는 본 발명에 따른 비밀키 생성 방법을 도시한 도면이다. 1 is a block diagram showing the configuration of a secret key generating device according to the present invention;
2 is a view briefly illustrating a principle of implementing a secret key generation method according to the present invention;
3 to 4 are diagrams illustrating a process of decrypting and decrypting a signature and generating and transmitting a signature based on a secret key generated by a secret key generation method according to the present invention; and
5 is a diagram illustrating a secret key generation method according to the present invention.
이하에서 첨부의 도면들을 참조하여 본 발명에 따른 비밀키 생성 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다. Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the apparatus and method for secret key generation according to the present invention.
도 1은 본 발명에 따른 비밀키 생성 장치(100)의 구성을 도시한 블록도이고, 도 2는 본 발명에 따른 비밀키 생성 방법이 구현되는 원리를 간략하게 도시한 도면이다. 도 1을 참조하면, 비밀키 생성 장치(100)는 루프 비밀키 생성부(110) 및 서브 비밀키 생성부(120)를 포함할 수 있다.FIG. 1 is a block diagram showing the configuration of a secret
비밀키 생성 장치(100)는 사용자 아이디에 대응하는 비밀키를 생성한다. 본 발명에 따른 비밀키 생성 장치(100)는 비밀키 생성부가 계층화되어 루트 비밀키 생성부(110), 서브 비밀키 생성부(120)를 갖는다. The secret
루트 비밀키 생성부(110)는 비밀키를 생성할 수 있는 루트 마스터 키(mkRoot)를 보유한다. 이때 루트 마스터 키(mkRoot)는 (p, q) 형태로 이루어질 수 있으며, 이때 p와 q는 를 만족하는 B-스무스(smooth)인 소수로 정의할 수 있다. 루트 마스터 키(mkRoot, (p, q))는 서브 비밀키 생성부(120) 또는 루트 비밀키 생성부(110)로부터 직접 비밀키를 발급받는 사용자들에게 비밀키를 생성해 줄 수 있는 마스터 비밀 정보를 갖고 있다. 따라서 도 2를 참조하면, 루트 비밀키 생성부(110)는 사용자(x)에게 직접 사용자(x) 아이디에 대응하는 비밀키를 생성하여 제공할 수 있다. 이러한 경우, 루트 비밀키 생성부(110)는 사용자로부터 사용자 아이디를 전송받아 사전 계산 테이블 데이터를 참조하여 이산 로그 값을 도출하여 사용자에게 비밀키를 발급한다. The root secret
또한 루트 비밀키 생성부(110)는 루트 비밀키 생성부 파라미터(N, G, g, H1, H2)를 설정하며, 각각의 파라미터는 다음과 같이 정의될 수 있다. N은 인 합성수, G는 ZN(ZN={0,1,...n-1}, 유한환)의 최대 순환 부분군, g는 G의 생성원을 말한다. H1은 제1 해쉬 함수로 {0,1}*→G로 정의되는 풀 도메인 해쉬 함수 일 수 있으며, 서브 비밀키 생성부(120)나 루트 비밀키 생성부(110)로부터 직접 비밀키를 발급받는 사용자의 아이디를 입력값으로 하여 이산로그를 풀 수 있는 군 G로 매핑하는 함수이다. 그리고 H2는 제2 해쉬 함수로 {0,1}*→ZN로 정의되는 랜덤 해쉬 함수일 수 있으며, 후술할 서명 방법에서 랜덤 해쉬 함수로 사용될 수 있다. 이러한 루트 비밀키 생성부 파라미터(N, G, g, H1, H2)는 본 아이디 기반 암호화 시스템(100)을 운용하기 위해 공개되는 시스템 파라미터이고, 서브 비밀키 생성부(120) 또는 본 아이디 기반 암호화 시스템을 사용하는 사용자들에게 비밀키를 제공할 수 있는 연산 과정에 이용된다. In addition, the root
루트 비밀키 생성부(110)는 루트 마스터 키 및 소정의 파라미터를 사용하여 사용자 아이디에 대응하는 비밀키를 발급할 수 있는 권한을 가진 서브 비밀키 생성부(120)에게 사전에 설정되어 있는 제한 개수 내에서 비밀키를 생성할 수 있는 제1서브 마스터 키 세트를 발급한다. 이를 위해 루트 비밀키 생성부(110)는 서브 비밀키 생성부(120)로부터 서브 비밀키 생성부 아이디(GID) 및 서비스 사용자 수(n) 정보를 수신하여 서브 비밀키 생성부 아이디(GID)에 대한 인증 작업을 수행한다. 이러한 인증 작업은 공개되지 않은 채널(비밀 채널)에서 수행될 수 있다. The root secret
도 5를 참조하면, 루트 비밀키 생성부(110)는 상술한 서브 비밀키 생성부 아이디(GID)에 대한 인증을 수행하여 인정되면, 서브 비밀키 생성부 아이디(GID)와 서비스 사용자 수(n)인 (GID, n)을 입력 값으로 소정의 해쉬 함수를 수행하여 나온 결과값들의 이산 로그 값을 계산한다. 이때 (GID, 1)부터 (GID, n)까지 총 n개를 입력값으로 하여 해쉬 함수 수행 결과 n개의 이산 로그 값을 얻게 된다. 이렇게 나온 이산 로그 값들이 제1서브 마스터 키 세트(mkGID)이며, 루트 비밀키 생성부(110)는 제1서브 마스터 키 세트(mkGID)를 서브 비밀키 생성부(120)로 비밀 채널을 통해 전송하게 된다. 여기서 mkGID는 (x1, x2,..., xn)(단, gi=gxi이고, xi=logggi(1≤i≤n))이다. Referring to FIG. 5, if the root secret
이때 소정의 해쉬 함수는 풀 도메인 해쉬 함수를 이용할 수 있고, 를 계산하여 서브 비밀키 생성부 파라미터(gi, 1≤i≤n)를 생성할 수 있다. 여기서 H1은 제1 해쉬 함수로 {0, 1}*→G로 정의되는 풀 도메인 해쉬 함수 일 수 있고, GID는 서브 비밀키 생성부(120)의 아이디를 의미한다. In this case, the predetermined hash function may use a full domain hash function. The sub secret key generator (g i , 1 ≦ i ≦ n) may be generated by calculating. Here, H 1 may be a full domain hash function defined as {0, 1} * → G as the first hash function, and G ID may indicate an ID of the sub secret
서브 비밀키 생성부(120)는 제1서브 마스터 키 세트를 제공받아 사전에 설정된 사용자의 수 이내로 사용자 아이디에 대응하는 비밀키를 생성하여 사용자에게 발급한다. 서브 비밀키 생성부(120)는 서비스 제공자(service provider)별로 설정될 수 있다. 여기서 서비스 제공자(service provider)는 모바일 단말 상에 구현되는 다양한 어플리케이션일 수 있으나, 이에 한정되지는 않는다. The sub secret
서브 비밀키 생성부(120)는 서브 비밀키 생성부에 할당된 사용자 아이디에 대해 소정의 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 제1서브 마스터 키 세트와 선형 결합하여 사용자 아이디에 대응하는 비밀키를 도출하여 사용자에게 전송한다. 즉, 서브 비밀키 생성부(120)는 사용자 아이디(UID)에 대해 랜덤 해쉬 함수(H3)를 이용하여 H3(UID)=b1b2…bn(2진표현, 즉, bi∈{0, 1})을 계산하고, 계산된 값(b1, b2,…, bn )을 제1서브 마스터 키 (x1, x2,..., xn)와 선형 결합하여 사용자 아이디(UID)에 대응하는 비밀키(skUID, )를 계산하여 사용자에게 공개되지 않은 채널(비밀채널)을 통해 전송한다. 여기서, H3는 제3 해쉬 함수로 {0,1}*→{0,1}n로 정의되는 랜덤 해쉬 함수일 수 있다. 이때, 랜덤 해쉬 함수(H3) 결과 값은 계산상의 편의성을 위해 w-스파스(sparse)한 형태로 bi(1≤i≤n) 중 w 개(1≤i≤n)만 '0'이 아닌 값, 즉, '1'이 되도록 할 수 있다. The sub secret
따라서 종래 TDL(Trapdoor Discrete Logarithm) 군에서 정의된 아이디 기반 암호 기술의 경우 사전계산 테이블(pre-computation table)을 참고하여 이산 로그 결과값을 도출하였지만, 본 발명은 서브 비밀키 생성부(120)의 비트 섬메이션(bit summation) 계산으로 비밀키를 생성할 수 있어 비밀키 생성 시간이 단축된다. Accordingly, in the case of the ID-based encryption technology defined in the conventional TDL group, the discrete log result is derived by referring to a pre-computation table. However, the present invention provides a method of sub-secret
서브 비밀키 생성부(120)는 사전에 설정된 사용자의 수를 초과하여 사용자에게 비밀키를 발급하게 되면 암호학적으로 비밀키가 노출될 우려가 있다. 따라서 사전에 설정된 수를 초과하여 비밀키를 제공하고자 하는 경우 서브 비밀키 생성부(120)는 루트 비밀키 생성부(110)에게 추가적인 서브 마스터 키 세트를 발급해 줄 것을 요청할 수 있다. 루트 비밀키 생성부(110)는 인증된 서브 비밀키 생성부(120)로부터 서브 마스터 키 세트 발급 요청을 수신하면 추가로 요청된 사용자의 수만큼 비밀키를 생성할 수 있는 제2서브 마스터 키 세트를 생성하여 서브 비밀키 생성부(120)로 제공할 수 있다. 이 경우 과금부(미도시)는 제2서브 마스터 키 세트에 대해 과금 할 수 있다. 과금은 비밀키 발급 가능한 사용자 수에 따라 비례해서 설정할 수 있으며, 사용자 수 * 단가의 형태로 책정될 수 있다. 이러한 과금부(미도시)는 루프 비밀키 생성부(110) 내에 포함될 수 있으며, 독립적으로 존재할 수 있다. 이러한 과금의 형태를 통해 서브 비밀키 생성부(120)는 루트 비밀키 생성부(110)의 허락 없이 임의로 사용자 수를 늘릴 수 없으므로 과금 체계를 명확하게 정립할 수 있다. When the sub-secret
이러한 비밀키 생성 장치(100)를 기반으로 암복호화 장치(미도시)와 서명 장치(미도시)를 구현할 수 있다. 암복호화 장치는 암호화부 및 복호화부를 가지며, 서명 장치는 서명 생성부 및 서명 검증부를 가질 수 있다. An encryption / decryption device (not shown) and a signature device (not shown) may be implemented based on the secret
암호화부는 메시지(m)에 대하여 사용자 아이디가 UID인 사용자에게 암호화된 메시지를 송신하는 경우, 송신자는 먼저 사용자 아이디(UID)를 입력값으로 해쉬 함수를 계산하여 UID의 비트 리프리젠테이션 을 계산한다. 송신자는 송신자 및 수신자(UID)가 포함된 서브 비밀키 생성부(120)의 공개된 시스템 파라미터와 비트 리프리젠테이션 값을 이용하여 를 연산한다. 송신자는 임의의 랜덤 값(r)을 선택하여 메시지(m)에 대한 암호문(gr, m·(SUID)r)을 생성하여 이를 수신자(UID)에게 전송한다. When the encryption unit transmits an encrypted message to the user whose user ID is U ID for the message m, the sender first calculates a hash function using the user ID (U ID ) as an input value, thereby bit-representing the U ID . . The sender uses the public system parameters and bit representation values of the sub-secret
암호화된 메시지를 수신한 사용자(UID)의 복호화부는 환 ZN의 두 개의 원소로 이루어진 한 쌍의 암호문 (U, V)를 수신한다. 사용자(UID)는 자신이 포함된 서브 비밀키 생성부(120)로부터 사용자 아이디(UID)에 대응하여 발급받은 비밀키 를 이용하여 를 계산한다. 이때, 정상적인 암호화 과정을 통해 생성된 암호문이라면 U=gr, V=m·(SUID)r이고, UID에 대응되는 정당한 비밀키를 소유한 사용자라면 비밀키()는 의 밑(base)을 g로 하는 이산로그 값(즉, )이므로, 상기 를 계산한 결과는 메시지 m과 같다. The decryption unit of the user (U ID ) receiving the encrypted message receives a pair of ciphertexts (U, V) consisting of two elements of the ring Z N. The user (U ID ) is a secret key issued in response to the user ID (U ID ) from the sub-secret
서명 생성부는 사용자 아이디에 대응되는 비밀키(skUID, )를 토대로 임의의 랜덤 값(r)을 선택하여 e=H2(gr,m)을 계산하여 서명(σUID ,m, σUID ,m=(gr, r-e·skUID))을 생성한다. 서명 검증부는 생성된 서명 (σUID ,m=(U, V))에 대해, 서명을 수신한 수신한 수신자는 송신자의 아이디(UID)를 이용하여 gV·(SUID)H3 (U,m)를 계산하고 이 값이 U와 같은지 확인(U=gV·(SUID)H3 (U,m)성립 여부 확인)하여 서명의 유효성을 검증한다. 여기서, m은 메시지, r은 임의의 랜덤 값으로 r∈ZN, 이다. Signature generation unit secret key (sk UID , corresponding to the user ID) Select a random random value r and compute e = H 2 (g r , m) to generate a signature (σ UID , m , σ UID , m = (g r , re · sk UID )). do. For the generated signature (σ UID , m = (U, V)), the signature verification unit uses the sender's ID (U ID ) to receive the signature g V · (S UID ) H3 (U, m) and verify that the value is equal to U (U = g V · (S UID ) H3 (U, m) is established) to validate the signature. Where m is the message, r is any random value, r∈Z N , to be.
도 3 내지 도 4는 본 발명에 따른 비밀키 생성 방법에 의해 생성된 비밀키를 토대로 암복호화하는 과정과 서명 생성 및 전송 과정을 도시한 도면이고, 도 5는 본 발명에 따른 비밀키 생성 방법을 도시한 도면이다. 3 to 4 illustrate a process of decrypting and decrypting a signature and generating and transmitting a signature based on a secret key generated by the secret key generation method according to the present invention, and FIG. 5 illustrates a secret key generation method according to the present invention. Figure is shown.
도 3 내지 도 5를 참조하면, 비밀키를 생성할 수 있는 루트 마스터 키를 설정하고 소정의 루트 파라미터를 설정하여 사전에 설정되어 있는 제한 개수 내에서 비밀키를 발급할 수 있는 권한을 가진 서브 비밀키 생성부(120)에게 제한 개수 내에서 비밀키를 생성할 수 있는 제1서브 마스터 키 세트를 발급하는 루트 비밀키 생성부(110)를 셋업한다(S310, S410). 3 to 5, a sub-secret having the authority to issue a secret key within a preset limit by setting a root master key capable of generating a secret key and setting a predetermined root parameter. A root secret
또한, 비밀키 발급 권한을 가지고자 하는 사용자의 수를 사전에 설정하여 제1서브 마스터 키 세트를 제공받아 사전에 설정된 개수 내에서 사용자 아이디에 대응하는 비밀키를 생성하여 사용자에게 발급하는 서브 비밀키 생성부(120)를 셋업한다(S320, S420). In addition, by setting the number of users to have the authority to issue a secret key in advance, a sub-secret key that is provided to the first sub master key set, generates a secret key corresponding to the user ID within a preset number, and issues it to the user.
루트 비밀키 생성부(110)는 서브 비밀키 생성부 파라미터로부터 서브 비밀키 생성부의 아이디와 사전에 설정된 사용자의 수를 제공받아 서브 비밀키 생성부 아이디를 인증하고(S330, S430), 소정의 해쉬 함수를 수행하여 나온 출력 값들의 이산로그 값을 계산해서 나온 제1서브 마스터 키 세트를 서브 비밀키 생성부(120)로 전송한다(S340, S440). 서브 비밀키 생성부 아이디에 대한 인증이 실패하는 경우, 서브 비밀키 생성부(120)에 대한 서브 마스터 키 세트 발급을 중지한다.The root secret
서브 비밀키 생성부(120)는 서브 비밀키 생성부(120)에 할당된 사용자 아이디에 대해 소정의 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 제1서브 마스터 키 세트와 선형 결합하여 사용자 아이디에 대응하는 비밀키를 도출하여 사용자에게 전송한다(S350, S450).The sub secret
이러한 비밀키 발급 방법에 기반하여 암복호화 기술을 구현하는 경우, 수신자 아이디를 이용하여 메세지를 암호화하여 전송한다(S360). 그리고 암호화된 메시지를 수신하게 되면 수신자 아이디에 대응되는 비밀키를 이용하여 암호문을 복호화한다(S370). 또한 이러한 비밀키 발급 방법에 기반하여 서명 기술을 구현하는 경우, 메시지를 송신하고자 하는 사용자 아이디에 대응되는 비밀키를 이용하여 전송하고자 하는 메시지에 서명을 생성하여 전송한다(S460). 그리고 수신된 서명이 메시지를 송신한 사용자 아이디와 메시지에 대해 유효한지 검증하게 된다(S470). When the encryption / decryption technique is implemented based on the secret key issuing method, the message is encrypted and transmitted using the receiver ID (S360). When the encrypted message is received, the cipher text is decrypted using the secret key corresponding to the receiver ID (S370). In addition, when the signature technology is implemented based on the secret key issuing method, the signature is generated and transmitted using the secret key corresponding to the user ID to which the message is to be transmitted (S460). In addition, the received signature is verified whether the user ID and the message that transmit the message are valid (S470).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 유무선 통신망으로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and a carrier wave (transmission via the Internet). In addition, the computer-readable recording medium may be distributed to a computer system connected to a wired / wireless communication network, and a computer-readable code may be stored and executed in a distributed manner.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation in the embodiment in which said invention is directed. It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the scope of the appended claims.
100 : 비밀키 생성 장치 110 : 루트 비밀키 생성부
120 : 서브 비밀키 생성부100: secret key generator 110: root secret key generator
120: sub secret key generation unit
Claims (4)
(f) 상기 암호화된 메시지를 수신한 사용자 아이디(UID)에 대응되는 비밀키(skUID, )를 토대로 을 이용하여 메시지를 복원하는 단계;를 포함하며,
상기 사용자 아이디에 대응되는 비밀키는, 루트 마스터 키와 소정의 루트 파라미터를 설정하고 비밀키를 발급할 수 있는 사용자의 수(n)를 설정하여 제1 해쉬 함수를 이용하여 소정의 서브 파라미터를 계산하고 상기 루트 파라미터, 서브 파라미터를 이용하여 상기 설정된 사용자의 수(n)만큼 비밀키 발급이 가능한 제1서브 마스터 키 세트를 생성하고 상기 사용자 아이디에 대해 제2 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 상기 제1서브 마스터 키 세트와 선형 결합하여 생성되는 것을 특징으로 하는 암복호화 방법:
여기서 r은 임의의 랜덤 값으로 r∈ZN, U=gr, V=m·(SUID)r), m은 암호화된 메시지, m'은 복호화된 메시지, g는 G의 생성원, G는 ZN(ZN={0,1,...N-1} 유한환)의 최대 순환 부분군, 그리고, 이다. (e) Encrypt the message by selecting a random random value (r) using the user ID (U ID ) receiving the encrypted message as the public key (U = V r (U = g r , V = m ·) Generating and transmitting (S UID ) r ); And
(f) A secret key (sk UID , corresponding to the user ID (U ID ) receiving the encrypted message) Based on Restoring the message using;
In the secret key corresponding to the user ID, a root master key and a predetermined root parameter are set, and a number n of users who can issue the secret key is set to calculate a predetermined subparameter using the first hash function. Generate a first sub-master key set capable of issuing a secret key as many as the set number of users (n) using the root parameter and the sub-parameter, and use a second hash function for the user ID. Decryption method and generated by linear combination with the first sub master key set:
Where r is any random value r∈Z N , U = g r , V = m · (S UID ) r ), m is an encrypted message, m 'is a decrypted message, g is the origin of G, G Is the largest cyclic subgroup of Z N (Z N = {0,1, ... N-1} finite rings), to be.
(h) 상기 생성된 서명(σUID,m=(U, V))을 수신한 경우, 송신자의 상기 사용자 아이디(UID)를 이용하여 U=gV·(SUID)H3 (U,m)를 토대로 상기 서명의 유효성을 검증하는 단계;를 포함하며,
상기 사용자 아이디에 대응되는 비밀키는, 루트 마스터 키와 소정의 루트 파라미터를 설정하고 비밀키를 발급할 수 있는 사용자의 수(n)를 설정하여 제1 해쉬 함수를 이용하여 소정의 서브 파라미터를 계산하고 상기 루트 파라미터, 서브 파라미터를 이용하여 상기 설정된 사용자의 수(n)만큼 비밀키 발급이 가능한 제1서브 마스터 키 세트를 생성하고 상기 사용자 아이디에 대해 제2 해쉬 함수를 이용하여 비트 리프리젠테이션 값을 도출하고 상기 제1서브 마스터 키 세트와 선형 결합하여 생성되는 것을 특징으로 하는 서명 방법:
여기서, m은 메시지, r은 임의의 랜덤 값으로 r∈ZN, g는 G의 생성원, G는 ZN(ZN={0,1,...N-1} 유한환)의 최대 순환 부분군, H3는 랜덤 해쉬 함수로서 {0,1}*→{0,1}n로 정의, 그리고, 이다. (g) The secret key (sk UID , corresponding to the user ID (U ID )) Select a random random value r and compute e = H 2 (g r , m) to generate a signature (σ UID , m , σ UID , m = (g r , re · sk UID )). Making; And
(h) When the generated signature (σ UID, m = (U, V)) is received, U = g V · (S UID ) H3 (U, m ) using the sender's user ID (U ID ). It includes,;) based on the step of verifying the validity of the signature
In the secret key corresponding to the user ID, a root master key and a predetermined root parameter are set, and a number n of users who can issue the secret key is set to calculate a predetermined subparameter using the first hash function. Generate a first sub-master key set capable of issuing a secret key as many as the set number of users (n) using the root parameter and the sub-parameter, and use a second hash function for the user ID. And derive a linear combination with the first sub master key set.
Where m is the message, r is any random value, r∈Z N , g is the source of G, G is the maximum cycle of Z N (Z N = {0,1, ... N-1} finite rings) Subgroup, H 3, is a random hash function defined by {0,1} * → {0,1} n , and to be.
A computer-readable recording medium having recorded thereon a program for executing the signature method of claim 2 on a computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120128616A KR101827813B1 (en) | 2012-11-14 | 2012-11-14 | Encryption and decryption method and signature method based on method for generating secret key, and recording medium storing program for executing method of the same in computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120128616A KR101827813B1 (en) | 2012-11-14 | 2012-11-14 | Encryption and decryption method and signature method based on method for generating secret key, and recording medium storing program for executing method of the same in computer |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120058676A Division KR101301609B1 (en) | 2012-05-31 | 2012-05-31 | Apparatus and method for generating secret key, and recording medium storing program for executing method of the same in computer |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130135018A true KR20130135018A (en) | 2013-12-10 |
KR101827813B1 KR101827813B1 (en) | 2018-03-22 |
Family
ID=49982544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120128616A KR101827813B1 (en) | 2012-11-14 | 2012-11-14 | Encryption and decryption method and signature method based on method for generating secret key, and recording medium storing program for executing method of the same in computer |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101827813B1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100888472B1 (en) | 2002-07-06 | 2009-03-12 | 삼성전자주식회사 | Cryptographic method using dual encryption keys and wireless local area network system therefor |
JP4984827B2 (en) | 2006-10-30 | 2012-07-25 | ソニー株式会社 | KEY GENERATION DEVICE, ENCRYPTION DEVICE, RECEPTION DEVICE, KEY GENERATION METHOD, ENCRYPTION METHOD, KEY PROCESSING METHOD, AND PROGRAM |
-
2012
- 2012-11-14 KR KR1020120128616A patent/KR101827813B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR101827813B1 (en) | 2018-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101301609B1 (en) | Apparatus and method for generating secret key, and recording medium storing program for executing method of the same in computer | |
CN108234501B (en) | Quantum key fusion-based virtual power plant secure communication method | |
CN111740828B (en) | Key generation method, device and equipment and encryption and decryption method | |
CN107948189B (en) | Asymmetric password identity authentication method and device, computer equipment and storage medium | |
KR102124413B1 (en) | System and method for identity based key management | |
CN109584978B (en) | Information processing method and system based on signature aggregation medical health monitoring network model | |
CN106789042B (en) | Authentication key negotiation method for user in IBC domain to access resources in PKI domain | |
CN110120939B (en) | Encryption method and system capable of repudiation authentication based on heterogeneous system | |
US12010216B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN101286849A (en) | Authentication system and method of a third party based on engagement arithmetic | |
CN104767612A (en) | Signcryption method from certificateless environment to public key infrastructure environment | |
CN104901935A (en) | Bilateral authentication and data interaction security protection method based on CPK (Combined Public Key Cryptosystem) | |
CN106713349B (en) | Inter-group proxy re-encryption method capable of resisting attack of selecting cipher text | |
CN102970144A (en) | Identity-based authentication method | |
US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN104200154A (en) | Identity based installation package signing method and identity based installation package signing device | |
CN115396115B (en) | Block chain data privacy protection method, device, equipment and readable storage medium | |
CN107682158B (en) | Trusteeship authentication encryption method | |
CN111756722B (en) | Multi-authorization attribute-based encryption method and system without key escrow | |
CN108933659B (en) | Identity verification system and method for smart power grid | |
GB2543359A (en) | Methods and apparatus for secure communication | |
CN116232568A (en) | SM 9-based attribute-based encryption block chain access control method | |
Mehta et al. | Group authentication using paillier threshold cryptography | |
CN111934887B (en) | Multi-receiver signcryption method based on interpolation polynomial | |
CN114697001B (en) | Information encryption transmission method, equipment and medium based on blockchain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |