1 |
1
해쉬 연산할 데이터를 수신하여 전달하는 데이터입력부;
하나의 32-bit 레지스터를 이용하여 상기 해쉬 연산할 데이터로 해쉬 연산을 위한 각 라운드의 중간값을 생성하는 데이터확장부;
하나의 덧셈기를 이용해 상기 생성된 해쉬 연산을 위한 각 라운드의 중간값에 대해 SHA-1 해쉬 연산을 수행하는 메시지압축부;
상기 SHA-1 해쉬 연산의 결과값을 출력하는 데이터출력부; 및
상기 데이터확장부와 상기 메시지압축부의 동작 순서를 제어하는 해쉬연산제어부를 포함하되, 상기 해쉬연산제어부는 4번에 걸쳐 XOR 연산한 값을 상기 하나의 32-bit 레지스터에 저장되도록 XOR 연산한 값을 입력하는 입력선택기를 제어하는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산 장치
|
2 |
2
제1항에 있어서, 상기 데이터확장부는,
상기 해쉬 연산할 데이터 및 상기 해쉬 연산을 위한 각 라운드의 중간값의 저장을 위한 메모리;
상기 해쉬 연산을 위한 각 라운드의 중간값을 구하는 중간 연산 결과를 저장하는 하나의 32-bit 레지스터;
상기 하나의 32-bit 레지스터에 저장된 중간 연산 결과와 상기 메모리에서 읽어온 해쉬 연산을 위한 각 라운드의 중간값을 XOR 연산하는 XOR 연산기;
상기 XOR 연산한 값 또는 상기 메모리에 저장된 상기 해쉬 연산할 데이터 및 상기 해쉬 연산을 위한 각 라운드의 중간값 중 하나를 선택하여 상기 하나의 32-bit 레지스터에 입력하는 입력선택기;
상기 하나의 32-bit 레지스터의 출력값을 1 bit 회전이동시키기 위한 회전이동연산기; 및
상기 1 bit 회전이동시킨 값 또는 상기 메모리로부터 읽어온 데이터 중 하나를 선택하여 상기 해쉬 연산을 위한 각 라운드의 중간값으로 출력하는 출력선택기를 포함하여, 데이터의 확장연산을 저전력으로 수행하는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산 장치
|
3 |
3
제1항에 있어서, 상기 메시지압축부는,
해쉬 연산을 위한 초기값과 상수값을 저장하기 위한 KH부;
제1의 데이터를 5 bit 쉬프트한 값, 하기 제2 내지 제4의 32-bit 레지스터에 각각 저장된 제2 내지 제4의 데이터를 F함수 연산한 값, 라운드 상수 값 및 상기 해쉬 연산을 위한 각 라운드의 중간값 중 선택된 하나의 값과 하기 제5의 32-bit 레지스터에 저장된 제5의 데이터를 덧셈 연산하여 저장하는 제1의 32-bit 레지스터;
상기 제1의 32-bit 레지스터에 저장된 제1의 데이터를 저장하는 제2의 32-bit 레지스터;
상기 제2의 32-bit 레지스터에 저장된 제2의 데이터를 30 bit 쉬프트하여 저장하는 제3의 32-bit 레지스터;
상기 제3의 32-bit 레지스터에 저장된 제3의 데이터를 저장하는 제4의 32-bit 레지스터
제4의 32-bit 레지스터에 저장된 제4의 데이터를 저장하는 제5의 32-bit 레지스터;
상기 제1 및 제2의 32-bit 레지스터의 데이터출력을 각각 쉬프트하는 회전쉬프트기;
상기 제2 내지 제4의 32-bit 레지스터의 제2 내지 제4의 데이터들을 F 함수 연산하는 F함수연산기;
데이터 패스를 선택하기 위한 복수의 입력선택수단; 및
한 클럭 주기마다 4번의 덧셈 연산을 반복 수행하여 상기 제1의 데이터를 계산하는 하나의 덧셈기
를 포함하여 구성된 것을 특징으로 하는 저전력 SHA-1 해쉬 연산 장치
|
4 |
4
제3항에 있어서, 상기 하나의 덧셈기는,
상기 제1의 데이터를 5 bit 쉬프트한 값, 하기 제2 내지 제4의 32-bit 레지스터에 각각 저장된 제2 내지 제4의 데이터를 F함수 연산한 값, 라운드 상수 값 및 상기 해쉬 연산을 위한 각 라운드의 중간값 중 선택된 하나의 값과 하기 제5의 32-bit 레지스터에 저장된 제5의 데이터를 덧셈 연산하여 SHA-1 해쉬 연산의 최종 80라운드의 해쉬결과값을 생성하는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산 장치
|
5 |
5
삭제
|
6 |
6
HMAC 연산을 위한 키데이터의 패딩 처리를 위한 키패딩부;
상기 패딩된 키데이터와 패딩상수를 XOR 연산하는 XOR 연산부;
상기 XOR 연산한 데이터에 암호화할 텍스트를 연접하는 데이터연접부;
상기 연접된 데이터의 패딩 처리를 위한 데이터패딩부;
상기 패딩된 데이터에 대한 SHA-1 해쉬 연산을 수행하는 SHA-1 해쉬 연산부;
상기 SHA-1 해쉬 연산의 결과 또는 상기 암호화할 텍스트를 선택하여 상기 데이터연접부에 인가하는 데이터선택부; 및
암호연산의 수행을 위해 필요한 데이터들을 읽어오고, 그 값들을 메모리에 저장하기 위해 상기 키패딩부, 데이터연접부 및 데이터패딩부의 동작을 제어하며, SHA-1 해쉬연산부의 해쉬 연산의 수행 순서 및 연산 결과의 저장을 제어하는 제어부
를 포함하여 구성되는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산을 이용한 저전력 HMAC 암호 장치
|
7 |
7
제6항에 있어서,
상기 키패딩부는 내부에 32-bit 단위의 레지스터를 사용해 512-bit single-port 키메모리로 구성되는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산을 이용한 저전력 HMAC 암호 장치
|
8 |
8
제6항에 있어서,
상기 데이터연접부와 상기 데이터 패딩부는 내부에 32-bit 단위의 레지스터를 사용해 512-bit single-port 데이터메모리로 구성되는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산을 이용한 저전력 HMAC 암호 장치
|
9 |
9
제8항에 있어서,
상기 데이터 패딩부는 SHA-1 해쉬 연산 또는 HMAC 연산에 따라 요구되는 데이터 길이로 데이터 패딩을 수행하는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산을 이용한 저전력 HMAC 암호 장치
|
10 |
10
제6항에 있어서, 상기 SHA-1 해쉬 연산부는,
해쉬 연산할 데이터를 수신하여 전달하는 데이터입력부;
하나의 32-bit 레지스터를 이용하여 상기 해쉬 연산할 데이터로 상기 해쉬 연산을 위한 각 라운드의 중간값을 생성하는 데이터확장부;
하나의 덧셈기를 이용해 상기 생성된 해쉬 연산을 위한 각 라운드의 중간값에 대해 SHA-1 해쉬 연산을 수행하는 메시지압축부;
상기 SHA-1 해쉬 연산의 결과값을 출력하는 데이터출력부; 및
상기 데이터확장부와 상기 메시지압축부의 동작 순서를 제어하는 해쉬연산제어부
를 포함하여 구성되는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산을 이용한 저전력 HMAC 암호 장치
|
11 |
11
제10항에 있어서, 상기 데이터확장부는,
상기 해쉬 연산할 데이터 및 상기 해쉬 연산을 위한 각 라운드의 중간값의 저장을 위한 메모리;
상기 해쉬 연산을 위한 각 라운드의 중간값을 구하는 중간 연산 결과를 저장하는 하나의 32-bit 레지스터;
상기 하나의 32-bit 레지스터에 저장된 중간 연산 결과와 상기 메모리에서 읽어온 해쉬 연산을 위한 각 라운드의 중간값을 XOR 연산하는 XOR 연산기;
상기 XOR 연산한 값 또는 상기 메모리에 저장된 상기 해쉬 연산할 데이터 및 상기 해쉬 연산을 위한 각 라운드의 중간값 중 하나를 선택하여 상기 하나의 32-bit 레지스터에 입력하는 입력선택기;
상기 하나의 32-bit 레지스터의 출력값을 1 bit 회전이동시키기 위한 회전이동연산기; 및
상기 1 bit 회전이동시킨 값 또는 상기 메모리에 저장된 상기 해쉬 연산할 데이터 및 상기 해쉬 연산을 위한 각 라운드의 중간값 중 하나를 선택하여 상기 해쉬 연산을 위한 각 라운드의 중간값으로 출력하는 출력선택기
를 포함하여 구성되는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산을 이용한 저전력 HMAC 암호 장치
|
12 |
12
제10항에 있어서, 상기 메시지압축부는,
해쉬 연산을 위한 초기값과 라운드 상수값을 저장하기 위한 KH부;
제1의 데이터를 5 bit 쉬프트한 값, 하기 제2 내지 제4의 32-bit 레지스터에 각각 저장된 제2 내지 제4의 데이터를 F함수 연산한 값, 라운드 상수 값 및 상기 해쉬 연산을 위한 각 라운드의 중간값 중 선택된 하나의 값과 하기 제5의 32-bit 레지스터에 저장된 제5의 데이터를 덧셈 연산하여 저장하는 제1의 32-bit 레지스터;
상기 제1의 32-bit 레지스터에 저장된 제1의 데이터를 저장하는 제2의 32-bit 레지스터;
상기 제2의 32-bit 레지스터에 저장된 제2의 데이터를 30 bit 쉬프트하여 저장하는 제3의 32-bit 레지스터;
상기 제3의 32-bit 레지스터에 저장된 제3의 데이터를 저장하는 제4의 32-bit 레지스터
제4의 32-bit 레지스터에 저장된 제4의 데이터를 저장하는 제5의 32-bit 레지스터;
상기 제1 및 제2의 32-bit 레지스터의 데이터출력을 각각 쉬프트하는 회전쉬프트기;
상기 제2 내지 제4의 32-bit 레지스터의 제2 내지 제4의 데이터들을 F 함수 연산하는 F함수연산기;
데이터 패스를 선택하기 위한 복수의 입력선택수단; 및
한 클럭 주기마다 4번의 덧셈 연산을 반복 수행하여 상기 제1의 데이터를 계산하는 하나의 덧셈기
를 포함하여 구성되는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산을 이용한 저전력 HMAC 암호 장치
|
13 |
13
제12항에 있어서,
상기 제1 내지 제5의 32 bit 레지스터는 상기 KH부로부터 초기값을 읽어와 저장하는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산 장치를 이용한 저전력 HMAC 암호 장치
|
14 |
14
제12항에 있어서,
상기 KH부에서 상기 라운드 상수값와 초기값을 이용한 80 라운드의 SHA-1 해쉬 연산이 종료된 후에 최종 결과값이 저장되는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산을 이용한 저전력 HMAC 암호 장치
|
15 |
15
제11항에 있어서,
상기 해쉬연산제어부는 4번에 걸쳐 XOR 연산한 값을 상기 하나의 32-bit 레지스터에 저장되도록 상기 입력선택기를 제어하는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산을 이용한 저전력 HMAC 암호 장치
|
16 |
16
제6항에 있어서,
상기 제어부는 SHA-1 해쉬 연산 또는 HMAC 연산을 지정하고, 상기 SHA-1 해쉬 연산 또는 HMAC 연산이 한 번만 수행될지 또는 연속되는 연산인지를 지정하는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산을 이용한 저전력 HMAC 암호 장치
|
17 |
17
해쉬 연산할 데이터를 수신하여 전달하는 데이터입력부;
하나의 32-bit 레지스터를 이용하여 상기 해쉬 연산할 데이터로 해쉬 연산을 위한 각 라운드의 중간값을 생성하는 데이터확장부;
하나의 덧셈기를 이용해 상기 생성된 해쉬 연산을 위한 각 라운드의 중간값에 대해 SHA-1 해쉬 연산을 수행하는 메시지압축부;
상기 SHA-1 해쉬 연산의 결과값을 출력하는 데이터출력부; 및
상기 데이터확장부와 상기 메시지압축부의 동작 순서를 제어하는 해쉬연산제어부
를 포함하되, 상기 메시지압축부는, 해쉬 연산을 위한 초기값과 상수값을 저장하기 위한 KH부; 제1의 데이터를 5 bit 쉬프트한 값, 하기 제2 내지 제4의 32-bit 레지스터에 각각 저장된 제2 내지 제4의 데이터를 F함수 연산한 값, 라운드 상수 값 및 상기 해쉬 연산을 위한 각 라운드의 중간값 중 선택된 하나의 값과 하기 제5의 32-bit 레지스터에 저장된 제5의 데이터를 덧셈 연산하여 저장하는 제1의 32-bit 레지스터; 상기 제1의 32-bit 레지스터에 저장된 제1의 데이터를 저장하는 제2의 32-bit 레지스터; 상기 제2의 32-bit 레지스터에 저장된 제2의 데이터를 30 bit 쉬프트하여 저장하는 제3의 32-bit 레지스터; 상기 제3의 32-bit 레지스터에 저장된 제3의 데이터를 저장하는 제4의 32-bit 레지스터; 제4의 32-bit 레지스터에 저장된 제4의 데이터를 저장하는 제5의 32-bit 레지스터; 상기 제1 및 제2의 32-bit 레지스터의 데이터출력을 각각 쉬프트하는 회전쉬프트기; 상기 제2 내지 제4의 32-bit 레지스터의 제2 내지 제4의 데이터들을 F 함수 연산하는 F함수연산기; 데이터 패스를 선택하기 위한 복수의 입력선택수단; 및 한 클럭 주기마다 4번의 덧셈 연산을 반복 수행하여 상기 제1의 데이터를 계산하는 하나의 덧셈기를 포함하고, 상기 하나의 덧셈기는, 상기 제1의 데이터를 5 bit 쉬프트한 값, 하기 제2 내지 제4의 32-bit 레지스터에 각각 저장된 제2 내지 제4의 데이터를 F함수 연산한 값, 라운드 상수 값 및 상기 해쉬 연산을 위한 각 라운드의 중간값 중 선택된 하나의 값과 하기 제5의 32-bit 레지스터에 저장된 제5의 데이터를 덧셈 연산하여 SHA-1 해쉬 연산의 최종 80라운드의 해쉬결과값을 생성하는 것을 특징으로 하는 저전력 SHA-1 해쉬 연산 장치
|