KR100326226B1 - 행렬그룹공개키생성방법 - Google Patents

행렬그룹공개키생성방법 Download PDF

Info

Publication number
KR100326226B1
KR100326226B1 KR1019980006062A KR19980006062A KR100326226B1 KR 100326226 B1 KR100326226 B1 KR 100326226B1 KR 1019980006062 A KR1019980006062 A KR 1019980006062A KR 19980006062 A KR19980006062 A KR 19980006062A KR 100326226 B1 KR100326226 B1 KR 100326226B1
Authority
KR
South Korea
Prior art keywords
matrix
equation
message
public key
code
Prior art date
Application number
KR1019980006062A
Other languages
English (en)
Other versions
KR19990070921A (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 KR1019980006062A priority Critical patent/KR100326226B1/ko
Publication of KR19990070921A publication Critical patent/KR19990070921A/ko
Application granted granted Critical
Publication of KR100326226B1 publication Critical patent/KR100326226B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 비교적 작은 수의 연산만으로 메시지의 공개키 암호화와 그 암호화된 메시지의 복호화를 가능하게 함과 서명 및 검증을 고속화하기애 적합한 행렬그룹 공개키에 관한 것이다.
본 발명에 따른 행렬그룹 공개키 생성방법은 임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와, 생성자 행렬과 비밀키를 이용하여 공개키를 마련하는 단계를 포함한다.

Description

행렬그룹 공개키 생성방법 {Method of Generating Matix Group Public Key}
본 발명은 공개키 암호화 시스템에 사용되는 공개키를 생성하는 방법에 관한 것으로, 특히 행렬 형태의 공개키를 생성하는 방법에 관한 것이다. 또한, 본 발명은 행렬 공개키를 이용하여 메시지를 암호화하는 암호화 방법에 관한 것이다. 나아가, 본 발명은 행렬 공개키를 이용하여 메시지를 서명된 메시지화 하는 서명방법에 관한 것이다. 더 나아가, 본 발명은 서명된 메시지를 검증하는 서명 검증 방법에 관한 것이다.
통상의 공개키 암호화 시스템은 전자 서명, 암호화, 키 분배, 사용자 인증, 메시지 인증 등의 용도로 널리 사용되고 있다. 이러한 공개키 암호화 시스템에 사용되는 공개키 암호화 알고리즘으로는 소인수분해문제(Integer Factorization Problem; IFP)의 어려움에 기반한 RSA(Riest Shamir Adleman)와, 이산대수문제(Discrete Logarithm Problem; DLP)의 어려움에 기반한 엘가맬(EIGamal) 및 디지탈 서명 알고리즘(Digital Signature Algorithm; 이하, DSA라 한다) 등이 있다. 여기서, DSA는 현재 미국의 표준 전자서명 알고리즘으로 이용되고 있다.
그런데, 이들 알고리즘들은 512 비트, 1024 비트, 2048 비트 등 매우 큰 수를 이용하여 연산해야 하므로 16비트, 32비트 등의 작은 숫자 단위로 연산되는 연산 장치 예컨데, 중앙처리장치(CPU)에서 이들을 구현하는 것은 매우 복잡하고 구현 속도도 느리게 되는 근본적인 단점이 있다
따라서, 본 발명의 목적은 비교적 작은 수의 연산만으로 메시지의 공개키 암호를 가능하게 하는 행렬그룹 공개키와 그 생성방법을 제공함에 있다.
본 발명의 다른 목적은 행렬그룹을 이용하여 메시지를 빠르게 암호화/복호화할 수 있는 공개키 암호화 및 복호화 방법을 제공함에 있다.
본 발명의 또 다른 목적은 행렬그룹을 이용하여 메시지의 서명/검증을 빠르게 수행할 할 수 있는 서명방법을 제공함에 있다.
본 발명의 또 다른 목적은 행렬그룹을 이용하여 비밀키 분배를 빠르게 할 수 있는 키 분배방법을 제공함에 있다.
도1 은 본 발명의 실시 예에 따른 행렬그룹 공개키 생성방법을 설명하는 흐름도.
도2 는 본 발명의 실시 예에 따른 DSA 방식의 서명방법을 설명하는 흐름도.
도3 은 본 발명의 다른 실시 예에 따른 DSA 방식의 서명방법을 설명하는 흐름도.
도4 는 본 발명의 실시 예에 따른 엘가맬 방식 암호화 방법을 설명하는 흐름도.
도5 는 본 발명의 다른 실시 예에 따른 엘가맬 방식 암호화 방법을 설명하는 흐름도.
도6 은 본 발명의 실시 예에 따른 디피-헬만 방식의 비밀키 분배방법을 설명하는 흐름도.
상기 목적을 달성하기 위하여, 본 발명에 따른 행렬그룹 공개키 생성방법은 임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와, 생성자 행렬과 비밀키를 이용하이 공개키를 마련하는 단계를 포함한다.
본 발명에 따른 DSA 서명방법은 임의의 제1 소수의 크기를 가치는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와, 1 보다 크고 제2 소수 보다 작은 정수를 선택하는 단계와, 정수, 생성자 행렬 및 해쉬함수를 이용하여 다음의 수학식 1 과 같이 연산하여 제1 서명코드를 생성하는 단계와, 비밀키, 메시지, 제1 서명코드 및 정수를 이용하이 다음의 수학식 2 와 같이 연산하여 제2 서명코드를 생성하는 단계와, 제1 및 제2 서명코드를 메시지와 함께 전송하는 단계를 포함한다.
수학식 1
여기서, r 은 제1 서명코드, h는 해쉬함수, k 는 정수, G 는 생성자 행렬, 그리고 p는 제3 소수 이다.
수학식 2
여기서, s 는 제2 서명코드, x 는 비밀키, m 은 메시지, h 는 해쉬함수, 그리고 q 는 제2 소수 이다.
본 발명에 따른 DSA 서명방법은 임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와, 1 보다 크고 제2 소수 보다 작은 정수를 선택하는 단계와, 정수, 생성자 행렬 및 수치변환함수를 이용하여 다음의 수학식 3 과 같이 연산하여 제1 서명코드를 생성하는 단계와, 비밀키, 메시지, 제1 서명코드 및 정수를 이용하여 다음의 수학식 4 같이 연산하여 제2 서명코드를 생성하는 단계와, 제1 및 제2 서명코드를 메시지와 함께 전송하는 단계를 포함한다.
수학식 3
여기서, γ 은 제1 서명코드, f는 수치변환함수, k 는 정수, G 는 생성자 행렬, q는 제2 소수, 그리고 p 는 제3 소수 이다.
수학식 4
여기서, s 은 제2 서명코드, x 는 비밀키, m 은 메시지, h 는 해쉬함수, 그리고 q 는 제2 소수 이다.
본 발명에 따른 DSA 서명 검증 방법은 임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와, 생성자 행렬과 비밀키를 이용하여 공개키를 마련하는 단계와, 메시지와 함께 제1 및 제2 서명코드를 수신하는 단계와, 생성자 행렬, 공개키, 메시지, 제1 및 제2 서명코드, 그리고 해쉬함수를 이용한 연산결과가 수학식 5 와 같이 제1 서명코드와 일치하는가의 여부에 따라 서명의 유효성을 판단하는 단계를 포함한다.
수학식 5
여기서, r 은 제1 서명코드, h 는 해쉬함수, G 는 생성자 행렬, s 은 제2 서명코드, m 은 메시지, n 은 제1 소수, 그리고 p 는 제3 소수 이다.
본 발명에 따른 DSA 서명 검증 방법은 임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와,생성자 행렬과 비밀키를 이용하여 행렬그룹 공개키를 마련하는 단계와, 메시지와 함께 제1 및 제2 서명코드를 수신하는 단계와, 생성자 행렬, 행렬그룹 공개키, 메시지, 재1 및 제2 서명코드, 그리고 수치변환함수를 이용한 연산결과가 수학식 6 과 같이 제1 서명코드와 일치하는가의 여부에 따라 서명의 유효성을 판단하는 단계를 포함한다.
수학식 6
여기서, r 은 제1 서명코드, f 는 수치변환함수, G 는 생성자 행렬, s 은 제2 서명코드, m 은 메시지, Y 는 행렬그룹 공개키, n 은 제1 소수, q 는 제2 소수, 그리고 p는 제3 소수 이다.
본 발명에 따른 엘가맬 방식 암호화 방법은 임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와, 생성자 행렬과 비밀키를 이용하여 행렬그룹 공개키를 마련하는 단계와, 1 보다 크고 제2 소수 보다 작은 정수를 선택하는 단계와, 정수, 생성자 행렬 및 제3 소수를 이용하여 다음의 수학식 7 과 같이 연산하여 제1 코드를 생성하는 단계와, 메시지를 행렬그룹 공개키, 정수 및 제3 소수를 이용하여 다음의 수학식 8 과 같이 연산하여 제2 코드를 생성하는 단계와, 제1 및 제2 서명코드를 암호문으로 하여 전송하는 단계를 포함한다.
수학식 7
여기서 r은 제1 코드, k는 정수, G는 생성자 행렬, 그리고 P는 제3 소수 이다.
수학식 8
여기서, s 은 제3 코드, Y 는 행렬그룹 공개키, M 은 메시지, 그리고 p 는 제3 소수 이다.
본 발명에 따른 엘가맬 방식 암호화 방법은 임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와, 생성자 행렬과 비밀키를 이용하여 행렬그룹 공개키를 마련하는 단계와, 1 보다 크고 제2 소수 보다 작은 정수를 선택하는 단계와, 정수, 생성자 행렬 및 제3 소수를 이용하여 다음의 수학식 9 와 같이 연산하여 제1 코드를 생성하는 단계와, 메시지를 행렬그룹 공개키, 정수 및 제3 소수를 이용하여 다음의 수학식 10 과 같이 연산하여 제2 코드를 생성하는 단계와, 제1 및 제2 서명코드를 암호문으로 하여 전송하는 단계를 포함한다.
수학식 9
여기서, r 은 제1 코드, k 는 정수, G 는 생성자 행렬, 그리고 p 는 제3 소수 이다.
수학식 10
여기서, s 은 제3 코드, Y 는 행렬그룹 공개키, M 은 메시지, 그리고 p 는 제3 소수 이다.
본 발명에 따른 엘가맬방식 복호화 방법은 비밀키를 마련하는 단계와, 제1 코드 및 제2 코드로 구성되어진 암호문을 수신하는 단계와, 제1 코드와 비밀키를 이용하여 수학식 11 과 같이 연산하여 행렬그룹 공개키가 임의의 정수회 만큼 모듈러 승산되어진 모듈러 승산값을 산출하는 단계와, 제2 코드와 모듈러 승산값을 수학식 12 와 같이 연산하여 메시지를 복원하는 단계를 포함한다.
수학식 11
여기서, Y 는 행렬그룹 공개키, k 는 임의의 정수, r 은 제1 코드, 그리고 p 는 소수 이다.
수학식 12
여기서, M 은 메시지, s 은 제2 코드, k 는 임의의 정수, 그리고 p 는 소수 이다.
본 발명에 따른 엘가맬방식 복호화 방법은 비밀키를 마련하는 단계와, 제1 코드 및 제2 코드로 구성되어진 암호문을 수신하는 단계와, 제1 코드와 비밀키를 이용하여 수학식 13 과 같이 연산하여 행렬그룹 공개키가 임의의 정수회 만큼 모듈러 승산되어진 모듈러 승산값을 산출하는 단계와, 제2 코드와 모듈러 승산값을 수학식 14 와 같이 연산하여 메시지를 복원하는 단계를 포함한다.
수학식 13
여기서, Y 는 행렬그룹 공개키, k 는 임의의 정수, r 은 제1 코드, 그리고 p 는 소수 이다.
수학식 14
여기서, M 은 메시지, s 은 제2 코드, k 는 임의의 정수, 그리고 p 는 소수 이다.
본 발명에 따른 디피-헬만방식 키분배 방법은 임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와, 제1 사용자로 하여금, 1 보다 크고 제2 소수 보다 작은 제1 정수를 선택하게 하고, 생성자 행렬을 수학식 15 와 같이 제1 정수회 만큼 제3 소수로 모듈러 승산하여 제1 사용자에 의해 사용될 제1 키코드를 생성하게 하고, 그 제1 키코드를제2 사용자에게 전송하게 하고, 제2 사용자로부터의 제2 키코드를 수학식 16 과 같이 상기 제1 정수회 만큼 상기 제3 소수로 모듈러승산함으써 비밀키를 생성하는 단계와, 제2 사용자로 하여금, 1 보다 크고 제2 소수 보다 작은 제2 정수를 선택하게 하고, 생성자 행렬을 수학식 17 와 같이 제2 정수회 만큼 제3 소수로 모듈러 승산하여 자신이 사용할 제2 키코드를 생성하게 하고, 그 제2 키코드를 제1 사용자에게 전송하게 하고, 제1 사용자로부터의 제1 키코드를 수학식 18 과 같이 제2 정수회 만큼 상기 제3 소수로 모듈러승산함으로써 비밀키를 생성하는 단계를 포함한다.
수학식 15
여기서, Ka는 제1 키코드, G 는 생성자 행렬, 그리고 p 는 제3 소수 이다.
수학식 16
여기서, K 는 비밀키, Kb은 제2 키코드, a 는 제1 정수, 그리고 p 는 제3 소수 이다.
수학식 17
여기서, kb는 제2 키코드, G 는 생성자 행렬, 그리고 p 는 제3 소수 이다.
수학식 18
여기서, K는 비밀키, Ka은 제1키코드, b 는 제2 정수, 그리고 p는 제3 소수 이 다.
상기 목적들 외에 본 발명의 다른 목적 및 이점들은 첨부 도면을 참조한 본 발명의 바람직한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다.
이하, 본 발명의 바람직한 실시예를 도 1 내지 도 6을 참조하여 상세하게 설명하기로 한다.
우선, 본 발명의 실시예에 대한 상세한 설명에 앞서 행렬그룹이론과 행렬그룹에서의 이산대수문제를 설명하기로 한다. 이들을 설명을 위해, 임의의 n×n 가역행렬 A가 있다고 가정하자. 이 가역행렬 A의 행렬요소 aij는 mod p(여기서, p는 소수) 연산되어 0과 p-1 사이의 값만을 가지게 된다. 이러한 행렬요소들을 가지는 가역행렬들의 모듈러 곱셈이 정의된다면, 그 행렬들의 집합은 그룹의 특성을 가지게 된다. 이렇게 모듈러 행렬곱셈이 가능한 가역행렬들의 집합을 행렬그룹이라 할 수 있다.
이와 같은 행렬그룹에서의 이산대수문제에 있어서, 임의의 두 행렬 Y와 G에 대하여 Y = Gxmod p를 만족하는 어떤 정수 x가 존재한다고 할 때 x를 산출해내는 것은 어려운 문제이다. 행렬그룹에서의 이산대수문제는 기본 연산으로 행렬연산을 사용한다는 것만 다를 뿐 유한 필드에서의 이산대수 문제와 근본적으로 같다.
이러한 행렬그룹에서의 이산대수 문제를 DSA, 엘가말(EIGamal), 디피-헬만(Diffie-Hellman; DH)과 같은 공개키 암호 시스템으로 사용하기 위해서는 사용하는 그룹의 차원(Order)이 얼마나 되느냐가 매우 중요한 문제이다. 그룹의 차원은 이러한 암호화 시스템의 보안성을 결정하는 중요한 요소가 되기 때문이다. 만일, 정수 n이 소수이고 모듈러 정수 p가 소수라면 n×n 의 가역 행렬의 총 개수는 다음 수학식1 과 같이 나타낼 수 있다.
[수학식 1]
이러한 가역행렬을 모두 사용하는 것은 아니고 소수 차원(Prime Order)를 갖는 서브그룹(Subgroup)을 사용하게 된다. 만일 q = (p^n -1)/(p-1) '이 소수가 되도록 소수 p를 선정했다면 차원이 q인 서브그룹을 만들 수 있다. 이러한 서브그룹의 생성자(Generator)를 만들기 위해서는 임의의 가역행렬 A을 선정한 후 다음 수학식 2와 같이 계산한다.
[수학식2]
여기서, 계산된 가역행렬 G가 단위행렬 1가 아니면 G는 차원이 q인 서브그룹의 생성자가 된다. 지금까지 생성한 n, p, q, G는 시스템 파라메터가 되며 특정 사용자를 위해서만 사용될 수도 있고 하나의 사용자 그룹에서 공유할 수도 있다. 또한, 특정한 사용자의 비밀키/공개키 쌍을 생성하기 위해서는 1보다 크고 q보다 작은 임의의 정수 x를 선정한 후 Y = Gxmod p를 계산하면 정수 x는 비밀키가 되고 행렬 Y는 공개키가 된다.
도 1은 본 발명의 실시 예에 따른 행렬그룹의 공개키 생성방법을 설명하는 흐름도로써, 통상의 킴퓨터에 의해 수행될 수 있다.
행렬그룹 공개키 생성방법에서는, 첫번째로 행렬의 크기를 임의의 작은 소수 n(예컨데, n = 2,3,5,7,11,13,17,…)로 그리고 모듈러 연산에 사용되는 모듈러 값 p의 비트수 | p | (예를 들면, | P | = 16,32,48,64,128,160,256,…,16의 배수)를 순차적으로 선정한다 (제10 및 제12 단계). 이들 임의의 작은 소수(n)과 모듈러 값의 비트수(|p|)는 공개키의 크기(즉, n2|p|), 서브그룹의 차원의 크기(즉, (n-1)|p|) 등을 결정하므로 적절한 값으로 선정되어야 한다. 공개키의 크기가 너무 크지 않고 아울러 서브그룹의 차원은 DSA와 비교할 때 160 비트 이상이 되게끔 임의의 작은 소수와 모듈러 값의 비트수는 적절하게 선정되어야만 한다.
이어서, 모듈러 값의 비트수 |p|를 가지는 소수들중 어느 하나를 모듈러 값(P)로 선정한다 (제14 단계). 이 모듈러 값(P)을 이용한 일정한 연산의 결과, q = (p^n -1)/(p-1) '가 소수인가를 판단한다 (제16 단계). 다시 말하여, 제14 및 제16 단계에 의하여 q = (p^n -1)/(p-1) ' 이 소수임과 아울러 비트수 |p| 의 소수가 되는 모듈러 값(P)이 선정되게 된다. 이 p를 성공적으로 선정하였다면 서브그룹의 차원은 q가 된다. 이후의 모든 모듈러 행렬 곱셈은 mod p로 계산되게 된다. 이 서브그룹의 차원(q)는 공개키의 크기와 함께 행렬의 크기(n)와 모듈러 값의비트수(|p|)에 따라 다음의 표와 같이 변하게 된다.
[표1]
다음으로, 상기한 수학식 1을 이용하여 n×n 의 가역 행렬의 총 개수를 산출함과 아울러 가능한 가역행렬들을 모델링 한다 (제18단계). 이 모델링된 가역행렬들중 임의의 가역행렬(A)를 선택한다 (제20 단계). 또한, 그 선택된 가역행렬(A)을 수학식 2에 적용하여 서브그룹 생성자(G)를 생성하고 그 서브그룹 생성자(G)가 단위행렬(I)인가를 검사한다 (제22 단계). 이때, 서브그룹 생성자(G)가 단위그룹(I)이면 다시 제20 단계로 되돌아간다. 즉, 제20 및 제22 단계에 의하여 단위행렬(I)이 아닌 서브그룹 생성자(G)가 생성되게 된다. 이 서브그룹 생성자(G)는 차원이 q인 서브그룹의 생성자가 된다.
나아가, 1보다 크고 q보다 작은 임의의 정수 x를 비밀키로 선택하고 (제24 단계). 그 선택된 비밀키(x)와 서브그룹 생성자(G)를 다음의 수학식 3과 같이 연산함으로써 공개키(Y)를 산출한다 (제26 단계).
[수학식 3]
이렇게 생성된 비밀키(X)와 공개키(Y)는 시스템 파라메터로 사용되는 행렬의 크기(n), 모듈러 값(p), 서브그룹의 차수(q) 및 서브그룹 생성자(G)와 함께 암호화 시스템에 제공되게 된다 (제28 단계).
도 2는 본 발명의 실시 예에 따른 DSA 방식의 서명방법의 알고리즘을 도시한 것으로, 컴퓨터시스템에 의해 수행될 수도 있다.
도2 의 DSA 방식의 서명방법에 따르면, 1 보다 크고 q 보다 작은 임의의 정수 k(즉, 1<k<p)가 선정되게 된다(제30 단계). 이어서, 메시지 m과 임의의 정수 k, 비밀키 x를 이용하여 다음 수학식 4와 같이 제1 서명(r)과 제2 서명(s)이 산출되게 된다.
[수학식 4]
여기서, h는 해쉬함수이다. 이렇게 산출되어진 제1 서명(r)과 제2 서명(s)는 정수이며 메시지(m)의 서명으로 메시지(m)와 함께 전송되게 된다(제34 단계).
이와 같이 형성되어진 서명(r, s)는 공개키(Y)를 이용한 다음의 수학식 5와 같이 연산되므로써 검증될 수 있다. 수학식 5의 결과가 제1 서명(r)과 동일하게 될 때 서명(r, S)이 유효한 것으로 인정받게 된다.
[수학식 5]
이와 같이, 도2 에서는 제1 서명(r)을 계산하기 위하여 해쉬함수(h)를 이용한 다. 다시 말하여, Gkmod p를 계산한 후 각 행렬 요소들을 비트 스트림으로 바꾸어 연결시킨 후, 해쉬함수(h)에 입력시켜 그 출력을 제1 서명(r)으로 하는 것이다. 이때, 해쉬함수(h)는 차원(q)와 같은 비트 크기의 출력을 내는 해쉬함수를 사용하는 것이 좋다.
여기서, n=7, |p|=32 인 경우 공개키, 비밀키 쌍을 생성하고 DSA 방식으로 서명, 검증하는 예를 들면 다음과 같다.
여기서, x, h(m), r, s 등은 16진수로 나타낸 것이다. 메시지 m의 해쉬값이 h(m)이라 할 때 이것의 서명값은 (r, s)이며 이것은 10)의 검증과정에서 같은 r값을 주었기 때문에 메시지는 유효한 것으로 검증됨을 알 수 있다.
도3 은 본 발명의 다른 실시 예에 따른 DSA 방식의 서명방법을 도시하는 흐름도이다. 도3 의 DSA 방식의 서명방법은 도2 에서의 DSA 방식의 서명방법과 그 수순은 동일하나 해쉬함수(h)를 사용하는 제32 단계 대신 어떤 수치변환함수, 즉 행렬을 입력으로하고 이것을 큰 숫자로 변환시키는 함수(f)를 사용하는 제36 단계를포함한다. 제36 단계 에서는 Gkmod p를 계산하여 이를 함수 f를 통과시켜 큰 숫자로 만든 후, 이를 다시 mod q 계산하여 q 보다 작은 숫자로 만드는 것이다. 이러한 연산과정은 수식으로 표현하면 다음의 수학식 6과 같이 된다.
[수학식 6]
이와 같이 형성되어진 서명(r, s)는 공개키(Y)를 이용한 다음의 수학식 7과 같이 연산됨으로써 검증될 수 있다. 수학식 7의 결과가 제1 서명(r)과 동일하게 될 때 서명(r, s)이 유효한 것으로 인정받게 된다.
[수학식 7]
도 4는 본 발명의 실시 예에 따른 엘가맬 방식의 암호화 방법을 도시하는 흐름도로서, 통상의 컴퓨터에 의해 수행될 수 있다.
도4 의 암호화 방법에 따르면, 1 보다 크고 q 보다 작은 임의의 정수 k(즉, 1<k<q)가 선정되게 된다(제40 단계). 이어서, 메시지 m과 임의의 정수 k를 이용하여 다음 수학식 8과 같이 제1 암호(r)과 제2 암호(s)가 산출되게 된다(제42 단계).
[수학식 8]
이렇게 산출되어진 제1 암호(r)와 제2 암호(s)큰 행렬이며 암호메시지로써 전송되게 된다(제44 단계).
이와 같이 (r, s)로 구성어진 암호메시지는 다음의 수학식 9에 따라 연산됨으로써 메시지(M)가 행렬의 형태로 복호되게 된다. 이 때 -x는 mod q 에 대하여 미리 계산해 놓을 수 있다.
[수학식 9]
도5 는 본 발명의 다른 실시 예에 따른 엘가맬 방식의 암호화 방법을 도시하는 흐름도이다. 도5 의 엘가맬 방식의 암호화 방법은 도4 에서의 엘가맬 방식의 서명방법과 그 수순은 동일하나 곱셈을 이용하는 제42 단계 대신 덧셈을 이용하는 제 46 단계를 포함한다. 이 제46 단계는 복호화시 역행렬을 계산하고 행렬곱셈할 필요가 없이 단순히 행렬을 빼주면 되도록하여 보다 빠른 계산이 가능하도록 한다. 다시 말하여, 제46 단계는 다음의 수학식 10과 같은 연산에 의하여 제1 암호(r)와 제2 암호(s)를 발생하게 된다. 이렇게 생성되어진 (r, s)는 암호메시지로서 전송되게 된다.
[수학식 10]
이와 같이 수학식 10에 의해 생성되어진 제1암호(r)와 제2암호(s)로 구성된암호메시지는 다음의 수학식 11에 따라 연산됨으로써 메시기(M)가 행렬의 형태로 복호되게 된다.
[수학식 11]
이와 같은 행렬그룹 공개키 암호화 시스템의 보안성은 통상 사용하는 서브그룹의 차원 q 의 크기에 의존한다고 볼 수 있다. 이산대수 문제를 풀기 위해 제안되어 있는 NFS(Number Feild Seive) 등의 방법은 행렬그룹의 경우에 적용하기 어려우며 폴라드(Pollard)의 르호(Rho) 방법은 사용하는 서브그룹의 차원 q의 제곱근에 비레하는 계산량을 필요로 한다. DSA의 경우 높은 보안성을 확보하기 위해 160 비트 차원의 서브그룹을 사용하고 있는데 본 발명의 시스템에서도 이 이상의 차원을 갖는 서브그룹을 이용하기 때문에 보안성은 충분하다고 볼 수 있다.
도 6은 본 발명의 실시 예에 따른 디피-헬만 방식의 키 분배 방법을 도시한 흐름도이다. 도 6에서 제50 내지 도54 단계는 제1 사용자(U1)의 비밀키(k) 생성과정을 그리고 제56 단계 내지 제60 단계는 제2 사용자(U2)의 비밀키(K) 생성과정을 간략하게 설명한다. 도6 에서의 디피-헬만 방식의 키 분배방법은 두 사용자(U1,U2)가 이산대수문제를 이용한 간단한 프로토콜을 통해 똑같은 공동의 비밀키(K)를 비밀스럽게 공유하고자 하는 프로토콜로써, 행렬그룹을 이용해서도 같은 프로토콜을 구현할 수 있다. 여기서, 두 사용자(U1,U2)는 시스템 파라메터(n, p, q, G)를 공유하게 된다.
제1 사용자(U1)는 1보다 크고 q보다 작은 임의의 정수 a를 선정하고(제50 단계), 그 선정된 임의의 정수(a)를 이용하여 수학식 3에 적용하여 U1의 임시공개키(Ka= Gamod p)를 산출하게 된다(제52 단계). 이렇게 산출되어진 U1의 임시공개키(Ka)는 제2 사용자에게 전송되게 된다. 비슷하게, 제2 사용자(U2)도 1보다 크고 q 보다 작은 임의의 정수(b)를 선정하고(제56 단계), 그 선정된 임의의 정수(b)를 이용하여 수학식 3에 적용하여 U2의 임시공개키(Kb= Gbmod p)를 산출하게 된다(제58단계). 이렇게 산출되어진 U2의 임시공개키(Kb)는 제1 사용자에게 전송되게 된다.
제1 사용자(U1)는 제2 사용자(U2)로부터 전송받은 U2의 임시 공개키(Kb)를 자신만이 알고 있는 상기 임의의 정수(a)로 지수 연산함으로써 공동의 비밀키(K=(kb)a=Gabmod p)를 산출하게 된다(제54 단계). 또한, 제2 사용자(U2)는 제1 사용자(U1)로부터의 전송받은 U1의 임시공개키(Ka)를 자신만이 알고 있는 상기 임의의 정수(b)로 지수 연산함으로써 공동의 비밀키(K=(kb)a=Gabmod p)를 산출하게 된다 (제60 단계).
이와 같이, 두 사용자(U1,U2)는 동일한 비밀키(K)를 생성하여 공유할 수 있게 된다.
이상 설명한 바와 같이, 본 발명에 따른 행렬 그룹 공개키 암호화 장치는 행렬그룹을 이용하므로써, 비교적 작은 수의 연산만으로도 공개키 암호를 구현함과 아울러 병렬처리 연산이 가능하다. 이에 따라, 공개키 암호를 구현하는 소프트웨어 및 하드웨어를 간단히 할 수 있을 뿐만 아니라 보다 빠른속도로 공개키 암호를 구현할 수 있다. 더불어, 서브그룹의 차원 q를 DSA 에서의 160 비트 이상으로 충분히 크게 할 경우 공개키 암호의 보완성은 충분히 높은 효과가 있다.
이상과 같이 상술한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정하여져야만 한다.

Claims (12)

  1. 모두에게 공개하는 공개키와 개인이 비밀스럽게 보관하는 비밀키로 이루어진 한쌍의 키를 이용하는 공개키 암호화 시스템에 있어서,
    임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와,
    상기 생성자 행렬과 상기 비밀키를 이용하여 공개키를 마련하는 단계를 포함하는 것을 특징으로 하는 행럴그룹 공개키 생성방법.
  2. 제 1 항에 있어서,
    상기 모듈러 행렬곱은,
    상기 임의의 두행렬이 곱셈되고, 그 곱셈된 행렬의 각 요소들이 임의의 제3 소수에 의해 모듈러 연산되는 것을 특징으로 하는 행렬그룹 공개키 생성방법.
  3. 제 1 항에 있어서,
    상기 생성자 행렬을 생성하는 단계는,
    모듈러 연산의 값의 크기를 선정하는 과정과,
    다음의 수학식 3을 만족하는 모듈러 연산의 값의 크기의 범위내의 임의의 제3 소수를 선정하는 과정과,
    상기 제1 및 제3 소수를 이용한 수학식 4에 의해 상기 정방행렬들의 총수를 계산하는 과정과,
    상기 정방행렬들중 정방행렬의 총수/제2 소수의 값에 의한 차수연산과 제3 소수에 의한 모듈러 연산되더라도 단위행렬이 되지 않는 임의의 한 행렬을 생성자 행렬로 설정하는 과정을 포함하는 것을 특징으로 하는 행렬그룹 공개키 생성방법.
    수학식 3
    여기서, n, q 및 p 는 제1 내지 제3 소수 이다.
    수학식 4
    여기서, N 은 장방행렬의 총수 이다.
  4. 제 1 항에 있어서,
    상기 공개키를 마련하는 단계는,
    1 보다 크고 제2 소수 보다 작은 어떤 임의의 정수를 상기 비밀키로 선정하는 단계와,
    상기 생성자 행렬을 상기 임의의 정수회 모듈러 승산하여 공개키를 생성하는 단계를 포함하는 것을 특징으로 하는 행렬그룹 공개키 생성방법.
  5. 행렬 공개키를 이용하여 메시지를 서명된 메시지화 하는 디지털 서명 방법에 있어서,
    임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와,
    1 보다 크고 제2 소수 보다 작은 정수를 선택하는 단계와,
    상기 정수, 상기 생성자 행렬 및 해쉬함수를 이용하여 다음의 수학식 5 와 같이 연산하여 제1 서명코드를 생성하는 단계와,
    비밀키, 메시지, 상기 제1 서명코드 및 상기 정수를 이용하여 다음의 수학식 6 과 같이 연산하여 제2 서명코드를 생성하는 단계와,
    상기 제1 및 제2 서명로드를 상기 메시지와 함께 전송하는 단계를 포함하는 것을 특징으로 하는 DSA 서명 방법.
    수학식 5
    여기서, r 은 제1 서명코드, h는 해쉬함수, k 는 정수, G 는 생성자 행렬, 그리고 p는 제3 소수 이다.
    수학식 6
    여기서, s은 제2 서명코드, x 는 비밀키, m은 메시지, h는 해쉬함수, 그리고q 는 제2 소수 이다.
  6. 행렬 공개키를 이용하여 메시지를 서명된 메시지화 하는 디지털 서명 방법에 있어서,
    임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와,
    1 보다 크고 제2 소수 보다 작은 정수를 선택하는 단계와,
    상기 정수, 상기 생성자 행렬 및 수치변환함수를 이용하여 다음의 수학식 7 와 같이 연산하여 제1 서명코드를 생성하는 단계와,
    비밀키, 메시지, 상기 제1 서명코드 및 상기 정수를 이용하여 다음의 수학식8 같이 연산하여 제2 서명코드를 생성하는 단계와,
    상기 제1 및 제2 서명코드를 상기 메시지와 함께 전송하는 단계를 포함하는 것을 특징으로 하는 DSA 서명 방법.
    수학식 7
    여기서, γ 은 제1 서명코드, f는 수치변환함수, k 는 정수, G 는 생성자 행렬, q는 제2 소수, 그리고 p 는 제3 소수 이다.
    수학식 8
    여기서, s 은 제2 서명코드, x 는 비밀키, m 은 메시지, h 는 해쉬함수, 그리고 q 는 제2 소수 이다.
  7. 행렬 공개키를 이용하여 메시지를 서명된 메시지화 하는 디지털 서명 검증 방법에 있어서,
    임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와,
    상기 생성자 행렬과 상기 비밀키를 이용하여 공개키를 마련하는 단계와,
    메시지와 함께 제1 및 제2 서명코드를 수신하는 단계와,
    상기 생성자 행렬, 상기 공개키, 상기 메시지, 상기 제1 및 제2 서명코드, 그리고 해쉬함수를 이용한 연산결과가 수학식 9 와 같이 제1 서명로드와 일치하는가의 여부에 따라 서명의 유효성을 판단하는 단계를 포함하는 것을 특징으로 하는 DSA 서명 검증 방법,
    수학식 9
    여기서, r 은 제1 서명코드, h는 해쉬함수, G 는 생성자 행렬, s 은 제2 서명코드, m 은 메시지, n 은 제1 소수, 그리고 p 는 제3 소수 이다.
  8. 행렬 공개키를 이용하여 메시지를 서명된 메시지화 하는 디지털 서명 검증 방법에 있어서,
    임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와,
    상기 생성자 행렬과 상기 비밀키를 이용하여 행렬그룹 공개키를 마련하는 단계와,
    메시지와 함께 제1 및 제2 서명코드를 수신하는 단계와,
    상기 생성자 행렬, 상기 행렬그룹 공개키, 상기 메시지, 상기 제1 및 제2 서명코드, 그리고 수치변환함수를 이용한 연산결과가 수학식 10 와 같이 제1 서명코드와 일치하는가의 여부에 따라 서명의 유효성을 판단하는 단계를 포함하는 것을 특징으로 하는 DSA 서명 검증 방법.
    수학식 10
    여기서, r 은 제1 서명코드, f 는 수치변환함수, G 는 생성자 행렬, s 은 제2 서명코드, m 은 메시지, Y 는 행렬그룹 공개키, n 은 제1 소수, q 는 제2 소수, 그리고 p는 제3 소수 이다.
  9. 행렬 공개키를 이용하여 메시지를 서명된 메시지화 하는 디지털 서명 방법에 있어서,
    임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와,
    상기 생성자 행렬과 상기 비밀키를 이용하여 행렬그룹 공개키를 마련하는 단계와,
    1 보다 크고 제2 소수 보다 작은 정수를 선택하는 단계와,
    상기 정수, 상기 생성자 행렬 및 제3 소수를 이용하여 다음의 수학식 11 과 같이 연산하여 제1 로드를 생성하는 단계와,
    메시지를 상기 행렬그룹 공개키, 상기 정수 및 상기 제3 소수를 이용하여 다음의 수학식 12 과 같이 연산하여 제2 코드를 생성하는 단계와,
    상기 제1 및 제2 서명코드를 암호문으로 하여 전송하는 단계를 포함하는 것을 특징으로 하는 엘가맬 방식 암호화 방법.
    수학식 11
    여기서, r 은 제1 코드, k 는 정수, G 는 생성자 행렬, 그리고 p 는 제3 소수 이다.
    수학식 12
    여기서, s 은 제2 코드, Y 는 행렬그룹 공개키, M 은 메시지, 그리고 p 는 제3 소수 이다.
  10. 행렬 공개키를 이용하여 메시지를 서명된 메시지화 하는 디지털 서명 방법에 있어서,
    임의의 제1 소수의 크기를 가지는 정방행렬들의 집합과 이들 행렬들 사이의 모듈러 행렬곱이 정의되는 행렬그룹을 이용하여 차수가 임의의 제2 소수가 되는 서브그룹의 생성자 행렬을 생성하는 단계와,
    상기 생성자 행렬과 상기 비밀키를 이용하여 행렬그룹 공개키를 마련하는 단계와,
    1 보다 크고 제2 소수 보다 작은 정수를 선택하는 단계와,
    상기 정수, 상기 생성자 행렬 및 제3 소수를 이용하여 다음의 수학식 13 과 같이 연산하여 제1 코드를 생성하는 단계와,
    메시지를 상기 행렬그룹 공개키, 상기 정수 및 상기 제3 소수를 이용하여 다음의 수학식 14 와 같이 연산하여 제2 코드를 생성하는 단계와,
    상기 제1 및 제2 서명로드를 암호문으로 하여 전송하는 단계를 포함하는 것을 특징으로 하는 엘가맬 방식 암호화 방법.
    수학식 13
    여기서, r 은 제1 코드, k 는 정수, G 는 생성자 행렬, 그리고 p 는 제3 소수 이다.
    수학식 14
    여기서, s은 제2 코드, Y는 행렬그룹 공개키, M 은 메시지, 그리고 p 는 제3 소수 이다.
  11. 행렬 공개키를 이용하여 메시지를 서명된 메시지화 하는 디지털 서명 복호화 방법에 있어서,
    비밀키를 마련하는 단계와,
    제1 코드 및 제2 코드로 구성되어진 암호문을 수신하는 단계와,
    상기 제1 코드와 비밀키를 이용하여 수학식 15 과 같이 연산하여 행렬그룹 공개키가 임의의 정수회 만큼 모듈러 승산되어진 모듈러 승산값을 산출하는 단계와,
    상기 제2 코드와 상기 모듈러 승산값을 수학식 16 와 같이 연산하여 메시지를 복원하는 단계를 포함하는 것을 특징으로 하는 엘가맬방식 복호화 방법.
    수학식 15
    여기서, Y 는 행렬그룹 공개키, k 는 임의의 정수, r 은 제1 코드, 그리고 p 는 소수 이다.
    수학식 16
    여기서, M은 메시지, s은 제2 코드, k 는 임의의 정수, 그리고 p 는 소수 이다.
  12. 행렬 공개키를 이용하여 메시지를 서명된 메시지화 하는 디지털 서명 복호화 방법에 있어서,
    비밀키를 마련하는 단계와,
    제1 코드 및 제2 코드로 구성되어진 암호문을 수신하는 단계와,
    상기 제1 코드와 비밀키를 이용하여 수학식 17 과 같이 연산하여 행렬그룹 공개키가 임의의 정수회 만큼 모듈러 승산되어진 모듈러 승산값을 산출하는 단계와,
    상기 제2 코드와 상기 모듈러 승산값을 수학식 18 과 같이 연산하여 메시지를 복원하는 단계를 포함하는 것을 특징으로 하는 엘가맬방식 복호화 방법.
    수학식 17
    여기서, Y 는 행렬그룹 공개키, k 는 임의의 정수, r 은 제1 코드, 그리고 p 는 소수 이다.
    수학식 18
    여기서, M 은 메시지, s 은 제2 코드, k 는 임의의 정수, 그리고 p 는 소수 이다.
KR1019980006062A 1998-02-26 1998-02-26 행렬그룹공개키생성방법 KR100326226B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980006062A KR100326226B1 (ko) 1998-02-26 1998-02-26 행렬그룹공개키생성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980006062A KR100326226B1 (ko) 1998-02-26 1998-02-26 행렬그룹공개키생성방법

Publications (2)

Publication Number Publication Date
KR19990070921A KR19990070921A (ko) 1999-09-15
KR100326226B1 true KR100326226B1 (ko) 2002-08-08

Family

ID=37478288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980006062A KR100326226B1 (ko) 1998-02-26 1998-02-26 행렬그룹공개키생성방법

Country Status (1)

Country Link
KR (1) KR100326226B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100323799B1 (ko) * 1999-11-18 2002-02-19 안병엽 안전성이 증명가능한 타원곡선 공개키 암호화 시스템
KR100638265B1 (ko) * 2000-04-28 2006-10-24 이순조 인터넷에서 전자 문서 교환을 위한 보안 방법
KR20020003059A (ko) * 2000-07-01 2002-01-10 배민관 정수 또는 다항식 행열을 이용한 공개키 암호시스템
KR20020050680A (ko) * 2000-12-21 2002-06-27 배기봉 행열 다항식 환 과 체를 기반으로 한 공개키 암호시스템

Also Published As

Publication number Publication date
KR19990070921A (ko) 1999-09-15

Similar Documents

Publication Publication Date Title
US5581616A (en) Method and apparatus for digital signature authentication
EP1467512B1 (en) Encryption process employing chaotic maps and digital signature process
Caelli et al. PKI, elliptic curve cryptography, and digital signatures
EP0997016B1 (en) Method and apparatus for fast elliptical encryption with direct embedding
US5159632A (en) Method and apparatus for public key exchange in a cryptographic system
JP4137385B2 (ja) 公開鍵および秘密鍵による暗号化方法
Boruah et al. Implementation of ElGamal Elliptic Curve Cryptography over prime field using C
US20020055962A1 (en) Automatically solving equations in finite fields
US6480606B1 (en) Elliptic curve encryption method and system
JPH1173105A (ja) 2重ベクトル加算装置、2重ベクトル2倍装置、2重ベクトル整数倍装置、公開鍵配送システム、エルガマル型暗号システム及びエルガマル型署名システム
KR100326226B1 (ko) 행렬그룹공개키생성방법
Rawat et al. Computation and communication efficient Chinese remainder theorem based multi-party key generation using modified RSA
Alia et al. A new digital signature scheme based on Mandelbrot and Julia fractal sets
Amlarethinam et al. Enhancing security level for public key cryptosystem using MRGA
Manajaih Modular arithmetic in RSA cryptography
Shams et al. Cryptosystem an Implementation of RSA using Verilog
KR20010000048A (ko) m진법 방식을 이용한 타원곡선상 다중 점의 상수고속연산 방법
CN1258051A (zh) 一种公开密钥加密体制和装置
Harjito et al. Comparative Analysis between Elgamal and NTRU Algorithms and their implementation of Digital Signature for Electronic Certificate
Shepherd et al. The quadratic residue cipher and some notes on implementation
Jnr et al. A Comparative Study of RSA and ELGAMAL Cryptosystems
Ngendahimana et al. RSA Cryptosystem Speed Security Enhancement (Hybrid and Parallel Domain Approach)
CN115001741B (zh) 一种数据加密方法及相关组件
KR100406138B1 (ko) 엔티알유 암/복호화 장치
Jamshed et al. Securing through pseudorandom number generator and hashing in cryptography

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
FPAY Annual fee payment

Payment date: 20051201

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee