+

KR100656375B1 - 저전력 해쉬함수 암호화 장치 - Google Patents

저전력 해쉬함수 암호화 장치 Download PDF

Info

Publication number
KR100656375B1
KR100656375B1 KR1020050121244A KR20050121244A KR100656375B1 KR 100656375 B1 KR100656375 B1 KR 100656375B1 KR 1020050121244 A KR1020050121244 A KR 1020050121244A KR 20050121244 A KR20050121244 A KR 20050121244A KR 100656375 B1 KR100656375 B1 KR 100656375B1
Authority
KR
South Korea
Prior art keywords
data
storage means
hash function
selecting
register
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020050121244A
Other languages
English (en)
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 KR1020050121244A priority Critical patent/KR100656375B1/ko
Application granted granted Critical
Publication of KR100656375B1 publication Critical patent/KR100656375B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 저전력 해쉬함수 암호화 장치에 관한 것으로, 본 발명의 저전력 해쉬함수 암호화 장치는 저전력 센서 네트워크 환경에서 해쉬함수 암호화를 저전력으로 수행할 수 있는 수단을 제공한다. 이를 위하여 본 발명의 해쉬함수 암호화 장치는 센서 네트워크용 마이크로컨트롤러와의 인터페이스를 수행하는 수단과 해쉬연산중간값과 연산 결과값을 저장하기 위한 수단과 해쉬될 데이터를 확장하는 수단과 로직연산수단과 덧셈 연산수단과 연산에 필요한 데이터패스를 선택하기 위한 수단과 연산에 필요한 상수값들을 저장하기 위한 수단과 이들을 연산수단들을 제어하는 단으로 이루어진 하드웨어를 포함한다.

Description

저전력 해쉬함수 암호화 장치{Low power Hash function encryption device}
도 1은 본 발명에 의한 저전력 해쉬함수 암호화 장치를 도시한 블록도이다.
도 2는 본 발명에 적용되는 해쉬함수 라운드연산을 설명하기 위한 다이어그램이다.
도 3은 본 발명에 적용되는 레지스터 메모리를 사용한 데이터 확장 블록을 도시한 회로도이다.
도 4는 본 발명에 적용되는 RAM 메모리를 사용한 데이터 확장블록을 도시한 회로도이다.
도 5는 본 발명에 적용되는 로직함수 블록을 도시한 회로도이다.
도 6은 본 발명에 적용되는 저전력 해쉬함수 암호화 장치의 시스템인터페이스를 도시한 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
100...시스템인터페이스 200...제어기
300...확장블록 400-800...레지스터
900, 1400...순환쉬프터 1000...메모리
1100...로직연산기 1300...덧셈기
1500, 1600, 1700...선택기
본 발명은 센서 네트워크 환경에 적용가능한 저전력 해쉬함수 암호화 장치에 관한 것으로, 보다 상세하게는 최소한의 로직과 메모리로 구현하였으며 각 메모리와 로직간의 데이터변화가 최소가 되도록 구현함으로써 센서 네트워크의 저전력요구사항을 만족시킨 저전력 해쉬함수 암호화 장치에 관한 것이다.
해시 알고리즘은 일반적으로 긴 메시지에 대한 짧은 지문(fingerprint)을 생성하는 암호 함수로, 인터넷 보안 시스템에 약방의 감초처럼 사용된다. 사람이 지문ㆍ얼굴ㆍ홍채 등 여러 방법으로 자신을 나타내듯 해시 함수는 특정 메시지에 대한 대표 값을 생성하는 함수다.
전자서명 인증체계는 대부분의 인터넷 보안 프로토콜이 해시 알고리즘의 안전성에 근간을 두고 있으며, SHA-1과 같은 HAS-160을 암호 기반으로 사용하고 있으며, 160비트의 SHA-1 대신 256비트의 `SHA-256'을 이용해 해시 값을 계산하고, 이 결과를 다시 160비트로 잘라 사용하는 방법, 기존의 SHA-1 해시 알고리즘 입력에 난수를 도입해 랜덤화된 해시 함수를 사용하는 방법 등을 사용하고 있다.
또한, 해쉬함수는 데이터 인증 및 무결성 검증을 위한 수단으로 사용되는 알고리즘으로 FIPS 180-1에서 국제표준으로 정의되어 있으며, 센서 네트워크 환경에서 다루는 데이터들의 중요성들이 점차 커짐에 따라 센서 네트워크 환경에서도 데이터 인증 및 무결성 검증을 위한 해쉬함수 구현을 필요로 하고 있다. 하지만, 32 비트 프로세서의 소프트웨어 구현에 효율적이도록 고안된 해쉬함수는 8 비트 프로세서를 주로 사용하는 센서 네트워크환경에서 구현하기에는 성능과 시스템 제약 등으로 인하여 많은 어려움이 있다.
종래에도 본 출원인에 의한 한국공개특허 10-2005-65976(05. 6. 30)와 타인의 논문 "하드웨어 공유와 캐리 보존 덧셈을 이용한 MD5 해쉬 프로세서 설계"(정보보호학회, 제13권 4호, pp139-149, 2003. 8), 및 "FPGA Implementation of SHA-1 Algorithm" (ASIC 2003, Volume 2, pp1321-1324, 2003. 10)이 개시되어 있으나, 이들 모두 하나의 덧셈기를 반복 사용하여 전력소모가 적은 구조의 메모리를 가르치고 있지 않다.
위와 같은 어려움을 해결하기 위하여, 본 발명에서는 센서 네트워크 환경에 적용가능한 저전력 해쉬함수 암호화 장치를 구현하였다. 이를 위하여, 해쉬함수 암호화 장치를 최소한의 로직과 메모리 및 하나의 덧셈기로 구현하였으며 각 메모리와 로직 간의 데이터 변화가 최소가 되도록 구현함으로써 센서 네트워크의 저전력 요구사항을 만족시키는 저전력 해쉬함수 암호화 장치를 제공한다.
상술한 기술적 과제를 달성하기 위하여, 본 발명에 의한 저전력 해쉬함수 암호화 장치는 임의의 데이터를 자르거나 일정한 규칙에 의한 패딩 연산을 거쳐 512 비트 단위로 해쉬함수 연산을 반복 수행하여 160 비트의 해쉬값을 계산하는 알고리즘이다. 한번의 해쉬함수 연산은 총 80 라운드의 반복 연산으로 구현되며 각 라운 드 연산에서는 총 4번의 내부 데이터들과 상수들의 덧셈 연산과 쉬프트 연산 등으로 내부 연산값들이 갱신된다. 입력된 512 비트 데이터는 일정한 규칙에 의하여 확장되어 80번의 라운드 연산 동안 내부 데이터들과 덧셈연산이 수행된다.
본 발명에서의 저전력 해쉬함수 암호화장치는 면적과 전력 소모를 최소로 하기 위하여 하나의 덧셈 연산기만을 반복 사용하도록 장치를 구성하였으며 많은 전력을 소모하는 데이터 확장 블록을 필요한 데이터들을 사용하고 갱신하여 소비 전력을 최소로 하고자 하였다. 또한, 필요한 로직연산은 최적화하였으며, 전체 해쉬함수 연산이 효율적이 되도록 데이터 패스를 설정하고 저사양의 시스템 마이크로컨트롤러와의 인터페이스를 효율적으로 수행할 수 있도록 구성하였다.
본 발명의 일 태양에 의하면, 본 발명은 저전력 해쉬함수 암호화 장치에 있어서, 마이크로컨트롤러와의 인터페이스를 위한 수단; 해쉬함수 중간 연산값과 결과값 저장을 위한 제1 내지 제5 저장수단; 하나의 덧셈 연산수단; 해쉬함수 연산을 수행할 데이터를 확장하기 위한 연산수단; 제1 및 제2 저장수단의 데이터출력을 각각 순환 쉬프트하기 위한 수단; 해쉬 연산 초기값과 상수값을 저장하기 위한 주 저장수단; 제2 내지 제4 저장수단의 데이터들을 로직 연산하기 위한 연산수단; 연산의 데이터 패스를 선택하기 위한 입력선택수단들; 이들 메모리와 연산 블록들을 제어하기 위한 제어수단을 포함하여 해쉬함수 연산을 수행함을 특징으로 하는 저전력 해쉬함수 암호화 장치를 제공한다.
바람직하기로는 상기 데이터 확장 연산수단은 시스템으로 오는 입력데이터와 내부연산을 통하여 새로 생성되는 데이터를 선택하고 제어하기 위한 입력수단; 데 이터 저장을 위한 비트레지스터로 구성된 레지스터 파일 저장수단; 레지스터 파일출력을 선택하기 위한 출력선택수단; 상기 중간 연산결과를 저장하기 위한 레지스터 저장수단; 상기 레지스터 저장수단의 입력을 선택하기 위한 입력 선택수단; XOR 연산을 위한 XOR 연산수단; 연산된 레지스터 저장수단의 출력값을 한 비트 쉬프트시키기 위한 쉬프트연산수단; 및 데이터 확장 연산수단의 출력을 선택하기 위한 출력선택수단을 포함하여, 데이터의 확장연산을 저전력으로 수행함을 특징으로 한다.
바람직하기로는 상기 데이터 확장 연산수단은 데이터저장수단을 RAM 메모리로 이용하여 저면적으로 구현됨을 특징으로 한다.
바람직하기로는 상기 로직연산수단은 제2 저장수단의 데이터를 NOT 연산하기 위한 NOT 연산수단; 제2 저장수단의 데이터와 제3 저장수단의 데이터의 AND 연산을 위한 AND 연산수단; 제3 저장수단의 데이터와 제4 저장수단의 데이터의 AND 연산을 위한 AND 연산수단; 제4 저장수단의 데이터와 AND연산할 제2 저장수단의 데이터를 선택하기 위한 입력선택수단; 상기 선택된 제2 저장수단의 데이터와 제4 저장수단의 데이터의 AND 연산을 위한 AND 연산수단; 제2 저장수단의 데이터와 제3 저장수단의 데이터와 제4 저장수단의 데이터의 XOR 연산을 위한 XOR 연산수단들; 상기 AND 연산된 값들을 더하기 위한 OR 연산수단들; 및 상기 연산결과들의 출력을 선택하기 위한 출력선택수단으로 최적화 구현됨을 특징으로 한다.
바람직하기로는 상기 인터페이스장치는 상기 마이크로컨트롤터에 8 비트 데이터를 전송받아 32 비트로 확장하는 수신 인터페이스수단과 32 비트 출력데이터를 8 비트씩 나누어 전송하는 송신 인터페이스수단으로 구성되어 효율적인 시스템 인 터페이스를 수행함을 특징으로 한다.
이하, 본 발명의 바람직한 실시예에 의한 저전력 해쉬함수 암호화 장치를 도면을 참조하여 자세히 살펴 보기로 한다.
도 1은 저전력 해쉬함수 암호화 장치의 일실시예 구성도이다. 도 1의 저전력 해쉬함수 암호화 장치는 마이크로컨트롤러(200)와의 인터페이스를 위한 블록(100)과, 해쉬함수 중간 연산값과 결과값 저장을 위한 제1 내지 제5 레지스터들(400, 500, 600, 700, 800)과, 32 비트 덧셈 연산기(1300)와, 해쉬함수 연산을 수행할 데이터를 확장하기 위한 연산블록(300)과, 데이터 출력을 5비트와 30비트 순환 쉬프트하기 위한 블록들(900, 1400)과, 해쉬 연산 초기값과 상수값을 저장하기 위한 메모리(1000)와, 상기 제2 내지 제4 레지스터들(500, 600, 700)의 데이터들을 로직 연산하기 위한 연산 블록(1100)과, 상기 각 연산의 데이터패스를 선택하기 위한 입력선택기들(1500, 1600, 1700)과, 이들 메모리(1000)와 연산블록들(300~1700)을 제어하기 위한 제어기(200)로 구성된다.
도 1에 의하면, 본 발명의 저전력 해쉬함수 암호화 장치는 하나의 덧셈기(1300)만을 이용하여 연산을 수행한다. 연산 진행과정을 자세히 살펴 보면, 연산이 확장블록(300)에 입력데이터를 저장하고 해쉬함수 연산을 시작하면, 초기화 과정으로 초기값과 상수값 저장을 위한 메모리(1000)에서 초기값들을 상기 제1 내지 제5 레지스터(400-800)에 저장한다. 초기값 저장은 별도의 데이터패스가 없고 메모리(1000)의 출력과 제5 레지스터(800)의 출력을 덧셈기(1300)에서 덧셈한 결과를 제1 레지스터(400)에 저장하는 데이터패스를 그대로 이용한다.
초기화 연산이 수행되는 동안 제3 레지스터(600)의 입력은 제2 레지스터(500)의 출력값이 그대로 저장되도록 입력선택기(1500)가 제어되며 나머지 각 레지스터들의 값은 다음 레지스터로 쉬프트된다. 초기 레지스터들은 0 으로 초기화 되어 있으므로 메모리(1000)의 초기값들이 각 레지스터에 저장된다 이러한 데이터패스는 해쉬함수의 80 라운드결과와 초기값들의 덧셈연산에 그대로 이용된다. 이러한 초기화 과정은 첫번째 데이터 블록 연산에서만 수행되며, 두번째 데이터 블록 연산부터는 이미 제1 내지 제5 레지스터(400-800)에 전단계 해쉬함수 결과가 저장되어 있으므로 초기화 과정을 수행하지 않는다. 초기화 후 80번의 라운드 연산이 수행되며 각 라운드 연산시에는 도 2와 같이 제5 레지스터(800)와 제2 내지 제4 레지스터(500, 600, 700)의 데이터들의 로직함수를 통한 결과와 제1 레지스터(400)의 비트 순환 쉬프트 연산값과 데이터확장값(Wt)와 상수값(Kt)들의 덧셈연산으로 제 1레지스터(400)가 갱신되고 제3 레지스터(600)는 제2 레지스터(500)의 30 비트 순환 쉬프트 연산값으로 갱신되며, 제2, 제4, 제5 레지스터(500, 700, 800)는 각각 전 라운드의 제1, 제3, 제4 레지스터(400, 600, 700)의 값으로 갱신된다. 각 라운드의 4 번의 덧셈 연산을 하나의 덧셈기(1300)로 수행하기 위하여 덧셈기(1300)의 입력선택기(1700)에서 5 비트 쉬프트연산기(900)와 초기값과 상수 저장메모리(1000), 로직함수연산기(1100), 그리고 데이터 확장블록(300) 중에서 하나의 값을 선택하며, 이들 값과 제5 레지스터(800)의 값을 순차적으로 덧셈 연산한다. 라운드 중간의 덧셈 연산값은 다시 제5 레지스터(800)에 저장된다. 이때 확장블록(300)의 출력값 Wt는 4 번째 덧셈 연산에서 더해지며, 3 번의 덧셈연산 동안 라운드에 필요 한 Wt를 계산한다. 각 라운드마다 로직함수 연산방법과 상수 Kt 그리고 확장블록(300)의 출력값은 달리 선택되거나 연산되며, 80 라운드 후의 결과는 다시 초기값과 덧셈 연산하여 해쉬함수 결과를 출력한다. 위에서 언급하였듯이 마지막의 초기값과 덧셈연산은 초기화 과정을 그대로 수행하여 계산된다. 덧셈기에 계산되는 해쉬함수 결과는 제1 내지 제5 레지스터(400-800)에 저장되면서 동시에 초기값 메모리(1000)에 저장되어 다음 데이터 블록의 해쉬함수 연산에 사용된다.
도 1의 데이터 확장블록(300)은 전력소모를 최소로 하기 위하여 필요한 데이터들만을 가지고 데이터를 생성하고 갱신하도록 하였다. 이때 데이터를 저장하는 메모리는 레지스터나 RAM 메모리로 구성할 수 있다.
도 3은 레지스터 메모리를 사용한 데이터 확장블록의 일실시예 구성도이다.
도 3의 데이터 확장블록(300)은 시스템으로 오는 입력데이터와 내부연산을 통하여 새로 생성되는 데이터를 선택하고 제어하기 위한 입력제어기(300-a)와, 데이터 저장을 위한 32 비트 레지스터 16 개로 구성된 레지스터 파일(300-b) 블록, 레지스터 파일 출력을 선택하기 위한 출력선택기(300-c)와, 중간 연산결과를 저장하기 위한 w 레지스터 (300-e)와, w 레지스터(300-e)의 입력을 선택하기 위한 입력 선택기(300-d)와, XOR 연산을 위한 XOR 연산기(300-f)와, 연산된 w 레지스터(300-e)값을 한 비트 쉬프트시키기 위한 쉬프트연산기(300-g)와, Wt의 출력을 선택하기 위한 출력선택기(300-h)로 구성된다.
라운드 연산에 사용되는 Wt 값은 t 가 0 부터 15 에 대해서는 512 비트 입력값을 그대로 이용하며, t 가 16 부터 79 까지는 다음과 같은 연산으로 새로운 값이 연산된다.
Wt=S1(Wt-3 xor Wt-8 xor Wt-14 xor Wt-16)
이때, S1 은 한 비트 쉬프트 연산이다. 이러한 연산은 각 라운드 연산마다 새로이 연산된다. 처음 메모리에서 Wt-3를 읽어들여 w 레지스터(300-e)에 저장하고, 다음 Wt-8, Wt-14를 읽어들여 저장되어 있는 w 레지스터(300-e의 값과 XOR 연산하여 다시 w 레지스터에 저장한다. 마지막 Wt-16 데이터는 읽어들이면서 w 레지스터의 출력과 XOR 연산을 수행한 후 바로 출력되어 Wt 값으로 사용된다. 연산된 Wt 데이터는 바로 Wt-16 에 다시 저장되어 다음 연산에 이용된다. 이와 같은 확장 블록연산은 각 레지스터들의 값 변화를 최소로 하여 소비전력을 줄이는 이점이 있다. 또한, 레지스터 메모리 대신 RAM 메모리를 이용할 수 있는데, RAM 메모리를 이용하면 더욱 최적화된 면적으로 구현할 수 있어 저면적 구현이 가능하다.
도 4는 메모리를 이용한 확장블록의 일실시예 구성도이다.
도 4에서 보는 바와 같이, 레지스터 파일이 단일 포트 RAM 메모리(300-i)로 바뀌어 구현되어 있다. 그외 다른 구성요소들은 도 3의 구성과 동작 면에 있어서 위에서 언급한 바와 같이 동일하므로, 그 상세한 설명은 생략한다.
도 5는 로직함수의 일실시예의 구성도이다.
도 5의 로직함수는 제2 레지스터 데이터를 NOT 연산하기 위한 NOT 연산기(1100-a)와, 제 레지스터 데이터와 제3 레지스터 데이터의 AND 연산을 위한 AND 연산기(1100-d)와, 제3 레지스터 데이터와 제4 레지스터 데이터의 AND 연산을 위한 AND 연산기(1100-e)와, 제4 레지스터 데이터와 AND 연산할 제 레지스터 데이터를 선택하기 위한 입력 선택기(1100-b)와, 선택된 제2 레지스터 데이터와 제4 레지스터 데이터의 AND 연산을 위한 AND 연산기(1100-f)와, 제2 레지스터 데이터와 제3 레지스터 데이터와 제4 레지스터 데이터의 XOR 연산을 위한 XOR 연산기들(1100-c, 1100-g)과, AND 연산된 값들을 더하기 위한 OR 연산기들(1100-h, 1100-i)과, 그리고 이들 연산 결과들의 출력을 선택하기 위한 출력선택기(1100-j)로 구성된다.
로직함수는 제2 내지 제4 레지스터 데이터(B, C, D)를 다음과 같이 라운드에 따라 연산을 달리 수행하며, 도 5는 이들 연산을 최적화하여 구현하였다.
ft(B, C, D)=(B∧C)∨(~B∧D)(0≤t≤19)
ft(B, C, D)=B xor C xor D (20≤t≤39)
ft(B, C, D)=(B∧C)∨(B∧D)∨(C∧D)(40≤t≤59)
ft(B, C, D)=B xor C xor D (60≤t≤79)
이때, ∧는 논리곱을 의미하며, ∨는 논리합을 의미한다. 또한 ~는 NOT연산이다.
위에 언급하였듯이, 도 1의 저전력 해쉬함수 암호화 장치는 저전력 마이크로프로세서와 통신을 위한 시스템 인터페이스를 가진다.
도 6은 저전력 해쉬함수 암호화 장치의 시스템 인터페이스의 일실시예의 구성도이다.
도 6의 인터페이스장치는 마이크로컨트롤터(1800)에 8 비트 데이터를 전송받아 32 비트로 확장하는 수신 인터페이스 블록인 비트변환기(100-a)와, 32 비트 출력데이터를 8비트씩 나누어 전송하는 송신 인터페이스블록인 비트변환기(100-b)로 구성된다. 데이터 버스를 통하여 어드레스와 데이터가 모두 전송되며 연속적인 다수개의 데이터가 전송될 때에는 버스트 모드로 데이터가 전송된다. 그외 다른 구성요소들은 도 1의 구성과 동작 면에 있어서 위에서 언급한 바와 같이 동일하므로, 그 상세한 설명은 생략한다.
본 발명은 지금까지 SHA-1 해쉬함수 암호화 장치에 대해서 설명하였으나, 본 발명이 반드시 이에 제한되는 것은 아니고 다른 변형예가 있을 수 있으며, 본 발명의 권리범위는 이하 청구항에 의해서 정의된다.
상기와 같은 구조로 개발된 저전력 해쉬함수 암호화 장치는 저전력 저면적의해쉬함수 암호화 장치를 제공함으로써 센서 네트워크 환경과 같이 자원 제약이 많은 환경에서 효율적인 데이터 인증 및 무결성 검증을 수행할 수 있는 수단을 제공한다.

Claims (5)

  1. 저전력 해쉬함수 암호화 장치에 있어서,
    마이크로컨트롤러와의 인터페이스를 위한 수단;
    해쉬함수 중간 연산값과 결과값 저장을 위한 제1 내지 제5 저장수단;
    하나의 덧셈 연산수단;
    해쉬함수 연산을 수행할 데이터를 확장하기 위한 연산수단;
    제1 및 제2 저장수단의 데이터출력을 각각 순환 쉬프트하기 위한 수단;
    해쉬 연산 초기값과 상수값을 저장하기 위한 주 저장수단;
    제2 내지 제4 저장수단의 데이터들을 로직 연산하기 위한 연산수단;
    연산의 데이터 패스를 선택하기 위한 입력선택수단들;
    이들 메모리와 연산 블록들을 제어하기 위한 제어수단을 포함하여 해쉬함수 연산을 수행함을 특징으로 하는 저전력 해쉬함수 암호화 장치.
  2. 제1항에 있어서, 상기 데이터 확장 연산수단은 시스템으로 오는 입력데이터와 내부연산을 통하여 새로 생성되는 데이터를 선택하고 제어하기 위한 입력수단;
    데이터 저장을 위한 비트레지스터로 구성된 레지스터 파일 저장수단;
    레지스터 파일출력을 선택하기 위한 출력선택수단;
    상기 중간 연산결과를 저장하기 위한 레지스터 저장수단;
    상기 레지스터 저장수단의 입력을 선택하기 위한 입력 선택수단;
    XOR 연산을 위한 XOR 연산수단;
    연산된 레지스터 저장수단의 출력값을 한 비트 쉬프트시키기 위한 쉬프트연산수단; 및
    데이터 확장 연산수단의 출력을 선택하기 위한 출력선택수단을 포함하여, 데이터의 확장연산을 저전력으로 수행함을 특징으로 하는 암호화 장치.
  3. 제2항에 있어서, 상기 데이터 확장 연산수단은 데이터저장수단을 RAM 메모리로 이용하여 저면적으로 구현됨을 특징으로 하는 암호화 장치.
  4. 제1항에 있어서, 상기 로직연산수단은 제2 저장수단의 데이터를 NOT 연산하기 위한 NOT 연산수단;
    제2 저장수단의 데이터와 제3 저장수단의 데이터의 AND 연산을 위한 AND 연산수단;
    제3 저장수단의 데이터와 제4 저장수단의 데이터의 AND 연산을 위한 AND 연산수단;
    제4 저장수단의 데이터와 AND연산할 제2 저장수단의 데이터를 선택하기 위한 입력선택수단;
    상기 선택된 제2 저장수단의 데이터와 제4 저장수단의 데이터의 AND 연산을 위한 AND 연산수단;
    제2 저장수단의 데이터와 제3 저장수단의 데이터와 제4 저장수단의 데이터의 XOR 연산을 위한 XOR 연산수단들;
    상기 AND 연산된 값들을 더하기 위한 OR 연산수단들; 및
    상기 연산결과들의 출력을 선택하기 위한 출력선택수단으로 최적화 구현됨을 특징으로 하는 암호화 장치.
  5. 제1항에 있어서, 상기 인터페이스장치는 상기 마이크로컨트롤터에 8 비트 데이터를 전송받아 32 비트로 확장하는 수신 인터페이스수단과 32 비트 출력데이터를 8 비트씩 나누어 전송하는 송신 인터페이스수단으로 구성되어 효율적인 시스템 인터페이스를 수행함을 특징으로 하는 암호화 장치.
KR1020050121244A 2005-12-10 2005-12-10 저전력 해쉬함수 암호화 장치 Active KR100656375B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050121244A KR100656375B1 (ko) 2005-12-10 2005-12-10 저전력 해쉬함수 암호화 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050121244A KR100656375B1 (ko) 2005-12-10 2005-12-10 저전력 해쉬함수 암호화 장치

Publications (1)

Publication Number Publication Date
KR100656375B1 true KR100656375B1 (ko) 2006-12-11

Family

ID=37732918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050121244A Active KR100656375B1 (ko) 2005-12-10 2005-12-10 저전력 해쉬함수 암호화 장치

Country Status (1)

Country Link
KR (1) KR100656375B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100901697B1 (ko) * 2007-07-09 2009-06-08 한국전자통신연구원 저전력 sha-1 해쉬 연산 장치 및 이를 이용한 저전력hmac 암호 장치
KR101082512B1 (ko) 2010-04-16 2011-11-10 우원정보기술(주) 헬스 케어용 의료 센서를 위한 암호화 방법 및 장치
CN111488119A (zh) * 2019-01-29 2020-08-04 三星电子株式会社 用于哈希解决方案的半导体存储器件及其驱动方法
CN111767553A (zh) * 2020-05-29 2020-10-13 上海橙群微电子有限公司 数据加密解密方法、mcu及电子设备、可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970012202A (ko) * 1995-08-30 1997-03-29 존 엠. 클락 3세 확장 함수를 필요로 하는 하드웨어를 기초로 하는 해시 알고리즘용으로 랜덤 액세스 메모리를 사용하는 방법 및 장치
US6091821A (en) 1998-02-12 2000-07-18 Vlsi Technology, Inc. Pipelined hardware implementation of a hashing algorithm
JP2001282106A (ja) 2000-03-28 2001-10-12 Matsushita Electric Works Ltd ハッシュ装置
JP2002162904A (ja) 2000-11-27 2002-06-07 Matsushita Electric Works Ltd ハッシュ関数処理装置
KR20040017434A (ko) * 2002-08-21 2004-02-27 이광엽 병렬 연산구조를 갖는 엠디5 해쉬함수 연산 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970012202A (ko) * 1995-08-30 1997-03-29 존 엠. 클락 3세 확장 함수를 필요로 하는 하드웨어를 기초로 하는 해시 알고리즘용으로 랜덤 액세스 메모리를 사용하는 방법 및 장치
US6091821A (en) 1998-02-12 2000-07-18 Vlsi Technology, Inc. Pipelined hardware implementation of a hashing algorithm
JP2001282106A (ja) 2000-03-28 2001-10-12 Matsushita Electric Works Ltd ハッシュ装置
JP2002162904A (ja) 2000-11-27 2002-06-07 Matsushita Electric Works Ltd ハッシュ関数処理装置
KR20040017434A (ko) * 2002-08-21 2004-02-27 이광엽 병렬 연산구조를 갖는 엠디5 해쉬함수 연산 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100901697B1 (ko) * 2007-07-09 2009-06-08 한국전자통신연구원 저전력 sha-1 해쉬 연산 장치 및 이를 이용한 저전력hmac 암호 장치
US8086864B2 (en) 2007-07-09 2011-12-27 Electronics And Telecommunications Research Institute Low power HMAC encryption apparatus
KR101082512B1 (ko) 2010-04-16 2011-11-10 우원정보기술(주) 헬스 케어용 의료 센서를 위한 암호화 방법 및 장치
CN111488119A (zh) * 2019-01-29 2020-08-04 三星电子株式会社 用于哈希解决方案的半导体存储器件及其驱动方法
CN111488119B (zh) * 2019-01-29 2024-02-13 三星电子株式会社 用于哈希解决方案的半导体存储器件及其驱动方法
CN111767553A (zh) * 2020-05-29 2020-10-13 上海橙群微电子有限公司 数据加密解密方法、mcu及电子设备、可读存储介质
CN111767553B (zh) * 2020-05-29 2024-04-12 上海橙群微电子有限公司 数据加密解密方法、mcu及电子设备、可读存储介质

Similar Documents

Publication Publication Date Title
KR100901697B1 (ko) 저전력 sha-1 해쉬 연산 장치 및 이를 이용한 저전력hmac 암호 장치
JP5572610B2 (ja) セキュリティ強化のための転置データ変換
US8155310B2 (en) Key derivation functions to enhance security
Algredo-Badillo et al. FPGA-based implementation alternatives for the inner loop of the Secure Hash Algorithm SHA-256
US11546135B2 (en) Key sequence generation for cryptographic operations
US20060034454A1 (en) Exponential data transform to enhance security
US20090161863A1 (en) Hardware implementation of the secure hash standard
Glabb et al. Multi-mode operator for SHA-2 hash functions
US8077861B2 (en) Permutation data transform to enhance security
CN113098675A (zh) 基于多项式完全同态的二进制数据加密系统及方法
CN1592190B (zh) 硬件加密引擎和加密方法
At et al. A low-area unified hardware architecture for the AES and the cryptographic hash function Grøstl
KR100656375B1 (ko) 저전력 해쉬함수 암호화 장치
KR20050065976A (ko) Sha-1 해쉬값 연산 장치 및 방법
KR20180083592A (ko) 데이터 가산 장치 및 방법
CN117834119A (zh) 加密处理设备及其加密处理方法和存储介质
US20060098815A1 (en) Methods of encoding and decoding data
Jungk et al. On optimized FPGA implementations of the SHA-3 Candidate Grøstl
Wang et al. Optimized implementations of stream cipher ZUC-256 algorithm
Kuwakado et al. New algorithm for finding preimages in a reduced version of the MD4 compression function
KR100423810B1 (ko) 타원곡선 암호화 장치
Abbas et al. Dictionary attack on truecrypt with rivyera s3-5000
KR20140079529A (ko) 아리아 암복호화 장치 및 방법
Gligoroski et al. A secure hash algorithm with only 8 folded sha-1 steps
Pérez-Navarro et al. Hardware Architecture for the SHA-3 Family in Crystals-Kyber: Post-Quantum Cryptography

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

FPAY Annual fee payment

Payment date: 20121129

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

FPAY Annual fee payment

Payment date: 20141205

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

FPAY Annual fee payment

Payment date: 20151201

Year of fee payment: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

FPAY Annual fee payment

Payment date: 20181113

Year of fee payment: 13

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 13

FPAY Annual fee payment

Payment date: 20191203

Year of fee payment: 14

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 14

P14-X000 Amendment of ip right document requested

St.27 status event code: A-5-5-P10-P14-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 15

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 16

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 17

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 18

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 19

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载