์๋ ํ์ธ์! ์ค๋์ ๋ง์ ์ปดํจํฐ์ ์ธํฐ๋ท ์๋น์ค์์ ์ฌ์ฉ๋๋ SHA ํด์ ์๊ณ ๋ฆฌ์ฆ์ด ์ ๋จ๋ฐฉํฅ์ธ์ง, ์ “์ํธ์ฒ๋ผ ํ ์ ์๋ ๊ฒ”์ธ์ง ์ฝ๊ฒ ์ค๋ช ํด๋ณผ๊ฒ์.
SHA๋ ‘Secure Hash Algorithm’์ ์ค์๋ง์ด์ผ. ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ค ์ ๋ณด๋ฅผ ๋ฐ์์, ๊ธธ์ด๊ฐ ๋ฑ ์ ํด์ง ‘์๋ฑํ ์ซ์+๋ฌธ์ ์กฐํฉ’์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ๋ง๋ฒ ๊ฐ์ ๊ณ์ฐ๋ฒ์ด์ผ.
๊ทธ๋ฐ๋ฐ ์ SHA๋ ๊ฑฐ๊พธ๋ก ํ ์ ์๋์ง(๋จ๋ฐฉํฅ์ธ์ง) ๊ถ๊ธํ์ง? ์ง๊ธ๋ถํฐ ์ด์ ๋ฅผ ํ๋์ฉ ์์๋ณผ๊ฒ!
1๏ธโฃ ๋ง์ ์ ๋ ฅ โ ํ๋์ ์ถ๋ ฅ (์ ๋ณด๊ฐ ์ฌ๋ผ์ ธ์!)
SHA๋ ์ด๋ค ๊ธธ์ด์ ๊ธ์ด๋ ๋ฐ์์ ๋ฑ ์ ํด์ง ๊ธธ์ด์ ์ฝ๋๋ก ๋ง๋ค์ด์ค.
์๋ฅผ ๋ค์ด:
"์๋ "
โ3f786850...
"์๋ ํ์ธ์"
โ44f683a8...
"๋๋ ์คํ์์ ๋๋ค"
โ9b74c989...
์ด๋ฐ ์์ผ๋ก ๋ชจ๋ 64๊ธ์ ์ ๋์ ์ฝ๋๊ฐ ๋์.
๊ทธ๋ฐ๋ฐ ์
๋ ฅ์ ์์ญ์ต ๊ฐ, ์์กฐ ๊ฐ๊ฐ ์์ ์ ์์ด.
์ถ๋ ฅ์ ๋ฑ 64๊ธ์๋๊น ๋น์ฐํ ์ฌ๋ฌ ์
๋ ฅ์ด ๊ฐ์ ์ถ๋ ฅ์ ๊ฐ์ง ์๋ ์์ด โ “์ ๋ณด๊ฐ ์ฌ๋ผ์ง!”
๐ ๊ทธ๋์ ์ถ๋ ฅ๋ง ๋ณด๊ณ ์๋ ์ ๋ ฅ์ ์์๋ด๋ ๊ฑด ์๋๋ถํฐ ๋ถ๊ฐ๋ฅํ ๊ตฌ์กฐ์ผ.
2๏ธโฃ ๋ณต์กํ๊ณ ๋ค์ฃฝ๋ฐ์ฃฝ ์์ด์!
SHA๋ ๋จ์ํ ์ซ์ ๊ณ์ฐ๋ง ํ๋ ๊ฒ ์๋์ผ. XOR(์์ค์ค์), AND, OR, NOT, ์ค๋ฅธ์ชฝ์ผ๋ก ๋๋ฆฌ๊ธฐ, ์๋ฅด๊ณ ๋ถ์ด๊ธฐ ๊ฐ์ ์๋ง์ ์ฐ์ฐ์ ํด.
์ด๋ฐ ์ฐ์ฐ๋ค์ ๋ง์น ํผ์ฆ ์กฐ๊ฐ์ ๋ง๊ตฌ ์๊ณ ๋นํ์ด์ ๋ค์ ์๋ ๋ชจ์ต์ผ๋ก ๋๋ฆฌ๋ ๊ฒ ๊ฑฐ์ ๋ถ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ด.
๐ ํผ์ฆ ์กฐ๊ฐ์ ์์ด๋์ผ๋ฉด ์๋ ๊ทธ๋ฆผ์ ๋ณต์ํ๊ธฐ ์ด๋ ต๋ฏ์ด, SHA๋ ๊ทธ๋ฐ ๊ตฌ์กฐ์ผ.
3๏ธโฃ ํ ๊ธ์๋ง ๋ฐ๊ฟ๋ ์์ ํ ๋ค๋ฅธ ๊ฒฐ๊ณผ!
SHA๋ ์ ๋ง ๋ฏผ๊ฐํด.
์
๋ ฅ์์ ๋ฑ ํ ๊ธ์๋ง ๋ฐ๊ฟ๋ ์ถ๋ ฅ์ด ์์ ํ ๋ฐ๋์ด๋ฒ๋ ค!
์๋ฅผ ๋ค์ด:
"hello"
โ2cf24dba...
"Hello"
โ185f8db3...
๋ฑ ์ฒซ ๊ธ์๋ง ๋๋ฌธ์๋ก ๋ฐ๊ฟจ๋๋ฐ ๊ฒฐ๊ณผ๊ฐ ์์ ํ ๋ฌ๋ผ์ก์ง?
์ด๊ฑธ “Avalanche Effect(๋์ฌํ ํจ๊ณผ)“๋ผ๊ณ ๋ถ๋ฌ.
๐ ๊ทธ๋์ ์ถ๋ ฅ๋ง ๋ณด๊ณ “์ด๊ฒ ์ด๋ค ์ ๋ ฅ์์ ๋์์๊น?”๋ผ๊ณ ๊ฑฐ๊พธ๋ก ์๊ฐํ๊ธฐ ์ ๋ง ํ๋ค์ด.
4๏ธโฃ ๋๋จธ์ง๋ฅผ ๋ฒ๋ฆฌ๊ณ ๋จ์ ๊ฐ๋ง ์จ์
SHA๋ ๊ณ์ฐํ ๋ ์ค๊ฐ์ค๊ฐ์ **๋ชจ๋๋ฌ ์ฐ์ฐ(mod)**๋ผ๋ ๊ฑธ ์จ์ ์ผ์ ๋ถ๋ถ๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง๋ฅผ ๋ฒ๋ ค.
์๋ฅผ ๋ค์ด:
(12345 + 67890) % 10000 = 2345
์ด๋ฐ ์์ผ๋ก ๊ฐ์ ์๊พธ ์๋ฅด๊ณ ๋ฒ๋ ค์ ์ญ์ผ๋ก ๊ณ์ฐํ๊ธฐ๊ฐ ๋ ํ๋ค์ด์ ธ.
๐ ๋จ์ ๊ฐ๋ง ๋ณด๊ณ ์ ์ฒด ๊ณ์ฐ ๊ณผ์ ์ ๊ฑฐ๊พธ๋ก ์ฐพ๋ ๊ฑด ๊ฑฐ์ ๋ถ๊ฐ๋ฅ!
5๏ธโฃ ๋จ๊ณ๋ณ๋ก ์ฐจ๊ณก์ฐจ๊ณก ์์์ (์์ถ ๊ตฌ์กฐ)
SHA๋ ๊ธ์๋ฅผ ์ฌ๋ฌ ๋ฉ์ด๋ฆฌ๋ก ๋๋ ์ ์ฐจ๋ก๋ก ๊ณ์ฐํด.
์ฒซ ๋ฒ์งธ ๋ฉ์ด๋ฆฌ๋ฅผ ๊ณ์ฐํด์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค๊ณ , ๋ ๋ฒ์งธ ๋ฉ์ด๋ฆฌ๋ ์ด ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ ๊ณ์ฐํ๊ณ … ์ด๋ฐ ์์ผ๋ก ๊ณ์ ์์.
๊ทธ๋์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ค์ด ์์ผ๋ฉด ์๋ ์ ๋ ฅ์ ์ ๋ ์ ์ ์์ด.
๐ ์ ์ฒด ๊ฒฐ๊ณผ๋ง ๋จ์ ์๊ณ ์ค๊ฐ ๊ณ์ฐ๋ค์ ์ฌ๋ผ์ก๊ธฐ ๋๋ฌธ์, ๋ค์ ๊ฑฐ๊พธ๋ก ์ ์ฒด ์ ๋ ฅ์ ๋ง๋๋ ๊ฑด ๊ฑฐ์ ๋ถ๊ฐ๋ฅ!
๐ ์ ๋ฆฌ!
์ SHA๋ ๋จ๋ฐฉํฅ์ผ๊น?
โ
์
๋ ฅ์ด ๋ฌดํํ์ง๋ง ์ถ๋ ฅ์ ๊ณ ์ ! ์ ๋ณด๊ฐ ์ฌ๋ผ์ง
โ
๋ณต์กํ ์ํ ์ฐ์ฐ์ผ๋ก ์๋ ์
๋ ฅ ๋ณต์ ๋ถ๊ฐ
โ
์์ ๋ณํ๋ ์์ ํ ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ฆ
โ
์ค๊ฐ ๊ณ์ฐ ๊ณผ์ ์ด ๋จ์ ์์ง ์์
โ
๋จ๊ณ๋ณ๋ก ์์์ ๊ณ์ฐํ๊ธฐ ๋๋ฌธ์ ์ญ์ฐ ์ด๋ ค์
โจ ๋ง๋ฌด๋ฆฌ
SHA ํด์ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ๋ฆฌ๊ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์์ ํ๊ฒ ์ ์ฅํ๊ฑฐ๋, ํ์ผ์ด ์ค๊ฐ์ ๋ฐ๋์๋์ง ํ์ธํ๋ ๋ฐ ์์ฃผ ๋ง์ด ์ฐ์ฌ.
๋จ๋ฐฉํฅ์ด๊ธฐ ๋๋ฌธ์ ๋๊ตฐ๊ฐ SHA ๊ฒฐ๊ณผ๋ง ๋ณธ๋ค๊ณ ํด์ ์๋ ๋น๋ฐ๋ฒํธ๋ ๋ด์ฉ์ ์์๋ผ ์ ์๋๋ก ๋ณดํธํด ์ฃผ๋ ๊ฑฐ์ง!
๋ต๊ธ ๋จ๊ธฐ๊ธฐ