MCP๋กœ ์—ฐ๊ฒฐ โ†’

๊ณ„์‚ฐ ์ž…๋ ฅ

๊ณต์‹

๊ด‘๊ณ 

๊ฒฐ๊ณผ

๊ณฑ์…ˆ ์—ญ์›
4
a-1 mod m
gcd(a, m) 1
์—ญ์› ์กด์žฌ ์—ฌ๋ถ€ ์˜ˆ

๋ชจ๋“ˆ๋Ÿฌ ๊ณฑ์…ˆ ์—ญ์›(modulo m)์ด๋ž€?

์ •์ˆ˜ a์˜ ๋ฒ• m์— ๋Œ€ํ•œ ๋ชจ๋“ˆ๋Ÿฌ ๊ณฑ์…ˆ ์—ญ์›์€ \((a \cdot x) \bmod m = 1\)์„ ๋งŒ์กฑํ•˜๋Š” 1๋ถ€ํ„ฐ mโˆ’1 ์‚ฌ์ด์˜ ์ •์ˆ˜ x๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด a์™€ x๋ฅผ ๊ณฑํ•œ ๋’ค m์œผ๋กœ ๋‚˜๋ˆ„๋ฉด ๋‚˜๋จธ์ง€๊ฐ€ ์ •ํ™•ํžˆ 1์ด ๋˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋“ˆ๋Ÿฌ ์—ฐ์‚ฐ์—์„œ 'a๋กœ ๋‚˜๋ˆ„๊ธฐ'์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋…์œผ๋กœ, ์ •์ˆ˜๋ก ๊ณผ ์•”ํ˜ธํ•™(RSA ํ‚ค ์ƒ์„ฑ, ํ•ด์‹ฑ, ์ค‘๊ตญ์ธ์˜ ๋‚˜๋จธ์ง€ ์ •๋ฆฌ ๋“ฑ)์˜ ํ•ต์‹ฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

Number line wrapping into a circle of m positions showing modular arithmetic
Modular arithmetic wraps the number line into a circle of m positions.

๊ณ„์‚ฐ๊ธฐ ์‚ฌ์šฉ๋ฒ•

์ •์ˆ˜ a์™€ ๋ฒ• m(m์€ 2 ์ด์ƒ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค)์„ ์ž…๋ ฅํ•˜์„ธ์š”. ๊ณ„์‚ฐ๊ธฐ๋Š” a๋ฅผ m์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋กœ ์ •๋ฆฌํ•œ ๋’ค ํ™•์žฅ ์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‹คํ–‰ํ•˜์—ฌ, ์—ญ์›์ด ์กด์žฌํ•œ๋‹ค๋ฉด ๊ทธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. a๊ฐ€ ์Œ์ˆ˜์ผ ๊ฒฝ์šฐ์—๋„ ์ž๋™์œผ๋กœ 0๋ถ€ํ„ฐ mโˆ’1 ๋ฒ”์œ„๋กœ ํ™˜์‚ฐํ•˜์—ฌ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ ์„ค๋ช…

์—ญ์›์€ ์˜ค์ง \(\gcd(a, m) = 1\)์ผ ๋•Œ๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ a์™€ m์ด 1 ์™ธ์— ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ฐ–์ง€ ์•Š์„ ๋•Œ(์„œ๋กœ์†Œ์ผ ๋•Œ)์ž…๋‹ˆ๋‹ค. ํ™•์žฅ ์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์Œ์„ ๋งŒ์กฑํ•˜๋Š” ์ •์ˆ˜ s์™€ t๋ฅผ ์ฐพ์•„๋ƒ…๋‹ˆ๋‹ค.

$$a \cdot s + m \cdot t = \gcd(a, m)$$

gcd๊ฐ€ 1์ผ ๋•Œ, ๊ณ„์ˆ˜ s๋ฅผ ๋ฒ• m์œผ๋กœ ํ™˜์‚ฐํ•œ ๊ฐ’์ด ๋ฐ”๋กœ ์—ญ์›์ž…๋‹ˆ๋‹ค. \(\gcd(a, m) \neq 1\)์ด๋ผ๋ฉด ์—ญ์›์€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Flow diagram of the extended Euclidean algorithm finding the inverse
The extended Euclidean algorithm yields x satisfying aยทx + mยทy = 1.

์˜ˆ์ œ ํ’€์ด

๋ฒ• 11์— ๋Œ€ํ•œ 3์˜ ์—ญ์›์„ ๊ตฌํ•ด ๋ด…์‹œ๋‹ค. \((3 \cdot x) \bmod 11 = 1\)์„ ๋งŒ์กฑํ•˜๋Š” x๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ ๋”ฐ์ ธ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

$$3 \cdot 4 = 12, \quad 12 \bmod 11 = 1$$

์ด๋ฏ€๋กœ ์—ญ์›์€ 4์ž…๋‹ˆ๋‹ค. \(\gcd(3, 11) = 1\)์ด๋ฏ€๋กœ ํ™•์žฅ ์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋„ ์ฆ‰์‹œ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋†“์Šต๋‹ˆ๋‹ค.

Diagram showing a times x equals one in mod m as wrapping around the circle
Multiplying a by its inverse x lands exactly on 1 after wrapping mod m.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

์—ญ์›์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋Š” ์–ธ์ œ์ธ๊ฐ€์š”? a์™€ m์ด ์„œ๋กœ์†Œ๊ฐ€ ์•„๋‹ ๋•Œ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 4๋Š” ๋ฒ• 8์—์„œ ์—ญ์›์ด ์—†๋Š”๋ฐ, \(\gcd(4, 8) = 4 \neq 1\)์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฒ•(m)์ด ๋ฐ˜๋“œ์‹œ ์†Œ์ˆ˜์—ฌ์•ผ ํ•˜๋‚˜์š”? ์•„๋‹™๋‹ˆ๋‹ค. a๊ฐ€ m๊ณผ ์„œ๋กœ์†Œ์ด๊ธฐ๋งŒ ํ•˜๋ฉด ์–ด๋–ค ๋ฒ•์ด๋“  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ m์ด ์†Œ์ˆ˜๋ผ๋ฉด 1๋ถ€ํ„ฐ mโˆ’1๊นŒ์ง€์˜ ๋ชจ๋“  0์ด ์•„๋‹Œ a๊ฐ€ ์—ญ์›์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋Š” ์™œ ํ•ญ์ƒ 1๊ณผ mโˆ’1 ์‚ฌ์ด์ธ๊ฐ€์š”? ์—ญ์›์„ ๋ฒ• m์œผ๋กœ ํ™˜์‚ฐํ•˜์—ฌ ๊ฐ€์žฅ ์ž‘์€ ์–‘์˜ ๋Œ€ํ‘œ๊ฐ’์„ ํ‘œ์ค€์œผ๋กœ ์ œ์‹œํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ตœ์ข… ์—…๋ฐ์ดํŠธ: