원본의 내용을 일련의 과정을 통해 가리는 행위, 하나의 방법 또는 함수
평문 -> 암호문
가려진 결과물을 다시 원본으로 되돌리는 것
암호문 -> 평문
암호문에서 평문으로 복호화 불가
▶️ 해시함수 _ 특정 문자를 Hash 함수의 입력값으로 넣고 결과물을 받으면 그 암호문으로 평문을 역추적할 수 없다.
암호문을 복호화 할 수 있는 방법
암호화, 복호화에 같은 키를 사용
암호화, 복호화에 다른 키를 사용
해시함수
✔️단방향성 함수
✔️용량의 효율성, 높은 보안 -> 블록체인 다양한 분야에서 사용됨
✔️결과값으로 입력값 역추적 불가, 결과값 간 규칙성 찾기 어려움
SHA-256
- Secure Hash Algorithm
- 암호화 함수 표준
충돌가능성
암호화 함수에 서로 다른 2개의 입력값을 넣었을 때, 동일한 출력값이 나오는 경우
전체 용량 : 256비트 / 각 글자는 4비트이므로 총 64자리이다.
출력값의 총 가짓수는 16^64 로 제한적이다.
입력값의 총 가짓수는 제한할 수 없으므로, 같은 결과물이 나올 확률이 없는 것은 아니다.
Key
코인에 대한 소유권을 입증시켜주는 수단
private, public key 가 쌍을 이룸
개인키로부터 공개키 생성
private key
공개되어서는 안되고, 오직 나만 알고 있어야 함
잃어버려서는 절대 안되는 것
✔️통장의 PIN 번호, 비밀번호
public key
공개되어도 상관 없는 정보
오히려 공개가 되어야 다른 사람이 나에게 전송 가능
공개키로부터 형성된 비트코인 주소
✔️계좌번호, 통장번호
단방향성
한 방향으로만 계산 가능
역추적이 불가 > 비트코인 주소를 공개해도 문제가 되지 않음
키와 주소 생성에 있어서 가장 중요한 암호학적 특징