블록체인과 관련된 다양한 암호화 기술

해시 함수



해시 함수는 입력 된 값에 대해 완전히 다른 값이 출력되는 함수입니다.
출력된 값을 특히 "해시 값"이라고 한다.

해시 함수의 특징은 다음과 같습니다.
  • 같은 값을 입력했을 경우는 반드시 같은 값이 돌려주어진다
  • 해시 값에서 입력 값을 식별하는 것은 계산적으로 어려우므로 돌이킬 수 없습니다
  • 입력 값이 영숫자 조금이라도 다른 경우 완전히 다른 값이 출력된다
  • 출력되는 값은 입력 값의 여백과 관련된 고정 길이를 반환합니다.
  • 입력 값이 다른 경우 동일한 출력 값이 반환되지 않습니다.

    해시 함수에는 SHA-256이나 RIPEMD-160 등으로 한 함수가 존재한다.

    SHA-256



    NIST(미국 표준기술국)에 의해 FIPS180-4로 표준화된 「SHA-2」규격의 일부로서 정의된 것.
    - SHA-224: 해시 값 길이가 224비트
    - SHA-384: 해시 값 길이가 384비트
    - SHA-512: 해시 값 길이가 512비트
    - SHA-256: 해시 값 길이가 256비트

    Linux 환경에서 sha256sum 명령을 사용하면 입력된 값이 SHA-256에서 해시됩니다.



    입력하는 값을 대소 변경하면 완전히 다른 값이 반환됩니다.



    입력하는 문자가 한 문자라도 값이 반환됩니다.



    RIPEMD-160



    RIPEMD-160이란 「RACE Integrity Primitives Evaluation Message Digest」의 약칭.
    해시 함수 중 하나.
    RIPEMD-160은 오리지날의 RIPEMD에서는 128비트 길이인 해시값을 160비트로 한 다음 개량한 것을 SHA-256보다 짧은 해시값으로 출력된다.

    Linux에 표준으로 설치되어 있는 openssl 명령으로 확인할 수 있다.



    HASH160



    HASH160은 해시 함수가 아니지만, SHA-256에서 출력된 해시 값을 RIPEMD-160으로 해시한다.

    오늘은 여기까지
  • 좋은 웹페이지 즐겨찾기