KR20220143557A - 암호화 장치, 암호화 장치를 포함하는 시스템의 인증 방법 및 서명을 생성하는 방법 - Google Patents

암호화 장치, 암호화 장치를 포함하는 시스템의 인증 방법 및 서명을 생성하는 방법 Download PDF

Info

Publication number
KR20220143557A
KR20220143557A KR1020220000377A KR20220000377A KR20220143557A KR 20220143557 A KR20220143557 A KR 20220143557A KR 1020220000377 A KR1020220000377 A KR 1020220000377A KR 20220000377 A KR20220000377 A KR 20220000377A KR 20220143557 A KR20220143557 A KR 20220143557A
Authority
KR
South Korea
Prior art keywords
generating
parameter
random number
digital signature
message
Prior art date
Application number
KR1020220000377A
Other languages
English (en)
Inventor
김성경
백종태
이훈희
이지형
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to DE102022108756.5A priority Critical patent/DE102022108756A1/de
Priority to CN202210388974.6A priority patent/CN115225248A/zh
Priority to TW111114432A priority patent/TW202245436A/zh
Priority to US17/721,903 priority patent/US20220337425A1/en
Publication of KR20220143557A publication Critical patent/KR20220143557A/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/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/3247Cryptographic 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Landscapes

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

Abstract

본 개시의 기술적 사상에 따른 서명을 생성하는 방법은, 비밀키와 제1 난수의 곱셈을 기초로 제1 파라미터를 생성하는 단계, 제1 파라미터와 공개키를 기초로 제1 전자 서명 값을 생성하는 단계, 제1 난수, 제2 난수 및 메시지를 기초로 제2 파라미터를 생성하는 단계, 제1 파라미터, 제2 파라미터, 제2 난수 및 제1 전자 서명 값을 기초로 제2 전자 서명 값을 생성하는 단계 및 메시지, 제1 전자 서명 값 및 제2 전자 서명 값을 출력하는 단계를 포함한다.

Description

암호화 장치, 암호화 장치를 포함하는 시스템의 인증 방법 및 서명을 생성하는 방법{ENCRYPTION DEVICE, AUTHENTICATION METHOD OF SYSTEM INCLUDING THE SAME AND METHOD OF GENERATING SIGNATURE}
본 개시의 기술적 사상은 암호화 장치에 관한 것으로서, 자세하게는 디지털 서명을 생성하는 암호화 장치에 관한 것이다.
전자 데이터(또는, 메시지)의 작성자(또는, 송신자)를 증명하기 위하여 전자 서명이 이용될 수 있다. 구체적으로, 전자 서명은, 전자 데이터, 비밀 키 및 난수를 이용하는 특정한 전자 서명 알고리즘을 기반으로 생성된다. 전자 데이터의 수신자는 수신한 전자 데이터, 수신한 전자 서명 및 서명자의 공개 키를 이용해서 특정한 전자 서명 알고리즘을 기반으로 전자 데이터를 검증한다. 즉, 전자 데이터의 수신자는 수신한 전자 서명이 공개키에 대응하는 비밀키를 이용하여 생성되었는지 여부를 판정할 수 있으며, 판정 결과를 기반으로 수신한 전자 데이터가 서명자에 의해 생성된 것이 증명된다.
전자 서명이 생성되는 동안 전자 서명을 침탈하기 위해 부채널 공격이 수행될 수 있다. 부채널 공격은 전자 서명을 생성하는 암호화 장치의 물리적인 정보를 기초로 전자 서명과 관련된 정보(예를 들어, 비밀키 또는 난수)를 침탈하는 공격 방법일 수 있다.
본 개시의 기술적 사상은 부채널 공격, 구체적으로 전력 분석 공격 및 오류 주입 공격에 대한 안전성을 제공하는 암호화 장치를 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 일 측면에 따른 서명을 생성하는 방법은, 비밀키와 제1 난수의 곱셈을 기초로 제1 파라미터를 생성하는 단계, 제1 파라미터와 공개키를 기초로 제1 전자 서명 값을 생성하는 단계, 제1 난수, 제2 난수 및 메시지를 기초로 제2 파라미터를 생성하는 단계, 제1 파라미터, 제2 파라미터, 제2 난수 및 제1 전자 서명 값을 기초로 제2 전자 서명 값을 생성하는 단계 및 메시지, 제1 전자 서명 값 및 제2 전자 서명 값을 출력하는 단계를 포함한다.
본 개시의 다른 측면에 따른 시스템의 메시지 인증 방법은, 제1 장치에서, 제1 장치의 제1 비밀키와 제1 난수의 곱셈 연산의 역원을 기초로 제1 파라미터를 생성하는 단계, 제1 장치에서, 제1 파라미터, 제2 난수 및 제1 장치의 제1 공개키를 기초로 제1 전자 서명 값을 생성하는 단계, 제1 장치에서, 제1 난수, 제2 난수 및 메시지를 기초로 제2 파라미터를 생성하는 단계, 제1 장치에서, 제1 파라미터, 제2 파라미터, 제2 난수 및 제1 전자 서명 값을 기초로 제2 전자 서명 값을 생성하는 단계, 및 제1 장치에서, 메시지, 제1 공개키, 제1 전자 서명 값 및 제2 전자 서명 값을 제2 장치로 출력하는 단계를 포함한다.
본 개시의 다른 측면에 따른 암호화 장치는, 제1 및 제2 난수를 생성하도록 구성된 난수 생성기, 비밀키와 제1 난수에 대한 곱셈 연산을 기초로 제1 파라미터를 생성하고, 메시지에 대한 해쉬 값과 제1 및 2 난수를 기초로 제2 파라미터를 생성하고, 제1 파라미터, 제2 파라미터, 제2 난수 및 비밀키에 대한 공개키를 기초로 메시지에 대한 전자 서명 쌍을 생성하는 전자 서명 생성 회로 및 전자 서명 쌍을 저장하는 메모리를 포함한다.
본 개시의 예시적 실시 예에 따라, 비밀키와 난수의 곱셈 연산을 기초로 전자 서명을 생성하거나, 복수의 난수들을 사용하여 전자 서명을 생성함으로써 부채널 공격에 안전성을 제공하는 암호화 장치 및 전자 서명 생성 방법이 제공될 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 장치를 개략적으로 나타낸 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 전자 서명을 생성하는 과정을 설명하기 위한 암호 시스템(SYS)을 나타내는 도면이다.
도 3a 및 3b는 본 개시의 예시적 실시 예에 따른 암호화 장치(100a, 100b)를 나타내는 블록도이다.
도 4는 본 개시의 예시적 실시 예에 따른 전자 서명 생성 방법을 설명하기 위한 흐름도이다.
도 5는 본 개시의 예시적 실시 예에 따른 전자 서명 시스템의 동작 방법을 설명하기 위한 도면이다.
도 6은 본 개시의 예시적 실시 예에 따른 전자 서명 시스템의 동작 방법을 설명하기 위한 도면이다.
도 7a 및 도 7b는 본 개시의 예시적 실시 예에 따른 전자 서명 시스템을 설명하기 위한 블록도이다.
도 8은 본 개시의 예시적 실시 예에 따른 서명 생성 회로(412)를 설명하는 블록도이다.
도 9는 본 개시의 일 실시 예에 따른 전자 서명 서비스 시스템(600)을 나타낸 도면이다.
도 10은 본 개시의 일 실시예에 따라 생성된 전자 서명을 통한 보안 검증을 수행하는 통신 기기의 예시들을 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다.
도 1은 본 개시의 예시적 실시예에 따른 장치를 개략적으로 나타낸 블록도이다.
도 1을 참조하면, 장치(10)는 프로세서(11), 저장 장치(12), 입출력 장치(13), 메모리(14), 통신 서브 시스템(15), 버스(16) 및 암호화 장치(100)를 포함할 수 있다. 장치(10)는 버스(16)를 통해 전기적으로 커플링될 수 있는(또는, 서로 통신할 수 있는) 하드웨어 요소(element)들을 포함할 수 있다. 즉, 프로세서(11)는 하드웨어 요소들을 포함할 수 있으며, 하드웨어 요소들은 하나 또는 그 초과의 범용 프로세서들 및/또는 하나 또는 그 이상의 특수-목적 프로세서(예를 들면, 디지털 신호 프로세싱 칩들, 그래픽 가속 프로세서들 등)을 포함할 수 있다. 입출력 장치(13)는 프로세서(11)에 의해 처리될 예정이거나, 처리될 데이터를 입출력할 수 있다.
저장 장치(12)는 로컬 및/또는 네트워크 액세스 가능한 저장소를 제한 없이 포함할 수 있다. 예를 들면, 저장 장치(12)는 디스크 드라이브, 드라이브 어레이, 광학 저장 디바이스, 고체-상태 저장 디바이스 등을 포함할 수 있다. 저장 장치(12)는 프로그램밍이 가능하거나, 플래시-업데이트가 가능할 수 있으며, 다양한 파일 시스템들, 데이터 베이스 구조 등이 적용될 수 있도록 구현될 수 있다.
통신 서브 시스템(15)은 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 장치, 무선 통신 장치 및/또는 칩셋(예를 들면, 블루투스 장치, 802.11 장치, Wi-Fi 장치, WiMax 장치, 셀룰러 통신 장치 등)등을 제한 없이 포함할 수 있다. 통신 서브 시스템(15)은 본 발명의 일 실시 예에 따라 생성된 전자 서명 관련 데이터가 네트워크, 다른 컴퓨터 시스템들/장치들 및/또는 임의의 다른 장치들과 교환(또는, 전송)되도록 허용할 수 있다.
메모리(14)는 동작 시스템(14a)을 포함하고, 장치 드라이버들, 실행 가능한 라이브러리들, 및/또는 프로그램 코드들을 구비하는 어플리케이션(14b)을 포함할 수 있다. 동작 시스템(14a) 및 어플리케이션(14b)은 소프트웨어 요소로서 코드 및/또는 명령들을 컴퓨터(또는, 컴퓨터 내의 프로세서)에 의해 실행함으로써 구현될 수 있다.
본 개시의 일 실시 예에 따른 암호화 장치(100)는 보안을 위하여 데이터를 암호화하는 장치로서, 전자 서명을 생성하는 전자 서명 생성 회로(110)를 포함할 수 있다. 전자 서명 생성 회로(110)는 전자 서명 알고리즘을 기반으로 데이터에 대한 전자 서명을 생성할 수 있다. 예를 들어, 전자 서명 알고리즘은, 공개 키 암호 방식의 알고리즘으로서, RSA 알고리즘, ElGamal 알고리즘, DSA(Digital Signature Algorithm) 알고리즘 또는 ECDSA(Elliptic Curve DSA) 알고리즘일 수 있다.
전자 서명이 생성되는 동안 전자 서명 생성 회로(110) 또는 암호화 장치(100)에 대해 부채널 공격이 수행될 수 있다. 부채널 공격은, 전자 서명을 생성하는 위한 연산 중에 발생하는 물리적인 정보(예를 들어, 소리, 전력, 연산 시간 등)를 가공함으로써 전자 서명과 관련된 정보(예를 들어, 비밀키 또는 난수)를 탈취하는 공격 방법을 의미할 수 있다. 부채널 공격은 오류 주입 공격, 전력 분석 공격 및 시간 공격 등을 포함할 수 있다. 오류 주입 공격은, 연산이 수행되는 동안 물리적으로 암호화 장치(100)에 오류를 주입하고 주입된 오류로 인한 암호화 결과를 분석함으로써 비밀키 또는 난수를 알아내는 방법일 수 있다. 전력 분석 공격은, 연산이 수행되는 동안 암호화 장치(100)의 전력 소비량을 분석함으로써 비밀키 또는 난수를 알아내는 방법일 수 있다. 구체적으로, 전력 분석 공격 시, 공격자는 비밀키 또는 난수를 사용하는 연산이 수행되는 동안 전력을 분석함으로써 비밀키 또는 난수에 대한 정보를 탈취할 수 있다. 시간 공격은, 연산이 수행되는 데 소요되는 시간을 분석함으로써 비밀키 또는 난수를 알아내는 방법일 수 있다.
일 실시 예로, 전자 서명 생성 회로(110)는 하드웨어 로직으로 구현되거나, 논리 합성에 의해서 설계되는 로직 블록을 포함할 수 있다. 또한, 전자 서명 생성 회로(110)는 저장 장치(12)와 같은 비-일시적 컴퓨터 판독 가능 저장 매체 상에 저장된 코드의 세트 및/또는 명령들이 암호화 장치(100)에 의해 실행됨으로써 구현되는 소프트웨어 블록을 포함할 수 있다. 다른 실시 예들에서, 저장 매체는 코드의 세트 및/또는 명령들이 저장된 범용 컴퓨터를 프로그래밍 또는 적응시키는데 사용될 수 있도록, 컴퓨터 장치와 분리되는 장치(예를 들어, 콤팩트 디스크, USB(Universal Serial Bus) 등과 같은 탈착 가능한 매체) 또는 설치 패키치로 제공될 수 있다. 이들 코드의 세트 및/또는 명령들은, 암호화 장치(100)에 의해 실행 가능한 실행 가능 코드의 형태를 취할 수 있고, 암호화 장치(100) 상에서의 편집(compilation) 및/또는 설치 시에, 실행 가능 코드의 형태를 취하는 소스 및/또는 설치 가능한 코드의 형태를 취할 수 있다.
본 개시의 예시적 실시 예에 따른 전자 서명 생성 회로(110)는, 비밀키와 난수에 대한 연산을 수행하고 연산의 결과를 기초로 전자 서명을 생성할 수 있다. 비밀키는 개인키 또는 사설키로 지칭될 수도 있다.
난수와 비밀키가 연산되는 동안 암호화 장치(100)의 전력은 랜덤한 특성을 가질 수 있다. 따라서, 전자 서명 생성 회로(110)는, 비밀키와 난수에 대한 논리 연산의 결과를 기초로 전자 서명을 생성함으로써 부채널 공격, 구체적으로, 전력 분석 공격에 대한 안전성을 제공할 수 있다.
또한, 본 개시의 예시적 실시 예에 따른 전자 서명 생성 회로(110)는, 두 개의 난수에 대한 연산 결과를 기초로 전자 서명을 생성할 수 있다.
두 개의 난수들에 대한 연산(예를 들어, 나누기 연산)의 결과는, 두 개 난수들 각각의 부분 정보가 밝혀지더라도, 계산될 없는 난수에 해당할 수 있다. 따라서, 전자 서명 생성 회로(110)는 두 개의 난수에 대한 연산의 결과를 기초로 전자 서명을 생성함으로써, 부채널 공격, 구체적으로, 각 난수의 부분 정보를 알아내기 위한 오류 주입 공격에 대한 안전성을 제공할 수 있다.
실시 예들에 따라 암호화 장치(100)는 암호화 프로세서로 지칭될 수 있으며, 더 나아가, 암호화 장치(100)는 프로세서(11)와 통합되어 하나의 블록으로 구성될 수 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 서명을 생성하는 과정을 설명하기 위한 암호 시스템(SYS)을 나타내는 도면이다. 도 2의 송신자(21)는 도 1의 장치(10)를 포함할 수 있다.
도 2를 참조하면, 암호 시스템(SYS)은 암호화 측을 나타내는 송신자(21) 및 복호화 측을 나타내는 수신자(22)를 포함할 수 있다. 암호 시스템(SYS)에서 각 사용자는 비밀키(secret key)(se_k) 및 공개 키(public key)(pu_k)의 두 개의 키를 부여받을 수 있다. 송신자(21)는 비밀키(se_k)를 사용하여 평문(plain text)을 암호화함으로써 암호문(ciphertext)(예를 들면, 전자 서명)을 생성할 수 있다. 본 명세서에서, 평문은 메시지, 전자 데이터 등으로 지칭될 수 있다. 구체적으로, 송신자(21)는 평문, 비밀키(se_k) 및 난수를 이용하여 소정의 전자 서명 알고리즘을 기반으로 전자 서명을 생성할 수 있다. 도 1을 참조하여 전술된 바와 같이, 일부 실시예들에서, 송신자(21)는 비밀키(se_k)와 난수에 대한 연산을 기초로 전자 서명을 생성할 수 있다. 일부 실시예들에서, 송신자(21)는 두 개의 난수에 대한 연산 결과를 기초로 전자 서명을 생성할 수 있다. 이렇게 생성된 암호문은 수신자(22)에게 전달될 수 있다. 다음으로 수신자(22)는 수신한 암호문을 송신자(21)의 공개 키(pu_k)를 이용하여 암호문이 송신자(21)에 의해 생성된 것인지 여부를 검증할 수 있고, 암호문을 복호화함으로써 평문을 생성할 수 있다. 일부 실시예들에서, 송신자(21)는 전자 서명 알고리즘에 따라, 비밀키(se_k) 뿐만 아니라 공개 키(pu_k)를 이용하여 전자 서명을 생성할 수도 있다.
본 개시의 일 실시 예에 따른 암호 시스템(SYS)은 다양한 전자 서명 알고리즘들을 채용할 수 있다. 일 예로, 암호 시스템(SYS)은 RSA 전자 서명 알고리즘, ElGamal 전자 서명 알고리즘, DSA(Digital Signature Algorithm) 알고리즘, Schnorr 전자 서명 알고리즘, Guillou-Quisquater 전자 서명 알고리즘, ESIGN 전자 서명 알고리즘, KCDSA 전자 서명 알고리즘, ECDSA(Elliptic Curve cryptography based Digital Signature Algorithm) 전자 서명 알고리즘 중 어느 하나를 채용할 수 있다.
도 3a 및 3b는 본 개시의 예시적 실시 예에 따른 암호화 장치(100a, 100b)를 나타내는 블록도이다. 도 3a 및 3b의 암호화 장치(100a, 100b)는 도 1의 암호화 장치(100)의 일 예시일 수 있다. 암호화 장치(100a, 100b)는 디지털 서명 알고리즘(Digital Signature Algorithm)을 채용한 것임을 가정하고 후술될 수 있다. 다만, 이는 예시적인 실시 예에 불과한 바, 이에 국한되지 않고, 본 개시의 기술적 사상은 다양한 전자 서명 알고리즘 방식들에 모두 적용될 수 있음은 분명하다.
도 3a를 참조하면, 암호화 장치(100a)는 전자 서명 생성 회로(110), 난수 생성기(120) 및 메모리(130)를 포함할 수 있다. 전자 서명 생성 회로(110)는 해쉬 연산, 모듈라 연산, 곱셈 연산, 덧셈 연산, 나눗셈 연산 또는 제곱 연산 등을 수행할 수 있다.
일부 실시예들에서, 암호화 장치(100a)는 전자 서명에 사용되는 공개키 및 비밀키를 생성하고, 공개키 및 비밀키를 기초로 전자 서명을 생성할 수 있다. 전자 서명 생성 회로(110)는 다음과 같은 [알고리즘 1]을 기초로 p, q, g, y를 포함하는 공개 키(pu_key) 및 비밀키(se_key) d를 생성할 수 있다.
[알고리즘 1]
Figure pat00001
일부 실시예들에서, 암호화 장치(100a)는 공개 키(pu_key) p, q, g, y 및 비밀 키(se_key) d 중 적어도 하나를 생성하지 않고, 외부로부터 수신할 수 있다.
일부 실시예들에서, 암호화 장치(100a)는 다음과 같은 [알고리즘 2]를 기초로 메시지 m에 대한 전자 서명 쌍 (r, s)을 생성할 수 있다. 본 명세서에서, r은 제1 전자 서명 값으로 지칭될 수 있고, s는 제2 전자 서명 값으로 지칭될 수 있다.
[알고리즘 2]
Figure pat00002
여기서, h()는 해쉬 함수이고, m는 메시지(즉, 평문)일 수 있다.
[알고리즘 2]에 따르면, 난수 생성기(120)는 0 < k < q를 만족하는 난수 k를 생성할 수 있다. q는 [알고리즘 1]에 따라 생성된 소수일 수 있다.
전자 서명 생성 회로(110)는 제1 전자 서명 값 r을 생성할 수 있다. 구체적으로, [알고리즘 2]를 참조하면, 전자 서명 생성 회로(110)는 생성자(generator) g와 난수 k를 기초로 제곱 연산을 수행하고, 제곱 연산의 결과 및 소수 p, q를 기초로 모듈러 연산을 수행함으로써 제1 전자 서명 값 r을 생성할 수 있다.
[알고리즘 2]를 참조하면, 전자 서명 생성 회로(110)는 난수의 k의 역원 k-1와 소수 q를 기초로 모듈러 연산을 수행할 수 있다.
전자 서명 생성 회로(110)는 제2 전자 서명 값 s를 생성할 수 있다. 구체적으로, [알고리즘 2]를 참조하면, 전자 서명 생성 회로(110)는 메시지 m에 대한 해쉬 함수 값인 h(m)를 산출하고, 비밀키 d와 서명 값 r에 대한 제1 곱셈 연산을 수행함으로써 d*r을 산출하고, h(m)과 d*r에 대한 덧셈 연산을 수행하고, 덧셈 연산의 결과와 역원 k-1에 대한 제2 곱셈 연산을 수행하고, 제2 곱셈 연산의 결과 및 소수 q를 기초로 모듈러 연산을 수행함으로써 제2 전자 서명 값 s를 생성할 수 있다.
본 개시의 예시적 실시 예에 따른 암호화 장치(100a)는 다음과 같은 [알고리즘 3]에 따라 전자 서명 쌍 (r, s)을 생성할 수 있다. [수학식 1] 및 [수학식 2]를 참조로 후술되는 바와 같이, [알고리즘 3]에 따른 전자 서명 쌍 (r, s)은 [알고리즘 2]에 따른 전자 서명 쌍 (r, s)과 동일한 파라미터로 표현될 수 있다.
[알고리즘 3]
Figure pat00003
구체적으로, [알고리즘 3]을 참조하면, 난수 생성기(120)는 제1 난수 k1 및 제2 난수 k2를 생성할 수 있다. 제1 난수 k1 및 제2 난수 k2의 크기는 각각
Figure pat00004
보다 작으므로, 제1 난수 k1과 제2 난수 k2에 대한 연산(예를 들어, 곱셈 연산 또는 나누기 연산)에 의해 생성되는 난수의 크기는 q보다 작을 수 있다.
[알고리즘 3]을 참조하면, 전자 서명 생성 회로(110)는 비밀 키 d와 제1 난수 k1에 대한 곱셈 연산을 수행하고, 곱셈 연산의 결과에 대한 역원을 산출하고, 역원과 소수 q를 기초로 모듈러 연산을 수행함으로써 제1 파라미터 t1을 생성할 수 있다.
[알고리즘 3]을 참조하면, 전자 서명 생성 회로(110)는 공개키 값 y와 제1 파라미터 t1을 기초로 제곱 연산을 수행하고, 제곱 연산의 결과 및 소수 p를 기초로 모듈러 연산을 수행함으로써 중간 파라미터 v를 생성할 수 있다.
[알고리즘 3]을 참조하면, 전자 서명 생성 회로(110)는 중간 파라미터 v와 제2 소수 k2를 기초로 제곱 연산을 수행하고, 제곱 연산의 결과, 소수 p 및 소수 q를 기초로 모듈러 연산을 수행함으로써 제1 전자 서명 값 r을 생성할 수 있다.
전자 서명 생성 회로(110)는 메시지 M에 대한 해쉬 값 h(M), 제1 난수, 제2 난수 및 소수 q를 기초로 제2 파라미터 t2를 생성할 수 있다. 구체적으로, 전자 서명 생성 회로(110)는 해쉬 값 h(M), 제2 난수 k2 및 제1 난수 k1의 역원 k1-1에 대한 곱셈 연산을 수행하고, 곱셈 연산의 결과와 소수 q를 기초로 모듈러 연산을 수행함으로써 제2 파라미터 t2를 생성할 수 있다.
전자 서명 생성 회로(110)는 제1 파라미터 t1, 제2 파라미터 t2, 제1 전자 서명 값 r, 제2 난수 k2 및 소수 q를 기초로 제2 전자 서명 값 s를 생성할 수 있다. 구체적으로, 전자 서명 생성 회로(110)는 제1 파라미터 t1과 제2 난수 k2에 대한 제1 곱셈 연산을 수행하고, 제1 곱셈 연산 결과의 역원과 제1 전자 서명 값 r에 대한 제2 곱셈 연산을 수행하고, 제2 곱셈 연산의 결과와 제2 파라미터 t2에 대한 덧셈 연산을 수행하고, 덧셈 연산의 결과와 소수 q를 기초로 모듈러 연산을 수행함으로써 제2 전자 서명 값 s를 생성할 수 있다.
아래 [수학식 1] 및 [수학식 2]를 참조하면, [알고리즘 3]에 의해 생성되는 전자 서명 쌍 r, s는 [알고리즘 2]에 의해 생성되는 전자 서명 쌍 (r, s)과 동일한 파라미터로 표현될 수 있다.
[수학식 1]
Figure pat00005
[수학식 2]
Figure pat00006
즉, 본 개시의 예시적 실시 예에 따라 [알고리즘 3]을 기초로 동작하는 전자 서명 생성 회로(110)는, [알고리즘 2]를 기초로 동작하는 전자 서명 생성 회로와 호환될 수 있다.
[수학식 2]를 참조하면, 전자 서명 생성 회로(110)가 [알고리즘 3]을 기초로 전자 서명 쌍 (r, s)을 생성하는 경우, 난수 k는 제1 난수 k1과 제2 난수 k2 간의 연산을 통해 생성될 수 있다. 따라서, 전자 서명 생성 과정 중 제1 난수 k1 또는 제2 난수 k2의 일부 정보를 침탈하기 위한 부채널 공격(즉, 오류 주입 공격)이 시도되더라도, 난수 k는 안전하게 보호될 수 있으므로, 전자 서명 생성 회로(110)는 부채널 공격에 대한 안전성을 제공할 수 있다.
[알고리즘 3]을 참조하면, 전자 서명 생성 회로(110)는 전자 서명 생성 회로(110)는 비밀 키 d와 제1 난수 k1에 대한 곱셈 연산을 수행하므로, 비밀 키 d를 침탈하기 위한 부채널 공격(즉, 전력 분석 공격)이 시도되더라도, 비밀 키 d는 안전하게 보호될 수 있으므로, 전자 서명 생성 회로(110)는 부채널 공격에 대한 안전성을 제공할 수 있다.
난수 생성기(120)는 난수를 메모리(130)에 저장할 수 있고, 전자 서명 생성 회로(110)는 전자 서명을 생성하는 연산 과정에서 획득되는 데이터를 메모리(130)에 저장할 수 있다.
도 3b를 참조하면, 도 3a와 비교하여, 장치(10') 내에서 난수 생성기(120)는 암호화 장치(100b)와 별도의 장치로 구현될 수 있다. 난수 생성기(120)는 암호화 장치(100b)로부터 전자 서명 생성에 필요한 난수(k)의 생성을 요청을 수신할 수 있으며, 난수 생성기(120)는 상기 요청에 응답하여 복수의 난수들 생성하고, 생성된 난수들을 암호화 장치(100b)에 제공할 수 있다.
도 4는 본 개시의 예시적 실시 예에 따른 전자 서명 생성 방법을 설명하기 위한 흐름도이다. 전자 서명 생성 방법은 복수의 단계들(S410 내지 S460)을 포함할 수 있고, 도 1, 3a, 3b의 암호화 장치(100, 100a, 100b)에 의해 수행될 수 있다. 도 4는 예시적으로 도 1을 참조하여 후술될 수 있다.
단계 S410에서, 암호화 장치(100)는 제1 난수 k1 및 제2 난수 k2를 생성할 수 있다. 제1 난수 k1 및 제2 난수 k2의 크기는 [알고리즘 1]에 따라 선택된 소수 q의 크기보다 작을 수 있다. 일부 실시예들에서, 암호화 장치(100)는 [알고리즘 1]에 따라 공개 키(pu_key) p, q, g, y 및 비밀 키(se_key)를 생성하거나, 외부로부터 수신할 수 있다.
단계 S420에서, 암호화 장치(100)는 비밀키(se_key) d와 제1 난수 k1에 대한 곱셈 연산의 역원을 제1 파라미터 t1으로서 생성할 수 있다. 구체적으로, 암호화 장치(100)는 비밀키(se_key) d와 제1 난수 k1에 대한 곱셈 연산의 역원과, 소수 q를 기초로 모듈러 연산을 수행하고, 모듈러 연산의 결과를 제1 파라미터 t1으로서 생성할 수 있다. 비밀키 d와 제1 난수 k1에 대한 곱셈 연산이 수행되므로, 곱셈 연산의 결과도 랜덤한 특성을 가지게 될 수 있다. 따라서, 본 개시의 예시적 실시예에 따른 전자 서명 생성 방법은, 비밀키 d를 침탈하기 위한 부채널 공격에 대해 안정성을 제공할 수 있다.
단계 S430에서, 암호화 장치(100)는 제1 파라미터 t1, 제2 난수 k2 및 공개 키(pu_key)를 기초고 제1 전자 서명 값 r을 생성할 수 있다. 구체적으로, 암호화 장치(100)는 [알고리즘 3]에 기재된 바와 같이, 공개 키 값 y와 제1 파라미터 t1을 기초로 제곱 연산을 수행하고, 제곱 연산의 결과와 소수 p를 기초로 모듈러 연산을 수행하고, 모듈러 연산의 결과를 기초로 중간 파라미터 v를 생성할 수 있다. 암호화 장치(100)는 중간 파라미터 v와 제2 난수 k2를 기초로 제곱 연산을 수행하고, 제곱 연산의 결과와 소수 p, q를 기초로 모듈러 연산을 수행함으로써 제1 전자 서명 값 r을 생성할 수 있다.
단계 S440에서, 암호화 장치(100)는 제1 난수 k1, 제2 난수 k2 및 메시지 M을 기초로 제2 파라미터 t2를 생성할 수 있다. 구체적으로, 암호화 장치(100)는 [알고리즘 3]에 기재된 바와 같이, 메시지 M에 대한 해쉬 값 h(M)을 생성하고, 해쉬 값 h(M), 제1 난수 k1 및 제2 난수 k2의 역원 k2-1을 기초로 곱셈 연산을 수행하고, 곱셈 연산의 결과와 소수 q를 기초로 모듈러 연산을 수행함으로써 제2 파라미터를 생성할 수 있다.
단계 S450에서, 암호화 장치(100)는 제1 파라미터 t1, 제2 파라미터 t2, 제2 난수 k2 및 제1 전자 서명 값 r을 기초로 제2 전자 서명 값 s를 생성할 수 있다. 구체적으로, 암호화 장치(100)는 [알고리즘 3]에 기재된 바와 같이, 제1 파라미터 t1과 제2 난수 k2에 대한 제1 곱셈 연산을 수행하고, 제1 곱셈 연산 결과의 역원과 제1 전자 서명 값에 대한 제2 곱셈 연산을 수행하고, 제2 곱셈 연산의 결과와 소수 q를 기초로 모듈러 연산을 수행하고, 모듈러 연산의 결과와 제2 파라미터 t2에 대한 덧셈 연산을 수행함으로써 제2 전자 서명 값 s를 생성할 수 있다.
S460 단계에서, 암호화 장치(100)는 메시지 M 및 전자 서명 쌍 (r, s)을 출력할 수 있다.
[수학식 1] 및 [수학식 2]에 따르면, [알고리즘 3]에 의해 생성되는 전자 서명 쌍 (r, s)는 난수 k에 관한 값으로 이해될 수 있고, 난수 k는 제1 난수 k1 및 제2 난수 k2에 대한 연산을 기초로 결정될 수 있다. 복수의 단계들(S410 내지 S460)이 수행되는 동안, 제1 난수 k1 및 제2 난수 k2 각각의 일부 정보를 획득하기 위한 부채널 공격이 진행되더라도, 제1 난수 k1 및 제2 난수 k2에 대한 연산을 기초로 난수 k가 결정되므로, 난수 k에 대한 정보는 안전하게 보호될 수 있다.
도 5는 본 개시의 예시적 실시 예에 따른 전자 서명 시스템의 동작 방법을 설명하기 위한 도면이다. 구체적으로, 도 5는 송신 장치(31) 및 수신 장치(32)를 포함하는 전자 서명 시스템의 동작 방법을 설명하는 도면이다. 도 5의 송신 장치(31)는 도 1의 암호화 장치(100), 도 3a의 암호화 장치(100a) 또는 도 3b의 암호화 장치(100b)를 포함할 수 있다.
도 5의 전자 서명 시스템의 동작 방법은 복수의 단계들(S510 내지 S550)을 포함할 수 있다. 도 5를 참조하면, S510 단계에서, 송신 장치(31a)는 공개키 및 비밀키를 생성할 수 있다. 송신 장치(31a)는 [알고리즘 1]을 기초로 공개키 및 비밀키를 생성할 수 있다.
S520 단계에서, 송신 장치(31a)는 공개키를 수신 장치(32a)에 전달할 수 있다.
S530 단계에서, 송신 장치(31a)는 메시지 m에 대한 전자 서명 쌍 (r, s)을 생성할 수 있다. 본 개시의 예시적 실시 예에 따른 송신 장치(31a)는 [알고리즘 3]에 따라 전자 서명 쌍 (r, s)을 생성할 수 있다. 구체적으로, 송신 장치(31a)는 제1 난수 k1과 제2 난수 k2를 기초로 전자 서명 쌍 (r, s)을 생성할 수 있다. 또한, 송신 장치(31a)는 비밀키 d와 제1 난수 k1에 대한 곱셈 연산을 기초로 전자 서명 쌍 (r, s)을 생성할 수 있다.
S540 단계에서, 송신 장치(31a)는 메시지 m과 전자 서명 쌍 (r, s)을 결합함으로써 생성된 데이터를 수신 장치(32a)에 전달할 수 있다.
S550 단계에서, 수신 장치(32a)는 공개키를 기초로 전자 서명 쌍 (r, s)을 검증할 수 있다. 구체적으로, 수신 장치(32a)는 아래 [알고리즘 4]를 기초로 전자 서명 쌍 (r, s)을 검증할 수 있다.
[알고리즘 4]
Figure pat00007
수신 장치(32a)는 제2 전자 서명 값 s의 역원 s-1과 소수 q를 기초로 모듈러 연산을 수행하고, 모듈러 연산의 결과를 제1 검증 파라미터 w로서 생성할 수 있다.
수신 장치(32a)는 메시지 m에 대한 해쉬 값 h(m) 및 제1 검증 파라미터 w에 대한 곱셈 연산을 수행하고, 곱셈 연산의 결과와 소수 q를 기초로 모듈러 연산을 수행함으로써 제2 검증 파라미터 v1를 생성할 수 있다.
수신 장치(32a)는 제1 전자 서명 값 r 및 제1 검증 파라미터 w에 대한 곱셈 연산을 수행하고, 곱셈 연산의 결과와 소수 q를 기초로 모듈러 연산을 수행함으로써 제3 검증 파라미터 v2를 생성할 수 있다.
수신 장치(32a)는 공개키 값 g와 제2 검증 파라미터 v1에 대한 제1 제곱 연산을 수행하고, 공개 키 값 y와 제3 검증 파라미터 v2에 대한 제2 제곱 연산을 수행하고, 제1 제곱 연산의 결과와 제2 제곱 연산의 결과에 대한 곱셈 연산을 수행하고, 곱셈 연산의 결과와 소수 p, q에 대한 모듈러 연산을 수행함으로써 제4 검증 파라미터 v3를 생성할 수 있다.
수신 장치(32a)는 제4 검증 파라미터 v3와 제1 전자 서명 값 r을 비교함으로써 전자 서명이 유효한지 여부를 판단할 수 있다. 구체적으로, 수신 장치(32a)는 제4 검증 파라미터 v3와 제1 전자 서명 값 r이 동일한 경우 전자 서명이 유효하다고 판단할 수 있고, 제4 검증 파라미터 v3와 제1 전자 서명 값 r이 동일하지 않은 경우 전자 서명이 유효하지 않다고 판단할 수 있다. 전자 서명이 유효하다는 것은 메시지 m이 송신 장치(31)에 의해 생성된 것을 의미할 수 있으므로, 수신 장치(32a)는 메시지 m을 신뢰할 수 있다.
도 6은 본 개시의 예시적 실시 예에 따른 전자 서명 시스템의 동작 방법을 설명하기 위한 도면이다. 구체적으로, 도 6은 송신 장치(33), 수신 장치(34) 및 제3자 장치(35)를 포함하는 전자 서명 시스템의 동작 방법을 설명하는 도면이다. 도 6의 송신 장치(33)는 도 1의 암호화 장치(100), 도 3a의 암호화 장치(100a) 또는 도 3b의 암호화 장치(100b)를 포함할 수 있다.
도 6의 전자 서명 시스템의 동작 방법은 복수의 단계들(S610 내지 S680)을 포함할 수 있다. 도 6을 참조하면, S610 단계에서, 송신 장치(33)는 [알고리즘 1]을 기초로 공개키 및 비밀키를 생성할 수 있다.
S620 단계에서, 송신 장치(33)는 제3자 장치(35)에 공개키를 전달할 수 있다. 제3자 장치(35)는 인증 기관(Certificate Authority, CA), 등록 기관(Registration Authority) 및 검증 기관(Validation Authority) 중 적어도 하나로 지칭될 수 있다. 송신 장치(33)는 공개키와 함께 송신 장치(33)(또는, 송신 장치(33)를 사용하는 사용자)의 신원 정보를 제3자 장치(35)에 전달할 수 있고, 제3자 장치(35)에 인증서 발급을 요청할 수 있다.
S630 단계에서, 제3자 장치(35)는 신원 정보를 확인하고, 제3자 장치(35)의 고유 비밀키를 기초로 송신 장치(33)의 공개키 및 신원정보를 전자 서명화함으로써 인증서(certificate)를 생성할 수 있다. S640 단계에서, 제3자 장치(35)는 인증서를 송신 장치(33)에 전달할 수 있다.
S650 단계에서, 송신 장치(33)는 메시지 m에 대한 전자 서명 쌍 (r, s)을 생성할 수 있다. 본 개시의 예시적 실시 예에 따른 송신 장치(33)는 도 5의 송신 장치(31)와 동일한 방식으로 전자 서명 쌍 (r, s)을 생성할 수 있다.
S660 단계에서, 송신 장치(33)는 메시지 m, 전자 서명 쌍 (r, s), 송신 장치(33)의 공개키 및 인증서를 수신 장치(34)에 전달할 수 있다.
S670 단계에서, 수신 장치(34)는 제3자 장치(35)에 전자 서명 쌍 (r, s)에 대한 검증을 요청할 수 있다. 구체적으로, S670 단계에서, 수신 장치(34)는 메시지 m, 전자 서명 쌍 (r, s)을 제3자 장치(35)에 전달할 수 있고, 제3자 장치(35)는 송신 장치(33)의 공개키를 기초로 전자 서명 쌍 (r, s)을 검증함으로써 전자 서명 쌍 (r, s)의 유효성 정보를 생성할 수 있다. 제3자 장치(35)는 [알고리즘 4]를 기초로 유효성 정보를 생성할 수 있다.
S680 단계에서, 제3자 장치(35)는 수신 장치(34)에 유효성 정보를 전달할 수 있다. 유효성 정보는 전자 서명 쌍 (r, s)이 송신 장치(33)에 의해 생성된 것이며, 전자 서명 쌍 (r, s)이 메시지 m에 대한 것임을 인증하는 정보를 의미할 수 있다.
일부 실시예들에서, S670 단계 및 S680 단계는 생략될 수 있고, 수신 장치(34)는 제3자 장치(35)의 공개키를 기초로 인증서를 검증함으로써 송신 장치(33)로부터 수신된 공개키가 신뢰할 수 있는 것인지 여부를 판단할 수 있다. 즉, 수신 장치(34)는 제3자 장치(35)의 공개키를 기초로 인증서를 검증함으로써 송신 장치(33)의 인증된 공개키를 획득할 수 있다. 수신 장치(34)는 송신 장치(33)의 인증된 공개키, 메시지 m 및 전자 서명 쌍 (r, s)를 기초로 [알고리즘 4]에 따라 전자 서명 쌍 (r, s)이 송신 장치(33)에 의해 생성된 것이며, 전자 서명 쌍 (r, s)이 메시지 m에 대한 것임을 검증할 수 있다.
도 7a 및 도 7b는 본 개시의 예시적 실시 예에 따른 전자 서명 시스템을 설명하기 위한 블록도이다.
도 7a를 참조하면, 전자 서명 시스템(40)은 송신 장치(41) 및 수신 장치(42)를 포함할 수 있다. 송신 장치(41)는 도 5의 송신 장치(31) 또는 도 6의 송신 장치(33)일 수 있고, 수신 장치(42)는 도 5의 수신 장치(32) 또는 도 6의 수신 장치(34)일 수 있다.
송신 장치(41)는 메시지 m에 대한 전자 서명 쌍 (r, s)을 생성할 수 있다. 송신 장치(41)는 해쉬 회로(411), 서명 생성 회로(412) 및 결합 회로(413)를 포함할 수 있다.
해쉬 회로(411)는 메시지 m을 수신하고, 해쉬 값 h(m)을 출력할 수 있다. 해쉬 회로(411)는 해쉬 알고리즘을 기초로 메시 m에 대한 해쉬 연산을 수행함으로써 해쉬 값 h(m)을 생성할 수 있다. 해쉬 알고리즘은 임의의 길이를 갖는 메시지를 변환함으로써 고정된 길이의 해쉬 값을 생성하는 알고리즘일 수 있다. 해쉬 알고리즘은 해쉬 함수, 또는 메시지다이제스트함수(message digest function)로 지칭될 수도 있고, 해쉬 값 h(m)은 메시지 다이제스트로 지칭될 수 있다. 예를 들어, 해쉬 알고리즘은 MD-5 또는 SHA-1일 수 있다.
서명 생성 회로(412)는 제1 난수 k1 및 제2 난수 k2, 비밀키 d 및 공개키 (p, q, g, y)를 기초로 해쉬 값 h(m)에 대한 전자 서명 쌍 (r, s)를 생성할 수 있다. 일부 실시예들에서, 송신 장치(41)는 제1 난수 k1 및 제2 난수 k2, 비밀키 d 및 공개 키 (p, q, g, y) 중 적어도 하나를 외부로부터 수신할 수 있다. 일부 실시예들에서, 송신 장치(41)는 난수 생성기를 더 포함할 수 있고, 난수 생성기는 제1 난수 k1 및 제2 난수 k2를 생성할 수 있다. 일부 실시예들에서, 송신 장치(41)는 키 생성 회로(미도시)를 더 포함할 수 있고, 키 생성 회로는 비밀키 d 및 공개 키 (p, q, g, y)를 생성할 수 있다.
서명 생성 회로(412)는 [알고리즘 3]을 기초로 전자 서명 쌍 (r, s)을 생성할 수 있다. 서명 생성 회로(412)는 전자 서명 쌍 (r, s)을 결합 회로(413)에 전달할 수 있다.
[알고리즘 3]을 참조하면, 서명 생성 회로(412)는 제1 난수 k1와 비밀키 d에 대한 곱셈 연산을 수행하고, 곱셈 연산의 결과를 기초로 전자 서명 쌍 (r, s)을 생성할 수 있다. 서명 생성 회로(412)는 제1 난수 k1와 비밀키 d에 대한 곱셈 연산을 수행함으로써 비밀키 d를 확보하기 위한 오류 주입 공격에 대한 안전성을 제공할 수 있다.
[알고리즘 3], [수학식 1] 및 [수학식 2]를 참조하면, 서명 생성 회로(412)는 제1 난수 k1 및 제2 난수 k2를 기초로 전자 서명 쌍 (r, s)을 산출하기 위한 난수 k를 생성할 수 있으므로, 난수 k를 확보하기 위한 오류 주입 공격에 대한 안전성을 제공할 수 있다.
결합 회로(413)는 메시지 m 및 전자 서명 쌍 (r, s)을 결합함으로써 결합 메시지 c_m를 생성할 수 있다. 결합 회로(413)는 결합 메시지 c_m을 수신 장치(42)에 전달할 수 있다.
수신 장치(42)는 결합 메시지 c_m을 수신하고, 메시지 m이 송신 장치(41)에 의해 생성된 것인지 검증할 수 있다. 수신 장치(42)는 해쉬 회로(421) 및 검증 회로(422)를 포함할 수 있다. 일부 실시예들에서, 수신 장치(42)는 공개 키 (p, q, g, y)를 외부(예를 들어, 도 6의 제3자 장치(35))로부터 수신할 수 있다. 일부 실시예들에서, 수신 장치(42)는 공개키 (p, q, g, y)를 송신 장치(41)로부터 수신할 수 있다.
결합 메시지 c_m에 포함된 메시지 m은 해쉬 회로(421)에 입력될 수 있다. 해쉬 회로(421)는 해쉬 회로(411)와 동일한 해쉬 알고리즘을 기초로 메시지 m에 대한 해쉬 값 h(m)을 생성할 수 있다. 해쉬 회로(421)는 해쉬 값 h(m)을 검증 회로(422)에 전달할 수 있다.
검증 회로(421)는 해쉬 값 h(m), 결합 메시지 c_m에 포함된 전자 서명 쌍 (r, s), 및 송신 장치(41)의 공개키 (p, q, g, y)를 기초로 전자 서명 쌍 (r, s) 대한 검증 결과인 유효성 정보(validity information)할 수 있다. 일부 실시예들에서, 검증 회로(421)는 [알고리즘 4]에 따라 v = r인 경우 전자 서명 쌍 (r, s)이 유효함을 나타내는 유효성 정보를 생성할 수 있고, v = r이 아닌 경우 전자 서명 쌍 (r, s)이 유효하지 않음을 나타내는 유효성 정보(validity information)를 생성할 수 있다.
유효성 정보는, 전자 서명 쌍 (r, s)이 메시지 m에 대한 서명인지 여부 및 전자 서명 쌍 (r, s)이 송신 장치(31)의 비밀키를 기초로 생성된 것인지 여부 중 적어도 하나를 나타낼 수 있다.
도 7b를 참조하면, 전자 서명 시스템(50)은 송신 장치(61) 및 수신 장치(62)를 포함할 수 있다. 송신 장치(41)는 도 5의 송신 장치(31) 또는 도 6의 송신 장치(33)일 수 있고, 수신 장치(42)는 도 5의 수신 장치(32) 또는 도 6의 수신 장치(34)일 수 있다. 송신 장치(61)는 도 7a의 송신 장치(41)와 달리 암호화 회로(414)를 더 포함할 수 있고, 수신 장치(62)는 도 7a의 수신 장치(42)와 달리 복호화 회로(423)를 더 포함할 수 있다.
암호화 회로(414)는 메시지 m을 수신하고 메시지 m에 대한 암호화 메시지 e_m을 결합 회로(413)에 출력할 수 있다. 일부 실시예들에서, 암호화 회로(414)는 대칭형 암호 알고리즘에 따라 암호문 e_m을 생성할 수 있다. 예를 들어, 대칭형 암호 알고리즘은 DES(Data Encryption Standard), AES(Advanced Encryption Standard), SEED 또는 ARIA일 수 있다. 결합 회로(413)는 암호화 메시지 e_m 및 전자 서명 쌍 (r, s)을 결합함으로써 결합 메시지 c_m를 생성할 수 있다.
복호화 회로(423)는 암호화 메시지 e_m를 수신하고 메시지 m을 해쉬 회로(421)에 출력할 수 있다. 일부 실시예들에서, 복호화 회로(423)는 대칭형 암호화 알고리즘에 따라 암호화 메시지 e_m을 복호화함으로써 메시지 m을 생성할 수 있다. 예를 들어, 복호화 회로(423)는 암호화 회로(414)가 사용하는 암호화 알고리즘과, 동일한 암호화 알고리즘을 기초로 복호화를 수행할 수 있다.
도 8은 본 개시의 예시적 실시 예에 따른 서명 생성 회로(412)를 설명하는 블록도이다.
도 8을 참조하면, 서명 생성 회로(412)는 제1 내지 5 연산 회로들(51 내지 55)을 포함할 수 있다. 서명 생성 회로(412)는 [알고리즘 3]을 기초로 전자 서명 쌍 (r, s)을 생성할 수 있다.
제1 연산 회로(51)는 비밀키 d, 제1 난수 k1 및 소수 q를 기초로 제1 파라미터 t1을 생성할 수 있다. 구체적으로, 제1 연산 회로(51)는 비밀키 d와 제1 난수 k1에 대한 곱셈 연산을 수행하고, 곱셈 연산의 결과에 대한 역원을 산출하고, 곱셈 연산의 결과에 대한 역원과 소수 q를 기초로 모듈러 연산을 수행함으로써 제1 파라미터 t1을 생성할 수 있다. 본 개시의 예시적 실시 예에 따른 제1 연산 회로(51)는 비밀키 d와 제1 난수 k1에 대한 곱셈 연산을 수행함으로써 비밀키 d를 확보하기 위한 오류 주입 공격에 대한 안전성을 제공할 수 있다.
제2 연산 회로(52)는 소수 p, 공개키 값 y 및 제1 파라미터 t1을 기초로 중간 파라미터 v를 생성할 수 있다. 구체적으로, 제2 연산 회로(52)는 공개 키 값 y와 제1 파라미터 t1을 기초로 제곱 연산을 수행하고, 제곱 연산의 결과와 소수 p를 기초로 모듈러 연산을 수행함으로써 중간 파라미터 v를 생성할 수 있다.
제3 연산 회로(53)는 소수 p, q, 제2 난수 k2 및 중간 파라미터 v를 기초로 제1 전자 서명 값 r을 생성할 수 있다. 구체적으로, 제3 연산 회로(53)는 중간 파라미터 v와 제2 난수 k2를 기초로 제곱 연산을 수행하고, 제곱 연산의 결과와 소수 p, q를 기초로 모듈러 연산을 수행함으로써 제1 전자 서명 값 r을 생성할 수 있다.
제4 연산 회로(54)는 소수 q, 제1 난수 k1, 제2 난수 k2 및 해쉬 값 h(m)을 기초로 제2 파라미터 t2를 생성할 수 있다. 구체적으로, 제4 연산 회로(54)는 제2 난수 k2의 역원 k2-1을 산출하고, 해쉬 값 h(m), 제1 난수 k1 및 제2 난수의 역원 k2-1를 기초로 곱셈 연산을 수행하고, 곱셈 연산의 결과와 소수 q를 기초로 모듈러 연산을 수행함으로써 제2 파라미터 t2를 생성할 수 있다.
제5 연산 회로(55)는 제1 난수 k1, 제2 난수 k2, 소수 q, 제1 파라미터 t1 및 제2 파라미터 t2를 기초로 제2 전자 서명 값 s를 생성할 수 있다. 구체적으로, 제5 연산 회로(55)는 제1 파라미터 t1 및 제2 난수 k2를 기초로 제1 곱셈 연산을 수행하고, 제1 곱셈 연산의 결과에 대한 역원을 생성하고, 제1 곱셈 연산의 결과에 대한 역원과 제1 전자 서명 값 r을 기초로 제2 곱셈 연산을 수행하고, 제2 곱셈 연산의 결과와 소수 q를 기초로 모듈러 연산을 수행하고, 모듈러 연산의 결과와 제2 파라미터 t2를 기초로 덧셈 연산을 수행함으로써 제2 전자 서명 값 s를 생성할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 전자 서명 서비스 시스템(600)을 나타낸 도면이다.
도 9를 참조하면, 실시예에 따른 전자 서명 서비스 시스템(600)은 사용자 단말(620)과, 사용자의 전자 서명 생성을 위한 데이터를 저장하고 사용자에게 전자 서명 서비스를 제공하는 전자 서명 서버(610), 전자 서명을 이용하는 전자 서명 이용 서버(630) 및 전자 서명을 인증하는 인증 서버(640)를 포함할 수 있다.
전자 서명 이용 서버(630)는 전자 서명을 이용하는 기관에 의해 운영되는 서버를 의미한다. 전자 서명 이용 서버(630)는 은행 서버, 공공 기관에 의해 운영되는 서버, 전자 상거래 서비스를 제공하는 서버 등을 포함할 수 있으며, 이에 제한되는 것은 아니다. 전자 서명 이용 서버(630)는 사용자의 인증이 필요한 전자 문서, 즉 서명 대상 문서를 발행할 수 있다. 전자 서명 이용 서버(630)는 상기 서명 대상 문서로부터 도출된 서명 대상 데이터를 사용자 단말(620)에 전송할 수 있다. 상기 서명 대상 데이터는 서명 대상 문서의 원문 데이터를 그대로 포함할 수도 있고, 서명 대상 문서의 원문 데이터를 암호화에 적절하도록 가공한 데이터를 포함할 수도 있다. 전자 서명 이용 서버(630)는 상기 서명 대상 데이터에 대한 전자 서명을 사용자 단말(620)에게 요청할 수 있다.
인증 서버(640)는 전자 서명의 검증을 위한 인증서를 발행하고 관리하는 공인 인증 기관에 의해 운영되는 서버를 의미한다. 상기 공인 인증 기관의 예로는 금융결제원, 한국정보인증, 한국증권전산, 한국전자인증, 한국전산원, 한국무역정보통신 등이 있다.
사용자 단말(620)은 전자 서명의 권한을 가진 사용자가 사용하는 장치를 의미한다. 사용자 단말은 스마트 폰, 태블릿 PC, 랩톱 등을 포함할 수 있으나 이에 제한되는 것은 아니다. 사용자 단말(620)은 전자 서명 이용 서버(610) 및 전자 서명 서비스 서버(610)와 통신할 수 있는 통신 수단을 포함할 수 있다. 사용자 단말(620)은 전자 서명 이용 서버(630)로부터 서명 대상 데이터 및 서명 대상 데이터에 대한 전자 서명의 요청 수신할 수 있다.
사용자 단말(620)은 본 개시의 예시적 실시 예에 따른 암호화 장치(예를 들어, 도 1의 100)을 포함할 수 있다. 즉, 사용자 단말(620)은 복수의 난수들을 사용하여 전자 서명을 생성함으로써 난수를 획득하기 위한 오류 주입 공격에 대한 안전성을 제공할 수 있다. 또한, 사용자 단말(620)은 난수와 비밀키에 대한 곱셈 연산을 기초로 전자 서명을 생성함으로써 비밀키를 획득하기 위한 전력 분석 공격에 대한 안전성을 제공할 수 있다.
사용자 단말(620)은 전자 서명을 직접 생성하지 않고, 전자 서명 서비스 서버(610)에게 전자 서명을 생성해 줄 것을 요청할 수 있다. 필요한 경우, 사용자 단말(620)은 상기 서명 대상 데이터를 전자 서명이 용이한 포맷으로 가공한 후, 가공된 서명 대상 데이터에 대한 전자 서명의 요청을 전자 서명 서비스 서버(610)에게 전송할 수 있다. 이 때에, 전자 서명 서비스 서버(610)도 본 개시의 예시적 실시 예에 따른 암호화 장치(예를 들어, 도1의 100)을 포함할 수 있다.
사용자 단말(620)은 전자 서명 서비스 서버(610)로부터 전자 서명을 수신하면, 전자 서명을 이용하여 전자 서명문을 생성할 수 있다. 전자 서명문은 전자 서명 이용 서버(630) 또는 인증 서버(640)에서 검증이 가능한 포맷으로 작성될 수 있다. 사용자 단말(620)은 생성한 전자 서명문을 전자 서명 이용 서버(630)에 전송할 수 있다.
도 10은 본 개시의 일 실시예에 따라 생성된 전자 서명을 통한 보안 검증을 수행하는 통신 기기의 예시들을 나타낸다. 구체적으로, 도 10은 WLAN을 이용하는 무선 통신 시스템에서 다양한 무선 통신 기기들이 상호 통신하는 예시를 나타낸다.
가정용 기기(721), 가전(722), 엔터테인먼트 기기(723) 및 AP(710)는 IoT(Internet of Things) 네트워크 시스템을 구성할 수 있다. 가정용 기기(721), 가전(722), 엔터테인먼트 기기(723) 및 AP(Access Point)(710) 각각은 본 개시의 예시적 실시예에 따른 암호화 장치(예를 들어, 도 1의 100)를 포함할 수 있고, 난수와 비밀키의 곱셈 연산, 및 복수의 난수들을 기초로 전자 서명을 생성할 수 있다. 각각 생성된 전자 서명을 통하여 IoT 네트워크 시스템을 구성하는 기기들(710, 721, 722, 723)간의 보안성을 강화할 수 다. 가정용 기기(721), 가전(722) 및 엔터테인먼트 기기(723)는 AP(710)와 무선 통신할 수 있고, 가정용 기기(721), 가전(722) 및 엔터테인먼트 기기(723)는 상호 무선 통신할 수도 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시 예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시 예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 비밀키와 공개키를 기초로 메시지에 대한 서명을 생성하는 방법에 있어서,
    상기 비밀키와 제1 난수의 곱셈을 기초로 제1 파라미터를 생성하는 단계;
    상기 제1 파라미터와 상기 공개키를 기초로 제1 전자 서명 값을 생성하는 단계;
    상기 제1 난수, 제2 난수 및 상기 메시지를 기초로 제2 파라미터를 생성하는 단계;
    상기 제1 파라미터, 상기 제2 파라미터, 상기 제2 난수 및 상기 제1 전자 서명 값을 기초로 제2 전자 서명 값을 생성하는 단계; 및
    상기 메시지, 상기 제1 전자 서명 값 및 상기 제2 전자 서명 값을 출력하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 파라미터를 생성하는 단계는,
    상기 비밀키와 상기 제1 난수에 대한 제1 곱셈 연산을 수행하는 단계; 및
    상기 제1 곱셈 연산의 결과의 역원을 상기 제1 파라미터로서 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 제1 전자 서명 값을 생성하는 단계는,
    상기 제1 파라미터를 기초로 상기 공개키에 대한 제곱 연산을 수행함으로써 중간 파라미터를 생성하는 단계; 및
    상기 제2 난수를 기초로 상기 중간 파라미터에 대한 제곱 연산을 수행함으로써 상기 제1 전자 서명 값을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 제2 파라미터를 생성하는 단계는,
    상기 메시지에 대한 해시 값을 생성하는 단계;
    상기 해시 값, 상기 제1 난수, 및 상기 제2 난수에 대한 역원에 대한 제2 곱셈 연산을 수행함으로써 상기 제2 파라미터를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 메시지에 대한 해시 값을 생성하는 단계는,
    대칭 암호화 알고리즘 또는 비대칭 암호화 알고리즘을 사용하여 상기 메시지를 암호화하는 단계; 및
    암호화된 상기 메시지에 대한 해시 값을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제4항에 있어서,
    상기 제2 전자 서명 값을 생성하는 단계는,
    상기 제1 파라미터 및 상기 제2 난수에 대한 제3 곱셈 연산을 수행하는 단계;
    상기 제1 전자 서명 값 및 상기 제3 곱셈 연산의 결과의 역원에 대한 제4 곱셈 연산을 수행하는 단계; 및
    상기 제4 곱셈 연산의 결과 및 상기 제2 난수에 대한 덧셈 연산을 수행함으로써 상기 제2 전자 서명 값을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 메시지, 상기 제1 전자 서명 값 및 상기 제2 전자 서명 값을 출력하는 단계는,
    상기 메시지, 상기 제1 전자 서명 값 및 상기 제2 전자 서명 값을 병합함으로써 전송 데이터를 생성하는 단계; 및
    상기 전송 데이터를 채널로 출력하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 메시지를 교환하는 제1 장치와 제2 장치를 포함하는 시스템의 메시지 인증 방법에 있어서,
    상기 제1 장치에서, 상기 제1 장치의 제1 비밀키와 제1 난수의 곱셈 연산의 역원을 기초로 제1 파라미터를 생성하는 단계;
    상기 제1 장치에서, 상기 제1 파라미터, 제2 난수 및 상기 제1 장치의 제1 공개키를 기초로 제1 전자 서명 값을 생성하는 단계;
    상기 제1 장치에서, 상기 제1 난수, 상기 제2 난수 및 상기 메시지를 기초로 제2 파라미터를 생성하는 단계;
    상기 제1 장치에서, 상기 제1 파라미터, 상기 제2 파라미터, 상기 제2 난수 및 상기 제1 전자 서명 값을 기초로 제2 전자 서명 값을 생성하는 단계; 및
    상기 제1 장치에서, 상기 메시지, 상기 제1 공개키, 상기 제1 전자 서명 값 및 상기 제2 전자 서명 값을 상기 제2 장치로 출력하는 단계를 포함하는 시스템의 메시지 인증 방법.
  9. 제8항에 있어서,
    상기 제2 장치에서, 상기 공개키를 기초로 상기 제1 전자 서명 값 및 상기 제2 전자 서명 값을 검증하는 단계를 더 포함하는 것을 특징으로 하는 메시지 인증 방법.
  10. 제8항에 있어서,
    상기 제1 장치에서, 상기 공개키를 제3 장치에 제공하는 단계;
    상기 제3 장치에서, 상기 제3 장치의 제2 비밀키를 기초로 상기 제1 공개키에 대한 인증서를 생성하는 단계;
    상기 제1 장치에서, 상기 인증서를 제2 장치에 출력하는 단계;
    상기 제2 장치에서, 제3 장치에 상기 인증서의 유효성 검증을 요청하는 단계; 및
    상기 제3 장치에서, 상기 제2 장치에 상기 인증서의 유효성을 제공하는 단계를 더 포함하는 것을 특징으로 하는 메시지 인증 방법.
  11. 제8항에 있어서,
    상기 제1 장치의 제1 비밀키와 제1 난수의 곱셈 연산의 역원을 기초로 제1 파라미터를 생성하는 단계는,
    상기 제1 비밀키와 상기 제1 난수에 대한 상기 곱셈 연산을 수행하는 단계; 및
    상기 곱셈 연산의 결과에 대한 역원을 산출하는 단계; 및
    상기 역원과 제1 소수를 기초로 모듈러 연산을 수행함으로써 상기 제1 파라미터를 생성하는 단계를 포함하는 것을 특징으로 하는 메시지 인증 방법.
  12. 제11항에 있어서,
    상기 제1 전자 서명 값을 생성하는 단계는,
    상기 제1 공개키와 상기 제1 파라미터를 기초로 제1 제곱 연산을 수행하는 단계;
    상기 제1 제곱 연산의 결과 및 제2 소수에 대한 모듈러 연산을 수행함으로써 중간 파라미터를 생성하는 단계;
    상기 중간 파라미터와 상기 제2 난수를 기초로 제2 제곱 연산을 수행하는 단계;
    상기 제2 제곱 연산의 결과, 상기 제1 소수 및 상기 제2 소수를 기초로 모듈러 연산을 수행함으로써 상기 제1 전자 서명 값을 생성하는 단계를 포함하는 것을 특징으로 하는 메시지 인증 방법.
  13. 제12항에 있어서,
    상기 제1 전자 서명 값을 기초로 제2 전자 서명 값을 생성하는 단계는,
    상기 제1 파라미터 및 상기 제2 난수를 기초로 제1 곱셈 연산을 수행하는 단계;
    상기 제1 곱셈 연산의 결과에 대한 역원을 산출하는 단계;
    상기 제1 곱셈 연산의 결과에 대한 역원 및 상기 제1 전자 서명 값을 기초로 제2 곱셈 연산을 수행하는 단계;
    상기 제2 곱셈 연산의 결과 및 상기 제1 소수를 기초로 모듈러 연산을 수행하는 단계; 및
    상기 모듈러 연산의 결과 및 상기 제2 파라미터를 기초로 덧셈 연산을 수행하는 단계를 포함하는 것을 특징으로 하는 메시지 인증 방법.
  14. 메시지에 대한 디지털 서명을 생성하는 암호화 장치로서,
    제1 및 제2 난수를 생성하도록 구성된 난수 생성기;
    비밀키와 상기 제1 난수에 대한 곱셈 연산을 기초로 제1 파라미터를 생성하고, 상기 메시지에 대한 해쉬 값과 상기 제1 및 2 난수를 기초로 제2 파라미터를 생성하고, 상기 제1 파라미터, 상기 제2 파라미터, 상기 제2 난수 및 상기 비밀키에 대한 공개키를 기초로 상기 메시지에 대한 전자 서명 쌍을 생성하는 전자 서명 생성 회로; 및
    상기 전자 서명 쌍을 저장하는 메모리를 포함하는 것을 특징으로 하는 암호화 장치.
  15. 제14항에 있어서,
    상기 전자 서명 생성 회로는,
    상기 메시지에 대한 상기 해쉬 값을 생성하는 해쉬 회로;
    상기 해쉬 값, 상기 제1 및 제2 난수, 상기 비밀키 및 상기 공개키를 기초로 상기 전자 서명 쌍을 생성하는 서명 생성 회로; 및
    상기 전자 서명 쌍 및 상기 메시지를 결합하는 결합 회로를 포함하는 것을 특징으로 하는 암호화 장치.
  16. 제15항에 있어서,
    상기 전자 서명 생성 회로는,
    상기 메시지를 암호화함으로써 암호문을 생성하는 암호화 회로를 더 포함하고,
    상기 해쉬 회로는,
    상기 암호문을 기초로 상기 해쉬 값을 생성하도록 구성되는 것을 특징으로 하는 암호화 장치.
  17. 제14항에 있어서,
    상기 서명 생성 회로는,
    상기 곱셈 연산의 결과에 대한 역원을 산출하고, 상기 역원과 제1 소수를 기초로 제1 모듈러 연산을 수행함으로써 상기 제1 파라미터를 생성하는 것을 특징으로 하는 암호화 장치.
  18. 제17항에 있어서,
    상기 서명 생성 회로는,
    상기 공개키와 상기 제1 파라미터를 기초로 제1 제곱 연산을 수행하고, 상기 제1 제곱 연산의 결과와 제2 소수를 기초로 제2 모듈러 연산을 수행함으로써 중간 파라미터를 생성하고,
    상기 중간 파라미터와 상기 제2 난수를 기초로 제2 제곱 연산을 수행하고, 상기 제2 제곱 연산의 결과, 상기 제1 소수 및 상기 제2 소수를 기초로 제3 모듈러 연산을 수행함으로써 상기 전자 서명 쌍에 포함된 제1 전자 서명 값을 생성하는 것을 특징으로 하는 암호화 장치.
  19. 제18항에 있어서,
    상기 서명 생성 회로는,
    상기 해쉬 값, 상기 제1 난수 및 상기 제2 난수의 제1 역원을 기초로 곱셈 연산을 수행하고, 상기 곱셈 연산의 결과와 상기 제1 소수를 기초로 제4 모듈러 연산을 수행함으로써 상기 제2 파라미터를 생성하는 것을 특징으로 하는 암호화 장치.
  20. 제19항에 있어서,
    상기 서명 생성 회로는,
    상기 제1 파라미터와 상기 제2 난수에 대한 제1 곱셈 연산을 수행하고, 상기 제1 곱셈 연산의 결과에 대한 제2 역원을 산출하고, 상기 제2 역원과 상기 제1 전자 서명 값에 대한 제2 곱셈 연산을 수행하고, 상기 제2 곱셈 연산의 결과와 상기 제1 소수를 기초로 제5 모듈러 연산을 수행하고, 상기 제5 모듈러 연산의 결과와 상기 제2 파라미터에 대한 덧셈 연산을 수행함으로써 상기 전자 서명 쌍에 포함된 제2 전자 서명 값을 생성하는 것을 특징으로 하는 암호화 장치.
KR1020220000377A 2021-04-16 2022-01-03 암호화 장치, 암호화 장치를 포함하는 시스템의 인증 방법 및 서명을 생성하는 방법 KR20220143557A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102022108756.5A DE102022108756A1 (de) 2021-04-16 2022-04-11 Verschlüsselungsvorrichtung und Authentifizierungsverfahren und Signaturerzeugungsverfahren eines Systems umfassend dieselbe
CN202210388974.6A CN115225248A (zh) 2021-04-16 2022-04-13 加密装置及包括其的系统的认证方法和签名生成方法
TW111114432A TW202245436A (zh) 2021-04-16 2022-04-15 產生訊息的簽章的方法、訊息認證方法以及加密裝置
US17/721,903 US20220337425A1 (en) 2021-04-16 2022-04-15 Encryption device and authentication method and signature generating method of system including the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210050089 2021-04-16
KR20210050089 2021-04-16

Publications (1)

Publication Number Publication Date
KR20220143557A true KR20220143557A (ko) 2022-10-25

Family

ID=83804216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220000377A KR20220143557A (ko) 2021-04-16 2022-01-03 암호화 장치, 암호화 장치를 포함하는 시스템의 인증 방법 및 서명을 생성하는 방법

Country Status (1)

Country Link
KR (1) KR20220143557A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024101511A1 (ko) * 2022-11-09 2024-05-16 주식회사 시옷 V2x 통신 환경에서 메시지의 서명 검증 방법 및 이를 수행하는 컴퓨팅 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024101511A1 (ko) * 2022-11-09 2024-05-16 주식회사 시옷 V2x 통신 환경에서 메시지의 서명 검증 방법 및 이를 수행하는 컴퓨팅 장치

Similar Documents

Publication Publication Date Title
US11323276B2 (en) Mutual authentication of confidential communication
US20190245695A1 (en) Secure communications providing forward secrecy
US8601267B2 (en) Establishing a secured communication session
JP4130653B2 (ja) 擬似公開鍵暗号方法及びシステム
KR100635280B1 (ko) 전자 서명을 이용한 보안 방법
CN101931536A (zh) 一种无需认证中心的高效数据加密及认证方法
JP2015226132A (ja) 署名検証システム、通信装置、検証装置、署名生成方法、及び署名検証方法
KR20220143557A (ko) 암호화 장치, 암호화 장치를 포함하는 시스템의 인증 방법 및 서명을 생성하는 방법
EP3113407B1 (en) Client device with certificate and related method
JP5393594B2 (ja) 効率的相互認証方法,プログラム,及び装置
JP2010028689A (ja) 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム
US20220337425A1 (en) Encryption device and authentication method and signature generating method of system including the same
CN112738067B (zh) 一种人脸识别方法、装置及设备
KR20230009535A (ko) 신원증명 인증 서비스공급자 단말 및 그 동작 방법
Yoon et al. Robust User Password Change Scheme based on the Elliptic Curve Cryptosystem
Serb et al. A Certificate–Based Signature Scheme for Secure Mobile Communications