← SECURITY 목록으로
2026-08-31

간단 암호화 / 복호화

가족들에게 보낼 문서를 간단하게 암호화하고, 또 쉽게 복호화할 수 있는 페이지를 하나 만들었다.

간단 암호화 페이지 화면

당연한 얘기지만, 유비키로 암호화하는 것보다 보안 수준은 확실히 낮다. 게다가 웹 브라우저에서 돌아가는 방식이라, 비트코인 시드 문구 같은 1급 기밀 문서를 여기서 암호화하는 건 절대 어울리지 않는다.

절대 하지 마라.
간단 복호화 페이지 화면

이건 그런 용도가 아니다. 내게 무슨 일이 생겼을 때 가족에게 문자나 이메일로 글을 남기거나, 업무상 문서를 주고받을 때 — 종단간 암호화 위에 간단하게 암호 하나를 더 씌우고 싶은 경우에 한정해서 쓰면 딱 좋다.

말하자면 편의성과 보안성이라는 반비례 저울에서, 이번엔 확실히 편의성 쪽으로 기울어진 도구다.

이번에도 역시 내가 쓰려고 만들었다. 내 홈페이지 최대 수요자는 나다.

편의성에 치중했기에 절차는 매우 간편하다. 윈도우, 맥, iOS 어디서든 클릭 몇 번이면 만들 수 있고, 비밀번호에 해당하는 개인키 혹은 암호문구만 따로 적어두면 된다.

누군가에게 보낸다면, 비밀번호도 같이 주는 걸 잊지 마시라.

개인키 방식이 안전한 이유

age의 기본 키 방식(age1... / AGE-SECRET-KEY-1...)은 X25519라는 타원곡선 암호를 쓴다. 유효 강도가 약 128비트인데, 이걸 뚫으려면 2128 ≈ 3.4×1038번을 시도해야 한다.

체감이 잘 안 되는 숫자라 비교해보면, 역사상 한 문제에 투입된 최대 연산력인 전 세계 비트코인 채굴망 전체를 다 끌어와도 약 100억 년 — 우주 나이와 맞먹는 시간이 걸린다. 그나마도 타원곡선 연산은 해시 연산보다 훨씬 무거워서, 실제로는 이보다 1,000~10,000배 더 걸린다.

"오래 걸린다"가 아니라 "안 된다"는 뜻이다.

그러니 개인키 방식의 진짜 위험은 브루트포스가 아니라 키 유출이다. 폰, 비밀번호 관리자, 종이, 스크린샷, 클립보드, 악성코드 — 어디서든 AGE-SECRET-KEY-1... 한 줄이 새어나가면 그걸로 끝이다. 키는 저장된 모든 장소 중 가장 약한 곳만큼만 안전하다.

양자컴퓨터 얘기도 나오는데, 충분히 큰 양자컴퓨터가 나오면 X25519도 이론상 깨질 순 있다. 다만 아직 그런 컴퓨터는 없고 언제 나올지도 불명확하다. 수십 년짜리 비밀이라 "지금 수집해서 나중에 복호화"당하는 게 걱정된다면, age에는 포스트양자 하이브리드 수신자(age1pq1...) 옵션도 있다.

암호문구 방식은 얘기가 다르다

암호문구(passphrase) 방식은 scrypt라는 메모리-하드 함수를 거쳐서 한 번 시도하는 데도 시간과 비용이 든다. 하지만 .age 파일 자체가 오프라인이라, 공격자는 얼마든지 무제한으로 시도할 수 있다. 결국 암호문구 자체의 엔트로피가 전부다.

age 공식 문서(typage)도 무작위 영숫자 10자 이상, 또는 2000단어 이상짜리 목록에서 무작위 단어 4~5개를 권장한다.

결론

개인키 방식은 브루트포스 걱정을 할 필요가 없다. 키 유출만 막으면 된다. 암호문구 방식은 무작위 단어 5개 이상이면 안전하지만, 외우기 쉬운 문장이나 기존에 쓰던 비밀번호는 절대 안 된다.

그래서 아내에게 줄 파일은 개인키 방식을 기본으로 쓴다. 강도 걱정을 할 필요가 없으니까. 암호문구는 그때그때 간단히 필요할 때만 쓰되, 대신 단어 5~6개로 만든다.

조회 0
댓글 0