Blockchain Technology - jjin-choi/study_note GitHub Wiki


ยง Chapter 2. ์•”ํ˜ธ ๊ธฐ์ˆ 

01. ์•”ํ˜ธ์˜ ์—ญ์‚ฌ

  • ์•”ํ˜ธ๋ฌธ์„ ๋ณด๋‚ธ ์‚ฌ๋žŒ๊ณผ ๋ฐ›์€ ์‚ฌ๋žŒ์€ ๋™์ผํ•œ ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ์ด๋Ÿฐ ๋ชฉ์ ์˜ ํ‚ค๋ฅผ ๋น„๋ฐ€ํ‚ค (Secret key) ํ˜น์€ ๋Œ€์นญํ‚ค (Symmetric key) ๋ผ๊ณ  ํ•จ.
    • ๋น„๋ฐ€ํ‚ค๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋งŒ์ด ์•”ํ˜ธ๋ฅผ ํ’€ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋น„๋ฐ€ํ‚ค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ „๋‹ฌํ•ด์•ผ ํ•˜๋Š” ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ.
    • ํ˜„๋Œ€ ์•”ํ˜ธ๋Š” ๋น„๋Œ€์นญํ‚ค (Asymmetric key) ํ˜น์€ ๊ณต๊ฐœํ‚ค (Public key) ๋ฐฉ์‹์„ ์‚ฌ์šฉ
    • ๊ณต๊ฐœํ‚ค ๋ฐฉ์‹์€ ํ‚ค๋ฅผ ์ „๋‹ฌํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์นญํ‚ค ๋ฐฉ์‹์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

02. ์•”ํ˜ธ๋ฌธ์˜ ์š”๊ฑด

  • ์•ˆ์ „ํ•œ ์•”ํ˜ธ๋ฌธ์„ ์œ„ํ•ด์„œ๋Š” ํ˜ผ๋ˆ (Confusion) ๊ณผ ํ™•์‚ฐ (Diffusion) ๊ณผ์ •์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณต (Rounding)
    • ํ˜ผ๋ˆ (Confusion) : ์›๋ฌธ๊ณผ ์•”ํ˜ธ๋ฌธ์˜ ๊ด€๊ณ„๋Š” ๋ชจํ˜ธํ•ด์•ผ ํ•จ.
    • ํ™•์‚ฐ (Diffusion) : ์›๋ฌธ์˜ ํŠน์ • ์œ„์น˜์— ์žˆ๋Š” ๋‚ด์šฉ์€ ์•”ํ˜ธ๋ฌธ์˜ ์—ฌ๋Ÿฌ ์œ„์น˜์— ์˜ํ–ฅ์„ ๋ฏธ์ณ์•ผ ํ•จ.

03. ๋Œ€์นญํ‚ค ๊ธฐ๋ฐ˜ ์•”ํ˜ธ ๊ธฐ์ˆ 

  • ๋™์ž‘ ๋ฐฉ์‹
    • Block cipher : ๋ฌธ์„œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ธ”๋ก์œผ๋กœ ๋‚˜๋ˆˆ ๋‹ค์Œ ๋ธ”๋ก ๋‹จ์œ„๋กœ ํ‚ค๋ฅผ ์ ์šฉ
    • Stream cipher : ์›๋ฌธ์ด ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ์ธ ๊ฒฝ์šฐ (ex. ์Œ์„ฑ ํ†ตํ™” ๋‚ด์šฉ, ํœด๋Œ€ํฐ๊ณผ ๊ธฐ์ง€๊ตญ ์‚ฌ์ด์˜ ์‹ ํ˜ธ ์ „๋‹ฌ ๋“ฑ)
  • ๋ธ”๋ก ์•”ํ˜ธ ๋ฐฉ์‹ (Block cipher)
    • Electronic Code Book (ECB) : ์›๋ฌธ ๋ธ”๋ก๊ณผ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์ด ์„œ๋กœ ์ผ๋Œ€์ผ ๋Œ€์‘
      • ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ํ™•์‚ฐ ๊ณผ์ •์ด ์—†์œผ๋ฏ€๋กœ ์•ˆ์ „ํ•˜์ง€ ๋ชปํ•จ.
    • Cipher Block Chaining (CBC) : ์›๋ฌธ ๋ธ”๋ก๊ณผ ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์ด ์ผ๋Œ€์ผ๋กœ ๋Œ€์‘ํ•˜์ง€ ์•Š์Œ
      • ex) ์•”ํ˜ธ๋ฌธ ๋ธ”๋ก์ด ๋‹ค์‹œ ํ”ผ๋“œ๋ฐฑ ๋˜์–ด ๋‹ค์Œ ์›๋ฌธ ๋ธ”๋ก์— ๋ฐ˜์˜.
  • Advanced Encryption Standard (AES) ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ์น˜ํ™˜-์ „์น˜ ๊ตฌ์กฐ (Substitution-Permutation Network, SPN)
      • Substitution ์€ ํ˜ผ๋ˆ ๊ธฐ๋Šฅ
      • Permutation ์€ ํ™•์‚ฐ ๊ธฐ๋Šฅ
      • ํ‘œ์ค€์œผ๋กœ๋Š” 128 ๋น„ํŠธ ํ‚ค๊ฐ€ ์‚ฌ์šฉ๋˜๊ณ  ์น˜ํ™˜๊ณผ ํ™•์‚ฐ ๊ณผ์ •์„ ์ด 10๋ฒˆ ๋ฐ˜๋ณต (10 round) ํ•œ๋‹ค.
      • ๋น„ํŠธ์ฝ”์ธ ์ฝ”์–ด ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์ง€๊ฐ‘์„ ์•”ํ˜ธํ™” ํ•  ๋•Œ 256 ๋น„ํŠธ์˜ AES ์•Œ๊ณ ๋ฆฌ์ฆ˜ (CBC ๋ชจ๋“œ) ์‚ฌ์šฉ.

04. ๋Œ€์นญํ‚ค ์•”ํ˜ธ ์ ˆ์ฐจ ์‹ค์Šต

https://inor.tistory.com/41

http://www.kiri.or.kr/pdf/%EC%97%B0%EA%B5%AC%EC%9E%90%EB%A3%8C/%EC%97%B0%EA%B5%AC%EB%B3%B4%EA%B3%A0%EC%84%9C/nre2018-24_02.pdf

course

https://www.simplilearn.com/learn-blockchain-basics-skillup?utm_source=frs&utm_medium=skillup-home-banner&utm_campaign=frs-skillup-home-promotion

https://www.coursera.org/specializations/blockchain https://www.coursera.org/learn/blockchain-basics#syllabus https://www.coursera.org/learn/decentralized-apps-on-blockchain?specialization=blockchain