1. 블록체인에서 암호를 사용하는 이유
- 기밀성 : 타인이 볼 수 없도록 하기 위해
- 무결성 : 메시지가 수정되지 않았는지 검증필요
- 인증 / 부인 방지 : 본인이라는것을 확인
2. 종류
2.1. 대칭 키 암호방식
- 정의 : 암호할때 키와 복호화 할때의 키가 같은 것
- 방식
- 하나의 키로 데이터를 암호화 하여 키와 함께 전송
- 받는 사람도 동봉된 키로 복호화 하여 확인
- 중간에 키를 탈취 당한다면 노출된다는 보안 위협이 있음
2.2. 비대칭 키 암호방식
- 정의 : 대칭키와 다르게 공개키와 개인키 2가지를 사용하는 암호화 방식
- 방식 1 - 공개 키 암호 방식
- 공개 키는 데이터 암호화, 개인 키는 수신자가 데이터 복호화 하는데 사용
- 공개 키는 외부에 공개, 개인 키는 기밀로 유지
- 방식 2 - 개인 키 암호 방식
- 개인 키로 암호화를 하고 공개 키로 복호화를 한다.
- 개인 키의 소유자가 개인 키로 데이터를 암호화 한뒤에 공개 키와 함께 전달
- 신원 확인을 위해 주로 사용 (디지털 서명)
- RSA 암호방식 (소인수분해)
- 타원 곡선 알고리즘
2.3. 해시 함수
- 해싱 : 다양한 크기의 입력앖을 고정된 크기의 출력값으로 생성해 내는 과정
한번 해싱 했다면, 해싱 값을 통해 입력값 유추가 불가하여 단방향 암호라고 함
- 해시 함수는 해시 충돌이라는 위험요소가 있지만 발생할 확률이 낮음