전자서명, 인증 코드, 키 생성 알고리듬 등의 보안 프로토콜에 사용되는 SHA-256 해시 함수를 면적 효율적으로 설계하였다. 설계된 SHA-256 해시 프로세서는 입력 메시지에 대한 패딩 및 파싱 기능을 수행하는 패더 블록을 포함하여 프리프로세싱을 위한 소프트웨어 없이 동작하도록 구현하였다. 라운드 연산을 16-비트 데이터 패스로 구현하여 64 라운드 연산이 128 클록 주기에 처리되도록 하였으며, 이를 통해 저면적 구현과 함께 성능 대비 하드웨어 복잡도 (area per throughput; APT)를 최적화 하였다. 설계된 SHA-256 해시 프로세서는 Virtex5 FPGA로 구현하여 정상 동작함을 확인하였으며, 최대 116 MHz 클록 주파수로 동작하여 337 Mbps의 성능을 갖는 것으로 평가되었다. ASIC 구현을 위해 $0.18-{\mu}m$CMOS 셀 라이브러리로 합성한 결과, 13,251 GE로 구현되었으며, 최대 동작주파수는 200 MHz로 예측되었다.
전자서명, 인증 코드, 키 생성 알고리듬 등의 보안 프로토콜에 사용되는 SHA-256 해시 함수를 면적 효율적으로 설계하였다. 설계된 SHA-256 해시 프로세서는 입력 메시지에 대한 패딩 및 파싱 기능을 수행하는 패더 블록을 포함하여 프리프로세싱을 위한 소프트웨어 없이 동작하도록 구현하였다. 라운드 연산을 16-비트 데이터 패스로 구현하여 64 라운드 연산이 128 클록 주기에 처리되도록 하였으며, 이를 통해 저면적 구현과 함께 성능 대비 하드웨어 복잡도 (area per throughput; APT)를 최적화 하였다. 설계된 SHA-256 해시 프로세서는 Virtex5 FPGA로 구현하여 정상 동작함을 확인하였으며, 최대 116 MHz 클록 주파수로 동작하여 337 Mbps의 성능을 갖는 것으로 평가되었다. ASIC 구현을 위해 $0.18-{\mu}m$ CMOS 셀 라이브러리로 합성한 결과, 13,251 GE로 구현되었으며, 최대 동작주파수는 200 MHz로 예측되었다.
This paper describes an area-efficient design of SHA-256 hash function that is widely used in various security protocols including digital signature, authentication code, key generation. The SHA-256 hash processor includes a padder block for padding and parsing input message, so that it can operate ...
This paper describes an area-efficient design of SHA-256 hash function that is widely used in various security protocols including digital signature, authentication code, key generation. The SHA-256 hash processor includes a padder block for padding and parsing input message, so that it can operate without software for preprocessing. Round function was designed with a 16-bit data-path that processed 64 round computations in 128 clock cycles, resulting in an optimized area per throughput (APT) performance as well as small area implementation. The SHA-256 hash processor was verified by FPGA implementation using Virtex5 device, and it was estimated that the throughput was 337 Mbps at maximum clock frequency of 116 MHz. The synthesis for ASIC implementation using a $0.18-{\mu}m$ CMOS cell library shows that it has 13,251 gate equivalents (GEs) and it can operate up to 200 MHz clock frequency.
This paper describes an area-efficient design of SHA-256 hash function that is widely used in various security protocols including digital signature, authentication code, key generation. The SHA-256 hash processor includes a padder block for padding and parsing input message, so that it can operate without software for preprocessing. Round function was designed with a 16-bit data-path that processed 64 round computations in 128 clock cycles, resulting in an optimized area per throughput (APT) performance as well as small area implementation. The SHA-256 hash processor was verified by FPGA implementation using Virtex5 device, and it was estimated that the throughput was 337 Mbps at maximum clock frequency of 116 MHz. The synthesis for ASIC implementation using a $0.18-{\mu}m$ CMOS cell library shows that it has 13,251 gate equivalents (GEs) and it can operate up to 200 MHz clock frequency.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 SHA-256 해시 함수를 저면적 하드웨어로 설계하여 하드웨어 리소스가 제한된 IoT 환경에 적합하도록 구현하였다. Xilinx ISE를 통해 시뮬레이션 검증을 하였고, Virtex5 FPGA, UART 통신, 소프트웨어를 이용하여 하드웨어 동작을 검증하였다.
88로 본 논문의 설계와 유사하나 4배 많은 슬라이스를 필요로 한다. 본 논문의 SHA-256 해시 프로세서는 APT가 작고, 적은 수의 슬라이스로 설계되어 저면적 구현이 필요한 IoT 정보보안 분야에 적합하다.
제안 방법
메시지 패딩과 메시지 파싱을 수행하는 패더 블록은 그림 4와 같이 IDEL, DATA, LENGTH의 세 개 상태로 구성되는 유한상태머신 (FSM)으로 설계되었다.
표 2는 본 논문에서 설계된 SHA-256 해시 프로세서와 문헌에 발표된 사례들을 비교한 것이다. 문헌 [8-10]의 SHA-256 해시 프로세서는 32-비트 데이터 패스로 설계되었으며, 본 논문의 SHA-256 해시 프로세서는 16-비트 데이터 패스로 설계되었다. 표 2에서 APT (AreaPer Throughput)는 처리율 대비 하드웨어 복잡도를 나타내며, 작을수록 우수한 설계를 의미한다.
본 논문에서는 SHA-256 해시 프로세서를 설계하고,FPGA 구현을 통해 하드웨어 동작을 검증했다. 설계된SHA-256 해시 프로세서는 하드웨어 패더 블록을 포함하여 프리프로세싱을 위한 소프트웨어가 필요 없으며, 데이터 패스를 16-비트로 설계하여 저면적으로 구현하였다.
본 논문에서는 SHA-256 해시 프로세서를 설계하고,FPGA 구현을 통해 하드웨어 동작을 검증했다. 설계된SHA-256 해시 프로세서는 하드웨어 패더 블록을 포함하여 프리프로세싱을 위한 소프트웨어가 필요 없으며, 데이터 패스를 16-비트로 설계하여 저면적으로 구현하였다. 설계된 SHA-256 해시 프로세서는 Xilinx으로 합성한 결과 300개 슬라이스로 구현되었으며, 최대 동작 주파수는 116 MHz로 평가되었다.
SHA-256 해시 프로세서는 그림 3과 같이 패더 블록,라운드 블록, 다이제스트 레지스터 그리고 제어 블록으로 구성된다. 입력 메시지에 대한 패딩 및 파싱 기능을 수행하는 패더 블록을 하드웨어로 구현하여 프리프로세싱을 위한 소프트웨어 없이 동작하도록 구현 하였다. 그림 2의 라운드 함수를 연산하여 다이제스트를 생성하는 라운드 블록은 저면적 구현을 위해 16-비트 데이터패스로 설계되었다.
대상 데이터
설계된 SHA-256 해시 프로세서는 FPGA 구현을 통해 하드웨어 동작을 검증하였다. FPGA 검증 시스템은 그림 9-(a)와 같이 FPGA 보드, UART I/F, 구동 소프트웨어로 구성되며, Virtex5 XC5VSX95T 디바이스가 사용되었다. PC에서 입력된 메시지와 메시지 길이 데이터가 RS232C 통신을 통해 FPGA로 전송된 후, 설계된 SHA-256 해시 프로세서를 통해 계산된 다이제스트 값이 다시 PC로 전송되어 화면에 표시된다.
데이터처리
본 논문에서는 SHA-256 해시 함수를 저면적 하드웨어로 설계하여 하드웨어 리소스가 제한된 IoT 환경에 적합하도록 구현하였다. Xilinx ISE를 통해 시뮬레이션 검증을 하였고, Virtex5 FPGA, UART 통신, 소프트웨어를 이용하여 하드웨어 동작을 검증하였다. Ⅱ장에서는 SHA-256 해시 함수에 대해 간략히 설명하고, Ⅲ장에서는 SHA-256 해시 프로세서 설계에 대해 설명한다.
설계된 SHA-256 해시 프로세서는 FPGA 구현을 통해 하드웨어 동작을 검증하였다. FPGA 검증 시스템은 그림 9-(a)와 같이 FPGA 보드, UART I/F, 구동 소프트웨어로 구성되며, Virtex5 XC5VSX95T 디바이스가 사용되었다.
성능/효과
0.18-µm CMOS 셀라이브러리로 합성한 결과 13,251 GE (gate equivalent)로 구현되었으며, 최대 200 MHz의 클록 주파수로 동작할 수 있다.
왼쪽 상단부에 메시지 데이터를 입력하면 오른쪽 상단부에 메시지 길이가 표시되고 메시지 데이터는 ASCII 값으로 변환된다. FPGA에서 출력되는 다이제스트 값과 소프트웨어로 계산된 다이제스트 값이 일치하여 FPGA에 구현된 SHA-256 해시 프로세서가 올바르게 동작함을 확인하였다.
설계된SHA-256 해시 프로세서는 하드웨어 패더 블록을 포함하여 프리프로세싱을 위한 소프트웨어가 필요 없으며, 데이터 패스를 16-비트로 설계하여 저면적으로 구현하였다. 설계된 SHA-256 해시 프로세서는 Xilinx으로 합성한 결과 300개 슬라이스로 구현되었으며, 최대 동작 주파수는 116 MHz로 평가되었다. 0.
18-µm CMOS 셀라이브러리로 합성한 결과 13,251 GE (gate equivalent)로 구현되었으며, 최대 200 MHz의 클록 주파수로 동작할 수 있다. 설계된 SHA-256 해시 프로세서는 하드웨어 리소스가 제한된 IoT 디바이스의 정보보안 코어로활용이 가능하다.
설계된 SHA-256 해시 프로세서를 통해 256-비트의 다이제스트 “248D 6A61 D206 38B8 E5C0 2693 0C3E 6039 A33C E459 64FF 2167 F6EC EDD4 19DB 06C1”이 출력되어 표준문서 [3]의 참조 값과 일치하는 것을 확인하였으며, 설계된 SHA-256 해시 프로세서의 논리기능이 올바로 동작함을 확인하였다.
질의응답
핵심어
질문
논문에서 추출한 답변
보안 알고리듬은 무엇이있는가?
보안 알고리듬에는 대칭키 암호, 공개키 암호, 해시함수 등 다양한 알고리듬이 존재한다. 해시 함수는 주어진 메시지(정보)를 고정된 길이의 다이제스트(digest)로 압축하는 기능을 가지며, 정보의 위조나 변조 여부를 확인할 수 있는 무결성 제공과 함께 전자서명, 인증,키교환, 의사난수 생성 등의 정보보안 목적으로 폭넓게사용되고 있다.
정보를 안전하게 보호하기 위한 서비스는?
IoT 기기와 서비스가 빠른 속도로 확대됨에 따라 개인정보 침해, 모바일 악성코드 등 보안 위협이 나타날 것으로 예상되며, 이에 대한 대비가 중요하다[1, 2]. 다양한 보안 위협으로부터 정보를 안전하게 보호하기 위해서는 기밀성 (confidentiality), 인증(authentication), 무결성 (integrity) 등의 보안 서비스를 제공하기 위한 보안 알고리듬의 하드웨어 및 소프트웨어 구현이 필요하다.
설계된 SHA-256 해시 함수이용한 프로세서를 어떻게 구현하였나?
전자서명, 인증 코드, 키 생성 알고리듬 등의 보안 프로토콜에 사용되는 SHA-256 해시 함수를 면적 효율적으로 설계하였다. 설계된 SHA-256 해시 프로세서는 입력 메시지에 대한 패딩 및 파싱 기능을 수행하는 패더 블록을 포함하여 프리프로세싱을 위한 소프트웨어 없이 동작하도록 구현하였다. 라운드 연산을 16-비트 데이터 패스로 구현하여 64 라운드 연산이 128 클록 주기에 처리되도록 하였으며, 이를 통해 저면적 구현과 함께 성능 대비 하드웨어 복잡도 (area per throughput; APT)를 최적화 하였다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.