🌐 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) 검증 등에 모듈러 연산이 실제로 사용됩니다.