정의
사이퍼(英: cipher)는 암호학에서 평문(plaintext)을 암호문(ciphertext)으로 변환하거나, 그 역변환을 수행하는 알고리즘, 절차, 혹은 그 전체적인 체계를 의미한다. 일반적으로 암호화·복호화에 사용되는 수학적 연산 및 키(key)를 포함한다.
개요
사이퍼는 크게 두 종류로 구분된다.
- 블록 사이퍼(Block cipher) – 고정된 길이의 블록 단위로 데이터를 암호화한다. 대표적인 예로 AES(Advanced Encryption Standard), DES(Data Encryption Standard) 등이 있다.
- 스트림 사이퍼(Stream cipher) – 데이터 흐름을 연속적으로 암호화하며, 보통 비트 혹은 바이트 단위로 처리한다. RC4, ChaCha20 등이 있다.
암호화 과정에서 사용되는 키는 사이퍼의 보안 수준을 결정하는 핵심 요소이며, 동일한 키와 알고리즘을 사용하면 복호화가 가능하다. 현대 정보 보안 시스템에서는 사이퍼를 기반으로 한 프로토콜(예: TLS, IPsec) 등이 널리 활용된다.
어원/유래
‘사이퍼’라는 표기는 영어 “cipher”를 한국어로 음역한 형태이다. “cipher”는 라틴어 cifra·ciphra에서 유래했으며, 이는 아랍어 صفر(sifr, ‘제로’)에서 차용된 것이다. 원래는 “0”을 의미했으나, 점차 “암호·비밀 기록”을 뜻하는 용어로 확장되었다. 정확한 한국어 표기의 최초 사용 시점은 20세기 초반으로 추정되지만, 구체적인 기록은 확인되지 않는다.
특징
- 키 의존성: 동일한 사이퍼라도 사용되는 키에 따라 암호문이 달라진다.
- 대칭·비대칭 구분: 블록·스트림 사이퍼는 보통 대칭키 암호에 속하며, 공개키 암호는 ‘암호 알고리즘’이라는 넓은 범주에 포함되지만 사이퍼 자체라기보다는 키 교환·서명 체계로 분류된다.
- 보안성: 사이퍼의 강도는 수학적 복잡도, 키 길이, 설계 원칙 등에 따라 달라지며, 시간 경과에 따라 기존 사이퍼가 취약점이 발견되면 새로운 사이퍼로 대체된다.
- 성능: 블록 사이퍼는 일반적으로 하드웨어 가속에 적합하고, 스트림 사이퍼는 실시간 통신에 유리한 특성을 가진다.
관련 항목
- 암호화 (Encryption)
- 복호화 (Decryption)
- 대칭키 암호 (Symmetric-key cryptography)
- 공개키 암호 (Public-key cryptography)
- AES, DES, RC4, ChaCha20 등 구체적인 사이퍼 알고리즘
- 키 관리 (Key management)
- TLS(전송 계층 보안)·IPsec 등 암호 프로토콜
- 해시 함수, 디지털 서명 등 암호학의 기타 구성 요소
※ 위 내용은 공개된 학술·산업 자료를 기반으로 작성되었으며, 최신 암호학 연구에 따라 일부 내용이 변동될 수 있다.