๏ฃฟ Apple Lover Developer & Artist

์˜์†์ ์ธ ๋””์ž์ธ์— ํ˜„๋Œ€์˜ ๊ณต๊ฐ์„ ์ฑ„์›Œ๋„ฃ๋Š” ๊ณต๋ฐฉ์ž…๋‹ˆ๋‹ค

๐Ÿ–ฅ Computer Science/Computer Security

[๋ณด์•ˆํ”„๋กœํ† ์ฝœ] ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•”ํ˜ธ ์‹œ์Šคํ…œ - Part 2

singularis7 2021. 9. 14. 20:36
๋ฐ˜์‘ํ˜•

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•”ํ˜ธ ์‹œ์Šคํ…œ์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ์•”/๋ณตํ˜ธํ™” ํ•  ๋•Œ ๋Œ€์นญํ‚ค ์•”ํ˜ธ๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ๋Œ€์นญ ํ‚ค ์•”ํ˜ธ ๋ฐฉ์‹์œผ๋กœ๋Š” ๋ธ”๋ก ์•”ํ˜ธ์™€ ์ŠคํŠธ๋ฆผ ์•”ํ˜ธ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ํ˜„๋Œ€์—๋Š” ๋ธ”๋ก ์•”ํ˜ธ๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ ๊ธด ๋น„ํŠธ์— ๋ฉ”์‹œ์ง€๋ฅผ ์•”ํ˜ธํ™” ์ฒ˜๋ฆฌ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ธ”๋ก์•”ํ˜ธ ๋ชจ๋“œ ๋ฐฉ์‹์ด ํ•„์š”ํ•˜๋‹ค.

๋ธ”๋ก ์•”ํ˜ธ๋Š” ๋ธ”๋ก ๋‹จ์œ„๋ฅผ ์•”ํ˜ธํ™” ํ•˜๋Š” ์•”ํ˜ธ๊ธฐ์ˆ ๋กœ์„œ ํŠน์ • ๋น„ํŠธ ์ˆ˜์˜ ๋ธ”๋ก ์ง‘ํ•ฉ์„ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌํ•œ๋‹ค. ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ธ”๋ก bit ๋‹จ์œ„๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. 

๋Œ€์นญํ‚ค ์•”ํ˜ธ์˜ ๋˜๋‹ค๋ฅธ ๊ธฐ์ˆ ์ธ ์ŠคํŠธ๋ฆผ ์•”ํ˜ธ๋„ ์กด์žฌํ•œ๋‹ค. ๋ณดํ†ต ํ‚ค์ŠคํŠธ๋ฆผ๊ณผ ํ‰๋ฌธ์„ xor ์—ฐ์‚ฐํ•˜์—ฌ ์•”ํ˜ธํ™”๊ฐ€ ์ง„ํ–‰๋œ๋‹ค. 

๋ธ”๋ก ์•”ํ˜ธ์˜ ์ฃผ์š” ๋ชจ๋“œ์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์ž. ์ผ๋ฐ˜์ ์ธ ์ƒํ™ฉ์„ ์ƒ๊ฐํ•ด๋ณด์ž! AES-128์„ ๊ฐ–๊ณ  ์•”ํ˜ธํ™”๋ฅผ ํ•  ๋•Œ 16๋ฐ”์ดํŠธ๋ฅผ ์•”ํ˜ธํ™”๋ฅผ ํ•˜๋Š”๋ฐ, ๋ฐ์ดํ„ฐ ํ‰๋ฌธ์„ ์•”ํ˜ธํ™” ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด 16๋ฐ”์ดํŠธ ์ด์ƒ์˜ ์ž๋ฃŒ์— ๋Œ€ํ•ด์„œ ์•”ํ˜ธํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์„ ๊ฒƒ์ด๋‹ค. ๊ธด ํ‰๋ฌธ์„ ์•”ํ˜ธํ™” ํ•  ๋•Œ ๋ธ”๋ก ์•”ํ˜ธ ๋ชจ๋“œ๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.

์œ„์—์„œ ์–ธ๊ธ‰๋œ ECB, CBC, CFB, OFB, CTR ๋ธ”๋ก ์•”ํ˜ธ ๋ชจ๋“œ๋Š” ๊ตญ์ œ ISOIC ๋ธ”๋ก์•”ํ˜ธ ํ‘œ์ค€ ๋ชจ๋“œ๋กœ ์ œ์ •๋˜์–ด์žˆ๋‹ค.

ECB ๋ชจ๋“œ๋Š” ํ‰๋ฌธ์„ ๋ธ”๋ก ๋‹จ์œ„๋กœ ๋‚˜๋ˆ ์„œ ๋ธ”๋ก ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ”๋กœ ์•”ํ˜ธํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ณดํ†ต ๋ธ”๋ก ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ padding ๋ฐฉ์‹์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์œผ๋ฉฐ ๋น„ํŠธ๋ฅผ ๋ง๋ถ™์ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด AES์™€ ๋ธ”๋ก์•”ํ˜ธ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ๊ฐ ๋ธ”๋ก์€ 128๋น„ํŠธ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ ๋ฉ”์‹œ์ง€๋ฅผ 128๋น„ํŠธ ๋‹จ์œ„์˜ ๋ธ”๋ก์œผ๋กœ ๋‚˜๋ˆด๋Š”๋ฐ 128๋น„ํŠธ ๋ณด๋‹ค ๋ชจ์ž๋ž€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค๋ฉด padding ์„ ํ†ตํ•ด ์ถ”๊ฐ€์ ์ธ ๋น„ํŠธ๋ฅผ ๋›๋ถ™์—ฌ์„œ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด์ž!

๋ธ”๋ก ์•”ํ˜ธ๊ฐ€ AES๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ ํ‰๋ฌธ ๋ธ”๋ก ๋‹จ์œ„๊ฐ€ ์ „๋ถ€ 128 ๋น„ํŠธ๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค. ํ‰๋ฌธ ๋ธ”๋ก๊ณผ ๋น„๋ฐ€ํ‚ค๋ฅผ AES์˜ ์ž…๋ ฅ์œผ๋กœ ๋„ฃ์–ด์„œ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์„ ์ƒ์„ฑํ•œ๋‹ค. ๋ชจ๋“  ๋ธ”๋ก์— ๋Œ€ํ•ด์„œ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์ด ์ƒ์„ฑ๋˜๋ฉด ์ „์ฒด  ๋ธ”๋ก์ด ์•”ํ˜ธํ™”๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์•”ํ˜ธํ™” ๊ณผ์ •์˜ ๋ฐ˜๋Œ€๊ฐ€ ๋ณตํ˜ธํ™” ๊ณผ์ •์ด๋‹ค.

ECB ๋ชจ๋“œ๋Š” ๋ถˆ์•ˆ์ „ํ•œ ๋ชจ๋“œ์ด๋‹ค. ๊ณต๊ฒฉ์ด ๊ฐ„๋‹จํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์–ด๋Š ์€ํ–‰์˜ ์†ก๊ธˆ ์˜๋ขฐ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ 3๊ฐœ์˜ ๋ธ”๋ก์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž!

  • ๋ธ”๋ก 1: ์†ก๊ธˆ์ž์˜ ์€ํ–‰ ๊ณ„์ขŒ๋ฒˆํ˜ธ
  • ๋ธ”๋ก 2: ์†ก๊ธˆ์ฒ˜์˜ ์€ํ–‰ ๊ณ„์ขŒ๋ฒˆํ˜ธ
  • ๋ธ”๋ก 3: ์†ก๊ธˆ์•ก

A-5374์˜ ๊ณ„์ขŒ๋กœ ๋ถ€ํ„ฐ B-6671์˜ ๊ณ„์ขŒ๋กœ 1์–ต์›์„ ์†ก๊ธˆํ•˜๋ผ๋Š” ์†ก๊ธˆ ์˜๋ขฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž!

์šฐ์ธก์˜ ๋ฐ์ดํ„ฐ๋Š” ์•„์Šคํ‚ค ์ฝ”๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ขŒ์ธก๊ณผ ๊ฐ™์ด ํ‘œํ˜„๋  ์ˆ˜ ์žˆ๋‹ค. ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ECB ๋ชจ๋“œ๋ฅผ ํ†ตํ•ด ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•˜์˜€์„ ๋•Œ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 1, 2, 3์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด์„œ ์•Œ ์ˆ˜ ์—†๋Š” 2์ง„ ์ˆ˜์—ด๋กœ ์•”ํ˜ธ๋ฌธ์ด ์ƒ์„ฑ๋œ๋‹ค.

์•”ํ˜ธ๋ฌธ์€ ์ œ 3์ž๋„ ํŒจํ‚ท ์บก์ฒ˜๋ฅผ ํ†ตํ•ด ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์„ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‹ฌ์ง€์–ด ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์„ ๋ฐ”๊ฟ”์น˜๊ธฐ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๋ธ”๋ก์„ ๋ฐ”๊ฟ”์น˜๊ธฐ ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ˆ˜์‹ ์ž๋Š” ์ „ํ˜€ ๋‹ค๋ฅธ ๋‚ด์šฉ์„ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ธ”๋ก์„ ๋ฐ”๊ฟˆ์œผ๋กœ์จ ๋‚ด์šฉ๋ฌผ์— ํฐ ๋ณ€ํ™”๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋Š” ECB ๋ชจ๋“œ์˜ ์ทจ์•ฝ์ ์ด ์กด์žฌํ•œ๋‹ค๋Š” ์  ๊ธฐ์–ตํ•ด๋‘์ž.

CBC ๋ชจ๋“œ๋Š” Cipher Block Chaining ๋ชจ๋“œ์˜ ์•ฝ์ž๋กœ์จ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์ด ๋งˆ์น˜ ์ฒด์ธ์ฒ˜๋Ÿผ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค. CTR ๋ชจ๋“œ์™€ ๊ฐ™์ด ๋งŽ์ด ์‚ฌ์šฉ๋˜์—ˆ๋˜ ๋ฐฉ์‹์ด์—ˆ์œผ๋‚˜ ํ˜„๋Œ€์—๋Š” ๋งŽ์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. 

CBC๋กœ ์ƒ์„ฑ๋œ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์ด ์ƒ์„ฑ๋  ๋•Œ ํ˜„์žฌ ํ‰๋ฌธ ๋ธ”๋ก ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ทธ ์ด์ „์˜ ํ‰๋ฌธ ๋ธ”๋ก ๋“ค์˜ ์˜ํ–ฅ๋„ ๋ฐ›๋Š”๋‹ค. ์ดˆ๊ธฐ ๋ฒกํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ดˆ๊ธฐ ๋ฒกํ„ฐ๋Š” ๋ณดํ†ต ๋‚œ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๋น„๋ฐ€์„ ์œ ์ง€ํ•  ํ•„์š”๋Š” ์—†๋‹ค.

ํ‰๋ฌธ ๋ธ”๋ก์ด ๋งŒ๋“ค์–ด ์กŒ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž! ํ‰๋ฌธ ๋ธ”๋ก 1,2,3,4๋ฅผ ๋ธ”๋ก์•”ํ˜ธ CBC๋ชจ๋“œ์— ๋„ฃ์–ด์„œ ์•”ํ˜ธ๋ฌธ์„ ์ƒ์„ฑํ•œ๋‹ค. ์ด ๋•Œ ์ดˆ๊ธฐ๋ฒกํ„ฐ IV๊ฐ’์„ ํ‰๋ฌธ ๋ธ”๋ก 1๊ณผ XOR ์—ฐ์‚ฐํ•˜์—ฌ ์•”ํ˜ธ๋ฌธ์„ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค. ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 2์˜ ๋ฒกํ„ฐ ๊ฐ’์œผ๋กœ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 1๊ฐ’์„ ์ฒด์ด๋‹ ํ•˜์—ฌ ์ƒ์„ฑํ•œ๋‹ค. 

  • ์ •๋ฆฌํ•ด ๋ณด์ž๋ฉด, ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 4๋Š” ํ‰๋ฌธ ๋ธ”๋ก 4์™€ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 3์„ XOR ์ทจํ•ด์„œ ์ƒ์„ฑํ•˜๊ณ 
  • ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 3์€ ํ‰๋ฌธ ๋ธ”๋ก 3๊ณผ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 2์— XOR ์ทจํ•ด์„œ ์ƒ์„ฑํ•˜๋ฉฐ 
  • ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 2๋Š” ํ‰๋ฌธ ๋ธ”๋ก 2์™€ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 1์— XOR ์ทจํ•ด์„œ ์ƒ์„ฑํ•˜๊ณ 
  • ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 1์€ ํ‰๋ฌธ ๋ธ”๋ก 1๊ณผ ์ดˆ๊ธฐ๋ฒกํ„ฐ๋ฅผ XOR ์—ฐ์‚ฐํ•˜์—ฌ ์ƒ์„ฑ๋œ๋‹ค.

๋ณตํ˜ธํ™”๋Š” ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์„ ๊ฑฐ๊พธ๋กœ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค. 

  • ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 1์— ๋ณตํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋Œ๋ ค์„œ ๋‚˜์˜จ ์ถœ๋ ฅ๊ฐ’๊ณผ ์ดˆ๊ธฐ๋ฒกํ„ฐ๋ฅผ XOR ์—ฐ์‚ฐํ•˜์—ฌ ํ‰๋ฌธ ๋ธ”๋ก 1์ด ๋œ๋‹ค.
  • ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 2, ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 3๋„ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค.

CFB ๋ชจ๋“œ๋Š” Cipher text feedback mode์˜ ์ถ•์•ฝ์–ด๋กœ์จ ์ŠคํŠธ๋ฆผ ์•”ํ˜ธ ํ˜•์‹์˜ ๋ชจ๋“œ์ด๋ฉฐ 1๋‹จ๊ณ„ ์•ž์˜ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์„ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“œ์ด๋‹ค.

ํ•œ๋‹จ๊ณ„ ์•ž์— ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์„ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. CFB ๋ชจ๋“œ์—์„œ ๋ณตํ˜ธํ™”๋ฅผ ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐ ๋ธ”๋ก ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด๋Š” ์•”ํ˜ธํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์ ์ด ECB๋‚˜ CFB๋ชจ๋“œ์™€๋Š” ๋‹ค๋ฅธ์ ์ด๋‹ค. ์ดˆ๊ธฐ ๋ฒกํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ ํ‚ค์ŠคํŠธ๋ฆผ ์•”ํ˜ธ์ด๋‹ค. ํ‚ค์ŠคํŠธ๋ฆผ๊ณผ ํ‰๋ฌธ ๋ธ”๋ก์„ XOR ํ•˜์—ฌ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

ํ‰๋ฌธ ๋ธ”๋ก์ด ์ƒ์„ฑ๋  ๋•Œ ์ดˆ๊ธฐ ๋ฒกํ„ฐ๊ฐ€ ์•”ํ˜ธํ™”๋˜์–ด ๋‚˜์˜จ ๊ฒฐ๊ณผ๊ฐ’์„ ํ‰๋ฌธ ๋ธ”๋ก๊ณผ XOR์—ฐ์‚ฐํ•˜์—ฌ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 1์„ ์ƒ์„ฑํ•œ๋‹ค. ์ดˆ๊ธฐ๋ฒกํ„ฐ์˜ ์•”ํ˜ธํ™” ๊ฒฐ๊ณผ์ธ ์•„์›ƒํ’‹์ด ํ‚ค์ŠคํŠธ๋ฆผ์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

CFB ๋ณตํ˜ธํ™”๋„ ์—ด์‡„๊ฐ€ ๋‹ซํ˜€์žˆ๋Š” ๋ชจ์Šต์„ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“œ์‹œ ๋ธ”๋ก์•”ํ˜ธ์—์„œ๋Š” ์•”ํ˜ธํ™” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค. ์œ„ ์ด๋ฏธ์ง€์—์„œ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์ด ๋‹ค์Œ ๋ฒกํ„ฐ ๊ฐ’์œผ๋กœ ๋“ค์–ด๊ฐˆ ๋•Œ ์•”ํ˜ธํ™” ๋  ๋•Œ ์ˆœ์„œ๊ฐ€ ์ž˜๋ชป ํ‘œ๊ธฐ ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋นจ๊ฐ„์ƒ‰ ์„ ์„ ๊ธฐ์ค€์œผ๋กœ ๋ณด๋Š” ๊ฒƒ์ด ์ •ํ™•ํ•˜๋‹ค.

OFB ๋ชจ๋“œ๋Š” Output Feedback ๋ชจ๋“œ์ด๋‹ค. ์ŠคํŠธ๋ฆผ ์•”ํ˜ธ ๋ฐฉ์‹์ด๊ณ  ์ดˆ๊ธฐ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

OFB ๋ชจ๋“œ์˜ ์•”ํ˜ธํ™” ๊ณผ์ •์„ ์‚ดํŽด๋ณด์ž!

์ดˆ๊ธฐ ๋ฒกํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์•”ํ˜ธํ™”๊ฐ€ ์ง„ํ–‰๋œ ํ›„์— ํ‰๋ฌธ ๋ธ”๋ก๊ณผ XOR ์—ฐ์‚ฐ์ด ์ง„ํ–‰๋˜์–ด ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก 1์„ ์ƒ์„ฑํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฃผ๋ชฉํ•  ์ ์€ ์ดˆ๊ธฐ๋ฒกํ„ฐ์˜ ์•”ํ˜ธํ™” ๊ฐ’์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„์„œ ๋‹ค์‹œ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•œ ํ›„์— ํ‰๋ฌธ ๋ธ”๋ก 2์™€ XOR ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•œ๋‹ค๋Š” ์ ์ด๋ฉฐ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์ณ ๋‚˜๋จธ์ง€ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์ด ์ƒ์„ฑ๋œ๋‹ค.

CFB์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ธ”๋Ÿญ ์•”ํ˜ธ์˜ ์•”ํ˜ธํ™” ๊ณผ์ •์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค. ์ดˆ๊ธฐ ๋ฒกํ„ฐ๊ฐ€ ์•”ํ˜ธํ™” ํ•ด์„œ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก๊ณผ XOR ์—ฐ์‚ฐํ•˜๋ฉด ํ‰๋ฌธ ๋ธ”๋ก์ด ์ƒ์„ฑ๋˜๋ฉฐ ๋‚˜๋จธ์ง€ ๋ธ”๋ก ๋˜ํ•œ ๋™์ผํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณตํ˜ธํ™”๊ฐ€ ์ง„ํ–‰๋œ๋‹ค.

CTR ๋ชจ๋“œ๋Š” ํ˜„์žฌ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค. Counter ๋ชจ๋“œ๋กœ ๋ถˆ๋ฆฌ๋ฉฐ 1์”ฉ ์ฆ๊ฐ€ํ•ด๊ฐ€๋Š” ์นด์šดํ„ฐ๋ฅผ ์•”ํ˜ธํ™” ํ•˜์—ฌ ํ‚ค์ŠคํŠธ๋ฆผ์„ ๋งŒ๋“  ๋‹ค์Œ์— ํ‰๋ฌธ๊ณผ XOR ์—ฐ์‚ฐํ•œ๋‹ค.

์นด์šดํ„ฐ์˜ ์ดˆ๊ธฐ๊ฐ’์€ ๋‚œ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ 1์”ฉ ์ฆ๊ฐ€ํ•ด๊ฐ€๋Š” ํŠน์ง•์„ ๋ณด์ธ๋‹ค.

์นด์šดํ„ฐ ๊ฐ’์ด ๋ธ”๋ก ์•”ํ˜ธ์˜ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ๋“ค์–ด์˜จ๋‹ค. ์•”ํ˜ธํ™”๋œ ์นด์šดํ„ฐ ๊ฐ’๊ณผ ํ‰๋ฌธ ๋ธ”๋ก์— XOR ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์„ ์ƒ์„ฑํ•œ๋‹ค. ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋‚˜๋จธ์ง€ ๋ธ”๋ก์—๋„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์•”ํ˜ธํ™” ๋ธ”๋ก์„ ์ƒ์„ฑํ•œ๋‹ค.

CTR ๋ชจ๋“œ์˜ ๊ฐ€์žฅ ํฐ ์žฅ์ ์€ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์ด๋‹ค. ๊ฐ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์„ ์ƒ์„ฑํ•  ๋•Œ ๋ณ„๋‹ค๋ฅธ ์ข…์†๊ด€๊ณ„๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ณ ์† ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ธ”๋ก ์•”ํ˜ธ์— ๋“ค์–ด๊ฐ€๋Š” Input ๋˜ํ•œ ๋ชจ๋‘ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋ธ”๋ก ์•”ํ˜ธ์˜ ์ถœ๋ ฅ๊ฐ’์„ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๋”ฐ๋ผ์„œ ์•ˆ์ „ํ•˜๊ณ  ํšจ์œจ์ ์ธ ๋ชจ๋“œ์ด๋ฉฐ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

๋ฐ˜์‘ํ˜•