# 설계 강도 (Design Strength)

설계 강도(Design Strength)는 암호 알고리즘이 설계상 제공하는 키스페이스(가능한 키의 전체 개수), 즉 무차별 대입 공격으로 모든 키를 시도하는 데 필요한 노력을 뜻합니다. 키 길이가 k비트인 암호라면 가능한 키는 2^k개이고, 공격자는 평균적으로 그 절반인 2^k−1개를 시도해야 올바른 키를 찾습니다. 그래서 설계 강도는 흔히 “k비트 보안”처럼 비트 수로 표현합니다.

## 키스페이스: 가능한 키의 전체 집합

**키스페이스**는 가능한 모든 키 조합의 집합입니다. 자물쇠에 맞춰 볼 수 있는 열쇠의 가짓수라고 생각하면 됩니다. 키가 1비트 늘어날 때마다 키스페이스는 두 배가 되므로, 무차별 대입에 필요한 작업량도 두 배가 됩니다.

- **약한 설계:** 가능한 조합이 10개뿐인 단순한 자물쇠. 도둑은 짧은 시간에 모든 조합을 쉽게 시도할 수 있습니다.
- **강력한 설계:** 경우의 수가 천문학적으로 많은 고강도 금고. 강력한 도구로도 모든 조합을 시도하는 데 현실적으로 불가능할 만큼 오랜 시간이 걸립니다.

## 무차별 대입 공격에 필요한 노력

**무차별 대입** 공격은 올바른 키를 찾을 때까지 가능한 모든 키를 체계적으로 시도합니다. 필요한 노력은 키스페이스의 크기와 키 하나를 시험하는 데 드는 계산 비용으로 정해집니다.

- **4자리 PIN:** 가능한 조합이 10,000개(0000-9999). 무차별 대입에 대해 비교적 약합니다.
- **DES(56비트 키):** 키스페이스는 2^56개로, 1998년 전용 하드웨어가 며칠 만에 키를 찾아내 설계 강도가 부족하다는 것이 확인되었습니다.
- **AES-128(128비트 키):** 키스페이스가 2^128개여서, 현재 알려진 어떤 계산 자원으로도 전수 조사가 현실적으로 불가능합니다.

## 설계 강도와 실제 강도

설계 강도는 공격자가 키를 하나하나 시도하는 것 외에 더 나은 방법이 없다고 가정한 상한입니다. 실제 강도는 이보다 낮을 수 있습니다. 알고리즘의 구조적 약점을 이용한 암호 분석이 발견되면 필요한 작업량이 줄어들고, 사용자가 비밀번호처럼 예측 가능한 값을 키로 쓰면 실제로 탐색해야 하는 범위는 키스페이스보다 훨씬 작아집니다. 예를 들어 비트코인의 개인 키는 256비트이지만, 타원 곡선 이산 로그 문제를 푸는 알려진 최선의 공격 때문에 보안 수준은 약 128비트로 평가됩니다.

## 비밀번호에 적용하면

비밀번호도 같은 원리를 따릅니다. 길이가 길고 사용하는 문자 종류가 많을수록 가능한 조합 수가 기하급수적으로 늘어납니다. 대문자, 소문자, 숫자 및 기호(약 94종)를 쓰는 8자 비밀번호의 조합은 약 6×10^15개로, 4자리 PIN보다 훨씬 강력합니다. 다만 사람이 고른 비밀번호는 흔한 패턴에 몰리기 때문에 실제 강도는 이 계산보다 낮습니다.

높은 설계 강도는 무차별 대입 공격으로부터 귀중한 데이터를 보호하는 데 중요합니다. 키스페이스가 클수록 보안이 강화됩니다.

---
출처: https://achivx.kr/glossary/design-strength-%EC%84%A4%EA%B3%84-%EA%B0%95%EB%8F%84/ · ACHIVX 용어 사전 · 수정일 2026-10-20
