KR101367101B1 - 다항식환을 이용한 키 합의 방법 및 이를 위한 장치 - Google Patents

다항식환을 이용한 키 합의 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR101367101B1
KR101367101B1 KR1020070045423A KR20070045423A KR101367101B1 KR 101367101 B1 KR101367101 B1 KR 101367101B1 KR 1020070045423 A KR1020070045423 A KR 1020070045423A KR 20070045423 A KR20070045423 A KR 20070045423A KR 101367101 B1 KR101367101 B1 KR 101367101B1
Authority
KR
South Korea
Prior art keywords
polynomial
polynomials
seed
key
irreversible
Prior art date
Application number
KR1020070045423A
Other languages
English (en)
Other versions
KR20080020448A (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 US11/847,770 priority Critical patent/US7987367B2/en
Publication of KR20080020448A publication Critical patent/KR20080020448A/ko
Application granted granted Critical
Publication of KR101367101B1 publication Critical patent/KR101367101B1/ko

Links

Images

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public 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
    • H04L9/3026Public 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 details relating to polynomials generation, e.g. generation of irreducible polynomials
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 단말간의 키 합의 방법에 의한 것으로, 본 발명에 의하면 네트워크상의 두 단말이 다항식환(polynomial rings)의 다항식을 이용하여 정보를 교환하고, 교환한 정보를 이용하여 인증하고, 또한 공유 키를 생성함으로써, 기존의 암호화 시스템에 비해 보안성이 높고 처리 속도가 빠른 인증된 키 합의 프로토콜을 구현할 수 있다.

Description

다항식환을 이용한 키 합의 방법 및 이를 위한 장치{Method and apparatus for key agreement between devices using polynomial ring}
도 1은 종래 기술에 따른 MQV 프로토콜을 설명하기 위한 도면,
도 2는 본 발명의 일실시예에 따라 키를 공유하는 과정을 나타낸 순서도,
도 3은 본 발명의 일실시예에 따라 인증 절차를 수행하는 과정을 나타낸 순서도,
도 4는 본 발명의 일실시예에 따라 공유 키를 생성하는 과정을 나타낸 순서도,
도 5는 본 발명의 일실시예에 따라 두 디바이스가 인증 절차를 수행하고, 공유 키를 생성하는 과정을 나타낸 흐름도,
도 6은 본 발명의 일실시예에 따라 디바이스가 다른 디바이스와 다항식환을 이용하여 비밀 키를 공유하도록 하는 장치의 구조를 나타낸 도면이다.
본 발명은 비밀 키에 관한 것으로, 더욱 상세하게는 복수 개의 디바이스들이 비밀 키를 공유하는 키 합의 프로토콜에 관한 것이다.
키 합의(Key agreement)는 둘 이상의 개체(parties) 간에 비밀 키를 협상하는 방식이다. 초기 비밀 정보 없이 비밀 키를 만드는 것은 매우 어려운 문제이다. Diffie-Hellman(DH)의 키 합의 프로토콜은 비밀 정보를 전송하기 위해 공개 채널이 이용될 수 있음을 밝혔다. 그러나, DH 프로토콜은 meet-in-the-middle 공격에 의해 어려움을 겪는다. 비밀 키는 보안이 유지된 통신의 기반이 되므로, 다양한 키 합의 방식들이 제안되었다. meet-in-the-middle 공격에 대하여, 두 세션 개체들간의 인증을 제공하기 위한 인증된 키 합의 프로토콜(authenticated key agreement protocol)들이 제안되었다.
Wilson과 Menezes는 Diffie-Hellman의 문제에 기초하여 KEA, 일체(unified) 모델 및 MQV 세 가지의 인증된 키 합의 프로토콜(authenticated key agreement protocol)들을 분석하였다. 일체 모델 및 MQV는 ANSI X9.42, ANSI X9.63 및 IEEE P1363 표준에 나와 있는데, KEA는 생성된 키의 전방 비밀 유지(forward secrecy)가 부족함이 지적되었고, 일체 모델은 사용자 A의 비밀을 익힌 자는 A에게 어떠한 엔티티 B로서 사칭할 수 있음이 지적되었다. 또한, MQV 프로토콜은 미상의 키 공유 속성(unknown key-share attribute)이 없다.
도 1은 종래 기술에 따른 MQV 프로토콜을 설명하기 위한 도면이다.
우선, 큰 소수(prime) p와, 유한체(finite field)
Figure 112007034708452-pat00001
에서 위수(order) q 및 원시근(primitive root) g를 정의한다. 또한, 디바이스 A와 디바이스 B의 공개 키들은 각각 ga , gb 이고, 개인 키들은 a, b로 가정한다.
디바이스 A는 q보다 작은 임의의 수 x를 선택하여, 임시 공개 키
Figure 112007034708452-pat00002
를 계산한 후 디바이스 B에게 전송한다. 디바이스 B도 q보다 작은 임의의 수 y를 선택하고, 임시 공개 키
Figure 112007034708452-pat00003
를 계산한 후 디바이스 B에게 전송한다.
디바이스 A는
Figure 112007034708452-pat00004
를 계산한 후, 공유 키
Figure 112007034708452-pat00005
를 생성한다. 디바이스 B 역시
Figure 112007034708452-pat00006
를 계산한 후,
Figure 112007034708452-pat00007
를 생성한다.
Figure 112007034708452-pat00008
이고,
Figure 112007034708452-pat00009
이므로, 양자가 생성한 공유 키는 동일함을 알 수 있다.
이와 같은 MQV 프로토콜에서, 적(adversary) E가 디바이스 B에게 보내진
Figure 112007034708452-pat00010
를 가로채고,
Figure 112007034708452-pat00011
,
Figure 112007034708452-pat00012
,
Figure 112007034708452-pat00013
(e는 E의 개인 키)를 계산한 후,
Figure 112007034708452-pat00014
를 디바이스 B에게 전송한다. 디바이스 B는 이에 대한 응답으로
Figure 112007034708452-pat00015
를 E에게 보내고, E는 이를 디바이스 A에게 포워딩한다. 디바이스 A와 디바이스 B는 동일한 세션 키를 생성하지만, 디바이스 B는 자신이 세션 키를 E와 공유하는 것으로 믿는다. 따라서, MQV 프로토콜에 의하면 미상의 키 공유 속성(unknown key-share attribute)이 없어 보안성이 취약하다. 보안성의 문제를 떠나서도, 상기 키 합의 방식들은 모두 어려운 수학적 문제들에 기초하고 있으며, 최종 키를 생성하기 위해 많은 계산 비용이 요구된다. 특히 무선 통신과 같은 환경에서는 단순한(lightweight) 키 합의 프로토콜이 요구되므로 이러한 복잡한 계산이 필요한 방식은 무선 단말에 적합하지 않다.
본 발명은,  다항식환에 기초하여 종래 기술에 비해 계산이 복잡하지 않고, 보안성이 뛰어난 인증된 키 합의 프로토콜(authenticated key agreement protocol)을 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명은,  제1디바이스가 제2디바이스와 키를 합의하는 방법에 있어서, 다항식환(Polynomial ring)
Figure 112007034708452-pat00016
에서 랜덤하게 선택한 다항식들을 이용하여 제1시드다항식을 생성하는 단계; 상기 제1시드다항식을 상기 제2디바이스에게 전송하고, 상기 제2디바이스로부터 제2시드다항식을 수신하는 단계; 상기 제2시드다항식을 상기
Figure 112007034708452-pat00017
에서 랜덤하게 선택한 다항식들을 이용하여 변형한 후,상기 제2디바이스에게 전송하는 단계; 상기 제2디바이스로부터 변형된 제1시드다항식을 수신하는 단계; 및 상기 제1시드다항식 생성 단계 및 상기 제2시드다항식 변형 단계에서 랜덤하게 선택된 다항식들 및 상기 변형된 제1시드다항식을 이용하여 공유 키를 생성하는 단계를 포함하며, 상기 각 단계에서 요구되는 모든 다항식들의 계산은 상기
Figure 112007034708452-pat00018
에서 수행되는 것을 특징으로 한다.
상기 키 합의 방법은, 상기 제1시드다항식 생성 단계에서 랜덤하게 선택된 다항식들 및 상기 제1디바이스의 공개 키를 이용하여 인증 정보를 생성하는 단계; 상기 생성된 인증 정보를 상기 제2디바이스에게 전송하는 단계; 및 상기 제2디바이스로부터 수신된 다항식들을 이용하여 상기 제2디바이스를 인증하는 단계를 더 포함하는 것이 바람직하며, 이 때 상기 인증 정보 생성 및 인증 단계에서 필요한 모든 다항식의 계산은 상기
Figure 112007034708452-pat00019
에서 수행된다.
상기 인증 정보는
Figure 112007034708452-pat00020
인 것이 바람직하며, 이 때 x는 상기
Figure 112007034708452-pat00021
에서 가역적인 다항식, r 1 은 상기
Figure 112007034708452-pat00022
에서 비가역적인 다항식, a는 상기 제1디바이스의 개인 키인 다항식,
Figure 112007034708452-pat00023
Figure 112007034708452-pat00024
가 상기 제1디바이스의 공개 키가 되도록 하는 공개 파라미터,
Figure 112007034708452-pat00025
인 비가역적인 다항식이다.
상기 제2디바이스를 인증하는 단계는, 상기 제2디바이스로부터
Figure 112007034708452-pat00026
를 수신하는 단계;
Figure 112007034708452-pat00027
를 계산하고,
Figure 112007034708452-pat00028
를 계산하는 단계; 및
Figure 112007034708452-pat00029
가 성립하는지 여부에 따라 상대 디바이스가 상기 제2디바이스인 것으로 결정하는 단계를 포함하는 것이 바람직하며, 이 때, y는 상기
Figure 112007034708452-pat00030
에서 가역적인 다항식,
Figure 112007034708452-pat00031
는 상기
Figure 112007034708452-pat00032
에서 비가역적인 다항식, b는 상기 제2디바이스의 개인 키인 다항식,
Figure 112007034708452-pat00033
Figure 112007034708452-pat00034
가 상기 제2디바이스의 공개 키가 되도록 하는 공개 파라미터, h 2 는 비가역적인 다항식이다.
상기 다항식환은 상환(quotient ring)
Figure 112007034708452-pat00035
이며, 이 때 q=3 인 것이 바람직하다.
상기 해쉬 함수는 SHA-1 또는 MD5인 것이 바람직하다.
또한, 본 발명은 상기 키 합의 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
또한, 본 발명은 제1디바이스가 제2디바이스와 키를 합의하도록 하는 장치에 있어서, 다항식환(Polynomial ring)
Figure 112007034708452-pat00036
에서 랜덤하게 선택한 다항식들을 이용하여 제1시드다항식을 생성한 후 상기 제2디바이스에게 전송하는 시드다항식생성부; 상기 제2디바이스로부터 수신되는 제2시드다항식을 상기
Figure 112007034708452-pat00037
에서 랜덤하게 생성한 다항식들을 이용하여 변형한 후 상기 제2디바이스에게 전송하는 시드다항식변형부; 및 상기 제2디바이스로부터 변형된 제1시드다항식을 수신하고, 상기 제1시드다항식 생성과 상기 제2시드다항식 변형에 사용된 다항식들 및 상기 변형된 제1시드다항식을 이용하여 공유 키를 생성하는 키생성부를 포함하며, 상기 모든 다항식들의 계산은 다항식환
Figure 112007034708452-pat00038
에서 수행되는 것을 특징으로 한다.
다항식환(polynomial ring)은 수학의 중요한 섹션이며, 다항식들은 암호화 및 정보 보안의 영역에서 넓게 응용될 수 있음이 밝혀져왔다. 다항식들은 보안이 유지된 다자간의 계산, 키 분배 스킴, 정보 분배 등등에 응용될 수 있다.
본 발명에서는, 다항식환에 기초한 인증된 키 합의 방식을 제안한다. 이에 따르면, 두 통신 개체는 우선 다항식 기반 서명 방식(polynomial-based signature scheme)을 통해 서로를 확인하고, 교환한 정보로부터 안전한 공유 키를 유도해낸다. 이 프로토콜의 보안성은 큰 격자에서의 최근접 벡터 문제 및 다항식환의 비가역성에 의존한다. 다항식들의 작은 계수들 때문에 이 프로토콜은 동일한 보안 레벨에서 다른 방식들에 비해 우수하다.
우선, 몇 가지 수학적 이론을 제시한 후 본 발명에 따른 방식을 상세히 설명한다. 본 발명에 따른 프로토콜의 보안성은 큰 격자에서의 최근접 벡터 문제 및 다항식환의 비가역성에 의존한다.
격자(lattice)는 다항식환(polynomial ring)은 수학의 중요한 섹션이며, 다항식들은 암호화 및 정보 보안의 영역에서 넓게 응용될 수 있음이 밝혀져왔다. 다항식들은 보안이 유지된 다자간의 계산, 키 분배 스킴, 정보 분배 등등에 응용될 수 있다.
본 발명에서는, 다항식환에 기초한 인증된 키 합의 방식을 제안한다. 이에 따르면, 두 통신 개체는 우선 다항식 기반 서명 방식(polynomial-based signature scheme)을 통해 서로를 확인하고, 교환한 정보로부터 안전한 공유 키를 유도해낸다. 이 프로토콜의 보안성은 큰 격자에서의 최근접 벡터 문제 및 다항식환의 비가역성에 의존한다. 다항식들의 작은 계수들 때문에 이 프로토콜은 동일한 보안 레벨에서 다른 방식들에 비해 우수하다.
우선, 몇 가지 수학적 이론을 제시한 후 본 발명에 따른 방식을 상세히 설명한다. 본 발명에 따른 프로토콜의 보안성은 큰 격자에서의 최근접 벡터 문제 및 다항식환의 비가역성에 의존한다.
격자(lattice)는
Figure 112007034708452-pat00039
의 서브 그룹이다. 즉,
Figure 112007034708452-pat00040
의 어떠한 서브 그룹도 격자이며, 그러한 격자들은 정수 격자들이라 부른다.
정의 1(격자):
Figure 112007034708452-pat00041
가 선형 독립 벡터들이라면,
Figure 112007034708452-pat00042
는 d 차원의 격자이다.
Figure 112007034708452-pat00043
는 격자 L(B)의 기저(basis)라고 한다. d=n이면, 격자 L(B)는 풀 랭크(full rank)이다. 만약 벡터 v가 격자 L(B)에 속한다면, v는 격자 벡터(또는 격자점)이다.
정의2 (벡터 거리):
두 벡터 vw간의 거리는,
Figure 112007034708452-pat00044
로 정의된다. 벡터들 간의 거리 함수는 다음과 같이 벡터들의 집합들 간으로 확장될 수 있다.
Figure 112007034708452-pat00045
여기서, S1과 S2는 벡터들의 집합이다.
정의3 (최근접 벡터 문제):
격자에서 벡터까지의 거리는,
Figure 112007034708452-pat00046
이다. 기저 B와 타겟 벡터 v(일반적으로, 격자 내에 있지 않음)가 주어졌을 때, v로부터 최단 거리를 가지는 L(B)의 벡터를 찾아내는 것을 최근접 벡터 문제(CVP, Closest Vector Problem)이라고 한다.
본 발명에 따른 방식은 상환(quotient ring)
Figure 112007034708452-pat00047
에서 동작한다. 이 때, q 와 n은 홀수인 소수이다.
Figure 112007034708452-pat00048
은 n보다 적은 차원의 정수 다항식들의 집합에 의해 특정되고, 모든 계수들은 유한 필드
Figure 112007034708452-pat00049
에 속한다. 두 다항식들의 곱셈은 계수 컨볼루션(coefficient convolution)과 등가임을 상기하여야 한다.
우선, 몇 가지 보조 정리를 제시한다.
보조정리1 :
Figure 112007034708452-pat00050
Figure 112007034708452-pat00051
의 가역성 있는 다항식이라고 가정하면,
Figure 112007034708452-pat00052
에는
Figure 112007034708452-pat00053
를 만족시키는 고유한 다항식 a가 존재한다.
증명:
Figure 112007034708452-pat00054
의 두 다항식 abx의 가역성있는 다항식들이라면,
Figure 112007034708452-pat00055
가 성립한다. x는 가역성 있는 다항식이고
Figure 112007034708452-pat00056
와 서로 소이므로, a-b
Figure 112007034708452-pat00057
의 배수이다. ab
Figure 112007034708452-pat00058
에 속한다는 조건으로부터, ab는 같아야 한다. 그러므로, 만약 x
Figure 112007034708452-pat00059
에서 가역성 있는 다항식이라면,
Figure 112007034708452-pat00060
에서
Figure 112007034708452-pat00061
를 만족시키는 오직 하나의 고유한 다항식 a가 존재한다.
보조정리2 :
Figure 112007034708452-pat00062
Figure 112007034708452-pat00063
의 가역성있는 다항식이며, x의 행벡터들이 x의 주기적인 쉬프트에 의해 구성된 행렬임을 가정하면, 행렬 X의 랭크(rank)는 n이고, 그 역도 성립한다.
증명:
두 다항식들의 곱셈은 계수들의 컨볼루션으로 볼 수 있다. y를 x의 고유한 역(reverse) 다항식이라 가정한다. 만약, x가 행렬로 쓰여지고 y열벡터라면, x와 y의 곱은 다음과 같이 나타난다.
Figure 112007034708452-pat00064
Rq에서, x와 y의 곱은 다음과 같이 쓰여질 수 있다.
Figure 112007034708452-pat00065
x는 위의 왼쪽 행렬이다. y
Figure 112007034708452-pat00066
에서 x의 역 다항식이므로,
Figure 112007034708452-pat00067
임이 명백하다. X의 랭크가 n이 아니라면, y의 솔루션은 고유하지 않다. 그것은 보조정리1과 어긋난다. 따라서, X의 랭크는 n이다. 거꾸로, 만약 X의 랭크가 n이라면,
Figure 112007034708452-pat00068
를 만족시키는 고유한 솔루션 y가 존재한다. 따라서, x
Figure 112007034708452-pat00069
에서 가역적(invertible)이다. 만약 다항식 x가 비가역적이라면, X의 랭크는 n보다 작음을 추론할 수 있을 것이다.
보조정리3 :
Figure 112007034708452-pat00070
에서
Figure 112007034708452-pat00071
의 관계에 있는 세 개의 다항식 x, y, z를 가정한다. 만약 x가 가역적이고 y가 비가역적이라면, z 또한 비가역적이다. 게다가, 이 세 다항식들로 구성되는 행렬들을 X, Y, Z라고 하면, rank(Z)는 n보다 작다.
증명:
만약 z가 가역적이면,
Figure 112007034708452-pat00072
를 만족시키는 다항식 z'가 존재한다.
Figure 112007034708452-pat00073
이므로,
Figure 112007034708452-pat00074
은 유효하다. 따라서, xz'y의 역으로 볼 수 있다. 이것은 y가 비가역적이라는 가정에 위배된다. 따라서, z는 비가역적이다.
x, y, z로부터 각각 생성된 행렬들 X,Y, Z를 가정하면, X,Y, Z의 관계는 다음과 같다.
Figure 112007034708452-pat00075
보조정리2로부터,
Figure 112007034708452-pat00076
이며,
Figure 112007034708452-pat00077
임을 알 수 있다. 일반적으 로, 임의의 행렬 AB에 대하여,
Figure 112007034708452-pat00078
이다. 따라서,
Figure 112007034708452-pat00079
이다.
본 발명에서는, 다항식 이론과 상기 세 가지 보조 정리를 이용하여 고안된 인증된 키 합의 방식을 제안한다.
이하에서 첨부된 도면을 참조하여, 본 발명의 바람직한 실시예를 상세히 설명한다.
도 2는 본 발명의 일실시예에 따라 키를 공유하는 과정을 나타낸 순서도이다.
단계 210에서, 키를 공유하려는 두 디바이스는 다항식환의 다항식들을 이용하여 서로에 대한 인증을 수행한다. 이에 대한 보다 상세한 설명은 도 3과 함께 후술한다.
인증이 성공하면, 단계 220에서 양 디바이스들은 서로 시드(seed) 다항식을 교환한다. 이하에서 시드 다항식은 공유 키를 생성하기 위한 소스가 되는 다항식을 말하며, 공유 키의 생성을 위해 양 디바이스들 간에 송수신되는 다항식들을 모두 포괄할 수 있도록 넓게 해석될 수 있다.
단계 230에서, 양 디바이스들은 시드 다항식을 이용하여 동일한 공유 키를 생성한다.
도 3은 본 발명의 일실시예에 따라 인증 절차를 수행하는 과정을 나타낸 순서도이며, 제1디바이스가 제2디바이스와 키를 공유하고자 할 때 제1디바이스에서 수행하는 절차를 나타낸 것이다.
단계 310에서, 제1디바이스는 다항식환에서 랜덤하게 선택한 다항식들과 제1디바이스의 공개 키를 이용하여 인증 정보를 생성한다.
단계 320에서, 제1디바이스는 생성된 인증 정보를 제2디바이스에게 전송한다. 제2디바이스는 이 인증 정보를 이용하여 제1디바이스를 인증할 수 있다.
단계 330에서, 제1디바이스는 제2디바이스로부터 인증 정보를 수신한다.
단계 340에서, 제1디바이스는 수신된 인증 정보를 이용하여 제2디바이스를 인증한다.
이러한 일련의 인증 절차에 성공한 경우에만, 양 디바이스들은 공유 키 생성 절차를 수행한다. 상기 인증 정보의 생성 과정이나 인증 정보를 이용한 인증 과정에서 다항식을 이용한 모든 계산은 다항식환에서 수행된다.
다항식환이 상환(quotient ring)
Figure 112007034708452-pat00080
인 경우, q를 적절히 설정하여 다항식들의 계산에 대한 복잡성을 감소시킬 수 있다. 예를 들어, q=3으로 설정하면 다항식환의 모든 다항식의 계수는 0, 1, -1 중의 하나가 되므로, 다항식들의 계산이 매우 간단해져서 계산 속도가 빨라지게 된다.
도 4는 본 발명의 일실시예에 따라 공유 키를 생성하는 과정을 나타낸 순서도이다. 이하에서의 모든 다항식의 계산도 다항식환에서 수행된다.
단계 410에서, 제1디바이스는 다항식환에서 랜덤하게 선택한 다항식들을 이용하여 제1시드다항식을 생성한다.
단계 420에서, 제1디바이스는 제1시드다항식을 제2디바이스에게 전송하고, 제2디바이스로부터 제2시드다항식을 생성한다. 제2시드다항식은 제2디바이스가 다항식환에서 랜덤하게 선택한 다항식들을 이용하여 생성한 것이다.
단계 430에서, 제1디바이스는 제2시드다항식을 변형하여 제2디바이스로 전송한다. 여기서, 제2시드다항식을 변형한다는 것은, 제1디바이스가 다항식환에서 랜덤하게 선택한 다항식들을 제2시드다항식에 곱하는 것을 의미할 수 있다. 한편, 제1디바이스는 제2디바이스로부터 변형된 제1시드다항식을 수신한다. 변형된 제1시드다항식은 제2디바이스가 랜덤하게 선택한 다항식들을 제1시드다항식에 곱한 결과일 수 있다.
단계 440에서, 제1디바이스는 변형된 제1시드다항식과 랜덤하게 선택한 다항식들(제1시드다항식 생성시 및 제2시드다항식 변형시 사용했던 다항식들)을 이용하여 공유 키를 생성한다. 제2디바이스도 마찬가지로 변형된 제2시드다항식과 제2디바이스가 제2시드다항식을 생성하기 위해 랜덤하게 선택한 다항식들을 이용하여 동일한 공유 키를 생성한다.
도 5는 본 발명의 일실시예에 따라 두 디바이스가 인증 절차를 수행하고, 공유 키를 생성하는 과정을 나타낸 흐름도이다.
여기서는 네트워크에서 두 개의 디바이스 A 와 B를 가정하고, 그들의 개인 키들은 작은 다항식들 ab이며, 이들은 모두 다항식환
Figure 112007034708452-pat00081
에서 가역적이라고 가정한다. 그들의 공개 키들은 각각
Figure 112007034708452-pat00082
Figure 112007034708452-pat00083
로서 계산될 수 있다. 여기서,
Figure 112007034708452-pat00084
는 공개 파라미터이다. 이하에서 모든 다항식들의 계산은
Figure 112007034708452-pat00085
에서 수행됨을 주지하여야 한다.
단계 501에서, A는 랜덤하게 가역적인 다항식 x 및 비가역적인 다항식 r 1 를 선택한다.
단계 502에서, A는
Figure 112007034708452-pat00086
를 계산하고, 그 결과를 B에게 전송한다. 이 때,
Figure 112007034708452-pat00087
이다.
Figure 112007034708452-pat00088
는 강력한 비가역 함수(one-way function)이며, 출력값인 h 1 는 비가역적인 다항식이다. 해쉬 함수는 SHA-1 또는 MD5가 사용될 수 있으나, 반드시 이에 한정하지 않는다.
단계 503에서, B는 수신한 데이터로 A의 신분(identity)를 검증한다. 즉,
Figure 112007034708452-pat00089
를 계산하고,
Figure 112007034708452-pat00090
가 성립하는지 판단하여, 성립한다면 B는 A로부터 수신되는 메시지를 신뢰한다. 그렇지 않으면, B는 요청을 거절하고 세션을 중단한다.
만약 A가 인증을 통과하면, 단계 504에서 B는 랜덤하게 가역적인 다항식 y 및 비가역적인 다항식 r 2 를 선택한다.
단계 505에서, B는
Figure 112007034708452-pat00091
를 계산하고, 그 결과 데이터를 A에게 전송한다.
Figure 112007034708452-pat00092
역시 비가역적인 다항식이다.
단계 506에서, A는 결과 데이터를 수신한 후,
Figure 112007034708452-pat00093
를 계산하고,
Figure 112007034708452-pat00094
가 성립하는지 여부를 체크한다. 만약 성립하면, A는 B로부터 수신된 메시지를 신뢰한다.
B가 인증을 통과하면, 단계 507에서 A는 랜덤하게 비가역적인 다항식 s를 선택하고, 단계 509에서
Figure 112007034708452-pat00095
를 B에게 전송한다. 본 실시예와는 달리, 구현예에 따라
Figure 112007034708452-pat00096
는 단계 501에서
Figure 112007034708452-pat00097
,
Figure 112007034708452-pat00098
과 함께 미리 선택될 수도 있을 것이다.
단계 508에서, B는 랜덤하게 비가역적인 다항식 t를 선택하고, 단계 510에서
Figure 112007034708452-pat00099
를 A에게 전송한다. 본 실시예와는 달리, t는 단계 504에서 r 2 , y와 함께 미리 선택될 수도 있을 것이다. 또한,
Figure 112007034708452-pat00100
는 단계 505에서
Figure 112007034708452-pat00101
와 함께 전송될 수도 있을 것이다.
단계 511에서, A는
Figure 112007034708452-pat00102
를 통해 최종 공유 키를 계산한다.
단계 512에서, B 역시
Figure 112007034708452-pat00103
를 통해 공유 키를 계산한다.
참고로, 단계 502에서 A가 전송한 r 1 x는 B에 의해
Figure 112007034708452-pat00104
로 변형되었고, A는 다시 이를 기초로 공유 키를 생성하므로, r 1 x는 공유 키를 위한 시드 다항식으로 볼 수 있다. 그러나,
Figure 112007034708452-pat00105
도 공유 키를 생성하기 위하여 사용되는 다항식이므로, r 1 x를 인증 정보로,
Figure 112007034708452-pat00106
를 시드 다항식으로 볼 수도 있을 것인데, 전술한 도 2는 이러한 관점에서 서술된 것이다. 이러한 관점에 의하면, r 2 y 역시 인증 정보가 되고,
Figure 112007034708452-pat00107
는 시드 다항식이 될 것이다.
도 6은 본 발명의 일실시예에 따라 제1디바이스(600)가 네트워크(700)를 통해 제2디바이스(도시하지 않음)와 다항식환을 이용하여 비밀 키를 공유하도록 하는 장치의 구조를 나타낸 도면이다. 이하 각 구성요소에서 모든 다항식들의 계산은 다항식환에서 수행된다.
도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 장치는 인증부(610), 시드 다항식 생성부(620), 시드 다항식 변형부(630), 키 생성부(640) 및 통신부(650)를 포함한다.
인증부(610)는 다항식환(Polynomial ring)
Figure 112007034708452-pat00108
에서 랜덤하게 선택한 다항식들과 제1디바이스(600)의 공개 키를 이용하여 인증 정보를 생성하고, 통신부(650)를 통해 제2디바이스에게 인증 정보를 전송한다. 또한, 제2디바이스로부터 수신되는 다항식들을 이용하여 제2디바이스를 인증한다. 즉, 도 5의 실시예에서와 같이, 제2디바이스로부터
Figure 112007034708452-pat00109
를 수신하여,
Figure 112007034708452-pat00110
Figure 112007034708452-pat00111
를 계산한 후,
Figure 112007034708452-pat00112
가 성립하는지 검사한다.
시드 다항식 생성부(620)는 인증부(610)에 의해
Figure 112007034708452-pat00113
에서 랜덤하게 선택된 다항식들을 이용하여 제1시드 다항식을 생성한 후, 통신부(650)를 통해 제2디바이스에게 전송한다. 여기서, 제1시드다항식은 도 5의 예에서 r 1 x에 해당한다. 본 실시예에서는 r 1 x를 인증부(610)에서 선택한 것으로 하였으나, 다른 구성 요소에 의해 선택될 수도 있음은 당업자에게 자명할 것이다.
시드 다항식 변형부(630)는 제2디바이스로부터 수신되는 제2시드다항식을 변형한 후, 통신부(650)를 통해 제2디바이스로 변형된 제2시드다항식을 전송한다. 이 때의 변형은 제2시드다항식에
Figure 112007034708452-pat00114
에서 랜덤하게 선택한 다항식들을 곱하는 것이 될 수 있다. 즉, 도 5의 예에서와 같이, 제2디바이스로부터 수신한 r 2 y
Figure 112007034708452-pat00115
로 변형하여 제2디바이스에게 전송한다.
키 생성부(640)는 제2디바이스로부터 변형된 제1시드다항식을 수신하고,
Figure 112007034708452-pat00116
에서 랜덤하게 선택된 다항식들 및 변형된 제1시드다항식을 이용하여 공유 키를 생성한다. 이 때, 랜덤하게 선택된 다항식들이란 제1시드 다항식의 생성에 사용된 다항식 및 제2시드 다항식의 변형에 사용된 다항식을 의미한다.
본 발명에 의한 프로토콜에서, 보안성은 파라미터
Figure 112007034708452-pat00117
의 선택에 의존한다.
Figure 112007034708452-pat00118
의 값이 클수록 적이 사용자들의 개인 키들을 찾아내기 힘들 것이다. 다 만, 큰 파라미터들은 효율성에 영향을 미치므로, 파라미터 선택에 있어서 보안성과 효율성이 조화되도록 해야 할 것이다. 예를 들면, 중간 레벨의 보안을 위해 파라미터들
Figure 112007034708452-pat00119
를 (167, 3, 6)으로 설정할 수 있고, 높은 레벨의 보안을 위해 (503, 3, 10)으로 설정할 수 있다. 상기 중간 레벨 보안의 예에서, 0이 아닌 계수들(non-zero coefficients)를 50으로 설정하는 경우, 적이 무차별 공격(brute force attack) 방법을 사용하게 되면, 개인키
Figure 112007034708452-pat00120
의 보안성은 다음과 같이 나타낼 수 있다.
Figure 112007034708452-pat00121
또한, 본 발명에 의한 프로토콜은 위조(forgery)에 대한 보안성도 뛰어나다. 만약 적이 A의 서명들
Figure 112007034708452-pat00122
을 획득하고, A를 사칭하려 하는 경우, 적은 곱셈 공격(multiplication attack)을 위해 우선 랜덤하게 작은 다항식
Figure 112007034708452-pat00123
를 선택한 후,
Figure 112007034708452-pat00124
를 각각
Figure 112007034708452-pat00125
와 곱한다. 유효한 서명들을 위해,
Figure 112007034708452-pat00126
은 제거되어야 한다. 그러나,
Figure 112007034708452-pat00127
은 비가역적이므로
Figure 112007034708452-pat00128
로부터 제거될 수 없고, 따라서 적은 개인 키 a를 알지 못하면 새로운 서명을 위조할 수 없다.
또한, 본 발명에 따른 프로토콜은 세션 키에 대한 보안성도 제공한다. 만약 적이 A와 B 사이의 모든 데이터 송수신을 인터셉트한 경우, 적이 취할 수 있는 대부분의 가능한 공격은
Figure 112007034708452-pat00129
를 통해
Figure 112007034708452-pat00130
Figure 112007034708452-pat00131
를 분석하는 것 이다. 보조 정리3에 따르면,
Figure 112007034708452-pat00132
에서 x와 t는 비가역적인 다항식들이므로
Figure 112007034708452-pat00133
Figure 112007034708452-pat00134
는 비가역적이다.
Figure 112007034708452-pat00135
의 쉬프트에 의해 생긴 행렬의 랭크를 k라 가정하면, 대략
Figure 112007034708452-pat00136
의 솔루션은
Figure 112007034708452-pat00137
개가 된다. k가 n보다 훨씬 작으면, 솔루션 개수는 매우 크고 고유의 정확한 솔루션에 대한 확률은
Figure 112007034708452-pat00138
이 된다. 이러한 상황은
Figure 112007034708452-pat00139
에 대하여도 동일한다. 따라서,
Figure 112007034708452-pat00140
Figure 112007034708452-pat00141
의 정확한 솔루션을 찾는 것은 매우 어렵다.
본 발명에 따른 인증된 키 합의 프로토콜은 다음과 같은 조건 하에서 랜덤 오라클 모델(random oracle model)에서의 보안성을 제공한다.
1) 적은 유출 문의(Reveal queries)를 하지 않는다.
2) 최근접 벡터 문제(CVP)는 어렵다.
3)
Figure 112007034708452-pat00142
는 랜덤 오라클이다.
이하에서, 이를 증명하도록 한다. 격자 공격은 엔티티의 개인 키를 찾기 위한 가장 효율적인 방법이다. 벡터
Figure 112007034708452-pat00143
가 엔티티 A의 공개 키
Figure 112007034708452-pat00144
를 나타내는 것이라고 하면, 적은 네 개의 n X n 블록들로 구성된 다음과 같은 2n X 2n 행렬을 생성할 수 있다.
Figure 112007034708452-pat00145
여기서,
Figure 112007034708452-pat00146
는 작은 정수이다. L은 이 행렬의 행(row)들에 의해 생성된 격자라고 하자. 공개 키는
Figure 112007034708452-pat00147
이므로, 격자 L은 벡터
Figure 112007034708452-pat00148
를 포함할 것이다. 격자 감소(lattice reduction)을 통해, 적(adversary)은 거리
Figure 112007034708452-pat00149
를 최소화하기 위해
Figure 112007034708452-pat00150
의 이전의 n계수들에서 다항식
Figure 112007034708452-pat00151
를 찾으려고 할 것이다.
Figure 112007034708452-pat00152
는 벡터
Figure 112007034708452-pat00153
의 다음 n 계수들을 말한다. CVP가 어려운 문제인 것으로 가정하였으므로,
Figure 112007034708452-pat00154
를 찾는 것은 어렵다.
게다가,
Figure 112007034708452-pat00155
를 랜덤 오라클로 본다면, 적은 많은 서명 데이터
Figure 112007034708452-pat00156
를 얻기 위해 이 랜덤 오라클로 많은 요청을 보낼 수 있다.
Figure 112007034708452-pat00157
의 임의성(randomness)과 비가역성(irreversibility) 때문에, 적은 설사 많은 수의 다른 서명들을 알고 있더라도 특정 엔티티의 서명을 위조할 수 없다. 따라서, 본 발명에 따른 프로토콜은 랜덤 오라클의 존재 하에서 보안성을 제공한다.
한편, 작은 다항식 계수들 때문에, 본 발명에 의한 방식은 다른 암호화 시스 템에 비해 동일한 보안 레벨에서 훨씬 빠르다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 기존의 방법에 비해 보안성이 우수하고, 동일한 보안 레벨에서 처리 속도가 더욱 빠른 키 합의 프로토콜이 제공된다.

Claims (13)

  1. 제1디바이스가 제2디바이스와 키를 합의하는 방법에 있어서,
    다항식환(Polynomial ring)
    Figure 112007034708452-pat00158
    에서 랜덤하게 선택한 다항식들을 이용하여 제1시드다항식을 생성하는 단계;
    상기 제1시드다항식을 상기 제2디바이스에게 전송하고, 상기 제2디바이스로부터 제2시드다항식을 수신하는 단계;
    상기 제2시드다항식을 상기
    Figure 112007034708452-pat00159
    에서 랜덤하게 선택한 다항식들을 이용하여 변형한 후,상기 제2디바이스에게 전송하는 단계;
    상기 제2디바이스로부터 변형된 제1시드다항식을 수신하는 단계; 및
    상기 제1시드다항식 생성 단계 및 상기 제2시드다항식 변형 단계에서 랜덤하게 선택된 다항식들 및 상기 변형된 제1시드다항식을 이용하여 공유 키를 생성하는 단계를 포함하며,
    상기 각 단계에서 요구되는 모든 다항식들의 계산은 상기
    Figure 112007034708452-pat00160
    에서 수행되는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서,
    상기 제1시드다항식 생성 단계에서 랜덤하게 선택된 다항식들 및 상기 제1디 바이스의 공개 키를 이용하여 인증 정보를 생성하는 단계;
    상기 생성된 인증 정보를 상기 제2디바이스에게 전송하는 단계; 및
    상기 제2디바이스로부터 수신된 다항식들을 이용하여 상기 제2디바이스를 인증하는 단계를 더 포함하며,
    상기 인증 정보 생성 및 인증 단계에서 필요한 모든 다항식의 계산은 상기
    Figure 112007034708452-pat00161
    에서 수행되는 것을 특징으로 하는 방법.
  3. 제 2항에 있어서,
    상기 인증 정보는
    Figure 112007034708452-pat00162
    이며, 이 때 x는 상기
    Figure 112007034708452-pat00163
    에서 가역적인 다항식,
    Figure 112007034708452-pat00164
    은 상기
    Figure 112007034708452-pat00165
    에서 비가역적인 다항식, a는 상기 제1디바이스의 개인 키인 다항식,
    Figure 112007034708452-pat00166
    Figure 112007034708452-pat00167
    가 상기 제1디바이스의 공개 키가 되도록 하는 공개 파라미터,
    Figure 112007034708452-pat00168
    인 비가역적인 다항식인 것을 특징으로 하는 방법.
  4. 제 2항에 있어서,
    상기 제2디바이스를 인증하는 단계는,
    상기 제2디바이스로부터
    Figure 112007034708452-pat00169
    를 수신하는 단계;
    Figure 112007034708452-pat00170
    를 계산하고,
    Figure 112007034708452-pat00171
    를 계산하는 단계; 및
    Figure 112007034708452-pat00172
    가 성립하는지 여부에 따라 상대 디바이스가 상기 제2디바이스인 것으로 결정하는 단계를 포함하며,
    이 때, y는 상기
    Figure 112007034708452-pat00173
    에서 가역적인 다항식,
    Figure 112007034708452-pat00174
    는 상기
    Figure 112007034708452-pat00175
    에서 비가역적인 다항식, b는 상기 제2디바이스의 개인 키인 다항식, ν는
    Figure 112007034708452-pat00176
    가 상기 제2디바이스의 공개 키가 되도록 하는 공개 파라미터, h 2 는 비가역적인 다항식인 것을 특징으로 하는 방법.
  5. 제 1항에 있어서,
    상기 다항식환은 상환(quotient ring)
    Figure 112007034708452-pat00177
    이며, 이 때 q=3인 것을 특징으로 하는 방법.
  6. 제 3항 또는 제 4항에 있어서,
    상기 hash()가 나타내는 해쉬 함수는 SHA-1 또는 MD5인 것을 특징으로 하는 방법.
  7. 제 1항 내지 제 5항 중 어느 한 항을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  8. 제1디바이스가 제2디바이스와 키를 합의하도록 하는 장치에 있어서,
    다항식환(Polynomial ring)
    Figure 112013058844579-pat00178
    에서 랜덤하게 선택한 다항식들을 이용하여 제1시드다항식을 생성한 후 상기 제2디바이스에게 전송하는 시드다항식생성부;
    상기 제2디바이스로부터 수신되는 제2시드다항식을 상기
    Figure 112013058844579-pat00179
    에서 랜덤하게 생성한 다항식들을 이용하여 변형한 후 상기 제2디바이스에게 전송하는 시드다항식변형부; 및
    상기 제2디바이스로부터 변형된 제1시드다항식을 수신하고, 상기 제1시드다항식 생성과 상기 제2시드다항식 변형에 사용된 다항식들 및 상기 변형된 제1시드다항식을 이용하여 공유 키를 생성하는 키생성부를 포함하며,
    모든 다항식들의 계산은 다항식환
    Figure 112013058844579-pat00180
    에서 수행되는 것을 특징으로 하는 장치.
  9. 제 8항에 있어서,
    상기 제1시드다항식 생성에 사용된 다항식들 및 상기 제1디바이스의 공개 키를 이용하여 인증 정보를 생성하고 상기 제2디바이스에게 전송하며, 제2디바이스로부터 수신되는 다항식들을 이용하여 상기 제2디바이스를 인증하는 인증부를 더 포함하며,
    상기 인증부에서의 모든 다항식의 계산은 상기
    Figure 112013058844579-pat00181
    에서 수행되는 것을 특징으로 하는 장치.
  10. 제 9항에 있어서,
    상기 인증 정보는
    Figure 112007034708452-pat00182
    이며, 이 때 x는 상기
    Figure 112007034708452-pat00183
    에서 가역적인 다항식,
    Figure 112007034708452-pat00184
    은 상기
    Figure 112007034708452-pat00185
    에서 비가역적인 다항식, a는 상기 제1디바이스의 개인 키인 다항식,
    Figure 112007034708452-pat00186
    Figure 112007034708452-pat00187
    가 상기 제1디바이스의 공개 키가 되도록 하는 공개 파라미터,
    Figure 112007034708452-pat00188
    인 비가역적인 다항식인 것을 특징으로 하는 장치.
  11. 제 9항에 있어서,
    상기 인증부는,
    상기 제2디바이스로부터 수신된
    Figure 112007034708452-pat00189
    를 이용하여
    Figure 112007034708452-pat00190
    Figure 112007034708452-pat00191
    를 계산하고,
    Figure 112007034708452-pat00192
    가 성립하는 경우 상대 디바이스가 상기 제2디바이스인 것으로 결정하며,
    이 때, y는 상기
    Figure 112007034708452-pat00193
    에서 가역적인 다항식,
    Figure 112007034708452-pat00194
    는 상기
    Figure 112007034708452-pat00195
    에서 비가역적인 다항식, b는 상기 제2디바이스의 개인 키인 다항식,
    Figure 112007034708452-pat00196
    Figure 112007034708452-pat00197
    가 상기 제2디바이스의 공개 키가 되도록 하는 공개 파라미터, h 2 는 비가역적인 다항식인 것을 특징으로 하는 장치.
  12. 제 8항에 있어서,
    상기 다항식환은 상환(quotient ring)
    Figure 112013058844579-pat00198
    이며, 이 때 q=3인 것을 특징으로 하는 장치.
  13. 제 10항 또는 제 11항에 있어서,
    상기 hash()가 나타내는 해쉬 함수는 SHA-1 또는 MD5인 것을 특징으로 하는 장치.
KR1020070045423A 2006-08-30 2007-05-10 다항식환을 이용한 키 합의 방법 및 이를 위한 장치 KR101367101B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/847,770 US7987367B2 (en) 2006-08-30 2007-08-30 Method and apparatus for key agreement between devices using polynomial ring

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060083130 2006-08-30
KR20060083130 2006-08-30

Publications (2)

Publication Number Publication Date
KR20080020448A KR20080020448A (ko) 2008-03-05
KR101367101B1 true KR101367101B1 (ko) 2014-02-25

Family

ID=39395456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070045423A KR101367101B1 (ko) 2006-08-30 2007-05-10 다항식환을 이용한 키 합의 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR101367101B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5790287B2 (ja) * 2011-08-12 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び記録媒体
KR101357074B1 (ko) * 2011-12-12 2014-02-05 고려대학교 산학협력단 공개키 기반의 키 공유 메커니즘을 이용한 보안 키 설정 방법
KR102637234B1 (ko) * 2023-07-06 2024-02-15 기초과학연구원 격자 기반 공개키 암호 시스템 및 이에 포함된 전자장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030210929A1 (en) 2000-03-09 2003-11-13 Oki Data Corporation Toner cartridge and printer to which the toner cartridge is attached
US6731755B1 (en) 1997-07-28 2004-05-04 The Director, Government Communications Headquarters Split-key cryptographic system and method
US20040151309A1 (en) 2002-05-03 2004-08-05 Gentry Craig B Ring-based signature scheme
US20050271203A1 (en) 2004-05-19 2005-12-08 Koichiro Akiyama Encryption apparatus, decryption apparatus, key generation apparatus, program, and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731755B1 (en) 1997-07-28 2004-05-04 The Director, Government Communications Headquarters Split-key cryptographic system and method
US20030210929A1 (en) 2000-03-09 2003-11-13 Oki Data Corporation Toner cartridge and printer to which the toner cartridge is attached
US20040151309A1 (en) 2002-05-03 2004-08-05 Gentry Craig B Ring-based signature scheme
US20050271203A1 (en) 2004-05-19 2005-12-08 Koichiro Akiyama Encryption apparatus, decryption apparatus, key generation apparatus, program, and method

Also Published As

Publication number Publication date
KR20080020448A (ko) 2008-03-05

Similar Documents

Publication Publication Date Title
US7987367B2 (en) Method and apparatus for key agreement between devices using polynomial ring
US8688973B2 (en) Securing communications sent by a first user to a second user
WO2017202161A1 (zh) 基于无证书两方认证密钥协商方法、装置和存储介质
JP4237970B2 (ja) 通信方法
US9571274B2 (en) Key agreement protocol
Zheng et al. PUF-based mutual authentication and key exchange protocol for peer-to-peer IoT applications
Sun et al. A provable authenticated group key agreement protocol for mobile environment
CN112106322A (zh) 基于密码的阈值令牌生成
JP5594034B2 (ja) 認証装置、認証方法、及びプログラム
Yu et al. Low-computation certificateless hybrid signcryption scheme
Zhang et al. Public-key encryption with bidirectional keyword search and its application to encrypted emails
Xie et al. Efficient two-party certificateless authenticated key agreement protocol under GDH assumption
US20160352689A1 (en) Key agreement protocol
KR101367101B1 (ko) 다항식환을 이용한 키 합의 방법 및 이를 위한 장치
Chatterjee et al. Mutual Authentication Protocol Using Hyperelliptic Curve Cryptosystem in Constrained Devices.
Zheng et al. An efficient protocol for two‐party explicit authenticated key agreement
Hwang et al. EPA: An efficient password-based protocol for authenticated key exchange
Guo et al. Certificateless public key encryption scheme with hybrid problems and its application to internet of things
CN110890961A (zh) 一种新型安全高效的多授权属性基密钥协商协议
Yang et al. Efficient certificateless encryption withstanding attacks from malicious KGC without using random oracles
Zhao et al. Provably secure authenticated key exchange protocol under the CDH assumption
Qi et al. TBVPAKE: An efficient and provably secure verifier-based PAKE protocol for IoT applications
WO2019204975A1 (zh) 多方量子求和方法及系统
Kumari et al. A resilient group session key authentication methodology for secured peer to peer networks using zero knowledge protocol
Hadabi et al. Proxy re-encryption with plaintext checkable encryption for integrating digital twins into IIoT

Legal Events

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