[블록체인 이론 ⛓️] 암호학

매정·2022년 5월 13일
0

암호학이란?

안전한 의사소통을 위한 암호화/복호화 과학

암호학의 역사

  • 원시 암호화 기술은 고대에서부터 존재했으며, 주로 군사 정보를 보호하기 위해 사용됨. (스파르타 - 스키테일 암호화 방식, 카이사르 - 문자 치환 방식)
  • 중세 시대에는 암호를 해독하는 과학인 암호해독학이 발전. (알 킨디 - 빈도 해석, 레오네 알베르티 - 다중문자 암호)
  • 근대의 암호화 (토마스 제퍼슨 - 제퍼슨 디스크) → 2차 세계대전에서 사용됨. 에니그마 장치 발명 → 연합국 승리의 결정적 원인 중 하나.
  • 컴퓨터 시대의 암호화: 1990년대 양자암호학 등장. 암호 화폐 구현 시 사용됨.

다양한 암호화 기술

SHA

  • Secure Hash Algorithm, 해시함수를 이용해 만든 해시 암호화 알고리즘의 모음.
  • SHA의 목적은 데이터의 위변조가 불가능함을 보장하는 무결성.
  • 비트코인, 이더리움에서 블록헤더, 디지털 서명, 공개 키 등에 SHA를 사용함.
  • 미 국가보안국(NSA)에서 1993년 처음으로 설계, 미국 국립표준기술연구소(NIST)에서 발전시켜 오늘날 미국의 국가표준으로 자리 잡음.
  • SHA의 종류로는 SHA-0, SHA-1, SHA-2, SHA-3 등이 있음.
  • SHA-0과 SHA-1에는 충돌이 감지 더 이상 사용 X, 오늘날 SHA-2가 가장 많이 사용됨. SHA-2에는 SHA-224, SHA-256, SHA-384, SHA-512 등이 있음.

타원곡선 디지털서명 알고리즘 (ECDSA)

공개키 방식 중 하나인 ECC(타원곡선암호)에 디지털 서명 방식을 접목한 알고리즘. ECC는 타원곡선으로 수학적으로 연결된 비밀키와 공개키 한 쌍을 생성함.


HMAC

Hash-based Message Authentication Code, 대칭 키 암호 방식을 사용하여 디지털 서명을 구현함. HMAC는 송신자와 수신자가 단일 키를 공유하고, 해당 단일 키와 원본 데이터를 해싱한 값과 원본 데이터를 함께 트랜잭션으로 보내 데이터의 무결성을 증명함.

HMAC 트랜잭션 = Hash(원본 데이터, 단일 키) + Message

공개 키 암호 방식에서는 개인 키로 원본데이터의 해시값을 서명하고, 공개 키로 이를 복호화하여 원본 데이터와 비교했지만, HMAC에서는 단일 키와 원본데이터로 만든 해시값이 서명의 역할을 함.

PKI (공개 키 인프라)

Public Key Infrastructure, 디지털 인증서와 공개 키를 생성, 관리, 배포, 사용, 저장 및 해지하는 데 필요한 일련의 하드웨어, 소프트웨어, 정책, 프로세스와 절차의 집합.

대규모 사용자 집단에서 디지털 서명 및 암호화와 같은 기술을 사용할 수 있는 기반

PKI의 목적은 데이터를 안전하게 전송하는 것이며, 이를 위해 시스템 및 리소스 접근 권한, 데이터 보호, 트랜잭션 무결성 및 진위성, 기밀성을 보장함.

슈노르 서명

키 집합(Key Aggregation)을 사용. 서명을 하는 당사자의 공개 키들을 결합하여 단일한 하나의 공개 키를 구성함.

당사자들의 정보를 하나로 통합하기 때문에 개인 정보 보호에 유리하며, 블록에 들어가는 멀티시그 공개 키들과 서명들의 크기를 일반적인 블록 크기 정도로 줄이기 때문에 블록 공간을 매우 절약하고, 검증의 속도를 빠르게 할 수 있음

profile
Prospective Entrepreneur

0개의 댓글