---
title: "age v1.3.0 릴리스 — 포스트 퀀텀 암호화 기본 탑재"
published: 2025-12-27T22:53:50.000Z
canonical: https://jeff.news/article/1251
---
# age v1.3.0 릴리스 — 포스트 퀀텀 암호화 기본 탑재

파일 암호화 도구 age가 6년 만에 v1.3.0 출시. 하이브리드 ML-KEM-768 기반 포스트 퀀텀 수신자, 새 I/O API(DecryptReaderAt, EncryptReader), 하드웨어 플러그인 호환 수신자, Go 플러그인 프레임워크 등 대규모 업데이트.

- 파일 암호화 도구 age가 첫 베타 출시 정확히 6년 만에 v1.3.0을 릴리스하면서 **포스트 퀀텀(Post-Quantum) 저항성**을 기본 탑재함. HPKE 기반 하이브리드 ML-KEM-768 KEM을 사용하는 네이티브 PQ 수신자(recipient) 타입이 추가됨

- 새 키페어 형식: 수신자는 `age1pq1...`, 비밀키는 `AGE-SECRET-KEY-PQ-1...`로 시작함. 기존 age 클라이언트 사용자는 별도 플러그인으로도 하이브리드 수신자 암호화를 지원받을 수 있음

## 새 I/O API와 도구들

- **DecryptReaderAt**: 탐색 기반 복호화(seeking decryption) 지원. `zip.NewReader`와 함께 사용 가능
- **EncryptReader**: 기존 `Encrypt`가 `io.Writer`를 래핑했다면, 이건 `io.Reader`를 래핑하는 풀 기반(pull-based) 암호화
- **age-inspect**: 파일을 복호화하지 않고 메타데이터만 보여주는 새 CLI 도구

## 하드웨어 플러그인 호환 수신자

- `age1tag1...`, `age1tagpq1...` 수신자 타입으로 하드웨어 플러그인(YubiKey, TPM, Secure Enclave)과 호환되는 암호화를 기본 지원함. 기존·신규 키 모두에서 사용 가능

## 그 외 개선사항

- **비대화형 패스프레이즈 입력**: batchpass 플러그인으로 제공. 대부분의 유즈케이스에서는 네이티브 키가 더 안전하지만, 잔여 유즈케이스를 위해 추가
- **Go 플러그인 프레임워크**: `filippo.io/age/plugin` 패키지로 age.Recipient/Identity 구현을 CLI 플러그인으로 노출하는 프레임워크 제공. tagpq 호환 플러그인 전체 구현이 몇 줄이면 끝남
- **Detached Headers API**: 파일 키 언래핑과 실제 복호화를 분리할 수 있어서, 파일 내용을 노출하지 않고 언래핑만 위임하는 시나리오에 유용
- CLI가 터미널에 복호화된 바이너리 데이터를 직접 출력하는 걸 거부하도록 변경 (gpg.fail 발표 이전에 이미 구현했다고 자랑함)
- Windows 터미널에서 ANSI 이스케이프 시퀀스 지원 개선
- 소스 타르볼에 벤더링된 의존성 포함

> [!TIP]
> 포스트 퀀텀 암호화가 필요한 환경이라면 age 1.3.0이 현시점에서 가장 접근성 좋은 선택지 중 하나임. C2SP에 스펙이 공개되어 있고, CCTV에서 테스트 벡터도 제공함

## 핵심 포인트

- 네이티브 포스트 퀀텀 수신자(age1pq1...) 추가
- DecryptReaderAt(탐색 복호화), EncryptReader(풀 기반 암호화) 신규 API
- YubiKey/TPM/SE 호환 하드웨어 수신자 기본 지원

## 인사이트

포스트 퀀텀 시대를 실용적으로 준비하는 도구가 점점 나오고 있음. age의 접근법은 기존 생태계와의 호환성을 유지하면서 PQ를 추가하는 하이브리드 방식.
