암호 (Cipher)

중급암호학수정일

암호(cipher, 사이퍼)는 키를 사용해 읽을 수 있는 평문을 알아볼 수 없는 암호문으로 바꾸고(암호화), 올바른 키로 다시 평문으로 되돌리는(복호화) 알고리즘입니다. 정보를 단어나 구 단위로 바꾸는 '코드(code)'와 달리, 사이퍼는 문자·비트·블록 단위로 변환합니다.

자세히 알아보기

고전 암호는 문자를 바꾸거나(치환) 순서를 섞는(전치) 방식이었습니다. 알파벳을 일정한 칸만큼 밀어 쓰는 시저 암호, 키워드로 이동량을 바꾸는 비즈네르 암호가 대표적이며, 오늘날에는 빈도 분석 등으로 쉽게 깨지므로 교육용으로만 쓰입니다.

현대 암호는 크게 두 가지입니다. 같은 키로 암호화와 복호화를 하는 대칭키 암호에는 데이터를 고정 크기 블록으로 처리하는 블록 암호(AES)와 키스트림을 만들어 XOR하는 스트림 암호(ChaCha20)가 있습니다. 공개 키로 암호화하고 개인 키로 복호화하는 비대칭(공개 키) 암호에는 RSA, 타원곡선 기반 방식 등이 있습니다.

현재 권장되는 선택은 AES-GCM이나 ChaCha20-Poly1305처럼 기밀성과 무결성을 함께 제공하는 인증 암호(AEAD)입니다. DES, RC4, 그리고 블록 암호의 ECB 모드는 안전하지 않은 것으로 간주됩니다. 좋은 암호는 알고리즘이 공개되어도 키만 비밀이면 안전해야 한다는 케르크호프스 원리를 따릅니다.

암호의 안전성은 키 길이와 알고리즘 설계, 그리고 올바른 사용법에 함께 달려 있습니다. 같은 키와 논스를 다시 쓰거나, 검증되지 않은 자체 제작 알고리즘을 쓰면 강한 암호도 쉽게 무너집니다. 그래서 실무에서는 표준화되고 공개 검증을 거친 알고리즘과 라이브러리를 사용하는 것이 원칙입니다.

블록체인·암호화폐에서는

  • 비트코인·이더리움·트론의 트랜잭션 자체는 암호화되지 않고 공개됩니다. 블록체인의 보안은 주로 해시 함수와 전자서명(ECDSA, Schnorr, Ed25519)에 기반합니다.
  • 사이퍼가 실제로 쓰이는 곳은 지갑 파일·키스토어 암호화(예: 이더리움 키스토어는 비밀번호에서 유도한 키로 AES를 사용), 거래소와의 TLS 통신, 암호화된 백업 등입니다.
  • 트레이딩에서 말하는 'Market Cipher'는 트레이딩뷰 지표의 상품명일 뿐 이 용어와는 관련이 없습니다.

쉽게 말하면

자물쇠와 같은 장치입니다. 자물쇠 구조(알고리즘)는 누구나 알 수 있지만, 열쇠(키)가 없으면 상자 안의 내용을 볼 수 없습니다.

예시

시저 암호에서 이동량이 3이면 HELLO는 KHOOR가 됩니다. 가능한 키가 25개뿐이라 모두 시도하면 바로 풀리기 때문에, 현대 암호는 AES-256처럼 2²⁵⁶개의 키 공간을 사용합니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.