군 (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가 주어지면 gx(덧셈으로 쓰면 xG)는 쉽게 계산되지만, 결과로부터 x를 찾는 것은 적절히 고른 군에서 매우 어렵습니다. 일반적인 군에서 가장 좋은 범용 공격은 위수 n에 대해 약 √n번 연산이 필요합니다.
블록체인·암호화폐에서는
- secp256k1: 비트코인·이더리움·트론의 개인 키 d는 정수이고 공개 키는 곡선 점들의 군에서 생성원 G를 d번 더한 dG입니다. 이 군은 위수 n ≈ 2256인 소수 위수 순환군이어서 이산 로그 공격에 약 2128번 연산이 필요합니다.
- 서명과 다중 서명: 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).
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.