# 역함수 (Inverse)

역함수(inverse function)는 함수 f: X → Y가 한 일을 정확히 되돌리는 함수 f⁻¹: Y → X로, 모든 x에 대해 f⁻¹(f(x)) = x, 모든 y에 대해 f(f⁻¹(y)) = y를 만족합니다. 역함수는 f가 일대일 대응(전단사)일 때만 존재합니다. 한국어로는 문맥에 따라 '역수'(곱셈의 역, 1/x), '역원'(군에서 연산을 되돌리는 원소), '역함수'(함수를 되돌리는 함수)를 구분해서 씁니다.

## 자세히 알아보기

f가 서로 다른 두 입력을 같은 출력으로 보내면(단사가 아니면) 출력만 보고 어느 입력이었는지 알 수 없으므로 역함수가 없습니다. 출력 집합 Y의 어떤 원소에도 도달하지 못하면(전사가 아니면) 그 원소를 되돌릴 방법이 없습니다. 예를 들어 실수 위의 f(x) = x²은 단사가 아니지만, 정의역을 x ≥ 0으로 제한하면 역함수 √x를 가집니다. f(x) = 2x + 3의 역함수는 f⁻¹(y) = (y − 3)/2입니다.

두 함수를 합성한 g∘f의 역함수는 (g∘f)⁻¹ = f⁻¹∘g⁻¹으로, 되돌릴 때는 순서가 반대입니다. 양말을 신고 신발을 신었다면 벗을 때는 신발부터 벗는 것과 같습니다.

## 블록체인·암호화폐에서는

- 복호화: 블록 암호는 키를 고정하면 블록 집합 위의 전단사 함수 E_K이고, 복호화 D_K는 그 역함수입니다. AES 복호화는 각 라운드의 역연산을 반대 순서로 적용합니다.
- 일방향 함수: 암호의 핵심은 '역함수가 존재하지만 계산이 사실상 불가능한' 함수입니다. 개인 키 k로 공개 키 kG를 계산하는 타원곡선 스칼라 곱은 (위수 범위 안에서) 일대일이지만, kG에서 k를 되돌리는 것은 이산 로그 문제라서 불가능에 가깝습니다. 비트코인 지갑 보안이 여기에 기대고 있습니다.
- 해시 함수: SHA-256이나 Keccak-256은 입력이 출력보다 훨씬 많아 애초에 역함수가 없으며, '원상 저항성'은 주어진 출력에 맞는 입력 하나를 찾기도 어렵다는 성질입니다.
- 역원 계산: 서명 계산의 k⁻¹ mod n처럼 모듈러 역원은 확장 유클리드 호제법으로 효율적으로 구합니다.

## 쉽게 말하면

역함수는 '되돌리기 버튼'입니다. 지퍼를 올린 동작의 역함수는 지퍼를 내리는 동작입니다.

## 예시

f(x) = 3x mod 7의 역함수는 f⁻¹(y) = 5y mod 7입니다. 3 × 5 = 15 ≡ 1 (mod 7)이기 때문입니다.

같은 원리로 AES에서 암호화 함수 E_K의 역함수가 복호화 D_K이며, 같은 키에 대해 D_K(E_K(m)) = m이 항상 성립합니다.

---
출처: https://achivx.kr/glossary/inverse-%EC%97%AD%EC%88%98-yeoksu/ · ACHIVX 용어 사전 · 수정일 2026-10-20
