Cryptography

블록체인의 신뢰는 보안을 바탕으로 형성된다.

Cryptography

암호학

단어 자체로 학문인데, 한 페이지에 담을 수 있을 리 없다. (전문가가 아니기도 하고...) 하지만 공부하면서 재밌었던(쉬운) 내용들 위주로 문헌을 참고하여 정리하였다.

정의

암호학은 정보를 보호하기 위한 언어학적 및 수학적 방법론을 다루는 학문

응용

현대에 사용되는 암호학의 응용 기술을 다음과 같다.

  • Symmetric Key Cryptography (대칭키 암호 시스템)

  • Asymmetric Key Cryptography / Public Key Cryptography (공개키 암호 시스템)

  • Digital Sign (전자서명)

하나하나 알아보자.

Symmetric Key Cryptography (대칭키 암호 시스템)

암호 시스템은 비밀 문서를 어떻게 당사자들끼리만 알 수 있게 할 것인가에 초점을 맞춘다. 모두가 패킷을 열어볼 수 있는 네트워크를 통해서 비밀 문서를 송수신하지만 당사자들 이외의 네트워크 참여자들은 해당 내용을 확인할 수 없어야 한다.

대칭키 암호 시스템은 가장 직관적인 해법이다. 당사자들끼리 같은 비밀 키를 공유하는 방법이다. 같은 키(대칭키)를 공유하기 때문에 대칭키 암호 시스템이라고 부른다.

자물쇠와 키로 예를 들면 다음과 같다. A와 B는 같이 열쇠방에 가서 자물쇠와 그것을 열수 있는 키를 각각 구매한다. A가 자물쇠를 이용해 문서를 잠그고 B에게 보낸다면 오직 B만이 문서 내용을 확인할 수 있다. 문서가 전달되는 중에 누군가가 자물쇠로 잠긴 문서는 볼 수 있지만 문서 내용은 확인할 수 없다.

암호화와 복호화

대칭키 암호 시스템에서 키는 문서를 암호화하고 복호화하는 데 사용된다. 수신자 A는 키를 이용해 암호화하여 전달하고 송신자 B는 같은 키를 이용해 복호화하여 읽는다.

비밀키 관리의 어려움

대칭키 암호 시스템의 가장 큰 문제점은 모든 참여자 쌍에 대해 서로 비밀 키를 공유하고 저장하고 있어야 한다는 점이다. n명과 비밀 정보를 주고받고 싶다면 n개의 비밀 키를 관리해야한다.

전체 시스템 측면에서 본다면 n명이 참여하는 시스템에서는

nC2=n(n1)/2_nC_2 = n(n-1) /2

개의 키가 필요하다.

대칭키 암호 시스템의 관리 문제점을 해결하기 위해 도입된 방식이 공개키 암호 시스템이다.

Asymmetric(Public) Key Cryptography (공개키 암호 시스템)

Elliptic curve cryptography

Bitcoin에서 private/public key 쌍을 만들 때 사용하는 방법이다.

Last update: 04/08/0201

Last updated