1 |
1
키생성서버가 비밀키 생성에 사용되는 적어도 하나의 공개 파라미터 및 마스터키를 설정하는 단계;상기 키생성서버가 수신단말로부터 사용자의 고유한 아이디를 입력받아, 상기 공개 파라미터, 마스터키 및 아이디에 기초하여 비밀키를 생성하고, 생성한 비밀키를 상기 수신단말로 전송하는 단계;송신단말이 상기 키생성서버로부터 상기 공개 파라미터 및 상기 아이디를 입력받아 메시지를 암호화하여 암호문을 생성하고, 생성한 암호문을 상기 수신단말로 전송하는 단계; 및상기 수신단말이 상기 암호문 및 상기 비밀키를 입력받아, 입력받은 상기 비밀키에 기초하여 상기 암호문을 복호화하여 메시지를 획득하는 단계;를 포함하되,상기 키생성서버가 공개 파라미터 및 마스터키를 설정하는 단계는외부로부터 보안상수를 입력받아, 상기 보안상수를 입력값으로 하는 타원 곡선군에 속하는 생성원 중 임의의 제1 생성원 및 제2 생성원을 선택하고, 상기 타원 곡선군에 속하는 원소 중 임의의 원소를 선택하는 과정;임의의 난수를 선택하여 마스터키로 설정하는 과정;상기 제1 생성원, 제2 생성원 및 상기 마스터키를 겹선형 함수에 적용하여 함수값을 연산하는 과정; 및상기 제1 생성원, 제2 생성원, 상기 임의의 원소 및 상기 겹선형 함수의 함수값 중 적어도 하나를 포함하는 공개 파라미터를 설정하는 과정; 을 포함하는 것을 특징으로 하는 사용자 아이디 기반 공개키 암호화 방법
|
2 |
2
삭제
|
3 |
3
제1항에 있어서,상기 키생성서버가 비밀키를 생성하고, 생성한 비밀키를 상기 수신단말로 전송하는 단계는 임의의 제1 난수를 선택하는 과정;상기 제2 생성원, 마스터키, 임의의 원소 및 제1 난수에 기초하여 제1 비밀키를 생성하는 과정;상기 제1 생성원 및 제1 난수에 기초하여 제2 비밀키를 생성하는 과정;상기 제1 비밀키 및 제2 비밀키를 해쉬연산하여 제1 태그값을 생성하는 과정;상기 아이디를 해쉬연산한 값, 임의의 원소, 제1 태그값 및 제1 난수에 기초하여 제3 비밀키를 생성하는 과정; 및상기 제1 비밀키, 제2 비밀키 및 제3 비밀키를 포함하는 비밀키를 생성하여 상기 수신단말로 전송하는 과정;을 포함하는 것을 특징으로 하는 사용자 아이디 기반 공개키 암호화 방법
|
4 |
4
제3항에 있어서,상기 송신단말이 메시지를 암호화하여 암호문을 생성하는 단계는임의의 제2 난수를 선택하는 과정;상기 겹선형 함수의 함수값, 제2 난수 및 메시지에 기초하여 제1 암호문을 생성하는 과정;상기 제1 생성원 및 상기 제2 난수에 기초하여 제2 암호문을 생성하는 과정;상기 제1 암호문 및 제2 암호문을 해쉬연산하여 제2 태그값을 생성하는 과정;상기 아이디를 해쉬한 값, 임의의 원소, 제2 태그값 및 제2 난수에 기초하여 제3 암호문을 생성하는 과정; 및상기 제1 암호문, 제2 암호문 및 제3 암호문을 포함하는 암호문을 생성하여 상기 수신단말로 전송하는 과정;을 포함하는 것을 특징으로 하는 사용자 아이디 기반 공개키 암호화 방법
|
5 |
5
제4항에 있어서,상기 수신단말이 암호문을 복호화하여 메시지를 획득하는 단계는 상기 키생성서버로부터 수신한 비밀키 중 상기 제1 비밀키 및 제2 비밀키를 해쉬연산하여 제1 태그값을 연산하는 과정;상기 송신단말로부터 수신한 암호문 중 상기 제1 암호문 및 제2 암호문을 해쉬연산하여 제2 태그값을 연산하는 과정;상기 제1 태그값과 제2 태그값이 동일한지 여부를 판단하는 과정;상기 제2 암호문과 아이디를 해쉬한 값, 상기 임의의 원소, 앞서 연산한 제2 태그값을 겹선형 함수에 적용한 함수값이 상기 제1 생성원과 상기 제3 암호문 겹선형 함수에 적용한 함수값과 서로 동일한지 여부를 판단하는 과정;상기 제2 암호문과 제1 비밀키를 겹선형 함수에 적용한 함수값과, 제2 암호문과 제3 비밀키를 겹선형 함수에 적용한 함수값, 제2 비밀키와 제3 암호문을 겹선형 함수에 적용한 함수값, 제1 태그값 및 제2 태그값에 기초하여 복호화 변수를 연산하는 과정; 및상기 제1 암호문을 상기 복호화 변수로 나누어 메시지를 획득하는 과정;을 포함하는 것을 사용자 아이디 기반 공개키 암호화 방법
|
6 |
6
키생성서버가 비밀키 생성에 사용되는 적어도 하나의 공개 파라미터 및 마스터키를 설정하는 단계;상기 키생성서버가 수신단말로부터 사용자의 고유한 아이디를 입력받아, 상기 공개 파라미터, 마스터키 및 아이디에 기초하여 비밀키를 생성하고, 생성한 비밀키를 상기 수신단말로 전송하는 단계;송신단말이 상기 공개 파라미터에 기초하여 세션키를 생성하고, 생성된 세션키에 기초하여 메시지를 암호화한 후, 암호문을 생성하는 단계; 및수신단말이 생성된 암호문을 입력받고, 세션키를 연산한 후, 생성한 세션키에 기초하여 상기 암호문을 복호화하여 메시지를 획득하는 단계;를 포함하되,상기 키생성서버가 공개 파라미터 및 마스터키를 설정하는 단계는 외부로부터 보안상수를 입력받아, 상기 보안상수를 입력값으로 하는 타원 곡선군에 속하는 생성원 중 임의의 제1 생성원 및 제2 생성원을 선택하고, 상기 타원 곡선군에 속하는 원소 중 임의의 원소를 선택하는 과정;임의의 난수를 선택하여 마스터키로 설정하는 과정;상기 제1 생성원, 제2 생성원 및 상기 마스터키를 겹선형 함수에 적용하여 함수값을 연산하는 과정; 및상기 제1 생성원, 제2 생성원, 상기 임의의 원소 및 상기 겹선형 함수의 함수값 중 적어도 하나를 포함하는 공개 파라미터를 설정하는 과정; 을 포함하는 것을 특징으로 하는 사용자 아이디 기반 공개키 암호화 방법
|
7 |
7
삭제
|
8 |
8
제6항에 있어서,상기 키생성서버가 비밀키를 생성하고, 생성한 비밀키를 상기 수신단말로 전송하는 단계는 임의의 제1 난수를 선택하는 과정;상기 제2 생성원, 마스터키, 임의의 원소 및 제1 난수에 기초하여 제1 비밀키를 생성하는 과정;상기 제1 생성원 및 제1 난수에 기초하여 제2 비밀키를 생성하는 과정;상기 제1 비밀키 및 제2 비밀키를 해쉬하여 제1 태그값을 생성하는 과정;상기 아이디를 해쉬한 값, 임의의 원소, 제1 태그값 및 제1 난수에 기초하여 제3 비밀키를 생성하는 과정; 및상기 제1 비밀키, 제2 비밀키 및 제3 비밀키를 포함하는 비밀키를 생성하여 상기 수신단말로 전송하는 과정;을 포함하는 것을 특징으로 하는 사용자 아이디 기반 공개키 암호화 방법
|
9 |
9
제8항에 있어서,상기 송신단말이 세션키에 기초하여 암호문을 생성하는 단계는 임의의 제2 난수를 선택하는 과정;상기 겹선형 함수의 함수값 및 제2 난수에 기초하여 세션키를 생성하는 과정;상기 세션키 및 메시지를 대칭키 알고리즘에 적용하여 제 4 암호문을 생성하는 과정; 상기 제 4 암호문, 제1 생성원 및 제2 난수에 기초하여 제2 태그값을 생성하는 과정; 및상기 제1 생성원, 상기 제2 난수와, 상기 아이디를 해쉬연산한 값, 상기 임의의 원소, 제2 태그값에 기초하여 암호문을 생성하는 과정;을 포함하는 것을 특징으로 하는 사용자 아이디 기반 공개키 암호화 방법
|
10 |
10
제9항에 있어서,상기 수신단말이 상기 세션키에 기초하여 암호문을 복호화하여 메시지를 획득하는 단계는상기 키생성서버로부터 수신한 비밀키 중 상기 제1 비밀키 및 제2 비밀키를 해쉬연산하여 제1 태그값을 연산하는 과정;상기 송신단말이 수신한 암호문 중 상기 제4 암호문 및 제2 암호문을 해쉬연산하여 제2 태그값을 연산하는 과정;상기 제1 태그값과 제2 태그값이 동일한지 여부를 판단하는 과정;상기 제2 암호문과 제1 비밀키를 겹선형 함수에 적용한 함수값과, 제2 암호문과 제3 비밀키를 겹선형 함수에 적용한 함수값, 제2 비밀키와 제3 암호문을 겹선형 함수에 적용한 함수값, 제1 태그값 및 제2 태그값에 기초하여 복호화 변수를 연산하는 과정;상기 복호화 변수를 대칭키 암호알고리즘에 적용하여 세션키를 획득하는 과정; 및상기 세션키 및 제4 암호문을 대칭키 알고리즘에 적용하여 메시지를 획득하는 과정;을 포함하는 것을 사용자 아이디 기반 공개키 암호화 방법
|
11 |
11
제1항 및 제3항 내지 제6항 및 제8항 내지 제10항 중 어느 한 항에 따른 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체
|