RSA ํค ํ์ฑ
- ๋ ์์ p,q๋ฅผ ๊ณจ๋ผ์ n=pq๋ก ๋๋๋ค.
- e๋ฅผ gcd(phi(n),e) = 1์ด ๋๋๋ก ๋ฝ๋๋ค. phi๋ ์ค์ผ๋ฌ totient ํจ์
- d= $e^-1$ mod phi(n)์ ๊ณ์ฐํ๋ค. modular inverse๋ e์ ์ ํ์ ์ํด ์ธ์ ๋ ์กด์ฌํ๊ณ , ํ์ฅ๋ ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ ์ด์ฉํด ๋น ๋ฅธ ์๊ฐ์์ ๊ณ์ฐ ๊ฐ๋ฅ
p, q = ๋ฌด์์๋ก ํฐ ๋ ์์
n = pq
phi = (p-1)*(q-1) >> n์ดํ์ n๊ณผ ์๋ก์์ธ ์๋ค์ ๊ฐ์
e = ์ฃผ๋ก 65537 , ๋ค๋ฅธ ๊ฐ์ด ๋๋๋ผ๋ 1<e<phi์ด๊ณ phi์ ์๋ก์์ธ ์๋ก ์ ํ
d = mod phi์ ๋ํ e์ ๊ณฑ์
์ญ์์ ๊ตฌํ๋ค. de = 1+k(phi)
์ํธ๋ฌธ c๋ฅผ ๋ณตํธํ ํ๋ ํจ์๋ ๋ค์๊ณผ ๊ฐ๋ค ( D=๋ณตํธํ )
D(c) = $c^d$ mod n ์ค์ ๋ก ํ๋ฌธ์ ์ํธํํ๋ค๊ฐ ๋ณตํธํํ๋ฉด ๋ณต๊ตฌ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋ณด์ผ ์ ์๋ค.
D(E(m)) = E$(m)^d$ mod n
= $m^{ed}$ mod n
= $m^{kphi(n)+1}$ mod n
gcd(m,n)=1 ์ผ ๊ฒฝ์ฐ
gcd์ ์๋ฆฌ ( gcd = ๋ ์ ์ฌ์ด์ ์กด์ฌํ๋ ์ต๋ ๊ณต์ฝ์๋ฅผ ์ฐพ๋ ์ ํด๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ )
- ์์์ ๋ ์์ฐ์ a,b๊ฐ ์ฃผ์ด์ก์๋ a>b๋ผ๊ณ ๊ฐ์
- a๋ฅผ b๋ก ๋๋ ๋๋จธ์ง๋ฅผ n์ด๋ผ๊ณ ํ๋ฉด ( a % b = n )
- n์ด 0์ผ๋, b๊ฐ ์ต๋ ๊ณต์ฝ์(GCD)
- n์ด 0์ด ์๋๋ผ๋ฉด a์ b๊ฐ์ ๋ค์ ๋ฃ๊ณ n์ b์ ๋์
ํ step2๋ถํฐ ๋ฐ๋ณต
์ค์ผ๋ฌ์ toitient ์ ๋ฆฌ์ ์ํด $m^{phi(n)}$=1 mod n ์ด๋ฏ๋ก D(E(m))= m mod n์ด๋ค.
์ค์ผ๋ฌ์ ํ ์
ํธ ํจ์๋ ๋ชจ๋๋ฌ ๊ณฑ์
์ญ์์ด ์กด์ฌํ๋ ์์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํจ์ ฯ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๋ค.
์์์ ์์ ์ ์ n์ ๋ํด ฯ(n)์ n ์ดํ์ ์์ ์ ์ ์ค n ๊ณผ ์๋ก์์ธ ๊ฒ์ ๊ฐ์์ ๊ฐ๋ค.
์ค์ผ๋ฌ ํผ(ํ์ด) ํจ์๋ผ๊ณ ๋ ํ๋ค.
gcd(m,n) !=1 ์ผ ๊ฒฝ์ฐ n=pq์ด๋ฏ๋ก gcd(m,n)์ p๋๋ q์ด๋ค.
์ผ๋ฐ์ฑ์ ์ํด gcd(m,n) = p๋ก ๋๋๋ค.
์ผ๋จ $m^{ed}$ mod p = 0์ด๊ณ , m mod p = 0์ด๋ฏ๋ก m=D(E(m)) mod p ์ด๋ค.
(m,q) =1์ด๋ฏ๋ก ํ๋ฅด๋ง์ ์์ ๋ฆฌ์ ์ํด $m^{q-1}$ = 1 mod q ์ด๋ค.
ํ๋ฅด๋ง์ ์์ ๋ฆฌ
a๊ฐ ์ ์์ด๊ณ p๊ฐ ์์์ด๊ณ a๊ฐ ์์์ ์์ p์ ์ฝ์๊ฐ ์๋๋
$a^p$=a(mod p )์ด๋ฉฐ a๊ฐ 0์ด ์๋๋
$a^{p-1}$ = 1 (mod p) ์ด๋ค.
๋ฐ๋ผ์ D(E(m)) = $m^{kphi(pq)+1}$ = $m^{k(p-1)(q-1)+1}$ = $(m^{q-1})^{k(p-1)}$m = m mod q ์ด๋ค.
๋ฐ๋ผ์ ๋๋จธ์ง ์ ๋ฆฌ์ ์ํด D(E(m)) = m mod n ์ด๋ค.