Skip to main content
QUICK REVIEW

[논문 리뷰] Instruction sequence expressions for the secure hash algorithm SHA-256

J.A. Bergstra, C.A. Middelburg|arXiv (Cornell University)|2013. 08. 01.
Cryptographic Implementations and Security참고 문헌 19인용 수 10
한 줄 요약

이 논문은 프로그램 대수(PGA)를 사용하여 수학적으로 정확하고 지시어 시퀀스 기반으로 SHA-256을 구현한다. 해시 함수는 부울 레지스터 연산, 점프, 종료로 구성된 유한하고 단일 패assing 지시어 시퀀스로 모델링된다. 주요 기여는 임의의 길이의 비트 스트링에 제한된 SHA-256에 대한 균일한 대수적 기술이며, 메시지 길이가 N개의 32비트 워드일 경우 지시어 시퀀스 크기가 729,464·N + 1,025로 증명되었다.

ABSTRACT

The secure hash function SHA-256 is a function on bit strings. This means that its restriction to the bit strings of any given length can be computed by a finite instruction sequence that contains only instructions to set and get the content of Boolean registers, forward jump instructions, and a termination instruction. We describe such instruction sequences for the restrictions to bit strings of the different possible lengths by means of uniform terms from an algebraic theory.

연구 동기 및 목표

  • NIST 표준에서 제시한 SHA-256의 의사코드 기술에 대한 수학적으로 정확하고 공식적인 대안을 제공하기 위해.
  • 고정 길이 비트 스트링에 제한된 SHA-256의 계산을 단지 기본 지시어 시퀀스 원소인 레지스터 연산, 전방 점프, 종료만을 사용하여 모델링하기 위해.
  • 프로그램 대수(PGA) 프레임워크 내에서 복잡한 암호학적 원소(예: SHA-256)를 표현하는 가능성과 확장성을 입증하기 위해.
  • 지시어 시퀀스 이론을 사용하여 암호학적 알고리즘의 계산 복잡도와 알고리즘 등가성 분석을 위한 기초를 마련하기 위해.

제안 방법

  • 프로그램 대수(PGA)를 사용하여 단지 기본 명령어(부울 레지스터 값 설정/읽기, 전방 점프, 종료)만을 사용해 지시어 시퀀스를 정의한다.
  • 32비트 워드를 32개의 부울 레지스터로 구성된 시퀀스로 인코딩하여 대수적 연산을 통해 비트 수준 조작을 가능하게 한다.
  • 모듈로 덧셈, 비트 시프트, 회전, XOR 등의 핵심 연산을 매개변수화된 지시어 시퀀스로 정의한다.
  • 메시지 확장 및 압축 함수 단계의 각 단계에 대해 매개변수화된 지시어 시퀀스의 조합으로 전체 SHA-256 계산을 구성한다.
  • 모든 입력 길이 N에 대해 동일한 균일한 대수적 표현을 사용하여 지시어 시퀀스를 기술함으로써 모듈성과 확장성을 확보한다.
  • 지시어 시퀀스의 구조가 NIST 표준의 알고리즘 기술과 정확히 일치하도록 하여 정확성 검증을 수행한다.

실험 결과

연구 질문

  • RQ1프로그램 대수 내에서 기본 지시어 시퀀스 연산만을 사용해 SHA-256 해시 함수를 공식적이고 정확하게 기술할 수 있는가?
  • RQ2임의의 길이 N의 입력에 대해 SHA-256을 계산하기 위해 필요한 정확한 지시어 시퀀스 크기는 얼마인가?
  • RQ3이 모델에서 지시어 시퀀스 크기와 계산 시간 사이의 관계는 어떻게 되며, 이 관계는 다항식인가?
  • RQ4PGA의 대수적 구조는 복잡한 암호학적 원소(예: SHA-256)를 확장 가능하고 검증 가능한 방식으로 공식적으로 기술하는 데 지원할 수 있는가?
  • RQ5이 공식화는 암호학적 알고리즘에서 알고리즘 복잡도와 등가성 분석을 새롭게 가능하게 하는 정도는 어느 정도인가?

주요 결과

  • N개의 32비트 워드로 제한된 SHA-256의 지시어 시퀀스는 총 길이가 729,464·N + 1,025개의 지시어로 구성되며, 알고리즘 단계의 정확한 구조적 분해로부터 유도되었다.
  • 이 모델은 레지스터 설정, 테스트, 전방 점프, 종료와 같은 기본 연산만을 사용하여, 재귀나 복잡한 제어 구조 없이 단일 패assing, 유한한 지시어 시퀀스로 SHA-256을 계산할 수 있음을 입증한다.
  • 사용된 보조 레지스터 수는 입력 길이와 무관하게 항상 2,945개로 일정하여 효율적인 상태 관리가 가능함을 나타낸다.
  • 필요로 하는 최대 입력 레지스터 수는 2^64로, 메시지 길이의 이론적 상한(최대 2^64 - 1비트)을 반영한다.
  • 출력 레지스터 수는 고정된 256개이며, 이는 256비트 해시 출력에 해당한다.
  • 결과적으로 이 모델에서 지시어 시퀀스 크기와 계산 시간 사이의 관계가 다항식임을 시사하며, 이는 암호학적 알고리즘의 복잡도 측정 기준으로 크기를 사용할 수 있음을 뒷받침한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.