모듈러 거듭제곱 계산기 (aᵇ mod m)
빠른 이진 거듭제곱으로 임의로 큰 정수의 a^b mod m을 정확히 계산하고, 밑의 모듈러 곱셈 역원도 함께 제공합니다. RSA, Diffie-Hellman, 정수론 작업에 적합합니다.
사용법
- 밑(a), 지수(b), 법(m)을 입력합니다.
- 아주 큰 수에서도 정확히 계산된 a^b mod m을 확인합니다.
- 밑의 모듈러 역원을 확인합니다 — gcd(a, m) = 1일 때만 표시됩니다.
- a = 7, b = 256, m = 13을 입력하면 9가 나옵니다.
자세한 설명
펼치기접기
모듈러 거듭제곱은 a를 b제곱한 뒤 m으로 나눈 나머지를 계산합니다 — RSA, Diffie-Hellman을 비롯한 여러 암호학·정수론 작업의 핵심 연산입니다. 먼저 a^b를 구한 뒤 나머지를 취하는 방식은 큰 지수에서는 불가능하므로, 이 도구는 빠른 이진 거듭제곱(제곱-곱셈)을 사용하여 매 단계마다 m으로 나머지를 줄입니다. 모든 산술은 임의 정밀도 큰 정수로 처리되어, 밑·지수·법이 수백 자리여도 결과가 정확합니다. 또한 밑과 법이 서로소일 때마다 밑의 모듈러 곱셈 역원(a·x ≡ 1을 만족하는 x)을 함께 보고합니다. 모든 계산은 브라우저에서 로컬로 처리되며 아무것도 업로드되지 않습니다.
자주 묻는 질문
왜 a^b를 먼저 구하고 나머지를 취하면 안 되나요?
큰 지수에서는 a^b의 자릿수가 천문학적이라 실제로 만들 수 없습니다. 제곱-곱셈은 모든 중간값을 m² 미만으로 유지하므로 지수 크기와 무관하게 빠르고 정확합니다.
모듈러 역원 줄은 무엇인가요?
a·x ≡ 1 (mod m)을 만족하는 수 x입니다. 밑과 법이 공약수를 갖지 않을 때(gcd = 1)에만 존재하며, 그렇지 않으면 역원이 없다고 표시됩니다. 모듈러 산술에서 '나눗셈'에 쓰이는 값입니다.
지수가 0이면 무엇이 나오나요?
a^0 mod m은 임의의 밑에 대해 1입니다(m = 1이면 0). 지수는 음이 아닌 정수여야 하며, 밑은 음수일 수 있고 먼저 0…m−1 범위로 정규화됩니다.
이 계산을 실제 키 자료에 써도 되나?
안 된다. 산술 자체는 맞지만, 실제 구현은 상수 시간이기도 해야 한다. 소박한 제곱-곱셈 방식은 지수의 비트에 따라 걸리는 시간이 달라지고, 그 시간 차이로 운영 중인 시스템에서 개인키를 복원한 사례가 있다. 이건 이해하고 결과를 확인하는 데 쓰고, 비밀에 닿는 일에는 검증된 라이브러리를 쓰라.
그렇게 큰 지수가 어떻게 계산 가능해지나?
매 단계마다 m으로 나머지를 취해 숫자가 법의 크기를 넘어 자라지 않게 하고, 반복해서 곱하는 대신 제곱을 쓰기 때문이다. 그러면 1000비트짜리 지수가 천문학적으로 긴 연쇄가 아니라 약 1000번의 제곱이 된다. 지수의 크기가 시간에 대략 선형으로 영향을 주면서, 지수의 값 자체는 비용 어디에도 나타나지 않는 이유가 이것이다.
관련 도구
분수 계산기 — 덧셈·뺄셈·곱셈·나눗셈
분수·대분수·소수를 더하고 빼고 곱하고 나눕니다. 기약분수·대분수·소수 결과와 풀이 단계를 제공.
수학·통계
행렬 계산기 (정확한 분수)
12 × 12까지의 행렬에 대해 행렬식, 역행렬, RREF와 계수, 전치, 곱, A x = b를 반올림된 소수가 아닌 정확한 분수로 구합니다.
수학·통계
카이제곱 검정 계산기 (Fisher 정확검정 포함)
분할표의 독립성 검정과 빈도의 적합도 검정: χ², 자유도, p값, 기대 빈도, 잔차, Cramér의 V, Fisher 정확검정을 구합니다.
수학·통계
소인수분해 · GCD · LCM
정수를 소수로 인수분해·모든 약수 나열·두 수의 GCD·LCM 계산. ~10¹²까지 처리.
수학·통계
조합과 순열 계산기 (nCr, nPr)
nCr·nPr을 중복 허용/비허용 모두 계산하고 팩토리얼까지 — 확률, 로또 확률, 조합론을 위한 임의 정밀도 정수.
수학·통계
직각삼각형 계산기
두 변만 입력하면 나머지 한 변, 두 예각, 넓이, 둘레를 피타고라스 정리로 구합니다.
수학·통계