단항식 (Monomial)

고급암호학수정일

단항식(monomial)은 덧셈이나 뺄셈 없이 수(계수)와 변수들의 곱으로만 이루어진 항 하나짜리 식입니다. 5x, −7, 3x²y처럼 변수의 지수는 0 이상의 정수여야 합니다. 대수학 문헌에 따라서는 계수를 제외한 '변수 거듭제곱의 곱'(x²y 등, 멱곱)만을 단항식이라 부르기도 합니다. 단항식들을 더한 것이 다항식입니다.

자세히 알아보기

단항식의 차수는 모든 변수 지수의 합입니다. 3x²y³의 차수는 5입니다. 다항식은 단항식들의 합이며, 다항식의 차수는 그 안에서 가장 높은 단항식 차수입니다. 단항식끼리의 곱은 다시 단항식이 되고(지수를 더함), 같은 변수 부분을 가진 단항식(동류항)끼리만 더해서 하나로 합칠 수 있습니다.

이진 변수(값이 0 또는 1)에서는 x² = x이므로 단항식은 변수들의 곱 x₁x₃x₄처럼 단순해집니다. 이것이 불 함수를 XOR와 AND로 표현하는 대수적 정규형(ANF)의 기본 단위이며, 가장 긴 단항식의 변수 개수가 그 불 함수의 대수적 차수입니다.

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

  • AES S-box: AES의 S-box는 유한체 GF(28)에서의 단항식 함수 x ↦ x254(= x⁻¹, 0은 0으로) 뒤에 아핀 변환을 적용한 것입니다. 이런 '거듭제곱 함수'는 비선형성과 차분 성질이 뛰어나 S-box의 표준 재료입니다.
  • 영지식 친화 해시: zk-SNARK 회로 안에서 저렴하게 계산하도록 설계된 Poseidon, MiMC 같은 해시는 유한체 위의 단항식 x5, x3 등을 비선형 S-box로 씁니다. 영지식 회로에서는 곱셈 하나하나가 비용이므로 차수가 작은 단항식이 유리합니다.
  • 대수적 공격 방어: 암호의 각 출력 비트를 입력의 다항식으로 썼을 때 단항식 수와 차수가 충분히 커야 대수적 공격이나 고차 차분 공격을 막을 수 있습니다. 이더리움이 쓰는 Keccak의 χ 단계는 차수 2이지만 24라운드를 반복해 전체 차수를 높입니다.

쉽게 말하면

단항식은 '곱하기로만 묶인 덩어리 하나'입니다. 이 덩어리들을 더하기로 이어 붙이면 다항식이 됩니다.

예시

8xy, −7, 2y³은 단항식이고, x + 1은 두 단항식의 합이므로 다항식입니다. 1/x처럼 지수가 음수인 식은 단항식이 아닙니다.

또 GF(28)에서 x254는 x⁻¹과 같습니다. 0이 아닌 모든 원소 x에 대해 x255 = 1이기 때문입니다. 이처럼 유한체에서는 단항식 하나가 역원 계산 같은 복잡한 연산을 나타낼 수 있습니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.