Hash๋? ย
Hash๊ฐ ์์ด๋๊น ๋จผ์ ๋จ์ด ๋ป์ ๋จผ์ ์์๋ด์ผ ๊ฒ ์ง? Hash๋ โ์ ๋ฏธ๋ค, ๋ค์ง๋ค, ์๊ฒ ์ฐ๋ค(chop up)โ๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์๋๋ฐ.. ์๋ฆฌ ์ค์์ Hash Brown ์ด๋ ์๋ฆฌ๋, ์๊ฒ ๋ค์ ธ์ง ๊ฐ์๋ฅผ ์ฃผ์ฌ๋ฃ๋ก ํด์ ๋ง๋๋ ๊ฐ๋จํ ์์์ด๋๋๋ค. ย
Hash Function์ด๋? ย
์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ฏ์ด ํจ์(F)๋ ์ ๋ ฅ๊ฐ(X)์ ์ถ๋ ฅ๊ฐ(Y) ์ฌ์ด์ ๊ด๊ณ๋ฅผ ํํํ๋ ์ ๋๋ ์์คํ ์ด๋ค. X๊ฐ๊ณผ Y๊ฐ์ ์ฃผ๊ณ ํจ์F๋ฅผ ์ฐพ๋๋ค ๋๊ฐ, X๊ฐ ๋๋ Y๊ฐ์ ์ฃผ๋ฉด ์ถ๋ ฅ๊ฐ ๋๋ ์ ๋ ฅ๊ฐ์ ๊ณ์ฐํด ๋ผ ์ ์์ง๋ง, ํด์ํจ์๋ ์ข ํน์ดํ๋ค.ย
ํด์ํจ์๋ ์ถ๋ ฅ๊ฐ์ด ์ฃผ์ด์ก์ ๋, ์ด์ ํด๋นํ๋ ๋ณธ๋์ ์ ๋ ฅ๊ฐ์ ์ฐพ๋ ๊ฒ์ด (์ผ์ ์๊ฐ ๋ด์๋)๋ถ๊ฐ๋ฅํ๋ค. ๋ง์น Hash Brown์ ๋ณด๊ณ ์ ๊ฐ์์ ๋ชจ์ต์ ์ ์ถํ ์ ์ ๋ฏ์ด ๋ง์ด๋ค. ์ํผ์ปดํจํฐ๋ก๋ ๊ณ์ฐํ์ ๋ 100๋ ์ด์์ด ๊ฑธ๋ฆฐ๋ค๋ฉด ์ผ๋จ์ ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น์ด ๊ฒ์ด๋ค. ์ด๋ฅผ ํด์ํจ์์ ๋จ๋ฐฉํฅ์ฑ์ด๋ผ๊ณ ํ๋ค. ์ด์ธ์๋ ์๋์ ๊ฐ์ ํน์ง์ด ์๋ค. ย
-์์ถ : ์ถ๋ ฅ๊ฐ์ ๊ธธ์ด๋ ์ ๋ ฅ๊ฐ์ ๊ธธ์ด๋ณด๋ค ์์์ผํ๋ค. ย
-์ถฉ๋๋ฐฉ์ง : ์๋ก ๋ค๋ฅธ ์ ๋ ฅ๊ฐ์ ์๋ก ์ถ๋ ฅ๊ฐ์ ๊ฐ์ ธ์ผํ๋ค. ย
-๋์ฌํํจ๊ณผ : ์ ๋ ฅ๊ฐ์ด ๋จ 1๋นํธ๋ผ๋ ์ฐจ์ด๋ ๋ ์ถ๋ ฅ๊ฐ์ ๋ฐ์ด์ ๋ค๋ฅธ ๊ฐ์ด ๋์์ผํ๋ค. ย
-ํจ์จ์ฑ : ์ด๋ค ์ ๋ ฅ๊ฐ์ด๋ผ๋ ์ถ๋ ฅ๊ฐ์ ์ฝ๊ฒ ๊ณ์ฐ๋์ด์ผ ํ๋ค.ย
ํด์ํจ์์ ์์ถํน์ง์ ์ถฉ๋์ ๊ฐ๋ฅ์ฑ์ ๊ฐ์ง๊ณ ์๋ค. ์๋ํ๋ฉด ์ผ์ชฝ์ input์์ญ์ด ์ค๋ฅธ์ชฝ์ output ์์ญ(8์๋ฆฌ์ 16์ง์)๋ณด๋ค ํญ์ ํฌ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด์ ๊ด๋ จํ์ฌ ์์ผ๋ฌธ์ ๊ฐ ์ดํด์ ๋์์ ์ค๋ค. ย
์์ผ๋ฌธ์ ย
์์ผ ๋ฌธ์ ๋ ์ฌ๋์ด ์์๋ก ๋ชจ์์ ๋ ๊ทธ ์ค์ ์์ผ์ด ๊ฐ์ ๋ ๋ช ์ด ์กด์ฌํ ํ๋ฅ ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๊ณ 2 ์ ๋์ ์ํ ์์ค์ผ๋ก ๊ทธ๋ ๊ฒ ๋ง์ด ์ด๋ ต์ง๋ ์์ผ๋ฏ๋ก ๋ฏธ๋ฆฌ ๊ฒ๋จน์ง๋ ๋ง์๊ธธ^^ ์์ผ์ ๊ฐ๋ฅํ ๊ฐ์ง์๋ 365๊ฐ(2์29์ผ์ ๊ณ ๋ คํ ๊ฒฝ์ฐ 366๊ฐ)์ด๋ฏ๋ก 366๋ช ์ด์์ ์ฌ๋์ด ๋ชจ์ธ๋ค๋ฉด ์์ผ์ด ๊ฐ์ ๋ ๋ช ์ด ๋ฐ๋์ ์กด์ฌํ๋ฉฐ, 23๋ช ์ด์์ด ๋ชจ์ธ๋ค๋ฉด ๊ทธ ์ค ๋ ๋ช ์ด ์์ผ์ด ๊ฐ์ ํ๋ฅ ์ 1/2์ ๋๋๋ค. ย
์ผํ ์ง๊ด์ ์ผ๋ก ์๊ฐ ํ๊ธฐ์๋ ์์ผ์ด 365๊ฐ์ง์ด๋ฏ๋ก ์์์ ๋ ์ฌ๋์ ์์ผ์ด ๊ฐ์ ํ๋ฅ ์ 1/365์ด๊ณ , ๋ฐ๋ผ์ 365๋ช ์ฏค์ ๋ชจ์ฌ์ผ ์์ผ์ด ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ์ฝ๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ก๋ 23๋ช ๋ง ๋ชจ์ฌ๋ ์์ผ์ด ๊ฐ์ ๋ ์ฌ๋์ด ์์ ํ๋ฅ ์ด 50%๋ฅผ ๋๊ณ , 57๋ช ์ด ๋ชจ์ด๋ฉด ํ๋ฅ ์ด 99%๊ฐ ๋์ด์ โํญ์ ์๋คโ ๋ผ๊ณ ์ด์ผ๊ธฐํด๋ ํฌ๊ฒ ๊ฑฐ์ง๋ง ํ๋ ์ฌ๋์ด ์๋๋ค.^^ ย
์ด์ ์์์ผ๋ก ํ๋ฒ ํ์ด ๋ณด์. n๋ช ์ ์ฌ๋์ด ์์ ๋ ๊ทธ ์ค ์์ผ์ด ๊ฐ์ ์ฌ๋์ด ๋ ์ด์ ์์ ํ๋ฅ ์ p(n)์ด๋ผ๊ณ ํ์. ๊ทธ๋ผ ๋ชจ๋ ์ฌ๋์ ์์ผ์ด ๋ค๋ฅผ ํ๋ฅ [p(n)] ์ 1-p(n)์ด ๋๋ค. ๋จผ์ [p(n)]์ ๊ตฌํด๋ณด๋ฉด, ๋ ๋ฒ์งธ ์ฌ๋์ ์์ผ์ ์ฒซ๋ฒ์งธ ์ฌ๋๊ณผ ๋ค๋ฅด๊ณ , ์ธ๋ฒ์งธ ์ฌ๋์ ์์ผ์ ์ฒซ ๋ฒ์งธ์ ๋ ๋ฒ์งธ์ ๋ชจ๋ ๋ฌ๋ผ์ผ ํ๋ฏ๋ก ์๋์ ๊ฐ์ ์์ ์ป์ ์ ์๋ค.ย [p(n)]์ด ์๋์ด๋ค.. ์์์ง์์ด ์๋จ--;;
๊ฐ ๋๊ณ , ์ต์ข ์ ์ผ๋ก ๊ตฌํ๊ณ ์ ํ๋ ์์ผ์ด ๊ฐ์ ์ฌ๋์ด ๋ ์ด์ ์์ ํ๋ฅ p(n)์ ย
๊ฐ ๋๋ค. ์ฌ๊ธฐ์, nโค365์ธ ์์ฐ์ ์ด๋ค. ์ด p(n)๊ฐ์ ํน์ n๊ฐ์ ๋ํ์ฌ ๊ณ์ฐํ๋ฉด ์๋์ ๊ฐ๋ค.ย
์ฆ, 50๋ช ๋ง ๋ชจ์ด๋ฉด ๊ทธ ๊ฐ์ด๋ฐ 2๋ช ์ด์์ ์์ผ์ด ๊ฐ์ ํ๋ฅ ์ด 97%์ด๊ณ , 100๋ช ์ด ๋ชจ์ด๋ฉด ๊ฑฐ์ 1์ ๊ฐ๊น์์ง๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ์์ผ์ด ๊ฐ์ ๋ ์ฌ๋์ ์ฐพ๋ ๊ฒ๊ณผ ๋น์ทํ๊ฒ, ์ํธํ์ ํด์ ๊ฒฐ๊ณผ๊ฐ ๊ฐ์, ์ฆ ํด์์ถฉ๋์ด ๋ฐ์ํ๋ ๋ ์ ๋ ฅ๊ฐ์ ์ฐพ๋ ๊ฒ ์ญ์ ๋ชจ๋ ์ ๋ ฅ๊ฐ์ ๊ณ์ฐํ์ง ์์๋ ์ถฉ๋ถํ ๋์ ํ๋ฅ ๋ก ํด์ ์ถฉ๋์ ์ฐพ์ ์ ์๋ค. ์ด๋ฌํ ์ํธ ๊ณต๊ฒฉ์ ์์ผ ๊ณต๊ฒฉ(birthday attack)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ย
์ ๋ณด๋ณดํธ์ ๊ธฐ๋ณธ ์์น ย
์ ๋ณด์ ์์ง, ๊ฐ๊ณต, ์ ์ฅ, ๊ฒ์, ์ก์์ ์ค์ ์ ๋ณด์ ํผ์, ๋ณ์กฐ, ์ ์ถ ๋ฑ์ ๋ฐฉ์งํ๊ธฐ ์ํ ๊ด๋ฆฌ์ , ๊ธฐ์ ์ ์๋จ์ ๊ฐ๊ตฌํ๋ ๊ฒ์ผ๋ก ์๋์ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ค.(CIA/ANA: ์ค์ํ ๋ด์ฉ์ด๋ฏ๋ก ๋ฏธ์ค์์ ๋ณด๊ตญ โCIA์๋?"๋ก ์์ง^^) ย
-๊ธฐ๋ฐ์ฑ(Confidential) : A๊ฐ B์๊ฒ ์ ๋ณด์ ๋ฌ ์ ์ 3์๊ฐ ์์์ฐจ๋ฆด ์ ์๋๋ก ๋ณํ์ํค๋ ๊ธฐ์ ย
-๋ฌด๊ฒฐ์ฑ(Integrity) : A๊ฐ B์๊ฒ ์ ๋ณด์ ๋ฌ ์ ๋ด์ฉ์ด ์ค๊ฐ์ ๋ณ๊ฒฝ๋์ง ์๋๋ก ํ๋ ๊ธฐ์ ย
-์ธ์ฆ(Authentication) : ์ ๋ณด๋ฅผ ๋ฐ๋ ์ฌ๋์ด ๋๊ตฌ ์ธ์ง ํ์ธํ๋ ๊ธฐ์ ย
-์ ๊ทผ์ ์ด(Access Control) : ํ๊ฐ ๋ฐ์ ์ฌ๋๋ง์ด ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ๊ธฐ์ ย
-๋ถ์ธ๋ฐฉ์ง(Non-repudiation) : ์ ๋ณด๋ฅผ ์ก์์ ํ ํ์ ๊ทธ์ ๋ํ ์ฌ์ค์ ๋ถ์ธ์ ๋ฐฉ์งํ๋ ๊ธฐ์ ย
-๊ฐ์ฌ์ถ์ (Audit) : ์์คํ ์์ ์ฒ๋ฆฌ ์ด๋ ฅ์ ๊ธฐ๋กํ์ฌ ํฅํ ๋ฌธ์ ๋ฐ์์ ๊ทผ์์ง๋ฅผ ํ์ธํ๋ ๊ธฐ์ ย
ํด์ํจ์์ ์ข ๋ฅ ย
์ด๋ ๊ฒ ํด์ ๋ง๋ค์ด์ง ํ์ฌ์ ํด์ํจ์์ ์ข ๋ฅ๋ MD(Message Digest) ๊ณ์ด๊ณผ SHA(Secure Hash Algorithm) ๊ณ์ด ๋ฑ์ด ์์ผ๋ฉฐ, ์ด ์ธ์๋ ์ฌ๋ฌ ์ข ๋ฅ์ ํด์ํจ์๋ค์ด ๊ฐ๋ฐ๋๊ณ ์๋ค. MD5๋ ์ด๋ฏธ ํด์์ถฉ๋์ด ๋ฐ๊ฒฌ๋์๊ณ , SHA-1์ ๊ฒฝ์ฐ๋ ๊ตฌ๊ธ์ด ํด๋ผ์ฐ๋์ ์๋ ์ปดํจํฐ๋ฅผ ๋์ํด 922๊ฒฝ 3372์กฐ 368์ต 5475๋ง๋ฒ ์ด์ ์ฐ์ฐ์ ์ํํด ์ถฉ๋์ ๊ท๋ช ํ๋ค. ์ฃผ๋ก ์ฌ์ฉ๋๋ ๊ฒ์ด SHA-256์ด๋ฉฐ, ๋นํธ์ฝ์ธ์ ๋ธ๋ก์ฒด์ธ์์์ ์ฌ์ฉ๋ ํด์ํจ์๊ฐ SHA-256์ด๋ค. ย
ํด์ํจ์์ ์ฌ์ฉ ์ ย
๊ฐ์ฅ ๊ฐ๋จํ ์๋ก ์์คํ ๋ก๊ทธ์ธ ํจ์ค์๋์ ์ํธํ์ด๋ค. ์ํธํ ๋์ง์์ Plaintextํํ๋ก ํจ์ค์๋๋ฅผ ์ ์ฅํ๋ฉด ๋น์ฐํ CIA/ANA์ ์์น์ค์์ ๊ธฐ๋ฐ์ฑ์ ์๋ฐํ๋ ๊ฒ์ด๋ค. ์ฌ์ฉ์๊ฐ ์ค์ ํ ํจ์ค์๋๋ฅผ ํด์ํจ์๋ก ํจํธํํด์ ํด์๊ฐ์ ์ ์ฅํ๊ณ , ์ดํ์ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ์ ์ ๋ ฅํ ํจ์ค์๋์ ํด์ํจ์ ๊ฐ์ด ์ ์ฅ๋ ํด์ํจ์ ๊ฐ๊ณผ ๊ฐ์ผ๋ฉด, ์ ๋ ฅ๊ฐ์ด ๊ฐ๋ค๊ณ ๋ณด๊ณ ์์คํ ์ ๊ทผ์ ํ์ฉํ๋ค. ย
H(x)=H(y) ์ด๋ฉด x=y <=> xโ y ์ด๋ฉด H(x) โ H(y) ย
ํด์ ํจ์๋ ์ ์ ์๋ช ๊ณผ ํจ๊ป ์ฌ์ฉ๋์ด ํจ์จ์ ์ธ ์๋ช ์์ฑ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค. ๊ธด ๋ฉ์์ง์ ๋ํด ์๋ช ์ ํ๋ ๊ฒฝ์ฐ, ์ ์ฒด ๋ฉ์์ง์ ๋ํด ์ง์ ์๋ช ์ ํ๋ ๊ฒ์ด ์๋๊ณ ์งง์ ํด์ฌ๊ฐ์ ๊ณ์ฐํด ์ด๊ฒ์ ๋ํด ์๋ช ์ ํ๊ฒ ๋๋ค. ๊ณต๊ฐํค ์ฐ์ฐ์ ๋ง์ ๊ณ์ฐ๋์ ํ์๋ก ํ๊ธฐ ๋๋ฌธ์ ์ ์ฒด ๋ฉ์์ง๋ฅผ ๊ณต๊ฐํค ๊ธธ์ด์ ๋ธ๋ก ๋จ์๋ก ๋๋์ด ๋ชจ๋ ๋ธ๋ก์ ๋ํด ์๋ช ์ ํ๋ ๊ฒ์ ๋งค์ฐ ๋นํจ์จ์ ์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋จผ์ ๋ฉ์์ง๋ฅผ ์ ๋ ฅ ๋ฐ์ ์งง์ ํด์ฌ๊ฐ์ ๊ณ์ฐํ๊ณ , ์ด๊ฒ์ ๋ํด ํ ๋ฒ์ ์๋ช ์ฐ์ฐ์ ํ๋ ๊ฒ์ด๋ค. ์ด ๊ณ์ฐ๊ฐ์ ์๋์ ๋ฉ์์ง์ ๋ํ ์๋ช ์ผ๋ก ์ธ์ ๋๋ค.ย
์ด๋ฌํ ๋ก๊ทธ์ธ ์ธ์ฆ ๋ฐ ์ ์์๋ช ์ธ์๋ ๋ฉ์์ง ์ง๋ฌธ, ๋ฐ์ดํฐ ํผ์ ๋ฐ๊ฒฌ ๋ฐ ๋ฐ์ด๋ฌ์ค ํ์ง ๋ฑ ์๋ ์ฌ์ฉ๋๋ค.ย
์ํธํ๊ณผ ํด์ํจ์ ย
์ํธํ๊ณผ ๋ณ๊ด๋ จ์ด ์๋ ๋ฏ ํ์ง๋ง ์ํธํ์ ๋ฐฐ์ฐ๋ค ๋ณด๋ฉด ํด์ํจ์๋ ํ์๋ผ๋ ๊ฒ์ ์๊ฒ๋๋ค. ์ํธ๋ผ๋๊ฒ ๋ณตํธ๊ฐ ๋์์ ๋๋ง ์๋ฏธ๊ฐ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ธ๋ค. ํด์ฌํจ์๋ ์ด๋ ํ ๋ฉ์ธ์ง๋ฅผ ํน์ ๊ธธ์ด์ ๋ฉ์ธ์ง๋ก ๋ฐ๊พธ์ด์ ํด๋น ๋ฉ์ธ์ง๊ฐ ์ ๋ฌ๊ณผ์ ์ ์์ ๋์ง ์์๋์ง ๋ฌด๊ฒฐ์ฑ์ ํ์ธํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด 10MB ์ง๋ฆฌ ๋ฐ์ดํฐ์ ๋ํ ๋ด์ฉ์ SHA-256 ์ด๋ฉด 256๋นํธ์ง๋ฆฌ ๋ฉ์ธ์ง๋ก ํด์๊ฐ์ ๊ตฌํ ํ10MB ์ง๋ฆฌ ๋ฐ์ดํฐ์ ๊ฐ์ด ํด์๊ฐ์ ์ ๋ฌํ๋ฉด, ๋ฐ์ ์ฌ๋์ด 10MB ์ง๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๋ค์ SHA-256 ์ผ๋ก ํด์๊ฐ์ ๊ตฌํด์ ์ ๋ฌ๋ฐ์ ํด์๊ฐ๊ณผ ๋น๊ตํด ๊ฐ์ผ๋ฉด ๋ฐ์ดํฐ๊ฐ ์์๋์ง ์์๋ค๋ ๊ฒ์ ํ์ธํ๋ค.
์ํธํ/๋ณตํธํ ๋ฐฉ์ ย
ECB(Electronic Codebook) ๋ชจ๋ : ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ํธํ ๋ฐฉ์์ผ๋ก ๋ฉ์์ง๋ธ๋ก์ด ์๋ก ์์ด์ง ์์๊ธฐ ๋๋ฌธ์ ์ ํํ ์ด๋ค ๋ด์ฉ์ธ์ง๋ ๋ชจ๋ฅด์ง๋ง, ์ด๋ ดํํ๊ฒ ํ์ ์ง์ํ ์ ์๋ค. ย
-ECB Encryption(์ํธํ) : Plaintext -> Input block(Encrypt)Output block -> Ciphertext ย
-ECB Decryption(๋ณตํธํ) : Ciphertext -> Input block(Decrypt)Output block -> Plaintext ย
๋ฉ์์ง๊ฐ ๋ค์ด์ค๋ฉด ์ผ์ ๋จ์๋ก ๋์ด์ ์ํธํ ๋ณตํธํ ์ํจ๋ค. ECB ๋ชจ๋์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ ์ ๊ณต๊ฒฉ์๊ฐ ์ค๊ฐ์ ํ๋ธ๋ก์ ์์ ๋๋ผ๋ ์์ ์๋ ๋ณ์กฐ(์์๋ณํ, ์ญ์ ๋ฑ)๋ฅผ ์ ์ ์๋ค. ย
CBC(Cipher Block Chain) ๋ชจ๋ : ๋ฉ์์ง๊ฐ ๋ค์ด ์ค๋ฉด ์ผ์ ๋จ์๋ก ๋๋๋ค. ์ฒซ๋ฒ์งธ ๋ธ๋ก์ ์ํธํ ํ๋ค. M1 -> C1 ๋๋ฒ์งธ ๋ธ๋ก์ ์ฒซ๋ฒ์งธ ๋ธ๋ก์ ์ํธ๋ฌธ๊ณผ ๊ฒฐํฉ๋ ํ ์ํธ๋ฌธ ๋ธ๋ก์ ๋ง๋ ๋ค. M2*C1 -> C2 ์ดํ ๋์ผํ ๊ณผ์ ์ ๊ฑฐ์น๋ฉฐ, ๋ณตํธํ๋ ์ด์ ์ญ์์ด๋ค. ๋ฉ์์ง์ ํจํด์กฐ์ฐจ ์ง์ํ๊ธฐ ํ๋ค๋ค. ๋ฐ๋ผ์ ํด์ฌํจ์๋ก ์ฌ์ฉํ์ฌ ์ ์์๋ช ๋ฑ์ ์์ฉ๋ถ์ผ์ ์ฌ์ฉํ ์ ์๋ค. ย
ํน์ง์ ์ํธํ ํน์ ๋ณตํธํ์ ๊ณผ์ ์์ ์ฒซ๋ฒ์งธ ๋ธ๋ก ํน์ ๋๋ฒ์งธ ๋ธ๋ก์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด ๊ทธ ์ดํ์ ๋ธ๋ก๋ค์์ ์ฐ๋ฌ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. CBC ๋ชจ๋์์๋ ๋ธ๋ก๊ณผ ๋ธ๋ก์ด ์๋ก ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ํ ๋ธ๋ก์ ์์ ๊ฑฐ๋ ์์๋ฅผ ๋ฐ๊พธ๋ฉด ์ํธํ ํน์ ๋ณตํธํ๊ฐ ์ ๋๋ก ๋์ง ์๋๋ค. ย
ํด์ํจ์์ ์ํธํํ ย
์ฌํ ์์ ๋ ผ๋ฌธ์ ์ ์ํํ๋ฅผ ๋์งํธ์๋ช ์ ์ฒด์ธ์ผ๋ก ์ ์๋ฅผ ํ๊ณ ์๋ค.(We define an electronic coin as a chain of digital signature). ์ด ์ ์ํํ๊ฐ ์ ๋๋ก ๊ธฐ๋ฅ์ ํ๊ธฐ์ํด์๋ ์ด์ค์ง๋ถ(double spending)๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋๋ฐ, ์ด๋ฅผ ์ํด์ ์ด๋ ๊ฒ์ด ์ง์ง ์ธ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ณผ์ ์ด ํ์ํ๋ฉฐ, ์ด๋์ ํด์ํจ์์ ์ํธํ๊ฐ ์๋ฆฌ๊ฐ ์ ์ฉ๋๋ค. ๊ทธ๋์ ์ํธํํ(Cryptocurrency)๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ย
๋ธ๋ก์ ๊ฑฐ๋ ๊ธฐ๋ก์ ์งํฉ์ด๊ณ ๋ธ๋ก์ฒด์ธ์ ๊ทธ ๋ธ๋ก๋ค์ด ์ฐ๊ฒฐ๋์ด ์๋ ๊ฒ์ด๋ค. ๋ธ๋ก์ "์ฒด์ธ๋"ํ๊ธฐ ์ํด ํด์ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ๋ค. ๋ธ๋ก์ ๊ฐ๊ธฐ ์ฃผ์๋ฅผ ๊ฐ๊ณ ์๋ค. ์ด ์ฃผ์๊ฐ ๋ฐ๋ก โํ์ฌ ํด์โ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ธ๋ก์ ์๋ก ์ฐ๊ฒฐ๋์ด ์์ผ๋ฏ๋ก, ์ด์ ๋ธ๋ก์ ์ฃผ์๋ ๊ฐ๊ณ ์์ด์ผ ํ๋ค. ์ด์ ๋ธ๋ก์ ์ฃผ์๊ฐ ๋ฐ๋ก โ์ด์ ํด์ฌโ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ํด์๊ฐ๋ค์ ๋ฐ๋์ โ0000โ์ผ๋ก ์์๋์ด์ผ ํ๋ค. ์ฌ๊ธฐ์ ํ์ฌํด์๋ "Nonce, ๊ฑฐ๋๋ด์ญ, ์ด์ ํด์" ์ ํจ์๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ย
ํ์ฌํด์ = f(Nonce, ๊ฑฐ๋๋ด์ญ, ์ด์ ํด์) ย
์, ์ด์ 10๋ฒ์งธ ๋ธ๋ก์ ์์ฑํ๋ ๊ณผ์ ์ ๋ณด์. ๋จผ์ , ์ง๋ 10๋ถ๊ฐ์ โ๊ฑฐ๋๋ด์ญโ์ ๋ธ๋ก์ ๋ด๋๋ค. ๊ทธ๋ฆฌ๊ณ , โ์ด์ ํด์โ ๊ฐ์ ๊ฐ์ ธ ์จ๋ค. ์ด์ ๊ฑฐ๋๋ด์ญ๊ณผ ์ด์ ํด์ ๊ฐ์ ์ด๋ฏธ ์ ํด์ก๋ค. ์ฌ๊ธฐ์ 10๋ฒ์งธ ๋ธ๋ก์ ์์ฑํ๋ ๊ณผ์ ์ด๋, โํ์ฌํด์โ ๊ฐ์ โ0000โ์ผ๋ก ์์๋๊ฒ ํ๋ Nonce๊ฐ์ ์ฐพ๋ ๊ณผ์ ์ด๋ค. ย
์ฆ, ์์ f(Nonce, ๊ฑฐ๋๋ด์ญ, ์ด์ ํด์ ) ์์ Nonce ๊ฐ์ ๋ฃ์ด ๋ณธ๋ค. ์๋ฅผ๋ค์ด 1์ ๋ฃ์ด ๋ณธ๋ค. ์ด ๋ ๊ตฌํด์ง๋ ํ์ฌ ํด์๊ฐ์ด โ0000โ์ผ๋ก ์์๋๋ฉด ์ฑ๊ณต์ด๋ค. ๋ง์ฝ, ์๋๋ผ๋ฉด ์คํจ๋ค. ์คํจํ๋ค๋ฉด, ์ด์ 2๋ฅผ ๋ฃ์ด ๋ณธ๋ค. ๋ง์ฝ ์คํจ ํ๋ค๋ฉด, ์ด๋ฒ์๋ 3์ ๋ฃ์ด ๋ณธ๋ค. ์ ๋ต์ ์ฐพ์ ๋๊น์ง ์ด ๊ณผ์ ์ ๋ฐ๋ณต๋๋ค. ๊ทธ๋ฌ๋ค๊ฐ, ํน์ ํ Nonce ๊ฐ์ ๋ฃ์์ ๋, ํ์ฌ ํด์๊ฐ์ด โ0000โ์ผ๋ก ์์๋๋ฉด, ๋น๋ก์ ์ฑ๊ณต์ด๋ค. ์ด ๋, ์ด ๋ธ๋ก์ 9๋ฒ์งธ ๋ธ๋ก๊ณผ ์ฐ๊ฒฐ๋๋ค. 10๋ฒ์งธ ๋ธ๋ก์ด ์์ฑ๋๋ ์๊ฐ์ด๋ค.ย
์๋ก์ด ๋ธ๋ก์ ๊ธฐ์กด์ ๋ธ๋ก์ฒด์ธ์ ์ฐ๊ฒฐํ๋ ๊ณผ์ ์, ์ด์ฒ๋ผ ํ์ฌํด์ ๊ฐ์ด โ0000โ์ผ๋ก ์์๋๋ Nonce๊ฐ์ ์ฐพ๋ ๊ณผ์ ์ด๋ค. Nonce๋ ๋ค๋ฅธ ๋ธ๋ก์ ๋ด์ฉ๊ณผ ํจ๊ป ํด์ฌ ํจ์๋ก ๋ค์ด๊ฐ ํด์ฌ ํจ์์ ๊ฒฐ๊ณผ๋ฅผ ํน์ ํ ๋ชฉํ๊ฐ ์ดํ๋ก ๋ง๋ค๊ฒ ํ๋ ์ซ์์ด๋ค. Nonce ๊ฐ์ ์ฐพ๋๋ฐ ์ฑ๊ณตํ๋ฉด ๊ทธ ๋ณด์์ผ๋ก ๊ฐ์ํํ๊ฐ ์ฃผ์ด์ง๋ค.ย
Nonce๊ฐ์ ์ฐพ๋๋ฐ ๊ธฐ์ค์๊ฐ ๋ณด๋ค ์งง์๋ค๋ฉด, 0์ ๊ฐ์๋ฅผ ์ฆ๊ฐ์์ผ์ ๋์ด๋๋ฅผ ๋์ธ๋ค. ๋นํธ์ฝ์ธ, ์ด๋๋ฆฌ์ ๋ฑ ์์๋ ์ด๊ฒ์ ์ฑ๊ตด(Mining)์ด๋ผ๊ณ ํ๋ค. ํต์ GPU๋ฐฉ์์ ์ฑ๊ตด๊ธฐ ๋ณด๋ค ASIC๋ฐฉ์์ ์ฑ๊ตด๊ธฐ๊ฐ ๋ ์ฑ๋ฅ์ด ๋ฐ์ด๋๋ค. ํ์ฌ ๋นํธ์ฝ์ธ์ ASIC๋ฐฉ์์, ๋นํธ์ฝ์ธ๊ณจ๋๋ ASIC๋ฐฉ์์ ๋ถ๊ฐํ๊ฒ ๋ ํด์ํจ์๋ฅผ ๋ณ๊ฒฝํ์ฌ GPU๋ฐฉ์์ด๊ณ , ์ด๋๋ฆฌ์๋ GPU๋ฐฉ์์ ์ฌ์ฉํ๋ค. ย
์ด๋ฌํ Nonce๋ฅผ ์ฐพ๊ธฐ ์ํด์ 1์ด์ ๋ช ๋ฒ์ ๊ณ์ฐํ ์ ์๋์ง๋ฅผ ๋ํ๋ด๋ ์งํ๊ฐ Hashing Power์ด๊ณ , ์ด๋ ์ฑ๊ตด๊ธฐ์ ์ฑ๋ฅ์งํ์ด๋ค. (1MH/S = 1,000,000 Hashes Per Second, 1์ด์ ๋ฐฑ๋ง๋ฒ ์ฐ์ฐ ์ํ)
ย
๋ง์น๋ฉฐ ย
ํด์ํจ์๋ DES(Data Encryption Standard)์ ๋ธ๋ก ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ง๋ค์ด์ง ์ผ์ข ์ ๋จ๋ฐฉํฅ ์ํธํ ๊ธฐ์ ์ด๋ค. ์๋ฌด๋ฆฌ ํฐ ๋ฉ์์ง๋ผ๋ ๊ทธ๊ฒ์ ๋ฌด๊ฒฐ์ฑ ๋ฌธ์ ๋ ์๋์ ์ผ๋ก ๋งค์ฐ ์์ ํฌ๊ธฐ์ ํด์๊ฐ์ ๋ฌด๊ฒฐ์ฑ ๋ฌธ์ ๋ก ์ถ์๋ ์ ์๋ค. ํด์ํจ์ ์์ฒด๋ ๋ฌด๊ฒฐ์ฑ(Integrity) ๊ฒ์ฆ์ ์ํด ์ฌ์ฉํ๋ค๊ณ ๋ณด๋ฉด ๋๊ณ , ๋ค๋ฅธ ๊ธฐ๋ฒ๊ณผ ์กฐํฉํ์ฌ ์ธ์ฆ(Authentication) ๊ธฐ๋ฅ๊น์ง ์ํํ๋ค. ย
IT๋ณด์์ ๋ฌธ๊ฐ๋ ํ๋ก๊ทธ๋๋จธ์ ์์ญ์ด์๋, ํด์ฌ์ํธํ์ด ์ด์ ๋ ์ํธํํ๋ผ๋ ์ด๋ฆ์ โ๋โ์ผ๋ก ์ผ๋ฐ ๋์ค์ ๋ค๊ฐ์๊ณ ์๋ค. ๋๊ตฌ๋ ๊ฐ์ง๊ณ ์๋ ๋๊ณผ IT๊ฐ ๊ฒฐํฉ๋์๊ธฐ ๋๋ฌธ์.. ๋ ์ด์ ๋ฌธ์ก(๋ฌธ๊ณผ๋ผ์ ์ฃ์ก)ํ์ง ์๋๋ก.. IT๋ฅผ ์ฝ๊ณ ์ฌ๋ฏธ์๊ฒ ํ๋์ฉ ์์ ๋ณด๋๋กํ์. IT๋ ์ด์ ๊ทธ ๋ฌด์๊ณผ๋ ๊ฒฐํฉ๋ ํ ๋๊น.. ย