์๋ ํ์ธ์! ์ค๋์ ์ฐ๋ฆฌ๊ฐ ์ํ ์๊ฐ์ ๋ฐฐ์ด ๋ด์ฉ์ผ๋ก SHA ํด์ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๋ ํฅ๋ฏธ๋ก์ด ๊ธฐ์ ์ ์ค๋ช ํด๋ณผ๊ฒ์.
SHA๋ ์ธํฐ๋ท์์ ์ ๋ง ๋ง์ด ์ฐ์ด๋ ๊ธฐ์ ์ธ๋ฐ, “๋จ๋ฐฉํฅ ์ํธ์ฒ๋ผ ์ ๋ณด๋ฅผ ๋ฐ๊พธ๋ ๊ณ์ฐ๋ฒ”์ด์์.
๊ทธ๋ฐ๋ฐ ์ด ์๋ฆฌ๋ฅผ ์ดํดํ ๋ ์ฐ๋ฆฌ๊ฐ ์ด๋ฏธ ํ๊ต์์ ๋ฐฐ์ด ์ํ ๊ฐ๋
์ด ์์ฃผ ์ ์ฉํ๋ต๋๋ค!
์ด๋ค ๊ฒ๋ค์ด ์๋์ง ๊ฐ์ด ์ดํด๋ณผ๊น์?
1๏ธโฃ ํจ์ (Function) โ ์ฌ๋ฌ ์ ๋ ฅ โ ํ๋์ ์ถ๋ ฅ
์ํ ์๊ฐ์ ํจ์ ๋ฐฐ์ ์ฃ ? f(x)=x2f(x) = x^2f(x)=x2
์ด๋ ๊ฒ ์
๋ ฅ x
๊ฐ ์ฃผ์ด์ง๋ฉด ์ถ๋ ฅ f(x)
๊ฐ ๋ฑ ์ ํด์ง์ฃ .
๊ฐ์ ์
๋ ฅ์ด๋ฉด ํญ์ ๊ฐ์ ์ถ๋ ฅ์ด ๋์ค๋ ๊ฒ์ด ๋ฐ๋ก ํจ์์ ๊ธฐ๋ณธ ์ฑ์ง์ด์์.
SHA๋ ๋น์ทํด์: SHA(x)=์ด๋ค ๊ณ ์ ๋ ์ฝ๋SHA(x) = \text{์ด๋ค ๊ณ ์ ๋ ์ฝ๋}SHA(x)=์ด๋ค ๊ณ ์ ๋ ์ฝ๋
์ ๋ ฅ์ด ๊ฐ์ผ๋ฉด ํญ์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์์. ๊ทธ๋์ ํ์ผ์ด ๋ฐ๋์๋์ง ํ์ธํ ๋ ์ฌ์ฉ๋ผ์.
2๏ธโฃ ๋ค๋์ผ ๋์ (Many-to-One Mapping)
๋ ๋ฐฐ์ด ๊ฒ ์ค์ ๋์ ๊ด๊ณ๊ฐ ์์ฃ .
- ์ผ๋์ผ ๋์
- ์ผ๋๋ค ๋์
- ๋ค๋์ผ ๋์ โ ์ฌ๊ธฐ๊ฐ SHA์ ์ฐ๊ฒฐ!
SHA๋ ๋ค๋์ผ ๋์์ด์์: ์ฌ๋ฌ ๊ฐ์ ์ ๋ ฅโํ๋์ ์ถ๋ ฅ\text{์ฌ๋ฌ ๊ฐ์ ์ ๋ ฅ} โ \text{ํ๋์ ์ถ๋ ฅ}์ฌ๋ฌ ๊ฐ์ ์ ๋ ฅโํ๋์ ์ถ๋ ฅ
์๋ํ๋ฉด ์
๋ ฅ์ ์์ฃผ์์ฃผ ๊ธธ ์ ์์ง๋ง, ์ถ๋ ฅ์ ๋ฑ ์ ํด์ง ๊ธธ์ด(์: 256๋นํธ)๋ก๋ง ๋์ค๊ธฐ ๋๋ฌธ์ด์์.
๊ทธ๋์ ๊ฐ์ ์ถ๋ ฅ์ ๋ง๋๋ ์๋ก ๋ค๋ฅธ ์
๋ ฅ๋ ์์ ์ ์์ด์.
์ด๋ ๊ฒ ์ ๋ณด๊ฐ ์ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ๊ฑฐ๊พธ๋ก ๊ณ์ฐํ๊ธฐ ์ด๋ ต์ฃ .
3๏ธโฃ ๋๋จธ์ง ์ฐ์ฐ (Mod ์ฐ์ฐ)
์ค3 ์ํ์์ **๋๋จธ์ง ์ฐ์ฐ(mod)**๋ ๋ฐฐ์ฐ์ฃ : amodโโba \mod bamodb
์๋ฅผ ๋ค์ด: 17modโโ5=217 \mod 5 = 217mod5=2
SHA๋ ๋ด๋ถ์์ ์ด๋ฐ mod ์ฐ์ฐ์ ์์ฒญ ๋ง์ด ์ฌ์ฉํด์!
์ด๋ฐ ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ง ๋ณด๋ฉด ์๋ ๊ฐ์ ์์๋ด๊ธฐ ์ด๋ ค์์: x+ymodโโ100=42x + y \mod 100 = 42x+ymod100=42
์ด๋ฐ ์์ผ๋ก ๊ฒฐ๊ณผ๊ฐ 42๋ผ๋ฉด x์ y๊ฐ ๋ฌด์์ธ์ง ์ญ์ผ๋ก ์๊ธฐ๊ฐ ์ด๋ ต์ฃ .
โ SHA๋ ์ด๋ฐ ์๋ฆฌ๋ฅผ ์์ฉํด์ ๊ฑฐ๊พธ๋ก ํ ์ ์๊ฒ ์ค๊ณ๋ผ ์์ด์.
4๏ธโฃ ๋น์ ํ ๋ณํ (์ ํ๊ณผ ๋น์ ํ)
์ค3 ๊ณผ์ ์์ **1์ฐจ ํจ์(์ ํ)**์ **2์ฐจ ํจ์(๋น์ ํ)**๋ ๋ฐฐ์ฐ์ฃ ?
- ์ ํ ํจ์ โ ์ ๋ ฅ์ด 2๋ฐฐ๋ฉด ์ถ๋ ฅ๋ 2๋ฐฐ
- ๋น์ ํ ํจ์ โ ์ ๋ ฅ์ด ์กฐ๊ธ ๋ฐ๋์ด๋ ์ถ๋ ฅ์ ์์ธกํ ์ ์์ด ๋ฐ๋
SHA๋ ์์ฃผ ๋ณต์กํ ๋น์ ํ ํจ์์ฒ๋ผ ์๋ํด์.
๊ทธ๋์ ์
๋ ฅ์์ ๋ฑ ํ ๊ธ์๋ง ๋ฐ๊ฟ๋ ๊ฒฐ๊ณผ๊ฐ ์์ ํ ๋ฌ๋ผ์ ธ์. SHA(“abc”)โ SHA(“abd”)SHA(“abc”) โ SHA(“abd”)SHA(“abc”)๎ =SHA(“abd”)
**๋์ฌํ ํจ๊ณผ(Avalanche Effect)**๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ, ๋น์ ํ ํจ์์ ์ฑ์ง๊ณผ ์์ฃผ ๋น์ทํ์ฃ !
๐ ์ ๋ฆฌ
์ฐ๋ฆฌ๊ฐ ์คํ๊ต 3ํ๋ ์ํ ์๊ฐ์ ๋ฐฐ์ฐ๋:
โ
ํจ์ โ ์
๋ ฅ์ ๋์ํ๋ ์ถ๋ ฅ
โ
๋ค๋์ผ ๋์ โ ๋ง์ ์
๋ ฅ โ ํ๋์ ์ถ๋ ฅ
โ
๋๋จธ์ง ์ฐ์ฐ(mod) โ ์๋ ๊ฐ ๋ณต์ ์ด๋ ค์
โ
๋น์ ํ ๋ณํ โ ์์ ์
๋ ฅ ๋ณํ โ ํฐ ์ถ๋ ฅ ๋ณํ
์ด๋ฐ ๊ฐ๋ ๋ค์ด ๋ชจ๋ SHA ํด์ ์๊ณ ๋ฆฌ์ฆ ์์ ๋ค์ด๊ฐ ์์ด์!
๋ต๊ธ ๋จ๊ธฐ๊ธฐ