1 |
1
입력 데이터 및 상기 입력 데이터를 소정 처리한 결과 데이터로 이루어진 W 데이터를 출력하는 W 데이터 출력부; 저장부 A에 저장된 A 데이터를 저장하는 저장부 B; 저장부 B에 저장된 B 데이터를 소정 비트 회전 이동하여 저장하는 저장부 C; 저장부 C에 저장된 C 데이터를 저장하는 저장부 D; 저장부 D에 저장된 D 데이터를 저장하는 저장부 E; 상기 A 데이터를 소정 비트 회전 쉬프트한 결과, 상기 B, C, D 데이터를 소정 함수로 논리 연산한 결과, 상기 E 데이터, 상기 W 데이터 및 소정 상수와 소정 논리 연산하여 저장하는 저장부 A; 소정의 주기마다 상기 각 저장부 A, B, C, D, E에 저장되는 데이터에 각각의 초기값을 각각 가산하는 가산부를 포함하는 것을 특징으로 하는 SHA-1 해쉬값 연산 장치
|
2 |
2
제 1항에 있어서, 상기 가산부로 가산 제어신호를 인가하고, 상기 저장부 A로 변환 제어신호를 인가하는 제어부를 더 포함하는 것을 특징으로 하는 SHA-1 해쉬값 연산 장치
|
3 |
3
제 2항에 있어서, 상기 저장부 A는, 상기 A 데이터를 5비트 회전 쉬프트하는 쉬프트 레지스터부; 상기 변환 제어 신호에 따라 함수를 변환하여 상기 B, C, 및 D 데이터를 연산하는 변환 함수 연산부; 상기 변환 제어 신호에 따라 상수를 변환 출력하는 상수 변환부; 및 상기 쉬프트 레지스터, 상기 변환 함수 연산부, 상기 상수 변환부, 상기 저장부 E 및 저장부 W의 출력을 가산하는 가산부를 포함하는 것을 특징으로 하는 SHA-1 해쉬값 연산 장치
|
4 |
4
제 3항에 있어서, 레지스터 A, B, C, D, 및 E의 저장과 저장부 W의 출력은 동일 주기에 이루어지고, 상기 제어부는 상기 가산 제어 신호를 80 주기마다 인가하고, 상기 변환 제어 신호는 20 주기마다 인가하는 것을 특징으로 하는 SHA-1 해쉬값 연산 장치
|
5 |
5
제 1항에 있어서, 상기 저장부 W는 32비트 단위의 16개의 W 데이터 중에서 제 1 W 데이터를 출력하고, 전체 W 데이터를 32비트 쉬프트하는 쉬프트 레지스터부; 상기 데이터 저장부 W의 제 1 및 제 3 W 데이터를 XOR 연산한 결과와 제 9 및 제 14 W 데이터를 XOR 연산한 결과를 다시 XOR 연산하여 1비트 회전 쉬프트하여 궤환하는 궤환부를 포함하는 것을 특징으로 하는 SHA-1 해쉬값 연산 장치
|
6 |
6
레지스터 A, B, C, D, 및 E에 초기값을 저장하는 초기값 저장 단계; 입력 데이터를 레지스터 W에 저장하는 입력 데이터 저장 단계; 상기 레지스터 A, B, C, D, E, 및 W에 각각 저장된 A, B, C, D, E, 및 W 값을 처리하여 새로운 A, B, C, D, E, 및 W 값을 생성하고, 상기 생성된 A, B, C, D, E, 및 W 값을 각각 레지스터 A, B, C, D, E, 및 W에 저장하는 중간값 생성 단계; 및 상기 중간값 생성단계가 소정 횟수 반복된 후, 상기 레지스터 A, B, C, D, E에 저장된 값을 각각 상기 레지스터 A, B, C, D, 및 E의 초기값과 가산하여 최종값을 생성하는 최종값 생성 단계를 포함하는 것을 특징으로 하는 SHA-1 해쉬값 연산 방법
|
7 |
7
제 6항에 있어서, 상기 중간값 생성 단계는, 상기 레지스터 A에 저장된 A 값을 5비트 회전 쉬프트한 값, 상기 레지스터 B, C, 및 D에 각각 저장된 B, C, D 값을 소정의 함수로 연산한 값, 및 상기 레지스터 E에 저장된 E 값, 소정의 상수, 및 상기 레지스터 W의 저장된 W 값 중 소정의 비트값을 연산하여 중간값 A를 생성하는 단계; 상기 레지스터 B에 저장된 B 값을 30비트 회전 쉬프트하여 중간값 C를 생성하는 단계; 상기 레지스터 A에 저장된 A 값, 상기 레지스터 C에 저장된 C 값, 및 상기 레지스터 D에 저장된 D값을 각각 상기 레지스터 B, D, 및 E에 저장하는 단계; 상기 중간값 A 및 C 를 각각 레지스터 A 및 C에 저장하는 단계; 및 상기 레지스터 W에 저장된 소정의 비트값을 서로 연산하여 궤환 입력하고, 상기 레지스터 W에 저장된 비트값을 32 비트 쉬프트하여 생성된 W 값을 저장하는 단계를 포함하는 것을 특징으로 하는 SHA-1 해쉬값 연산 방법
|
8 |
8
제 7항에 있어서, 상기 소정 함수 및 상기 소정 함수는 변환 제어 신호에 따라 변환되고, 상기 가산부는 상기 가산 제어 신호에 따라 수행되는 것을 특징으로 하는 SHA-1 해쉬값 연산 방법
|
9 |
9
제 8항에 있어서, 상기 가산 제어 신호는 중간값 생성단계가 80회 반복될 때마다 인가되고, 상기 변환 제어 신호는 중간값 생성단계가 20회 반복될 때마다 인가되는 것을 특징으로 하는 SHA-1 해쉬값 연산 방법
|
10 |
10
제 6항에 있어서, 상기 레지스터 W는 저장된 32비트 단위의 16개의 W 데이터 중에서 최상위인 제 1 W 데이터를 출력하고, 전체 W 데이터를 32비트 쉬프트하며, 상기 데이터 저장부 W의 제 1 및 제 3 W 데이터를 XOR 연산한 결과와 제 9 및 제 14 W 데이터를 XOR 연산한 결과를 다시 XOR 연산하여 1비트 회전 쉬프트하여 궤환하는 궤환부를 포함하는 것을 특징으로 하는 SHA-1 해쉬값 연산 방법
|
11 |
10
제 6항에 있어서, 상기 레지스터 W는 저장된 32비트 단위의 16개의 W 데이터 중에서 최상위인 제 1 W 데이터를 출력하고, 전체 W 데이터를 32비트 쉬프트하며, 상기 데이터 저장부 W의 제 1 및 제 3 W 데이터를 XOR 연산한 결과와 제 9 및 제 14 W 데이터를 XOR 연산한 결과를 다시 XOR 연산하여 1비트 회전 쉬프트하여 궤환하는 궤환부를 포함하는 것을 특징으로 하는 SHA-1 해쉬값 연산 방법
|