🌐 KO

모듈로 계산기

모듈러 덧셈, 뺄셈, 곱셈, 거듭제곱, 역원 계산. RSA 암호화에 활용되는 모듈러 연산을 학습합니다.

기본 모듈로 — 모듈러 덧셈 — 모듈러 뺄셈 — 모듈러 곱셈 — 모듈러 거듭제곱 — 모듈러 역원 —
가이드

자세히 알아보기

01

모듈로 연산 기초

모듈로 연산(a mod m)은 a를 m으로 나눈 나머지입니다. 예: 17 mod 5 = 2. 시계 계산(24시간제), 요일 계산 등 일상에서 자주 사용됩니다. 프로그래밍에서는 배열 인덱스 순환, 해시 함수 등에 필수적입니다.

02

모듈러 덧셈과 곱셈

모듈러 덧셈: (a + b) mod m. 모듈러 곱셈: (a × b) mod m. 큰 수 계산 시 오버플로우를 방지하려면 각 단계마다 모듈로를 취합니다. 예: (12 + 8) mod 5 = 20 mod 5 = 0.

03

모듈러 거듭제곱 - 빠른 계산

a^b mod m을 계산할 때 직접 거듭제곱하면 수가 너무 커집니다. 분할정복 방식의 빠른 거듭제곱 알고리즘을 사용하면 O(log b) 시간에 계산 가능합니다. RSA 암호화의 핵심 연산입니다.

04

모듈러 역원 - 확장 유클리드 알고리즘

모듈러 역원은 (a × x) mod m = 1이 되는 x입니다. a와 m이 서로소일 때만 존재합니다. 확장 유클리드 알고리즘으로 O(log m) 시간에 계산합니다. 암호 해독, 분수 계산에 사용됩니다.

05

RSA 암호화와 모듈러 연산

RSA는 모듈러 거듭제곱과 역원을 핵심으로 하는 공개키 암호 시스템입니다. 암호화: c = m^e mod n, 복호화: m = c^d mod n. 큰 소수 두 개의 곱 n을 인수분해하기 어렵다는 점을 이용합니다.

자주 묻는 질문

음수를 모듈로 계산하면 어떻게 되나요?
음수의 모듈로는 언어·표기법마다 다를 수 있습니다. 이 계산기는 수학적 정의에 따라 결과가 항상 0 이상 m 미만이 되도록 계산합니다. 예: -7 mod 5 = 3.
제수(m)에 0을 입력하면 어떻게 되나요?
0으로 나누는 것은 정의되지 않으므로 제수에 0을 입력하면 계산할 수 없습니다. m은 반드시 1 이상의 정수여야 합니다.
모듈러 역원이 존재하지 않는 경우는 언제인가요?
a와 m의 최대공약수가 1이 아닐 때(서로소가 아닐 때)는 모듈러 역원이 존재하지 않습니다. 예를 들어 m이 짝수이고 a도 짝수면 역원을 구할 수 없습니다.
모듈러 거듭제곱은 왜 빠른 계산 알고리즘이 필요한가요?
지수가 커지면 a^b 값 자체가 매우 커져 일반 계산으로는 시간이 오래 걸립니다. 빠른 거듭제곱(분할정복) 알고리즘을 쓰면 매 단계 결과에 모듈로를 적용해 수를 작게 유지하면서 O(log b) 시간에 계산합니다.
이 계산기는 어떤 상황에서 실제로 쓰이나요?
해시 함수의 버킷 인덱스 계산, 순환 스케줄(요일·시간) 계산, RSA 등 공개키 암호의 암복호화 연산, 체크섬(예: ISBN) 검증 등에 모듈러 연산이 실제로 사용됩니다.