대칭키, 비대칭키, 공개키, 개인키, 전자서명
카테고리: Bitcoin
태그: BitCoin BlockChain
🚀 대칭키, 비대칭키
- 대칭키
- 암호화와 복호화에 사용되는 키가 동일하다. 하나의 키로 암호화와 복호화 둘 다에 사용된다.
- 따라서 암호화 할 때 사용한 키를 복호화하려는 사람도 그 동일한 키를 알고 있어야 하기 때문에 키를 교환해야한다는 수고로움이 있다.
- 해킹에도 취약하다. 키만 알면 복호화도 바로 할 수 있기 때문이다.
- 암호화와 복호화에 사용되는 키가 동일하다. 하나의 키로 암호화와 복호화 둘 다에 사용된다.
- 비대칭키
- 암호화와 복호화에 사용되는 키가 서로 다르다. 👉 키가 2개 (한 쌍) 필요함.
- 공개키 : 모든 사람이 접근 가능한 키
- 개인키 : 각자 개인이 가지고 있는 키
- 어떻게 암호화, 복호화에 사용되는지는 밑에 “공공키 암호화”, “전자 서명” 참고
- 누구든지 암호화 할 수 있지만 비밀키를 아는 사람만 복호화할 수 있어야 한다.
- 비밀키로부터 공개키를 도출하는 것은 쉽다.
- 그러나 공개키로부터 비밀키를 도출하는 것은 매우 어렵다.
- 암호화와 복호화에 사용되는 키가 서로 다르다. 👉 키가 2개 (한 쌍) 필요함.
🚀 공개키, 개인키
블록체인의 보안 체계로 비대칭키를 사용한다. 공개키와 개인키 이렇게 2 개의 한 쌍(pair)을 사용. 두 키가 짝을 이룬다.
- 공개키 ex) 계좌 번호, 집 주소
- 나의 공개키는 여러 사람들 모두에게 공개된다. 마치 계좌번호처럼!
- 누군가 내 계좌에 송금하고 싶어할 때 내 계좌번호를 알려주듯 내 공개키를 알려주면 된다.
- 나의 공개키는 여러 사람들 모두에게 공개된다. 마치 계좌번호처럼!
- 개인키 ex) 계좌 비밀번호, 집 열쇠
- 나의 개인키는 키의 주인인 개인만 가질 수 있다. 여러 사람들에게 공개되면 안된다. 마치 계좌 비밀번호처럼!
- 내가 내 계좌 안에 든 돈에 접근하고자 할 때 계좌 비밀번호로 계좌에 접근하듯 개인키를 사용하면 된다.
- 나의 개인키는 키의 주인인 개인만 가질 수 있다. 여러 사람들에게 공개되면 안된다. 마치 계좌 비밀번호처럼!
하나의 비트코인 은행 계좌는 두 개의 주소를 가지는 셈이다. 공개 주소(공개키)와 개인 주소(개인키).
🚀 전자 서명(Digital Signature)
은행(중앙시스템)이 없는 암호화폐 세계에선 “전자 서명”을 통해 서로의 신원을 확인하고 입증하여 거래를 할 수 있다.
- 1️⃣ 공개키 암호화 👉 “오직 너만 읽을 수 있는 데이터야”
- 공개키로 암호를 만들 수 있고 그 공개키에 대응하는 개인키로 그것을 복호화 할 수 있다.
- 공개키로 암호를 만들어 이를 보내면 받는이가 본인의 개인키로 그것을 복호화.
- 영희가 철수의 공개키를 가지고 있다면 영희는 철수의 공개키로 오직 철수만 읽을 수 있는 암호를 생성할 수 있다. 철수는 본인의 개인키로 그 암호를 디코딩하여 읽을 수 있다.
- 즉, 공공키로 암호화 / 개인키로 복호화
- 영희가 철수의 공개키를 가지고 있다면 영희는 철수의 공개키로 오직 철수만 읽을 수 있는 암호를 생성할 수 있다. 철수는 본인의 개인키로 그 암호를 디코딩하여 읽을 수 있다.
- 2️⃣ 전자 서명 👉 “이 암호를 보낸 사람이 나라는 것을 보여주는 증명 (true or false).”
- 개인키로 암호를 만들 수 있고 그 개인키에 대응하는 공개키로 그것을 복호화 할 수 있다.
- 개인키로 암호를 만들어 이를 보내면 받는 이가 본인의 공개키로 그것을 복호화.
- 영희가 철수에게 영희의 개인키로 만든 암호인 전자 서명을 철수에게 보내면, 철수는 철수가 알고 있는 영희의 공개키로 영희의 전자 서명을 디코딩하여 이 서명이 영희의 서명이 맞는지를 확인할 수 있다.
- 즉, 개인키로 암호화 / 공개키로 복호화
- 영희가 철수에게 영희의 개인키로 만든 암호인 전자 서명을 철수에게 보내면, 철수는 철수가 알고 있는 영희의 공개키로 영희의 전자 서명을 디코딩하여 이 서명이 영희의 서명이 맞는지를 확인할 수 있다.
영희가 철수와 거래를 하고자할 때 영희는 철수에게 1️⃣,2️⃣ 두 가지 암호를 보내게 된다.
이게 다 각자의 공공키와 개인키는 한 쌍이기 때문에 가능한 것이다.
🚀 참고
- <Klaytn 클레이튼 스마트계약과 탈중앙앱> 강의
- <세상 친절한 비트코인 수업> 책
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기