โ๏ธ Cryptography2 [Dreamhack] SingleByteXor ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด ๐ SingleByteXor ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด 1. ๋ฌธ์ ์ ๋ํ ์ค๋ช ์์ง (๋ฌธ์ ํ์ผ์ ๋ณ๋ ๋ค์ด๋ก๋ ํ์ X) ++ XOR(Exclusive OR) ์ํธ๋? XOR(Exclusive OR) ์ํธ๋ฒ์ ๋ ๋นํธ๋ ๋ถ(Boolean) ๊ฐ์ด ๋ค๋ฅผ ๋ 1, ๊ฐ์ ๋ 0์ ๋ฐํํ๋ "๋ฐฐํ์ ๋ ผ๋ฆฌํฉ" ์ฐ์ฐ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ ๊ฐ๋จํ ์ํธํ ๊ธฐ๋ฒ์ด๋ค. XOR(Exclusive OR) ์ฐ์ฐ์ ๊ฐ ๋ฐ์ดํฐ ๋นํธ์ ์ํธํ ํค ๋นํธ ๊ฐ ์ฐ์ฐ์ ์ํํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ฉฐ, ๊ฐ ๋นํธ์ ๋ํด ์ํธํ ํค์ ํด๋น ๋นํธ์ XOR ์ฐ์ฐ์ ์ํํ๋ฉด ์ํธ๋ฌธ์ด ์์ฑ๋๋ค. ๋ณตํธํ์ ๊ฒฝ์ฐ ๋์ผํ ํค๋ฅผ ํตํด ์ฐ์ฐ์ ์ถ๊ฐ ์ํํจ์ผ๋ก์จ ์ป์ ์ ์๋ค. 2. ๋ณตํธํ๋ฅผ ์ํ Python ์คํฌ๋ฆฝํธ ์์ฑ hex_value = "54586b.. 2023. 8. 18. [Dreamhack] Basic_Crypto1 ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด โค๏ธ Basic_Crypto1 ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด 1. ๋ฌธ์ ์ ๋ํ ์ค๋ช ์ ์ฝ์ ํ ๋ฌธ์ ํ์ผ ๋ค์ด๋ก๋ ++ Roman Emperor's Cipher (์์ ์ํธ๋?) ์์ ์ํธ(Caesar cipher)๋ ๊ฐ์ฅ ๊ฐ๋จํ ๋์น ์ํธ(substitution cipher) ์ค ํ๋๋ก, ๋ก๋ง์ ํฉ์ ์์ ๊ฐ ์ฌ์ฉํ๋ค๊ณ ์ ํด์ง๋ ์ํธํ ๋ฐฉ๋ฒ์ด๋ค. ์์ ์ํธ(Caesar cipher)๋ ๊ฐ ๊ธ์๋ฅผ ์ผ์ ํ ๊ฑฐ๋ฆฌ๋งํผ ๋ฐ์ด์ ์ํธํํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ฉฐ, ์ํธํ ๋ฐ ๋ณตํธํ ๊ณต์์ ์๋์ ๊ฐ๋ค. ๊ณต์์์ n์ ์ํธํค๋ฅผ, x ๋ ํ๋ฌธ ์ํ๋ฒณ์ ์์น(0 ~ 25)๋ฅผ ๋ํ๋ธ๋ค. ์ํธํ ๋ณตํธํ E(x) = (x + n) % 26 D(x) = (x - n + 26) % 26 2. ๋ค์ด๋ฐ์ encode.txt ํ์ผ ์คํ --> .. 2023. 8. 16. ์ด์ 1 ๋ค์