소개
디지털 세계에서 데이터가 변조되지 않았는지 (무결성) 그리고 신뢰할 수 있는 출처에서 왔는지 (인증) 를 보장하는 것은 매우 중요합니다. 암호학은 이러한 목표를 달성하기 위한 도구를 제공합니다.
이 실습에서는 Linux 시스템에서 기본적인 암호화 관행을 소개합니다. 다음 내용을 배우게 됩니다:
- 해싱 (Hashing): 파일의 고유하고 고정된 크기의 "지문"을 생성합니다. 파일이 단 한 비트라도 변경되면 해시 값은 완전히 달라집니다. MD5 및 SHA256 알고리즘을 사용할 것입니다.
- 디지털 서명 (Digital Signatures): 개인 키를 사용하여 파일에 "서명"하면, 해당 공개 키를 가진 누구나 파일이 인증되었고 수정되지 않았음을 확인할 수 있습니다.
- 암호화 (Encryption): 파일의 내용을 스크램블링하여 올바른 복호화 키를 가진 사람만이 읽을 수 있도록 하여 기밀성을 보장합니다.
md5sum, sha256sum 및 GnuPG (gpg) 를 포함한 표준 Linux 명령줄 도구를 사용할 것입니다. GnuPG 는 Pretty Good Privacy (PGP) 표준의 GNU 구현입니다. 이 실습이 끝나면 자신 있게 파일을 해싱, 서명, 검증, 암호화 및 복호화할 수 있게 될 것입니다.



