# 불 매핑 (Boolean Mapping)

불 매핑은 n개의 불(Boolean) 변수를 m개의 불 결과로 대응시키는 함수, 즉 n비트 입력을 받아 m비트 출력을 내는 함수 F: {0,1}^n → {0,1}^m입니다. 대표적인 예가 블록 암호의 S-box입니다. 출력이 1비트(m = 1)이면 불 함수라고 부르며, 불 매핑은 m개의 불 함수를 묶은 것으로 볼 수 있습니다.

## 표현 방법

- **진리표:** 가능한 2^n개 입력 각각에 대한 출력을 나열합니다. S-box는 보통 이런 조회표로 구현됩니다.
- **대수 정규형(ANF):** 각 출력 비트를 입력 비트들의 AND와 XOR로 이루어진 다항식으로 씁니다. 이 다항식의 최고 차수를 대수적 차수라고 합니다.

## 예시: S-box

DES의 S-box는 6비트를 받아 4비트를 내는 6→4 불 매핑이고, AES의 S-box는 8비트를 받아 8비트를 내는 8→8 불 매핑입니다. S-box는 블록 암호에서 유일하게 비선형인 부분인 경우가 많아, 그 성질이 암호 전체의 안전성을 크게 좌우합니다.

## 암호에 쓰이는 불 매핑의 성질

- **비선형성:** 함수가 모든 선형(아핀) 함수와 얼마나 멀리 떨어져 있는지를 나타냅니다. 비선형성이 높을수록 선형 분석 공격이 어려워집니다.
- **차분 균일성:** 입력 차이 Δx가 주어졌을 때 특정 출력 차이 Δy가 나오는 입력의 최대 개수입니다. 값이 작을수록 차분 분석에 강하며, AES S-box의 차분 균일성은 4입니다.
- **대수적 차수:** 차수가 낮으면 대수적 공격에 취약해질 수 있습니다.
- **눈사태 성질:** 입력 1비트를 바꾸면 출력 비트 각각이 약 1/2 확률로 바뀌는 성질(엄격한 눈사태 기준, SAC)입니다. 일반 응용에서는 이런 민감도가 불안정성으로 보일 수 있지만, 암호에서는 바로 설계 목표입니다.
- **전단사:** 복호화가 가능해야 하는 S-box(n = m)는 일대일 대응이어야 합니다. DES의 6→4 S-box는 Feistel 구조 덕분에 전단사가 아니어도 됩니다.

## 다른 분야에서의 쓰임

불 매핑은 디지털 회로 설계에서도 기본 개념입니다. 조합 논리 회로는 입력 신호를 출력 신호로 바꾸는 불 매핑을 구현한 것이며, 입력 수가 늘면 진리표 크기가 2^n으로 커져 설계와 검증이 어려워집니다.

정리하면 불 매핑은 비트열을 비트열로 바꾸는 함수이며, 암호학에서는 S-box의 비선형성·차분 균일성 같은 성질을 통해 암호의 안전성을 평가하는 핵심 도구입니다.

---
출처: https://achivx.kr/glossary/boolean-mapping-%EB%B6%88%EB%A6%B0-%EB%A7%A4%ED%95%91/ · ACHIVX 용어 사전 · 수정일 2026-10-20
