1
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ ๋์นญํ๋์นญํ๋์นญํ๋์นญํ ์ํธ์์ํธ์์ํธ์์ํธ์ ๋ฌธ์ ์ ๋ฌธ์ ์ ๋ฌธ์ ์ ๋ฌธ์ ์
โข๋์นญํค๋์นญํค๋์นญํค๋์นญํค๋ถ๋ฐฐ๋ถ๋ฐฐ๋ถ๋ฐฐ๋ถ๋ฐฐ๋ฌธ์ ๋ฌธ์ ๋ฌธ์ ๋ฌธ์
โข๋์นญํค๋์นญํค๋์นญํค๋์นญํค๊ด๋ฆฌ๊ด๋ฆฌ๊ด๋ฆฌ๊ด๋ฆฌ๋ฌธ์ ๋ฌธ์ ๋ฌธ์ ๋ฌธ์
โ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์์คํ ์ํธ์์คํ ์ํธ์์คํ ์ํธ์์คํ ๊ฐ์๊ฐ์๊ฐ์๊ฐ์
์์ ์์์ ์์์ ์์์ ์ public key ์์ ์์์ ์์์ ์์์ ์ private key
์ํธ๋ฌธ ํ๋ฌธ
๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๋ถ๋ฐฐ๋ถ๋ฐฐ๋ถ๋ฐฐ๋ถ๋ฐฐ์ฑ๋์ฑ๋์ฑ๋์ฑ๋
ํ๋ฌธEncryption Algorithm Decryption Algorithm
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
2
โ One-Way Function ( ์ผ์ผ์ผ์ผ๋ฐฉํฅ๋ฐฉํฅ๋ฐฉํฅ๋ฐฉํฅํจ์ํจ์ํจ์ํจ์ )
โ A function which is easy to compute in one direction,
but difficult to invert
- given x, y = f(x) is easy
- given y, x = fโโโโ1(y) is difficult
โ Integer Multiplication vs. Factorization
- a โโโโ b โโโโ y is easy, where a and b are primes.
- y โโโโ a and b is difficult
โ Modular Exponentiation vs. Discrete Logarithm
- f(x) = ax mod n โโโโ y is easy, Exponential Function
- y โโโโ x = logay mod (nโโโโ 1)
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ Trapdoor One-Way Function
โ One-Way Function, where some trapdoor information makes
the function invertible
โ Power Function, y = f(x) = xa mod n, where a and n are given
- fโโโโ1(y) = x is also power function, where x = (xa)b mod n
aโ b mod ฯ(n) = 1
- If n = pโ q, where p and q are large primes,
f(x) is trapdoor function.
- Euler ์ ๋ฆฌ์ ๋ฆฌ์ ๋ฆฌ์ ๋ฆฌ, xฯ(n) mod n = 1, where ฯ(n) = (p-1) โ (q-1)
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
3
โ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์์คํ ์ํธ์์คํ ์ํธ์์คํ ์ํธ์์คํ ์ ์ฝ์กฐ๊ฑด์ ์ฝ์กฐ๊ฑด์ ์ฝ์กฐ๊ฑด์ ์ฝ์กฐ๊ฑด
โ m โโโโ Eke(m) = c is easy, but c โโโโ Dkd (m) = m is
difficult without knowing Dkd.
โ Eke is a Trapdoor one-way Function
โ Dkd is a Trapdoor Information
๋น๋ฐ์ฑ๋น๋ฐ์ฑ๋น๋ฐ์ฑ๋น๋ฐ์ฑ Dkd (Eke (m)) = m
์ธ์ฆ์ธ์ฆ์ธ์ฆ์ธ์ฆ๋ฐ๋ฐ๋ฐ๋ฐ๋ฌด๊ฒฐ์ฑ๋ฌด๊ฒฐ์ฑ๋ฌด๊ฒฐ์ฑ๋ฌด๊ฒฐ์ฑ Eke(Dkd(m)) = m
๋น๋ฐ์ฑ๊ณผ๋น๋ฐ์ฑ๊ณผ๋น๋ฐ์ฑ๊ณผ๋น๋ฐ์ฑ๊ณผ์ธ์ฆ์ธ์ฆ์ธ์ฆ์ธ์ฆ Dkd(Eke(m)) = Eke(Dkd(m)) = m
โ Domain of E and D should be large to avoid Dictionary Attack
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ RSA ( Rivest-Shamir-Adleman )
โ System ์์ฑ์์ฑ์์ฑ์์ฑ
โข choose 2 primes p and q and compute n = pโโโโ q,
ฯ(n) = (p-1) โ (q-1), where p, q are 100-digit numbers
โข choose e โ [1, ฯ(n)-1] such that (e, ฯ(n)) = 1 and
d โ [1, ฯ(n)-1] such that eโ d mod ฯ(n) = 1
โข (e,n) : public-key
โข (d,n) : private-key
โ Encryption and Decryption
m,c โ {1,2,...,n-1}
โข Encryption : c = me mod n
โข Decryption : m = cd mod n = med mod n, where eโ d mod ฯ(n) = 1
RSA
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
4
โ RSA ( Rivest-Shamir-Adleman )โ Example
โข p = 47 and q = 71, n = pโ q = 3337
โข (pโ1)โ( qโ1) = 46 โ 70 = 3220, GCD ( e, (pโ1) โ (qโ1)) = 1
โข Choose e at random to be 79
โข d = 79โ1 mod 3220 = 1019
โข To encrypt message m = 6882326879666683m1 = 688 m2 = 232 m3 = 687
m4 = 966 m5 = 668 m6 = 003
โข c1 = m1e mod n = 68879 mod 3337 = 1570
โข c = 1570 2756 2091 2276 2423 158
โข To decrypt, m1 = c1d mod n = 15701019 mod 3337 = 688
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ Factorization of n = pโโโโ q
- n and e are known; eโ d mod (pโ1) โ (qโ1) = 1
โ Number Field Sieve, Quadratic Sieve, Elliptic Curve Method
โ (1983๋ ) 69์๋ฆฌ 10์ง์, Quadratic Sieve
โ (1989๋ ) 106์๋ฆฌ 10์ง์, Quadratic Sieve
โ (1994๋ ) RSA-129, 129์๋ฆฌ 10์ง์, Quadratic Sieve, 5000 mips-year
n = 114,381,625,757,888,867,669,235,779,976,146,612,010,218,296,
721,242,362,562,561,842,935,706,935,245,733,897,830,597,123,
563,958,705,058,989,075,147,599,290,026,879,543,541
โ (1996๋ ) RSA-130, 130์๋ฆฌ 10์ง์, Number Field Sieve, 500 mips-year
โ Security of RSA
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
5
โ Security of RSA
โ p์ q๋ ์๋ก ํฌ๊ธฐ๊ฐ ๊ฑฐ์ ๋น์ทํ๊ฒ ๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ 1075 ๋ด์ง๋ 10100์ ๋
์ ํฌ๊ธฐ๋ก ์ ์ ํ๋ค.
โ (pโ1)๊ณผ (qโ1)์ ๊ฐ๊ฐ ๋งค์ฐ ํฐ ์์ธ์๋ฅผ ๊ฐ์ ธ์ผ ํ๋ค.
โ gcd(pโ1, qโ1)์ ์์ ๊ฐ์ด์ด์ผ ํ๋ค.
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ Ciphertext-only AttackSolving c = me mod n is equivalent to taking roots modulo a composite number with unknown factorization, which is as difficult as the discrete logarithm.
โ Iterative AttackGiven (N,e, c), c1 = ce mod N, ....., ci = ci-1
e mod NIf there is cj in c1,c2,...,ci,... such that cj = c,m is the same as cj-1 since cj-1
e mod N = cj = c.
โ Adaptively Chosen-Ciphertext Attackc = me mod n, x โ (0, nโ1) cโฒ = cxe mod nmโฒ = (cโฒ)d mod n = cd(xe)d mod n = mโ x mod n
mโฒxโ1 mod n = m
โ Security of RSA
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
6
โ Repeated Square-and-Multiply ๋ฐ๋ณต๋ฐ๋ณต๋ฐ๋ณต๋ฐ๋ณต์ ๊ณฑ์ ๊ณฑ์ ๊ณฑ์ ๊ณฑ-๊ณฑ์ ๊ณฑ์ ๊ณฑ์ ๊ณฑ์
z โ 1;for i = kโ1 downto 0 {
z โ z2 mod n;if ei = 1 then z โ z โ m mod n;
}return ( z );
[์ ] ๊ณต๊ฐํค e = 10, ๋ฒ n = 15์๊ฒฝ์ฐ์ํ๋ฌธ m = 3์ํด๋นํ๋์ํธ๋ฌธ c = me mod n = 9๋์๋๊ณผ๊ฐ์ด โ๋ฐ๋ณต์ ๊ณฑโ๊ณฑ์ โ๋ฐฉ์์์ํด๊ณ์ฐ๋๋ค. e = 10์ 2์ง์๋กํํํ๋ฉด ( e3 e2 e1
e0 ) = ( 1 0 1 0 ) ์ด๋ค.
i ei z
3 1 12 โ 3 mod 15 = 32 0 32 mod 15 = 91 1 92 โ 3 mod 15 = 30 0 32 mod 15 = 9
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ Primality Testing
โ Sieve of ERATOSTHENES
โข Every positive integer > 1 has a prime divisor.
โข If n is a composite, n has a prime factor not exceeding n .
To determine if n is a prime, check n for divisibility
by all primes not exceeding n .
e.g. if n = 20 is a composite, it must have a prime factor
less than n = 4. Since n = 20 has a prime factor 2,
it is not a prime.
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
7
โ Probabilistic Primality Testing
โ find r and s such that nโ1 = 2sโ r ;for i = 1 to k do {
โก choose a random integer a, 1 โค a โค nโ2โข y โ ar mod n;โฃ if y โ 1 and y โ nโ1 then {โค j โ 1;
while ( j โค sโ1 and y โ nโ1 ) do {โฅ y โ y2 mod n;โฆ j โ j+1; }โง if y โ nโ1 then return( โcompositeโ ); } }โจ return( โprimeโ );
โ Miller_Rabin(n, k) Algorithm
์์ n > 2๊ณผํ์ r์๋ํด์
n โ 1 = 2sโ r์ด๋ผ๊ณ ํ์. ์ด๋,
gcd(a, n) = 1์๋ง์กฑํ๋์์์
์ ์ a์๋ํด์ ar mod n = 1์ด์ฑ๋ฆฝ
๋๋ 0 โค j โค sโ1๋ฒ์๋ด์
์ด๋ค j ์๋ํด์ a2 jr mod n = โ1.
n์ดํ์์ํฉ์ฑ์์์๋๋ถ๊ตฌํ๊ณ 2 โค a โค nโ1๋ฒ์๋ด์์์์์ ์ a์๋ํด์ ar mod
n = 1 ์ด์ฑ๋ฆฝ๋๋ 0 โค j โค sโ1๋ฒ์๋ด์์ด๋ค j ์๋ํด์ a2 jr mod n = โ1์ด์ฑ๋ฆฝํ๋ค๋ฉด
n์์ค์ ๋ก์์๋์๋์ง๋ง์์์ธ๊ฒ์ฒ๋ผ๋ณด์ด๋๊ฐํ์ ์ฌ์์(strong pseudo-
prime)๊ฐ๋๊ณ , a๋ n์์์๋ผ๊ณ ์๋ชปํ๋จํ๊ฒํ๋๊ฐํ๊ฑฐ์ง์ฆ๊ฑฐ(strong liar)๊ฐ๋๋ค.
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ Probabilistic Primality Testing
์๊ณ ๋ฆฌ์ฆ์๊ฒฐ๊ณผ๊ฐ Miller_Rabin(n, k) = โcompositeโโ์ผ๊ฒฝ์ฐ์๋ n์๋ถ๋ช ํํฉ์ฑ์์ด๋ค.๋ฐ๋ผ์, ์ด๊ฒฝ์ฐ์๋๋ค๋ฅธ์์์ํ์ n์์ ์ ํ์ฌ์๊ณ ๋ฆฌ์ฆ์์ฒ์๋ถํฐ๋ค์ ์์ํ๊ฒ๋๋ค. Miller_Rabin(n, k) = โprimeโ์ผ๊ฒฝ์ฐ์๋ 2๊ฐ์ง์๊ฐ๋ฅ์ฑ์ด์กด์ฌํ๋ค.
์ฒซ์งธ๋ n์ด์ค์ ๋ก์์์ธ๊ฒฝ์ฐ์๋์งธ๋ n์ดํฉ์ฑ์์ด๋ฉด์๋์์๋กํ์ ๋๋๊ฒฝ์ฐ์ด๋ค. ํ์์๊ฒฝ์ฐ์๋์ ์ ๋ a๊ฐ n์์์๋ผ๊ณ ์๋ชปํ๋จํ๊ฒํ๋๊ฐํ๊ฑฐ์ง์ฆ๊ฑฐ๊ฐ๋๋ค.
n์ดํ์์ํฉ์ฑ์์ด๋ฉด 2 โค a โค nโ1๋ฒ์๋ด์์ ์๋ค์ค์์๊ธฐ๊ปํด์ผ 1/4์ ๋๊ฐ ๊ฐํ ๊ฑฐ์ง์ฆ๊ฑฐ๊ฐ ๋๊ธฐ ๋๋ฌธ์ ํ ๊ฐ์ a์ ๋ํด์ ํฉ์ฑ์(composite) n์ ์์๋ก ํ์ ํ ํ๋ฅ ์MillerโRabinํ์ ๋ฒ์์๋ 1/4์ดํ๊ฐ๋๋ค.
๋ฐ๋ผ์, ์ ํ๋ n์ด์์๋ก์ ์ ๋์ฌ๋ฌ ๊ฐ์ a ๊ฐ์๋ํ์ฌ MillerโRabinํ์ ๋ฒ์ํต๊ณผํ๋ค๋ฉด ๋งค์ฐ ๋์ ํ๋ฅ ๋ก n์ ์์๋ก ํ์ ํ ์๊ฐ ์๊ฒ ๋๋ค. ๋ฐ๋ผ์, k๋ฒ์ ๋ฐ๋ณตํ์ฌMillerโRabinํ์ ๋ฒ์ํต๊ณผํ๋ค๋ฉด n์ด์์์ผํ๋ฅ ์ 1 โ (1/4)k์ด์์ด๋๋ค.
โ Miller_Rabin(n, k) Algorithm
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
8
โ Speed of RSA
โข (1995) 1 Mbps with 512-bit modulus
โข Hardware ๊ตฌํ๊ตฌํ๊ตฌํ๊ตฌํ, DES ๋ณด๋ค 1000๋ฐฐ๋๋ฆผ
โข Software ๊ตฌํ๊ตฌํ๊ตฌํ๊ตฌํ with 8-bit public-key on SPARC II
512-bit 768-bit 1024-bit
Encrypt 0.03sec 0.05sec 0.08sec
Decrypt 0.16sec 0.48sec 0.93sec
โ Standard and Patent
โข RSA Data Security Inc., (Sep. 20, 2000) in USA
โข French and Australian Banks ํ์ค
โข ISO de facto standard
๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ ์ด์ฐ๋์์ด์ฐ๋์์ด์ฐ๋์์ด์ฐ๋์ ๋ฌธ์ ๋ฌธ์ ๋ฌธ์ ๋ฌธ์ ((((discrete logarithm problem)discrete logarithm problem)discrete logarithm problem)discrete logarithm problem)
โ ์ ์
์์ p
๊ณฑ์ ์์๊ตฐ Zp*์์์ฑ์ g
์์ y โ Zp*
y = gx mod p๋ฅผ๋ง์กฑํ๋ 1 โค x โค pโ2๋ฒ์๋ด์ x = loggy mod (pโ1)์๊ตฌํ๋๊ฒ.
โ Algorithms
[1] Compute g0, g1, g2, โฆ until y = gx mod n so that x can be obtained
[2] Shanks Algorithm
[3] Pohlig-Hellman Algorithm
[4] Index-Calculus Algorithm
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
9
โ Shanks Algorithm
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
์์ p, ๊ณฑ์ ์์๊ตฐ Zp*์์์ฑ์ g, g์์์ t = p-1, s =
y = gx mod p๋ฅผ๋ง์กฑ 1 โค x โค pโ2 x = loggy mod (pโ1)์๊ตฌํ๋๊ฒ
x = iโ s + j, where i, j โ [0, s)y = gx = gisgj =gis+j
y(g-s)i = gj
t
(0, g0)
(1, g1)
:
(j, gj)
:
(sโ1, gsโ1)
yg0
ygโsโ 1
:
ygโsโ i
:
ygโsโ (sโ1)
x = iโ โ โ โ s + j
โ ElGamal ElGamal ElGamal ElGamal ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ
โ System ์์ฑ์์ฑ์์ฑ์์ฑ
(i) ๋งค์ฐํฐ์์ p (ii) ๊ณฑ์ ์์๊ตฐ Zp*์์์ฑ์ g(iii) ์์์๋์ x โ [ 1, pโ2 ] ์์ฑ, y = gx mod p๋ฅผ๊ณ์ฐ.
โ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ke๋๋๋๋ { y, g, p }, ๊ฐ์ธํค๊ฐ์ธํค๊ฐ์ธํค๊ฐ์ธํค kd๋๋๋๋ { x }.
โ ์ํธํ์์ํธํ์์ํธํ์์ํธํ์๋ณตํธํ๋ณตํธํ๋ณตํธํ๋ณตํธํ
๋์ x โ [1, pโ2] ์์ฑ ( Randomized Encryption )
Eke( m ) = c = { c1, c2 } = { gx mod p, yxx m mod p } Dkd( c ) = c2 c1
โx mod p = m
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
10
โ Diffie-Hellman ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๋ถ๋ฐฐ๋ถ๋ฐฐ๋ถ๋ฐฐ๋ถ๋ฐฐ
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ System ์์ฑ์์ฑ์์ฑ์์ฑ
(i) ๋งค์ฐํฐ์์ p (ii) ๊ณฑ์ ์์๊ตฐ Zp*์์์ฑ์ g
Alice๋์๋์๋์๋์ xA
Bob๋์๋์๋์๋์ xByA = gxA mod p
yB = gxB mod p
k = (yB) xA mod p =gxB xA mod p k = (yA) xB mod p =gxA xB mod p
โ Elliptic Curve (Elliptic Curve (Elliptic Curve (Elliptic Curve (ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ) ) ) ) ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ
์ค์์ค์์ค์์ค์(real number)์์์์์์์์์์์์์์์์ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ (elliptic curve)์์์์ a์์์์ b๊ฐ๊ฐ๊ฐ๊ฐ๊ณ ์ ๋๊ณ ์ ๋๊ณ ์ ๋๊ณ ์ ๋์ค์์ผ์ค์์ผ์ค์์ผ์ค์์ผ๊ฒฝ์ฐ์๊ฒฝ์ฐ์๊ฒฝ์ฐ์๊ฒฝ์ฐ์๋ฐฉ์ ์๋ฐฉ์ ์๋ฐฉ์ ์๋ฐฉ์ ์ y2 = x3 + ax + b์์์์๋ง์กฑํ๋๋ง์กฑํ๋๋ง์กฑํ๋๋ง์กฑํ๋ (x, y) ์ ๋ค์์ ๋ค์์ ๋ค์์ ๋ค์์งํฉ์์งํฉ์์งํฉ์์งํฉ์์๋ฏธํ๋ค์๋ฏธํ๋ค์๋ฏธํ๋ค์๋ฏธํ๋ค.
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
Java Animation : ecc-java1.htm
11
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ Addition of point P and point Q
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ Addition of P and โโโโP
By definition, P + (-P) = O.
As a result of this equation, P + O = P in the elliptic curve group .
O = the additive identity ofthe elliptic curve group;
All elliptic curves have an additive identity.
12
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ Doubling the point P
P = (x, y)
If y โ โ โ โ 0, then P ์์์์์์์์์์์์ ์ ์ ์์ ์ ์์ ์ ์์ ์ ์์ ํํ์ ํํ์ ํํ์ ํํ
ํ์๊ณก์ ์ํ์๊ณก์ ์ํ์๊ณก์ ์ํ์๊ณก์ ์ ๋ค๋ฅธ๋ค๋ฅธ๋ค๋ฅธ๋ค๋ฅธํํํํ์ ๊ณผ์ ๊ณผ์ ๊ณผ์ ๊ณผ๊ต์ฐจ๊ต์ฐจ๊ต์ฐจ๊ต์ฐจ.
the law for doubling a point on an elliptic curve group :P + P = 2P = R
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ Doubling the point P if y = 0
By definition, 2P = O for such a point P.
To find 3P in this situation, one can add 2P + P. Then, P + O = P
Thus 3P = P. 3P = P, 4P = O, 5P = P, 6P = O, 7P = P, โฆ
13
โ Elliptic Curve Group ( Elliptic Curve Group ( Elliptic Curve Group ( Elliptic Curve Group ( ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ๊ตฐ๊ตฐ๊ตฐ๊ตฐ ))))
์ฒซ์งธ์ฒซ์งธ์ฒซ์งธ์ฒซ์งธ, ๋ฌดํ๋๋ฌดํ๋๋ฌดํ๋๋ฌดํ๋์ ์์ ์์ ์์ ์ O์ผ๋ก์ผ๋ก์ผ๋ก์ผ๋กํ๊ธฐํ๋ฉฐํ๊ธฐํ๋ฉฐํ๊ธฐํ๋ฉฐํ๊ธฐํ๋ฉฐํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ์์์์์์์์์์์์์์์์์์์์์ ์ ์ ์ P์์์์๋ํด์๋ํด์๋ํด์๋ํด์ P + O = P๊ฐ๊ฐ๊ฐ๊ฐ์ฑ๋ฆฝ๋๋ค์ฑ๋ฆฝ๋๋ค์ฑ๋ฆฝ๋๋ค์ฑ๋ฆฝ๋๋ค. ์ฆ์ฆ์ฆ์ฆ๋ฌดํ๋๋ฌดํ๋๋ฌดํ๋๋ฌดํ๋์ ์์ ์์ ์์ ์๋ง์ ์์๋ง์ ์์๋ง์ ์์๋ง์ ์์ํญ๋ฑ์ํญ๋ฑ์ํญ๋ฑ์ํญ๋ฑ์(identity)์ด์ด์ด์ด ๋๋ค๋๋ค๋๋ค๋๋ค.
๋์งธ๋์งธ๋์งธ๋์งธ๋๋๋๋ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์์์์์์์์์์์์์์ ์ ์ ์ P์์์์๋ํด์๋ํด์๋ํด์๋ํด์ P + Q = O์์์์๋ง์กฑํ๋๋ง์กฑํ๋๋ง์กฑํ๋๋ง์กฑํ๋์ ์ ์ ์ Q๊ฐ๊ฐ๊ฐ๊ฐ์กด์ฌ์กด์ฌ์กด์ฌ์กด์ฌํ๋๋ฐํ๋๋ฐํ๋๋ฐํ๋๋ฐ
Q = โโโโP๋ก๋ก๋ก๋ก ๋ํ๋ด๋ฉฐ๋ํ๋ด๋ฉฐ๋ํ๋ด๋ฉฐ๋ํ๋ด๋ฉฐ๋บ์ ๋บ์ ๋บ์ ๋บ์ RโS๋๋๋๋ R + (โโโโS)๋ก๋ก๋ก๋ก์ ์๋๋ค์ ์๋๋ค์ ์๋๋ค์ ์๋๋ค. ์ ์ ์ ์ โโโโP๋๋๋๋์ ์ ์ ์ P์์์์ x์ถ์์ถ์์ถ์์ถ์๋ํ๋ํ๋ํ๋ํ๋์นญ์ ์ด๋์นญ์ ์ด๋์นญ์ ์ด๋์นญ์ ์ด๋๊ธฐ๋๊ธฐ๋๊ธฐ๋๊ธฐ๋๋ฌธ์๋๋ฌธ์๋๋ฌธ์๋๋ฌธ์์ ์ ์ ์ P์์์์์ขํ๊ฐ์ขํ๊ฐ์ขํ๊ฐ์ขํ๊ฐ (x, y)์ด๋ฉด์ด๋ฉด์ด๋ฉด์ด๋ฉด์ ์ ์ ์ โโโโP์์์์ ์ขํ๋์ขํ๋์ขํ๋์ขํ๋ (x, โโโโy)๊ฐ๊ฐ๊ฐ๊ฐ๋๋ค๋๋ค๋๋ค๋๋ค.
์ ์งธ์ ์งธ์ ์งธ์ ์งธ, ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์์์์์์์์์์์์์์ ์ ์ ์ P์์์์ Q์์์์๋ํด์๋ํด์๋ํด์๋ํด์ P + Q = Q + P๊ฐ๊ฐ๊ฐ๊ฐ์ฑ๋ฆฝํ๋ค์ฑ๋ฆฝํ๋ค์ฑ๋ฆฝํ๋ค์ฑ๋ฆฝํ๋ค.
๋ท์งธ๋ท์งธ๋ท์งธ๋ท์งธ, ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์์์์์์์์์์์์์์ ์ ์ ์ P, Q์์์์ R์์์์๋ํด์๋ํด์๋ํด์๋ํด์ P + ( Q + R ) = ( P + Q ) + R์ด์ด์ด์ด ์ฑ๋ฆฝํ๋ค์ฑ๋ฆฝํ๋ค์ฑ๋ฆฝํ๋ค์ฑ๋ฆฝํ๋ค.
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
RQP
S = P + Q
x
y
โ Elliptic Curve (ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ) ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค์ํธ์ํธ์ํธ์ํธ
(x1, y1), (x2, y2), (x3, y3)์์์์์ ์ ์ ์ P, Q, S = P + Q์์์์์ขํ์ขํ์ขํ์ขํ. ์ ์ ์ ์ P + Q = S์ขํ์ขํ์ขํ์ขํ (x3, y3)์์์์ x1, y1, x2, y2๋ก๋ก๋ก๋กํํํํํํํํ.
y = ฮฑฮฑฮฑฮฑx + ฮฒฮฒฮฒฮฒ๋ฅผ๋ฅผ๋ฅผ๋ฅผ์ ์ ์ ์ P์์์์ Q๋ฅผ๋ฅผ๋ฅผ๋ฅผ์ง๋๋์ง๋๋์ง๋๋์ง๋๋์ ์์ ์์ ์์ ์๋ฐฉ์ ์๋ฐฉ์ ์๋ฐฉ์ ์๋ฐฉ์ ์, ฮฑฮฑฮฑฮฑ = (y2 โ y1) / (x2 โ x1), ฮฒฮฒฮฒฮฒ = y1 โ ฮฑฮฑฮฑฮฑx1.
๋ง์ฝ๋ง์ฝ๋ง์ฝ๋ง์ฝ, (ฮฑฮฑฮฑฮฑx + ฮฒฮฒฮฒฮฒ)2 = x3 + ax + b์ด๋ฉด์ด๋ฉด์ด๋ฉด์ด๋ฉด์ ์ ์ ์ P์์์์ Q๋ฅผ๋ฅผ๋ฅผ๋ฅผ์ง๋๋์ง๋๋์ง๋๋์ง๋๋์ ์ ์ ์ ์์์์์์์์์ ์ ์ ์ (x, ฮฑฮฑฮฑฮฑx + ฮฒฮฒฮฒฮฒ)๋๋๋๋ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์์ ์ด์ ์ด์ ์ด์ ์ด๋๋ค๋๋ค๋๋ค๋๋ค.
3์ฐจ์ฐจ์ฐจ์ฐจ๋ฐฉ์ ์๋ฐฉ์ ์๋ฐฉ์ ์๋ฐฉ์ ์ x3 โโโโ(ฮฑฮฑฮฑฮฑx + ฮฒฮฒฮฒฮฒ)2 + ax + b์์์์๊ฐ๊ฐ์๊ฐ๊ฐ์๊ฐ๊ฐ์๊ฐ๊ฐ์๊ทผ๊ทผ๊ทผ๊ทผ(root)์์์์๋ํ์ฌ๋ํ์ฌ๋ํ์ฌ๋ํ์ฌํํํํ๊ฐ์๊ฐ์๊ฐ์๊ฐ์๊ต์ฐจ์ ์ด๊ต์ฐจ์ ์ด๊ต์ฐจ์ ์ด๊ต์ฐจ์ ์ด์กด์ฌํ๊ฒ์กด์ฌํ๊ฒ์กด์ฌํ๊ฒ์กด์ฌํ๊ฒ๋๋ค๋๋ค๋๋ค๋๋ค. (x1, ฮฑฮฑฮฑฮฑx1 + ฮฒฮฒฮฒฮฒ)์์์์ (x2, ฮฑฮฑฮฑฮฑx2 + ฮฒฮฒฮฒฮฒ)๋๋๋๋ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์๋๋๋๋์ ์ ์ ์ P์์์์ Q์ด๊ธฐ์ด๊ธฐ์ด๊ธฐ์ด๊ธฐ๋๋ฌธ์๋๋ฌธ์๋๋ฌธ์๋๋ฌธ์ x1๊ณผ๊ณผ๊ณผ๊ณผ x2๊ฐ๊ฐ๊ฐ๊ฐ 3์ฐจ์ฐจ์ฐจ์ฐจ๋ฐฉ์ ์์๋ฐฉ์ ์์๋ฐฉ์ ์์๋ฐฉ์ ์์๊ทผ๊ทผ๊ทผ๊ทผ.
x1 + x2 + x3 = ฮฑฮฑฮฑฮฑ2
๊ฒฐ๊ตญ๊ฒฐ๊ตญ๊ฒฐ๊ตญ๊ฒฐ๊ตญ๋๋จธ์ง๋๋จธ์ง๋๋จธ์ง๋๋จธ์ง๊ทผ์๊ทผ์๊ทผ์๊ทผ์ x3 = ฮฑฮฑฮฑฮฑ2 โ x1 โ x2์ด์ด์ด์ด๋๊ณ ๋๊ณ ๋๊ณ ๋๊ณ ์ ์ ์ ์ P + Q์์์์์ขํ์ขํ์ขํ์ขํ (x3, y3)
RQP
S = P + Q
x
y
212
12
123 )( xx
xxyyx โโ
โโ= ))(( 31
12
1213 xx
xxyyyy โ
โโ+โ=
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
14
โ Elliptic CurveElliptic CurveElliptic CurveElliptic Curve ((((ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ) ) ) ) ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ
12
1
21
3 2)2
3( xy
axx โ+=
))(2
3( 311
21
13 xxy
axyy โ++โ=
P + Q์์์์์์์์ P = Q๊ฐ๊ฐ๊ฐ๊ฐ๋๋ฉด๋๋ฉด๋๋ฉด๋๋ฉด ฮฑฮฑฮฑฮฑ๋๋๋๋์ ์ ์ ์ P์์์์์์์์์์์์๋ฏธ๋ถ๋ฏธ๋ถ๋ฏธ๋ถ๋ฏธ๋ถ๊ฐ์ด๊ฐ์ด๊ฐ์ด๊ฐ์ด๋๊ธฐ๋๊ธฐ๋๊ธฐ๋๊ธฐ๋๋ฌธ์๋๋ฌธ์๋๋ฌธ์๋๋ฌธ์
y2 = x3 + ax + b์์์์ ์ํจ์์ํจ์์ํจ์์ํจ์๋ฏธ๋ถํ๋ฉด๋ฏธ๋ถํ๋ฉด๋ฏธ๋ถํ๋ฉด๋ฏธ๋ถํ๋ฉด
2yyโฒโฒโฒโฒ = 3x2 + a๊ฐ๊ฐ๊ฐ๊ฐ๋๊ณ ๋๊ณ ๋๊ณ ๋๊ณ ์ ์ ์ ์ P = (x1, y1)์์์์์์์์์์์์๊ธฐ์ธ๊ธฐ๋๊ธฐ์ธ๊ธฐ๋๊ธฐ์ธ๊ธฐ๋๊ธฐ์ธ๊ธฐ๋ ฮฑฮฑฮฑฮฑ = (3x12 + a) / 2y1์ด์ด์ด์ด๋๋ค๋๋ค๋๋ค๋๋ค.
์ ์ ์ ์ P + Q = S์์์์์ขํ์ขํ์ขํ์ขํ (x3, y3)์์์์ x1, y1, x2, y2๋ฅผ๋ฅผ๋ฅผ๋ฅผํตํด์ํตํด์ํตํด์ํตํด์ํํํ๋ฉดํํํ๋ฉดํํํ๋ฉดํํํ๋ฉด๋ค์๊ณผ๋ค์๊ณผ๋ค์๊ณผ๋ค์๊ณผ๊ฐ๋ค๊ฐ๋ค๊ฐ๋ค๊ฐ๋ค.
R
P
S = P + P
x
y
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ ์ ํ์ฒด์ ํ์ฒด์ ํ์ฒด์ ํ์ฒด((((finite Field) finite Field) finite Field) finite Field) ์์์์์์์์์์์์์์์์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์
p๊ฐ๊ฐ๊ฐ๊ฐ์์์ผ์์์ผ์์์ผ์์์ผ๋๋๋๋์ ํ์ ํ์ ํ์ ํ์ฒด์ฒด์ฒด์ฒด GF(p)์์์์์์์์์์์์์์์์ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ (elliptic curve)์์์์ a, b โโโโ GF(p)์์์์๊ฒฝ์ฐ์๊ฒฝ์ฐ์๊ฒฝ์ฐ์๊ฒฝ์ฐ์๋ฐฉ์ ์๋ฐฉ์ ์๋ฐฉ์ ์๋ฐฉ์ ์ y2 mod p = x3 + ax + b mod p๋ฅผ๋ฅผ๋ฅผ๋ฅผ๋ง์กฑํ๋๋ง์กฑํ๋๋ง์กฑํ๋๋ง์กฑํ๋ (x, y) ์ ๋ค์์ ๋ค์์ ๋ค์์ ๋ค์์งํฉ๊ณผ์งํฉ๊ณผ์งํฉ๊ณผ์งํฉ๊ณผ๋ฌดํ๋๋ฌดํ๋๋ฌดํ๋๋ฌดํ๋์ ์ ์ ์ OO์์์์์๋ฏธํ๋ค์๋ฏธํ๋ค์๋ฏธํ๋ค์๋ฏธํ๋ค. ๋ฌผ๋ก ๋ฌผ๋ก ๋ฌผ๋ก ๋ฌผ๋ก , x, y โโโโ GF(p)
a = 1 and b = 0์ผ์ผ์ผ์ผ ๋๋๋๋, ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ y2 = x3 + x.์ ์ ์ ์ (9,5)์์์์์์์์์์์์์์์์์์์์๋ง์กฑ๋ง์กฑ๋ง์กฑ๋ง์กฑ because :
y2 mod p = x3 + x mod p52 mod 23 = 93 + 9 mod 23 25 mod 23 = 738 mod 23 2 = 2
The 23 points which satisfy this equation are:
(0,0) (1,5) (1,18) (9,5) (9,18) (11,10) (11,13) (13,5) (13,18) (15,3) (15,20) (16,8) (16,15) (17,10) (17,13) (18,10) (18,13) (19,1) (19,22) (20,4) (20,19) (21,6) (21,17)
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
Java Animation : ecc-java2.htm
15
โ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ์ด์ฐ๋์์ด์ฐ๋์์ด์ฐ๋์์ด์ฐ๋์ ๋ฌธ์ ๋ฌธ์ ๋ฌธ์ ๋ฌธ์
โข GF(p), where p is a prime(์์์์์์์์)
โขํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์์ ์ ์ ์ P์์์์์์์์์์์์(order) t : tP = 0์์์์๋ง์กฑํ๋๋ง์กฑํ๋๋ง์กฑํ๋๋ง์กฑํ๋๊ฐ์ฅ๊ฐ์ฅ๊ฐ์ฅ๊ฐ์ฅ์์์์์์์์์ ์์ ์์ ์์ ์ t
โข GF(p)์์์์์์์์์์์์์ ์๋์ ์๋์ ์๋์ ์๋ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์ํ์๊ณก์ ์์์ ์ ์ ์ Q, ์์๊ฐ์์๊ฐ์์๊ฐ์์๊ฐ t ์ธ์ธ์ธ์ธ์ ์ ์ ์ P,
Q = xP๋ฅผ๋ฅผ๋ฅผ๋ฅผ๋ง์กฑํ๋๋ง์กฑํ๋๋ง์กฑํ๋๋ง์กฑํ๋์ ์์ ์์ ์์ ์ x โโโโ [0, tโโโโ1]๋ฅผ๋ฅผ๋ฅผ๋ฅผ๊ตฌํ๋๊ตฌํ๋๊ตฌํ๋๊ตฌํ๋๋ฌธ์ ๋ฌธ์ ๋ฌธ์ ๋ฌธ์
P, 2P = P + P, 3P = P + P + P, โฆ๋ฅผ๋ฅผ๋ฅผ๋ฅผ์ฐ์์ ์ผ๋ก์ฐ์์ ์ผ๋ก์ฐ์์ ์ผ๋ก์ฐ์์ ์ผ๋ก๊ณ์ฐ๊ณ์ฐ๊ณ์ฐ๊ณ์ฐ
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
y2 mod 23 = x3 + 9x + 17 mod 23,
What is the discrete logarithm x of Q = (4,5) to the base P = (16,5)? Q = xP
P = (16,5) 2P = (20,20) 3P = (14,14) 4P = (19,20) 5P = (13,10)6P = (7,3) 7P = (8,7) 8P = (12,17) 9P = (4,5)
Since 9P = (4,5) = Q, the discrete logarithm of Q to the base P is x = 9.
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ ๋ฐ๋ณต๋ฐ๋ณต๋ฐ๋ณต๋ฐ๋ณต 2222๋ฐฐ์๋ฐฐ์๋ฐฐ์๋ฐฐ์----๋ง์ ๋ง์ ๋ง์ ๋ง์
โข 2P = P + P
โข 100P = 2( 2( P + 2( 2( 2( P + 2P ) ) ) ) )
16
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
What is the discrete logarithm of Q(-0.35,2.39) to the base P(-1.65,-2.79) in the elliptic curve group y2 = x3 - 5x + 4over real numbers?
โ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ์ด์ฐ๋์์ด์ฐ๋์์ด์ฐ๋์์ด์ฐ๋์ ๋ฌธ์ ๋ฌธ์ ๋ฌธ์ ๋ฌธ์
Java Animation : ecc-java3.htm
โ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ
ElGamal๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค์ํธ์ํธ์ํธ์ํธ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค์ํธ์ํธ์ํธ์ํธ
๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค : { g, p, y = gx mod p } { G, p, Y = xG }๊ฐ์ธํค๊ฐ์ธํค๊ฐ์ธํค๊ฐ์ธํค : { x } { x }์ํธํ์ํธํ์ํธํ์ํธํ : [ c1, c2 ] = [ gx mod p, yxm mod p ] [ C1, C2 ] = [ xG, xY + M ]๋ณตํธํ๋ณตํธํ๋ณตํธํ๋ณตํธํ : c2 c1
โโโโx mod p C2 โ xC1
[์์์์] p = 11, a =1, b = 6์ธ์ธ์ธ์ธ ๊ฒฝ์ฐ์๊ฒฝ์ฐ์๊ฒฝ์ฐ์๊ฒฝ์ฐ์ GF(p)์์์์์์์์์์์์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ y2 = x3 + x2 + 6์ด์ด์ด์ด ์ ์๋๊ณ ์ ์๋๊ณ ์ ์๋๊ณ ์ ์๋๊ณ ํ์ํ์ํ์ํ์๊ณก์ ์์๊ณก์ ์์๊ณก์ ์์๊ณก์ ์์์ ๋ค์์ ๋ค์์ ๋ค์์ ๋ค์๋ค์๊ณผ๋ค์๊ณผ๋ค์๊ณผ๋ค์๊ณผ๊ฐ๋ค๊ฐ๋ค๊ฐ๋ค๊ฐ๋ค.
(2, 4) (2, 7) (3, 5) (3, 6) (5, 2) (5, 9)(7, 2) (7, 9) (8, 3) (8, 8) (10, 2) (10, 9)
์์ ์์์์ ์์์์ ์์์์ ์์๊ฐ์ธํค๊ฐ์ธํค๊ฐ์ธํค๊ฐ์ธํค x = 7, ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค G = (2, 7), Y = 7(2, 7) = (7, 2)๊ฐ๊ฐ๊ฐ๊ฐ์ฃผ์ด์ก์์ฃผ์ด์ก์์ฃผ์ด์ก์์ฃผ์ด์ก์๋๋๋๋, ์ก์ ์๋์ก์ ์๋์ก์ ์๋์ก์ ์๋์์์์์์์์์์์์๋์๋์๋์๋์ x = 3์์์์์ ์ ํ์ฌ์ ์ ํ์ฌ์ ์ ํ์ฌ์ ์ ํ์ฌํ๋ฌธํ๋ฌธํ๋ฌธํ๋ฌธ M = (10, 9)์์์์์ํธ๋ฌธ์ํธ๋ฌธ์ํธ๋ฌธ์ํธ๋ฌธ C1 = 3(2, 7) = (8, 3), C2= 3(7, 2) + (10, 9) = (10, 2)๋ก๋ก๋ก๋ก์ ํํ๋ค์ ํํ๋ค์ ํํ๋ค์ ํํ๋ค.
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
17
โ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ์ด์ฐ๋์์์ด์ฐ๋์์์ด์ฐ๋์์์ด์ฐ๋์์์์ธ์์์ธ์์์ธ์์์ธ์๋ถํด์๋ถํด์๋ถํด์๋ถํด์์์๋๋์์๋๋์์๋๋์์๋๋๊ณ์ฐ๋๊ณ์ฐ๋๊ณ์ฐ๋๊ณ์ฐ๋
p(bits) t (bits) mipsโโโโyear
163 160 280 9.6 รรรร 1011
191 186 293 7.9 รรรร 1015
239 234 2117 1.6 รรรร 1023
359 354 2177 1.5 รรรร 1041
431 426 2213 1.0 รรรร 1052
n (bits) mipsโโโโyear
512 3 รรรร 104
768 2 รรรร 108
1024 3 รรรร 1011
1280 1 รรรร 1014
1536 3 รรรร 1016
2048 3 รรรร 1020
1โโโโmips ์ปดํจํฐ๊ฐ์ปดํจํฐ๊ฐ์ปดํจํฐ๊ฐ์ปดํจํฐ๊ฐ 1์ด์์ด์์ด์์ด์ 40,000๋ฒ์๋ฒ์๋ฒ์๋ฒ์ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ๋ง์ ๋ง์ ๋ง์ ๋ง์ ์์์์์ํํ ์ํํ ์ํํ ์ํํ ์๊ฐ์๊ฐ์๊ฐ์๊ฐ์๋ค๊ณ ์๋ค๊ณ ์๋ค๊ณ ์๋ค๊ณ ๊ฐ์ ๊ฐ์ ๊ฐ์ ๊ฐ์ .
1โโโโmips ์ปดํจํฐ๋์ปดํจํฐ๋์ปดํจํฐ๋์ปดํจํฐ๋ 1๋ ๋ ๋ ๋ ๋์์๋์์๋์์๋์์ (40,000)(60รรรร60รรรร24รรรร365) โโโโ 240๋ฒ์๋ฒ์๋ฒ์๋ฒ์ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ๋ง์ ๋ง์ ๋ง์ ๋ง์ ์์์์์ํ์ํ์ํ์ํ.
์ผ์ชฝ์ผ์ชฝ์ผ์ชฝ์ผ์ชฝํ๋ํ๋ํ๋ํ๋์ฌ๋ฌ์ฌ๋ฌ์ฌ๋ฌ์ฌ๋ฌ๊ฐ์๊ฐ์๊ฐ์๊ฐ์ t๊ฐ์๊ฐ์๊ฐ์๊ฐ์๋ํด์๋ํด์๋ํด์๋ํด์ Pollard์์์์ rho์๊ณ ๋ฆฌ์ฆ์์๊ณ ๋ฆฌ์ฆ์์๊ณ ๋ฆฌ์ฆ์์๊ณ ๋ฆฌ์ฆ์์ ์ฉ์ ์ฉ์ ์ฉ์ ์ฉํ ํ ํ ํ ๋๋๋๋, ํํํํ๊ฐ์๊ฐ์๊ฐ์๊ฐ์ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ์ด์ฐ๋์๋ฅผ์ด์ฐ๋์๋ฅผ์ด์ฐ๋์๋ฅผ์ด์ฐ๋์๋ฅผ๊ณ์ฐํ๊ธฐ๊ณ์ฐํ๊ธฐ๊ณ์ฐํ๊ธฐ๊ณ์ฐํ๊ธฐ์ํด์ํด์ํด์ํด์์๋๋์์๋๋์์๋๋์์๋๋๊ณ์ฐ๋์๊ณ์ฐ๋์๊ณ์ฐ๋์๊ณ์ฐ๋์๋ํ๋ธ๋ค๋ํ๋ธ๋ค๋ํ๋ธ๋ค๋ํ๋ธ๋ค.
์๋ฅผ์๋ฅผ์๋ฅผ์๋ฅผ๋ค๋ฉด๋ค๋ฉด๋ค๋ฉด๋ค๋ฉด 1,000โโโโmips ์ปดํจํฐ์ปดํจํฐ์ปดํจํฐ์ปดํจํฐ 10,000๋๋ฅผ๋๋ฅผ๋๋ฅผ๋๋ฅผ์ด์ฉํ์ฌ์ด์ฉํ์ฌ์ด์ฉํ์ฌ์ด์ฉํ์ฌ t = 2160์ธ์ธ์ธ์ธ๊ฒฝ์ฐ์๊ฒฝ์ฐ์๊ฒฝ์ฐ์๊ฒฝ์ฐ์ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ํ์๊ณก์ ์ด์ฐ๋์๋ฅผ์ด์ฐ๋์๋ฅผ์ด์ฐ๋์๋ฅผ์ด์ฐ๋์๋ฅผ๊ตฌํ๊ธฐ๊ตฌํ๊ธฐ๊ตฌํ๊ธฐ๊ตฌํ๊ธฐ์ํด์๋์ํด์๋์ํด์๋์ํด์๋ 96,000โโโโyear๊ฐ๊ฐ๊ฐ๊ฐ ์์๋๋ค์์๋๋ค์์๋๋ค์์๋๋ค
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ
โ ECC, RSA, DSA ์์ ์ฑ์์ ์ฑ์์ ์ฑ์์ ์ฑ๋น๊ต๋ถ์๋น๊ต๋ถ์๋น๊ต๋ถ์๋น๊ต๋ถ์
0
0.2
0.4
0.6
0.8
1
1.2
0
1000
2000
3000
4000
5000
6000
10000 100000000 1E+12 1E+20 1E+36
Time to Break Key (mips-years)
Ke
y S
ize
(Bit
s) ECC
RSA &DSA
์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ์ํธ์ด๋ก ๊ณผ ๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์๋ณด์ ๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค๊ณต๊ฐํค ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ์ํธ