[์ •๋ณด๋ณด์•ˆ] Symmetric crypto - Block cipher

์„ ์ฃผยท2021๋…„ 7์›” 20์ผ

์ •๋ณด๋ณด์•ˆ

๋ชฉ๋ก ๋ณด๊ธฐ
4/4

๐Ÿ Symmetric crypto

Stream cipher

ยท ์งง์€ input์„ ๋ฐ›์•„์„œ ๊ธด output์„ ๋‚ธ๋‹ค๋Š” ์ ์ด hash์™€ ๋Œ€๋น„ (hash๋Š” ํฌ๊ธฐ์— ์ œํ•œ์ด ์—†๋Š” input์„ ๋ฐ›์•„ ๊ณ ์ • ๊ธธ์ด์˜ output์„ ๋ƒ„)

Block cipher

ยท block : ๊ณ ์ • ๊ธธ์ด (๋ณดํ†ต 128/256 bits) ๋ฐ์ดํ„ฐ
ยท input๊ณผ output ๋ชจ๋‘ block, ์ฆ‰ ๊ณ ์ • ๊ธธ์ด

๐Ÿ Block cipher

Block cipher๊ฐ€ ๊ฐ€์ ธ์•ผ ํ•  ์„ฑ์งˆ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

Confusion
K์™€ C ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ฐ€๋Šฅํ•œ ํ•œ ๋ณต์žกํ•˜๊ฒŒ ํ•˜๋ผ.
(P: Plaintext, K: Key, C: Ciphertext)

Diffusion
P์™€ C ๊ฐ„์˜ ํ†ต๊ณ„์  ์—ฐ๊ด€์„ฑ์„ ์—†์• ๋ผ.
(= ๊ทธ ์–ด๋А P๋„ ํŠน์ • C๋ฅผ ๋งŒ๋“ค ํ™•๋ฅ ์ด ํŠนํžˆ ๋†’์ง€ ์•Š๊ฒŒ)

Block cipher์— ๊ฐ€๋Šฅํ•œ ๊ณต๊ฒฉ๋“ค

Known plaintext attack
P๊ฐ€ ์•Œ๋ ค์ ธ ์žˆ๋Š”๋ฐ ๊ณต๊ฒฉ์ž๊ฐ€ C๋„ ์•Œ๊ณ  ์žˆ๋Š” ์ƒํ™ฉ
๊ณต๊ฒฉ์ž๋Š” P์™€ C๋ฅผ ๋ถ„์„ํ•ด์„œ K๋ฅผ ์•Œ์•„๋‚ด๊ธฐ ์œ ๋ฆฌํ•ด์ง

Chosen plaintext attack
ex) ๋ฏธ๊ตฐ์€ ์ผ๋ณธ์˜ ์•”ํ˜ธํ™”๋œ ๋ฉ”์‹œ์ง€์—์„œ ๋‹ค์Œ ํƒ€๊ฒŸ์œผ๋กœ ๋ณด์ด๋Š” 'AF'๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๊ณ , ์ด๋Š” Midway๋ฅผ ๋œปํ•  ๊ฒƒ์œผ๋กœ ์ถ”์ธกํ–ˆ๋‹ค. ๋ฏธ๊ตฐ์€ ์ฆ‰์‹œ ์ผ๋ณธ์ด ๋“ค์„ ์ˆ˜ ์žˆ๋„๋ก 'Midway์— ๋ฌผ์ด ๋ถ€์กฑํ•˜๋‹ค'๋Š” ์ •๋ณด๋ฅผ ํ˜๋ ธ๊ณ , ์ด๊ฒƒ์„ ๋“ค์€ ์ผ๋ณธ๊ตฐ์ด 'AF์— ๋ฌผ์ด ๋ถ€์กฑํ•˜๋‹ค'๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒˆ๋‹ค. โ†’ ๊ณต๊ฒฉ ์„ฑ๊ณต ๐Ÿ˜›

Chosen ciphertext attack
์•”ํ˜ธํ™” ์žฅ์น˜๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์ž๊ฐ€ ์ž๋ฆฌ๋ฅผ ๋น„์šฐ์ž๋งˆ์ž ๊ณต๊ฒฉ์ž๊ฐ€ ๊ทธ ์žฅ์น˜์—
1) ์ž์‹ ์ด ์•”ํ˜ธํ™”์‹œํ‚ฌ ๋‚ด์šฉ์„ ๋„ฃ์–ด๋ณด๊ฑฐ๋‚˜
2) ์˜ˆ์ „์— ๊ฐ€๋กœ์ฑ˜๋˜ ์•”ํ˜ธ๋ฌธ์„ ๋ณตํ˜ธํ™”
ํ•ด ๋ณด๋ฉด์„œ ์‘๋‹ต์„ ๋ณด๊ณ  K๋ฅผ ์œ ์ถ”

Related key attack
key๊ฐ€ ์„œ๋กœ ์—ฐ๊ด€๋˜์–ด ์žˆ๋Š” ์ƒํ™ฉ(ex. K, K+1, K+2, โ€ฆ)์—์„œ๋Š” ๊ณต๊ฒฉ์ž์˜ ์œ ์ถ”๊ฐ€ ์ˆ˜์›”

๐Ÿ ์ข…๋ฅ˜

์ž‘์„ฑ์ค‘

profile
๊ธฐ๋กํ•˜๋Š” ๊ฐœ๋ฐœ์ž ๐Ÿ‘€

0๊ฐœ์˜ ๋Œ“๊ธ€