1 |
1
타원곡선 암호의 스칼라 곱셈과 RSA(Rivest-Shamir-Adleman) 암호의 모듈로 멱승 연산을 선택적으로 수행하는 유한체 연산기;유한체 연산에 필요한 모듈로 값을 저장하는 제1메모리;타원곡선 암호와 RSA 암호에 사용되는 파라미터와 중간 결과값을 저장하는 제2메모리; 및상기 유한체 연산기, 제1메모리 및 제2메모리를 제어하는 제어부를 포함하며,상기 유한체 연산기는,제1데이터, 제2데이터 및 제3데이터를 입력받아 곱셈연산을 수행하여 연산데이터와 내부메모리를 제어하는 제어신호를 출력하는 유한체 워드기반 몽고메리 곱셈기;상기 제1데이터, 제2데이터 및 제3데이터를 입력받아 감산 또는 가산을 수행하여 연산데이터와 내부메모리를 제어하는 제어신호를 출력하는 유한체 감산 및 가산기;상기 유한체 워드기반 몽고메리 곱셈기 또는 유한체 감산 및 가산기의 연산데이터 및 제어신호를 선택적으로 출력하는 제1선택부;상기 제1선택부를 통해 선택된 제어신호에 따라 연산데이터를 저장하고, 저장된 제4데이터 또는 제5데이터를 상기 유한체 워드기반 몽고메리 곱셈기로 출력하는 내부메모리; 및상기 내부메모리의 제4데이터 또는 제5데이터를 선택하여 출력하는 제2선택부를 포함하는 연산장치
|
2 |
2
삭제
|
3 |
3
제1항에 있어서,상기 유한체 워드기반 몽고메리 곱셈기는,32비트 곱셈기를 포함하는 연산장치
|
4 |
4
제1항에 있어서, 상기 유한체 워드기반 몽고메리 곱셈기는,키를 최상위 비트부터 스캔하는 키 스캔하고, RSA 암호 처리 시에서는 자승처리 한 후 키 스캔 결과에 따라 스캔된 키의 값이 1인 경우에 곱셈 연산을 추가로 수행하거나,타원곡선 암호 처리시 점(point) 덧셈과 점 두배 덧셈 연산을 위한 곱셈 연산과 자승 연산을 수행하고, 상기 스캔된 키 값이 0인지 1인지에 따라 상기 제2메모리의 저장 위치를 바꾸어 저장하는 것을 특징으로 하는 연산장치
|
5 |
5
제1항에 있어서,상기 유한체 감산 및 가산기는,점(point) 덧셈과 점 두 배 연산을 위한 유한체 상의 덧셈 또는 뺄셈 연산을 수행하고, 키 스캔 결과 값이 0인지 1인지에 따라 상기 제2메모리의 저장 위치를 바꾸어 저장하는 것을 특징으로 하는 연산장치
|
6 |
6
a) 초기단계에서 데이터를 입력받는 데이터 입력단계;b) 입력된 데이터를 연산에 적합한 데이터로 매핑하는 단계;c) 제어부의 제어에 따라 입력된 데이터의 모듈로 멱승 연산을 수행하여 RSA(Rivest-Shamir-Adleman) 암호를 처리하는 RSA 암호 처리단계;d) 상기 c) 단계를 수행하거나 제어부의 제어에 따라 입력된 데이터의 스칼라 곱셈을 수행하여 타원곡선 암호를 처리하는 타원곡선 암호 처리단계; 및e) 상기 c) 또는 d) 단계의 데이터를 출력하는 데이터 출력단계를 포함하며,상기 b) 단계는, c) 단계에서 모듈로 멱승 연산처리되는 데이터 길이의 제곱에 데이터를 미리 곱하고,d) 단계에서 스칼라 곱셈 연산처리되는 데이터 길이의 제곱에 자코비안 좌표값을 미리 곱하는 것을 특징으로 하는 연산방법
|
7 |
7
삭제
|
8 |
8
제6항에 있어서,상기 c) 단계는,키를 최상위 비트부터 스캔하는 키 스캔 단계;데이터를 자승처리하는 자승처리단계;상기 키 스캔 단계의 처리 결과값이 1인 경우 곱셈 연산을 수행하는 곱셈 처리단계; 및상기 b) 단계에서 추가한 데이터 길이값을 제거하기 위한 리매핑 단계를 포함하는 연산방법
|
9 |
9
제6항에 있어서,상기 d) 단계는,키를 최상위 비트부터 스캔하는 키 스캔 단계;상기 키 스캔 단계의 처리 결과값에 점(point) 덧셈과 점 두 배 덧셈을 수행하는 연산단계;상기 스캔된 키 값이 0과 1일 때에 따라 저장 위치를 바꾸어 저장하는 연산단계;상기 스칼라 곱셈 연산결과를 자코비안 좌표계에서 아핀 좌표계로 역변환하는 연산단계; 및상기 b) 단계에서 추가한 데이터 길이값을 제거하기 위한 리매핑 단계를 포함하는 연산방법
|