# 군 (Group)

군(群, group)은 공집합이 아닌 집합 G와 그 위의 이항 연산(두 원소를 받아 한 원소를 내는 연산) ·의 쌍으로, 다음 네 조건을 만족하는 대수 구조입니다. ① 닫힘: a·b가 항상 G 안에 있다. ② 결합법칙: (a·b)·c = a·(b·c). ③ 항등원 e: 모든 a에 대해 a·e = e·a = a. ④ 역원: 모든 a에 대해 a·a⁻¹ = a⁻¹·a = e인 a⁻¹이 있다. 교환법칙 a·b = b·a까지 성립하면 아벨 군(가환군)이라 합니다. 현대 공개 키 암호의 대부분이 군 위에서 정의됩니다. (영어 group의 음차 '그룹'보다 수학 용어 '군'이 표준입니다.)

## 자세히 알아보기

정수의 덧셈 (ℤ, +), 0이 아닌 실수의 곱셈, n을 법으로 하는 덧셈 Z/nZ, n과 서로소인 수의 곱셈 Zn*, 그리고 n개 원소의 모든 순열(대칭군 S_n)이 군의 예입니다. 원소 수를 군의 위수라 하고, 원소 g를 몇 번 연산해야 e가 되는지를 g의 위수라고 합니다. 라그랑주 정리에 따라 부분군과 원소의 위수는 군의 위수를 나눕니다. 한 원소 g의 거듭제곱으로 모든 원소를 만들 수 있으면 순환군이며 g를 생성원이라 합니다.

암호에서 중요한 것은 순환군 위의 이산 로그 문제입니다. 생성원 g와 x가 주어지면 g^x(덧셈으로 쓰면 xG)는 쉽게 계산되지만, 결과로부터 x를 찾는 것은 적절히 고른 군에서 매우 어렵습니다. 일반적인 군에서 가장 좋은 범용 공격은 위수 n에 대해 약 √n번 연산이 필요합니다.

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

- secp256k1: 비트코인·이더리움·트론의 개인 키 d는 정수이고 공개 키는 곡선 점들의 군에서 생성원 G를 d번 더한 dG입니다. 이 군은 위수 n ≈ 2^256인 소수 위수 순환군이어서 이산 로그 공격에 약 2^128번 연산이 필요합니다.
- 서명과 다중 서명: ECDSA, 슈노어(BIP-340), MuSig2 다중 서명과 임계값 서명은 모두 이 군의 연산과 Z/nZ 산술의 조합입니다.
- 디피-헬만: 지갑 간 암호화 통신과 스텔스 주소는 aB = bA = abG라는 군의 성질로 공유 비밀을 만듭니다.
- 페어링 군: 이더리움 합의 계층의 BLS 서명은 BLS12-381 곡선의 두 군과 페어링을 사용해 수천 개의 검증자 서명을 하나로 합칩니다.

## 쉽게 말하면

군은 '합치고, 아무것도 안 하고, 되돌리는' 세 가지가 항상 가능한 규칙 체계입니다. 큐브 퍼즐의 회전 동작들이 바로 하나의 군입니다.

## 예시

Z/5Z의 덧셈군에서 2를 생성원으로 하면 2, 4, 1, 3, 0으로 모든 원소가 나옵니다. 2의 역원은 3입니다(2 + 3 ≡ 0).

---
출처: https://achivx.kr/glossary/group-%EA%B7%B8%EB%A3%B9/ · ACHIVX 용어 사전 · 수정일 2026-10-20
