KR970012202A - 확장 함수를 필요로 하는 하드웨어를 기초로 하는 해시 알고리즘용으로 랜덤 액세스 메모리를 사용하는 방법 및 장치 - Google Patents

확장 함수를 필요로 하는 하드웨어를 기초로 하는 해시 알고리즘용으로 랜덤 액세스 메모리를 사용하는 방법 및 장치 Download PDF

Info

Publication number
KR970012202A
KR970012202A KR1019960036261A KR19960036261A KR970012202A KR 970012202 A KR970012202 A KR 970012202A KR 1019960036261 A KR1019960036261 A KR 1019960036261A KR 19960036261 A KR19960036261 A KR 19960036261A KR 970012202 A KR970012202 A KR 970012202A
Authority
KR
South Korea
Prior art keywords
bit
subblock
offset
output
generates
Prior art date
Application number
KR1019960036261A
Other languages
English (en)
Inventor
로렌스 둔칸 리차드
Original Assignee
존 엠. 클락 3세
내쇼날 세미컨덕터 코포레이션
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 존 엠. 클락 3세, 내쇼날 세미컨덕터 코포레이션 filed Critical 존 엠. 클락 3세
Publication of KR970012202A publication Critical patent/KR970012202A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Logic Circuits (AREA)
  • Storage Device Security (AREA)

Abstract

입력 데이타 버퍼링 및 데이타 확장을 이행하는데 필요한 최소량의 랜덤 액세스 메모리(RAM)는 기밀 해시알고리즘(Secure Hash Algoithm; SHA)의 해시 하드웨어 구현내에 내장된다. RAM의 사용은 변형적인 해결방안과 비교해 볼 때 다이 사이즈 및 전류 소비를 감소시킨다. 보다 작은 다이 사이즈는 부가적인 기능이 필요한 경우 동일한 집적 회로내에 합체되는 것을 허용한다. 전류의 감소는 전력 사용이 관심사인 용도에서 상기 디바이스가 사용되는 것을 허용한다. RAM의 사용에 대한 환경은 프로세스, 코드 ROM, 하드웨어 해시 모듈, 및 단일의 디바이스를 이루는 기타 필요한 요소를 포함하는 암호 제품을 포함한다. 상기 해시 하드웨어는 16딥선입선출 W-데이타 저장 버퍼를 포함하는 W-데이타 발생기를 포함한다. 상기 W-데이타 저장버퍼는 RAM 및 RAM제어기 상태기계를 포함한다. 상기 W-데이타 저장 버퍼는 입력 메세지 블록을 수신하고 상기 SHA를 구현하는데 필요한 W-데이타 확장 값을 발생시킨다. 버스 마스터는 본 발명에 다른 선입선출 W-데이타 저장 버퍼내로 W0, W1, W2,…, W14, W15 와 같은 순서로 W-데이타값을 로딩시킨다.
일단 W15가 로딩되는 경우, SHA 가속기는 해싱을 개시한다. W-데이타 확장값(W16~W79)은 메세지 블록 (본래W0~W15임)의 해싱과 동시에 발생된다. 80 SHA해시 공정중 제1의 64 SHA 해시공정 동안, W(t+16)가 발생되어 RAM에 저장된다.

Description

확장 함수를 필요로 하는 하드웨어를 기초로 하는 해시 알고리즘용으로 랜덤 액세스메모리를 사용하는 방법 및 장치
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명의 적합한 환경을 제공하는 제품의 블록 다이어그램,
제2도는 본 발명의 바람직한 실시예의 환경을 제공하는 기밀해시 알고리즘의 하드웨어 구현의 주요 부분에 대한 개략적인 다이어그램,
제3도는 본 발명의 구조와 논리적으로 등가인 W-데이타 확장 하드레웨어에 대하 논리 다이어그램.

Claims (23)

  1. 하드웨어를 기초로 한 해시구현에서 B-비트 확장 서브 블록을 계산하는 장치에 있어서, B-비트 서브블록 입력워드, 엔코딩된 어드레스, 및 기록 이네이블을 입력으로서 취하는 N 개의 B-비트 서브블록을 저장하고, B-비트 서브-블록 출력 워드를 출력으로서 발생시키는 랜덤 액서스 메모리; LOAD 신호 및 클록신호를 입력으로서 취하고 상기 기록 이네이블 및 상기 엔코딩된 어드레스를 출력으로서 발생시키는 RAM 제어기 상태기계; 상기 B-비트 서브블록 출력 워드 및 B-비트 부분결과 레지스터 출력을 입력으로서 취하고 B-비트 XOR 출력을 발생시키는 B-비트 배타적 OR 게이트열(column); 및 상기 B-비트 XOR 출력을 입력으로서 취하고 상기 B-비트부분 결과 레지스터 출력을 발생시키는 B-비트 부분 결과 레지스터를 포함하는 상기 장치.
  2. 제 1항에 있어서, B-비트 W-데이타 및 B-비트 확장 데이타를 입력으로서 취하고 상기 B-비트 서브블록 입력 워드를 출력으로서 발생시키는 B-비트 입력 멀티플렉서를 부가적으로 포함하는 상기 장치.
  3. 제2항에 있어서, 상기B-비트 확장 데이타는 상기 B-비트 XOR 출력인 상기 장치.
  4. 제2항에 있어서, 상기B-비트 확장 데이타는 r비트 위치만큼 좌회전되는 B-비트 XOR 출력인 상기 장치.
  5. 제2항에 있어서, 상기B-비트 확장 데이타는 r비트 위치만큼 좌회전되는 B-비트 XOR 출력을 입력으로서 취하고 상기 확장 데이타를 출력으로서 발생시키는 B-비트 모드 멀티플렉서를 부가적으로 포함하는 상기 장치.
  6. 제5항에 있어서, r이 1인 상기 장치.
  7. 제1항에 있어서, N이16이고 B가 32인 상기 장치.
  8. 제1항에 있어서, 상기 RAM 제어기 상태기계는 오프셋 및 공정 계수기 값을 입력으로서 취하고 상기 엔코딩된 어드레스를 출력으로서 발생시키는 어드레스 가산기를 부가적으로 포함하는 상기 장치.
  9. 제8에 있엇 상기 RAM 제어기 상태기계는 계수 이네이블 및 클록 신호를 입력으로서 취하고 상기 공정 계수기 값을 출력으로서 발생시키는 공정 계수기를 부가적으로 포함하는 상기 장치.
  10. 제9항에 있어서, 상기 RAM 제어기 상태기계는 2 이상의 상수 및 선책 신호를 입력으로서 취하고 상기 오프셋을 발생시키는 멀티플레서를 부가적으로 포함하는 상기 장치.
  11. 제10항에 있어서 상기 RAM 제어기 상태기계는 상기 클록 신호를 입력으로서 취하고 상기 선택 신호를 발생시켜 상기 계수 이네이블에 영향을 주는 시스템 클록 계수기를 부가적으로 포함하는 상기 장치.
  12. 제11항에 있어서 상기 시스템 클록 계수기는 기록 이네이블을 발생시키는 상기 장치.
  13. 하드웨어를 기초로 한 해시 구현에서 해시 공정 사이클(t) 동안 B-비트 확장 서브블록을 계산하는 방법에 있어서, 정수 K=1 내지 K-1인 경우, (a)N-장소 랜덤 액세스 메모리 내의 메모리 장소([t+오프셋(K)]mod N} 로부터 K번째 B-비트 서브블록을 판독하는 단계; (b) k번째 B-비트 부분 결과를 발생시키도록 k번째 B-비트 서브블록 및 B-비트 부분결과 레지스터의 내용상에서 비트방향 B-비트 배타적 OR 연산을 이행하는 단계; 및 (c) 상기 B-비트 부분 결과 레지스터내에 상기 k번째 B-비트 부분 결과를 기록하는 단계를 포함하고, 정수 k=k인 경우, (d)상기 N-장소 랜덤액세스 메모리내의 메모리 장소([t+오프셋(k)]mod N)로부터 k번째 B-비트 서브블록을 판독하는 단계; (e) 상기 B-비트 확장 서브블록을 발생시키도록 상기 k번째 서브블록 및 상기 B- 비트 부분 결과 레지스터의 내용 상에서 비트 방향 B-비트 배타적 OR연산을 이행하는 단계; 및 (f)상기 N-장소 랜덤 액세스 메모리내의 메모리 장소([t+오프셋(k) mod N)내에 상기 B-비트 확장 서브블록을 기록하는 단계를 포함하는 B-비트 확장 서브블록의 계산 방법.
  14. 제13항에 있어서 단계(b) 및 단계(e)는 B-비트 배타적 OR 게이트 열에 의해 이행되는 B-비트확장 서브블록 계산 방법.
  15. 제14항에 있어서 단계 (e) 및 단게(f) 사이에 r비트 위치만큼 상기 B-비트 확장 서브 블록을 좌회전시키는 단계를 부가적으로 포함하는 B-비트 확장 서브블록의 계산방법.
  16. 제14항에 있어서 단계 (e) 및 단계 (f) 사이에, 모든 신호가 단정되지 않을 경우 상기 B-비트 확장서브블록을 r 비트 위치만큼 선택적으로 좌회전시키는 단계; 및 상기 모드 신호가 단정되는 경우 상기 B-비트 확장 서브블록을 선택적으로 좌회전시키지, 않는 단계를 부가적으로 포함하는 B-비트 확장 서브블록의 계산방법.
  17. 제16항에 있어서, r이 1인 B-비트확장 서브블록의 계산방법
  18. 제17항에 있어서, B가 32인 B -비트 확장 서브블록의 계산방법
  19. 제18항에 있어서, N01 16인 B-비트 확장 서브블록의 계산방법
  20. 제19항에 있어서, k가 5인 B-비트 확장 서브블록의 계산방법
  21. 제20항에 있어서, 오프셋(5)이 0인 B-비트확장 서브블록의 계산방법
  22. 제21항에 있어서, 오프셋(1)이 0이고, 오프셋(2)이 2이면 오프셋(3)이 8이고, 오프셋(4)이 13인 B-비트 확장 서브블록의 계산방법
  23. 제21항에 있어서, 오프셋(1), 오프셋(2), 오프셋(3), 및 오프셋(4)이 각각 0,2,8 및 13중 하나인 B-비트 확장 서브블록의 계산방법
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960036261A 1995-08-30 1996-08-29 확장 함수를 필요로 하는 하드웨어를 기초로 하는 해시 알고리즘용으로 랜덤 액세스 메모리를 사용하는 방법 및 장치 KR970012202A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US52159895A 1995-08-30 1995-08-30
US95-08/521,598 1995-08-30

Publications (1)

Publication Number Publication Date
KR970012202A true KR970012202A (ko) 1997-03-29

Family

ID=24077357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960036261A KR970012202A (ko) 1995-08-30 1996-08-29 확장 함수를 필요로 하는 하드웨어를 기초로 하는 해시 알고리즘용으로 랜덤 액세스 메모리를 사용하는 방법 및 장치

Country Status (2)

Country Link
KR (1) KR970012202A (ko)
DE (1) DE19635108A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100656375B1 (ko) * 2005-12-10 2006-12-11 한국전자통신연구원 저전력 해쉬함수 암호화 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100656375B1 (ko) * 2005-12-10 2006-12-11 한국전자통신연구원 저전력 해쉬함수 암호화 장치

Also Published As

Publication number Publication date
DE19635108A1 (de) 1997-05-07

Similar Documents

Publication Publication Date Title
EP2149083B1 (en) Fifo buffer
KR910020560A (ko) 프로그램 코드를 보호하는데 사용되는 어드레스 정보스트림을 암호화하는 방법 및 장치
JPH07312078A (ja) Ramベースのfifoメモリを直列から並列へおよび並列から直列へ変換する構造
KR890007285A (ko) Fifo버퍼 제어기
JPH07168753A (ja) モジュロ加算回路およびその動作方法
JPS60146346A (ja) ハツシング装置
US20210006391A1 (en) Data processing method, circuit, terminal device and storage medium
JPH03180933A (ja) スタックメモリ
TW394872B (en) Address translation device
KR970012202A (ko) 확장 함수를 필요로 하는 하드웨어를 기초로 하는 해시 알고리즘용으로 랜덤 액세스 메모리를 사용하는 방법 및 장치
JP2004054936A (ja) 内容照合メモリにおけるビットエラーの検出方法および装置
JPH01204147A (ja) アドレス修飾回路
EP1039370B1 (en) Modulo address generator and a method for implementing modulo addressing
Dasgupta et al. An Asic for cellular automata based message authentication
JP2002109874A (ja) Fifoメモリ装置内の空のメモリ位置の数を決定する方法及び装置
KR950025776A (ko) 랜덤블럭 억세스 메모리의 메모리칩 확장제어방법 및 장치
JPH02212952A (ja) メモリアクセス制御方式
JP3374772B2 (ja) 大小判定回路およびそれを用いたfifo回路
JPH01273132A (ja) マイクロプロセッサ
KR970073094A (ko) 디지탈 영상신호 처리용 메모리 시스템
TW518873B (en) Fast encoder and encoding method
JP3087488B2 (ja) データ復元回路
KR0158488B1 (ko) 마이크로 프로세서의 어드레스단자 축소 장치 및 방법
JPH06215557A (ja) 半導体記憶装置
Vobornik Protection for software in measuring instruments

Legal Events

Date Code Title Description
AMDR Request for amendment
U051 Notice for disposition of invalidation