겉바속촉
[Blockchain] 암호 알고리즘 본문
안전한 암호 알고리즘은 다음과 같습니다:)
알고리즘 안전성 보장기간에 따라서 모두 다른데요
분류를 해보면 다음과 같이 나옵니다
알고리즘 안전성 보장기간 |
대칭키 알고리즘 | 비대칭키 알고리즘 | 일방향 해쉬함수 | |||||
보안강도 (비트) |
대칭키 알고리즘 |
인수분해기반 | 이산대수기반 | ECC | 해쉬함수 (기능 A) |
해쉬함수 (기능B) |
||
공개키 | 개인키 |
그럼 이제
인증기관의 필요성
해시 암호화의 필요성
알아보도록 하쥬
다음 그림을 살펴보신 후에
설명을 봐주세요:)
우선 A랑 B가 있습니다
A가 B에게 "이거 비밀이야"라고 쓴 원문을 암호화해서 보낼겁니다
그런데 B는 A가 맞는 지, 원본이 맞는 지 의심이 가요
그래서 A는 해쉬생성을 통해 md(디지털 서명)를 A 개인키로 암호화해서 보냅니다
그러면 B는 받아서 A의 공개키로 복호화해서 가지고 있는 것이쥬
이제 암호화된 원문을 비밀키로 복호화해서 봐야하는 데요
B가 또 의심이 갑니다
A가 나한테만 보낸 게 맞나?....
그래서 원문을 암호화하는 데 쓰인 비밀키를 B의 공개키로 암호화해서 보냅니다
그러면 B는 자신의 개인키로 복호화해서 나오는 비밀키로
암호화된 원문을 복호화 하는 것이쥬
그래서 해쉬생성을 통해 복호화 시킨 md와 동일한지 비교합니다
이 과정에서 A와 B의 공개키를 인증기관에 공개하는 것입니다
그래야 A와 B가 서로 믿음을 가지고 신뢰하며 거래를 합니다
그럼 이제 블록체인 암호화를 살펴봐야겠네요:)
우선 아까의 인증기관이 필요치가 않습니다
A와 B가 있는데요
아까처럼 A가 "이거 비밀이야"라고 한 원문 B에게 보내려고해요
그런데 그냥 해쉬를 생성한 후에 그 해쉬값만 A개인키로 암호화합니다
그래서 보내면
B가 A공개키로 암호화된 해쉬값을 복호화시킵니다
그리고 암호화되지 않은 원문을 통해 해쉬를 생성해서 복호화시킨 해쉬값과
비교를 해보는 것이에요
즉
A의 문서가 암호화 되지 않고 해쉬 값만 암호화 시킵니다
그래서 모두가 그 문서를 볼 수 있게 공개하는 거에요
아까 인증기관이 있을 때에는
문서까지 암호화시켰었쥬??
여기서 바로 차이점이 생기는 거에요!!
'IT일기(하반기) > BLOCKCHAIN' 카테고리의 다른 글
[Blockchain] 블록체인과 해시 (0) | 2020.07.26 |
---|---|
[Blockchain] 비트코인 소스코드 (2) | 2020.07.21 |
[Blockchain] 비트코인 사이트, 비트코인 코어 클라이언트 소프트웨어 (4) | 2020.07.21 |
[Blockchain] 블록체인 작동방식과 leader 선출 (0) | 2020.07.20 |
[BlockChain] 보안 메카니즘 (0) | 2020.07.20 |