# 이항 연산 (Dyadic)

**이항 연산**(dyadic operation)은 정확히 두 개의 입력(피연산자, 인수)을 받는 연산 또는 함수입니다. 두 값 x, y를 받아 하나의 결과 f(x, y)를 내며, 입력이 하나인 단항(monadic) 연산과 구별됩니다. dyadic은 그리스어 dyad(둘, 한 쌍)에서 온 말로, 두 입력을 받는 성질을 뜻합니다.

## 기본 예

- **산술 연산:** 덧셈 x + y, 곱셈 x × y는 대표적인 이항 연산입니다.
- **논리·비트 연산:** AND, OR, XOR은 두 비트를 받아 한 비트를 냅니다. 반면 NOT은 입력이 하나뿐인 단항 연산입니다.
- **프로그래밍 언어:** APL 계열 언어에서는 같은 기호라도 인수가 하나면 monadic, 둘이면 dyadic 함수로 동작해 이 용어가 특히 자주 쓰입니다.

## 암호학에서의 이항 연산

- **XOR:** 스트림 암호와 일회용 패드는 평문 비트와 키 스트림 비트를 XOR해 암호문을 만듭니다. 같은 키 스트림을 다시 XOR하면 평문이 복원됩니다(x ⊕ k ⊕ k = x).
- **모듈러 덧셈과 곱셈:** (x + y) mod 2^32 같은 덧셈은 SHA-256, ChaCha20 등 해시 함수와 암호의 내부 연산에 쓰이고, 모듈러 곱셈은 RSA와 타원곡선 암호의 기초가 됩니다.
- **키 결합:** AES의 AddRoundKey처럼 데이터 블록과 라운드 키를 결합하는 단계도 두 입력을 받는 이항 연산입니다.

## 이항 연산의 성질

이항 연산은 교환법칙(x ∘ y = y ∘ x)과 결합법칙((x ∘ y) ∘ z = x ∘ (y ∘ z))을 만족하는지에 따라 성질이 달라집니다. XOR과 모듈러 덧셈은 두 법칙을 모두 만족하고 항등원(0)과 역원이 있어 군을 이루지만, 뺄셈은 교환법칙을 만족하지 않습니다. 암호 설계에서는 이런 대수적 성질이 계산을 되돌릴 수 있는지, 서로 다른 연산을 섞었을 때 분석이 얼마나 어려워지는지를 결정합니다. 예를 들어 덧셈, 회전, XOR을 섞는 ARX 구조는 서로 다른 대수 구조의 연산을 조합해 비선형성을 얻습니다.

## 「두 당사자」라는 의미

dyadic은 연산뿐 아니라 두 당사자 사이의 관계를 가리키는 데도 쓰입니다. 예를 들어 각자 비공개 입력을 가진 두 당사자가 서로의 입력을 공개하지 않고 함께 함수를 계산하는 2자간 안전 계산(2PC) 프로토콜이 이런 경우에 해당합니다.

정리하면 dyadic은 「둘」을 뜻하며, 암호학과 컴퓨터 과학에서는 주로 XOR이나 모듈러 덧셈처럼 두 입력을 받아 하나의 결과를 내는 이항 연산을 가리킵니다.

---
출처: https://achivx.kr/glossary/dyadic-%EC%9D%B4%ED%95%AD-%EC%97%B0%EC%82%B0/ · ACHIVX 용어 사전 · 수정일 2026-10-20
