Cryptography

GPG(GnuPG) 사용하기

OpenPGP의 GNU 구현인 GPG(GnuPG)와 그 사용법에 대하여 알아보자.

GPG란?

GPG(GNU Privacy Cuard)는 GNU에서 제공하는 OpenPGP(RFC4880)의 오픈소스 구현이다.

개인간, 장비간 또는 개인 - 장비간에 교환되는 메시지나 파일을 암호화여 기밀성을 보장하거나 디지털 서명을 통해 무결성을 식별할 수 있게 해주는 도구다.

기본적으로 RSA와 같은 공개 키 암호화 방식을 사용하여 종단간 파일이나 메시지를 암호화 하거나 서명 하는 기능을 제공한다.

GnuPG에 대한 자세한 내용은 나무위키/GnuPG 또는 위키피디아/GNU 프라이버시 가드를 참고 한다.

PGP에 대한 내용은 나무위키/PGP 또는 위키피디아/PGP를 참고 한다.

이 문서에서는 GPG의 사용법에 대하여 설명 하도록 한다.

공개 키 암호화 방식에 관한 내용은 공개 키 암호화 방식이란?을 참조한다.

공개키 암호화 방식이란? (Waht is Public-Key cryptography)

공개키 암호화 방식 (Public-Key cryptography)

암호화와 복호화에 같은 키를 사용하는 대칭키 암호화 방식과 달리 암호화와 복호화에 서로 다른 키를 암호화 방식을 의미한다. TLS/SSL에서 사용되는 RSA가 대표적인 공개키 암호화 방식의 대표적인 예이다.

공개키 암호화 방식의 대 전제는 다음과 같다.

공개키로 암호화한 정보는 개인키로만 복호화 할 수 있고 개인키로 암호화 한 정보는 공개키로만 복호화 할 수 있다.

암호화와 복호화에 사용되는 키다 서로 다르기 때문에 비대칭키 암호화 방식이라고도 불린다.

공개키 암화화 방식의 대표적인 용도는 다음과 같다.

  • 암호화된 통신을 원하는 두 단말 사이에 암호화를 대칭키를 전달하는 전달하는 용도로 사용된다. (TLS)
  • 전달하고자 하는 문서(파일 또는 정보)의 작성자를 증명(서명)하는 용도 와 해당 쩡보가 허가 되지 않은 사용자에 의해 변조 되지 않음(무결성)을 증명하는 용도로 사용된다.