μνΈν(Encryption)
νλ¬Έ(plain text) λ©μμ§λ λ°μ΄ν°λ₯Ό μ‘μμ ν λ μ‘μμ μλ§ μ΄ν΄ν μ μλλ‘ μλ¬Έ λ©μμ§λ λ°μ΄ν°λ₯Ό λ³νμμΌμ μνΈλ¬Έ(cipher text)μΌλ‘ λ§λλ μμ
μ μνΈνλ‘ λΆλ₯΄λλ° νμΌ λ¨μ(νμΌ)μ μνΈνμ νμΌμμ€ν
λ¨μ(νλλμ€ν¬: Windows 11μ Bit Locker κ°μ κ²)μ μνΈνλ₯Ό μ¬μ©ν μ μλ€.
κ΅μ₯ν 볡μ‘νκ³ κ³ κΈ μνμ΄ λ€μ΄κ° μνΈν(Cryptographic)μ μ¬κΈ°μ λ€λ£¨μ§λ μκ³ μ 보보μ κ³Όμ μμ νμν λ΄μ©μ μ€μ¬μΌλ‘ μμ보μ.
Linuxμμ νμΌμ μνΈν ν λ λ³΄ν΅ GPG(Gnu Privacy Guard)λ₯Ό μ΄μ©νλλ° GPGλ λ―Έκ΅ λ΄μμλ§ μ¬μ©ν μ μλ PGP(Pretty Good Privacy) μνΈν κΈ°λ²κ³Ό νΈνλλ©°
곡μ ν€ μνΈνμ 곡κ°ν€ μνΈνμμ λͺ¨λ μ¬μ©λ μ μλ€.
SSLμ κ΄λ ¨λ μΈμ¦μ(CRT) ν€λ₯Ό μμ±ν λ μ€νμμ€ openssl λͺ
λ Ήμ΄λ₯Ό μ¬μ©νλ―μ΄, κ°μΈν€/곡μ ν€μ κ΄λ ¨λ ν€λ₯Ό μμ±ν λμ μ€νμμ€ gpg λͺ
λ Ήμ΄λ₯Ό μ¬μ©νλ€.
μ΄λ€ μνΈν μκ³ λ¦¬μ¦μ λ³΄ν΅ Feistel κΈ°λ²μ μ¬μ©νλλ° λΈλ‘ μνΈμ μΌμ’
μΌλ‘ νΉμ κ³μ° ν¨μλ₯Ό λ°λ³΅ν΄μ μνΈνκ° μ΄λ£¨μ΄μ§λ€. μ΄ λ κ° κ³Όμ μ μ¬μ©λλ ν¨μλ₯Ό λΌμ΄λ ν¨μλΌκ³ λΆλ₯΄λλ° λ§μ λΈλ‘ μνΈκ° νμ΄μ€ν
ꡬ쑰λ₯Ό κ°μ§κ³ μλ€. μλ₯Ό λ€μ΄ (3)DES, Blowfish, SEED λ±μ΄ νμ΄μ€ν
ꡬ쑰λ₯Ό κ°μ§λ€.
βΎ μ‘μ μκ° νλ¬Έμ₯ λ°μ΄ν°λ λ©μμ§λ₯Ό μΌμ ν μνμ μκ³ λ¦¬μ¦(ν€)λ‘ μνΈν(encryption)ν΄μ μνΈλ¬ΈμΌλ‘ 보λ΄λ©΄,
μ¦, μ‘μ μκ° 'νλ¬Έμ₯ =>μκ³ λ¦¬μ¦(νλ¬Έμ₯+ν€) =>μνΈλ¬Έ'μΌλ‘ λ§λ€μ΄μ 보λ΄λ©΄
βΎ μμ μλ λμΌν μκ³ λ¦¬μ¦(ν€)μ μ¬μ©ν΄μ μ΄λ₯Ό 볡νΈν(decryption)ν΄μ λ€μ νλ¬Έμ₯μΌλ‘ λ§λ€μ΄μ λ³΄κ² λλ€.
μ¦, μμ μλ 'μνΈλ¬Έ =>μκ³ λ¦¬μ¦(μνΈλ¬Έ+ν€) =>νλ¬Έμ₯'μΌλ‘ λ³νν΄μ μ½
λ νλ‘μΈμ€μ΄λ€.
Attack on 3 tomorrow dawn. -3
xrrxzd df 3 rfpgjgjasd 4xld. +3
βΎ μνΈν(encrypted)μ 볡νΈν(decrypted)μ λμΌν ν€λ₯Ό μ¬μ©νλ©΄ 'λμΉν€(symmetric) μνΈν', μλ‘ λ€λ₯Έ ν€λ₯Ό μ¬μ©νλ©΄ 'λΉ λμΉν€(asymmetric) μνΈν'λ‘ λΆλ₯Έλ€.
λμΉν€λ μ‘μμ μκ° λμΌν μνΈν ν€λ₯Ό μ¬μ©νλ κ²½μ°λ‘ λμΉν€ μνΈνλΌκ³ λΆλ₯΄λ©° DES(Data Encryption Standard), 3DES, AES(Advanced Encryption Standard), SEED, ARIA, IDEA(International Data Encryption Standard), RC5(Ron's Code), Skipjack, Serpent, Twofish λ± μκ³ λ¦¬μ¦μ μ¬μ©νλ€.
=>μ‘μμ μκ° λͺ¨λ κ°μ ν€λ₯Ό κ°μ§κ² λλ―λ‘ κ³΅μ ν€(shared key) κ°λ
μ΄ μλ€. λ¨μΌν€λΌκ³ λ λΆλ₯Έλ€.
=>μ‘μ μλ μμ μ΄ μ¬μ©νλ ν€μ μνΈλ¬Έμ ν¨κ» μμ μμκ² μ μ‘ν΄μΌ νλ μνμ΄ μλ€.
=>μ‘μμ μλ λͺ¨λ 3μ΄λΌλ μκ³ λ¦¬μ¦μΌλ‘ μ£Όμ΄μ§ λ°μ΄ν°λ₯Ό μνΈν/볡νΈν νλ€.
I love you+3 =>filsbvir+3 =>I love you.
λΉ λμΉν€λ μ‘μμ μκ° μλ‘ λ€λ₯Έ μνΈν ν€λ₯Ό μ¬μ©νλ κ²½μ°λ‘ λΉ λμΉν€ μνΈνλΌκ³ λΆλ₯Έλ€. λΉ λμΉν€λ₯Ό μνΈν ν λ μ¬μ©λλ μκ³ λ¦¬μ¦μ΄ DSAμ RSA(Rivest, Sharmir, Adleman)μ΄λ€.
=>μ¬κΈ°μλ κ°μΈν€(private key)μ 곡κ°ν€(public key) κ°λ
μ΄ λ€μ΄μλ€.
=>μ‘μ μλ 2, μμ μλ 3μ΄λΌλ ν€λ₯Ό κ°μ§κ³ μκ³ ,
μκ³ λ¦¬μ¦μ μ‘μμ μλ μ‘μμ ν λ°μ΄ν°μ μμ μ ν€λ₯Ό μ κ³±νλ€.
μ‘μ μλ 4, μμ μλ 3μ΄λΌλ λ°μ΄ν°κ° μλ€λ©΄
4^2=16 , 4^3=64λ₯Ό κ°κ° κ°μ§κ³ μκ³
64^2=4096, 16^3=4096μΌλ‘ μλ‘ λμΌν κ°μ΄ λλ€.
μ¬κΈ°μ μ‘μ μμ 2μ μμ§μμ 3κ° κ°μΈν€μ΄κ³ , μλ‘ κ°κ° κ°μ§κ³ μλ 4096μ΄ κ³΅κ°ν€μ΄λ€. 곡κ°ν€λ μΉμμμ λκ³ κ° μκ³ λ¦¬μ¦μ λλμ΄μ μλ λ°μ΄ν°λ₯Ό μ°Ύμ μ μλ€. 곡κ°ν€λ λꡬλ λ³Ό μ μλ€.
μ΄ λ¬Έμ₯μ 곡κ°ν€ μνΈν λ°©μμμ μ΄λ»κ² μνΈνμ 볡νΈνκ° μ΄λ£¨μ΄μ§λμ§λ₯Ό μ€λͺ νκ³ μμ΅λλ€.
μ¬κΈ°μ μ‘μ μλ 4λΌλ λ°μ΄ν°λ₯Ό μνΈνν λ, μμ μ κ°μΈν€λ₯Ό μ κ³±νμ¬ μνΈνν©λλ€. λ°λΌμ 4^2 = 16μ΄λΌλ μνΈλ¬Έμ΄ λ§λ€μ΄μ§λλ€.
μμ μλ μ΄ μνΈλ¬Έκ³Ό ν¨κ» 곡κ°ν€μΈ 4096μ λ°κ² λ©λλ€. μμ μλ 곡κ°ν€λ₯Ό μ΄μ©νμ¬ μνΈλ¬Έ 16μ 볡νΈνν μ μμ΅λλ€. μ΄ λ, μμ μλ μμ μ κ°μΈν€λ₯Ό μΈμ κ³±νμ¬ λ³΅νΈνν©λλ€. λ°λΌμ 16^3 = 4096μΌλ‘, μλμ λ°μ΄ν°μΈ 4κ° λμ€κ² λ©λλ€.
λ°λλ‘, μ‘μ μλ μμ μλ‘λΆν° λ°μ 곡κ°ν€ 4096μ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό μνΈνν μ μμ΅λλ€. μ΄ λ, μ‘μ μλ μμ μ κ°μΈν€λ₯Ό μ κ³±νμ¬ μνΈνν©λλ€. λ°λΌμ 4^3 = 64κ° μνΈλ¬Έμ΄ λκ³ , μ΄ μνΈλ¬Έκ³Ό ν¨κ» 곡κ°ν€μΈ 4096μ μμ μμκ² μ μ‘ν μ μμ΅λλ€. μμ μλ μ΄ μνΈλ¬Έμ 곡κ°ν€λ₯Ό μ΄μ©νμ¬ λ³΅νΈννκ³ , μμ μ κ°μΈν€λ₯Ό μΈμ κ³±νμ¬ μλμ λ°μ΄ν°μΈ 4λ₯Ό μ°ΎμλΌ μ μμ΅λλ€.
μ΄λ κ² ν¨μΌλ‘μ¨, μ‘μ μμ μμ μλ 곡κ°ν€ μνΈν λ°©μμ μ΄μ©νμ¬ μμ νκ² ν΅μ ν μ μμ΅λλ€.
=>μ¬κΈ°μμ λ¬Έμ μ μ μμ μκ° μμ μ κ°μΈν€μ 곡κ°ν€λ₯Ό μμ±ν λ€ κ³΅κ°ν€λ₯Ό μ‘μ μμκ² λ³΄λ΄μΌ νλλ° λ³΄μ μ λ¬Έμ λλ¬Έμ 보ν΅μ μΉμ λκ³ μ‘μ μκ° λ€μ΄λ°μμ μ¬μ©νκ² νλ€.
μν λ±μμ μ λ§μ μ¬μ©μμκ² μΌμΌμ΄ 곡κ°ν€λ₯Ό λ³΄λΌ μ μκΈ° λλ¬Έμ μνμλ κ° κ°μΈμ΄ λ§λ 곡κ°ν€λ₯Ό μΉμ μ μ₯ν΄λκ³ κ°μΈμ κ°μΈν€λ§ κ°μ§κ³ μλ€κ° μΈν°λ· λ±
νΉ λ±μμ μμ μ κ°μΈν€μ μΉμμ μνμ μ μν΄μ 곡κ°ν€λ₯Ό μ»μ΄μ μΈμ¦ν λ€ μμ
μ νκ² νλ€.
ν΄μ(hash)
μνΈνμ μ μ¬ν κΈ°λ²μΌλ‘ ν΄μκ° μλλ° ν΄μλ λ©μμ§λ λ°μ΄ν°λ₯Ό λ€λ₯Έ κ°μ΄λ ν€λ‘ ννν΄μ 무결μ±μ 보μ¦νλ κΈ°λ²μ΄λ€.
βΎ μνΈνλ 'μ 보 μλ(hide)' μν΄μ μ¬μ©λκ³
βΎ ν΄μλ 'μ 보 무결μ±(integrity) 보μ₯'νκΈ° μν΄μ μ¬μ©λλ€.
ν΄μλ μλ³Έ λ°μ΄ν°μ κΈΈμ΄μ 무κ΄νλ° λν΄νΈ md5λ‘ A ν λ¬Έμλ§ ν΄μνκ±°λ
I love you. λ¬Έμ₯μ ν΄μνμ λ ν΄μλ κ°μ κΈΈμ΄λ λͺ¨λ κ°λ€(λν΄νΈλ‘ 32μ리).
ν΄μμ μ¬μ©λλ md5λ sha512 μκ³ λ¦¬μ¦μ λ°λΌμ ν΄μ λ κ°μ κΈΈμ΄λ λ¬λΌμ§λ€.
μμ£Ό λλ― κ²½μ°λ‘ μλ³Έ λ°μ΄ν°κ° λ¬λΌλ ν΄μλ κ°μ΄ κ°μ μ μλ€. κ·Έλ¦¬κ³ ν΄μλ κ°μ μ λλ‘ μλ³Έ λ°μ΄ν°λ‘ λλ릴 μ μλ€. λ°λΌμ 'ν΄μλ₯Ό νΌλ€'κ³ νλ κ²μ 무μν νλ¬Έμ₯μ κ°κ° ν΄μλ‘ λ§λ ν΄μ체μΈ(hash chainμ΄λ rainbow table λ±)κ³Ό μλ³Έ ν΄μλ₯Ό λΉκ΅ν΄μ μΌμΉλλ ν΄μ체μΈμ νλ¬Έμ₯μ μλ³Έμ΄λΌκ³ μΆμΈ‘νλ κ²μ΄λ€. Bit Coinμ μμ²λκ² λ§μ μ»΄ν¨ν°κ° λμλλ μ΄μ λ μ΄λ° 볡μ‘ν ν΄μλ₯Ό λ³λ ¬λ‘ μ²λ¦¬ν΄μ λΉ λ₯΄κ² νκΈ° μν¨μ΄λ€.
ν΄μμμ μ¬μ©λλ μκ³ λ¦¬μ¦μ΄ MD2, MD5, SHA1, SHA256, SHA512, blowfish, RIPMED κ·Έλ¦¬κ³ Whirlpool λ±μΈλ° TLS, SSL, PGP, SSH, S/MIME, κ·Έλ¦¬κ³ IPSec λ± μνΈν κΈ°λ²μμ μ¬μ©λκ±°λ μΉ λ±μμ λ°μ΄ν°λ ν¨ν€μ§λ₯Ό λ€μ΄λ°μ λ€ μλ³Έκ³Ό λ€μ΄λ°μ νμΌμ 무결μ±(integrity)λ₯Ό νμΈν λ λ§μ΄ μ¬μ©λλ€.
=>κ°μΈν€, 곡κ°ν€ λ±μ κ΄ν κ²λ ν΄μμ ν ννμ΄λ€.
md5 μ ν
Iλ i λ€λ₯΄κ³ , κΈ΄ λ¬Έμ₯λ ν΄μ κΈΈμ΄λ κ°λ€.
곡μ ν€(λμΉν€, λ¨μΌν€) : κ°μΈμ νμΌ λ±μ μνΈνν λ μ μ©νλ€.
gpg -c sym_key.txtλ‘ gpgν€λ₯Ό λ§λ€κ³ rootoor μ λ ₯μΌλ‘ ν€λ₯Ό λ§λ€μ΄μ€¬λ€.
그리κ³
ν€λ₯Ό λ§λ€κ³ νκΈ° μν΄ μλλ μΌν μ€λ‘ 보λ΄μΌ νλλ° κ·Έλ₯ μ¬κΈ°μ νλ€.
txt μ§μ΄λ€.
κ·Έλ¦¬κ³ ν€λ₯Ό νκΈ° μν΄ gpg sym_key.txt νκ³ key phrase μ λ ₯νλ©΄ txt νμΌ λμ¨λ€.
catμΌλ‘ μ½μ μ μμ
λμΉν€λ λ¨μΌν€( Bμ 곡μ ν€ shared)
λμΉ ν€λ A(νλ¬Έμ₯)+Key => A(μνΈλ¬Έ) +Key => A νλ¬Έμ₯
λΉλμΉν€λ ??
Aνλ¬Έμ₯ + Bμ κ°μΈ Key => Aμ μνΈλ¬Έ + Bμ κ°μΈν€(<<)/곡κ°ν€(>>) λμ μμ± => A νλ¬Έμ₯
μΈν°λ·μμ Bμ ν€λ₯Ό μ¬λ¦°λ€.
λλμ΄ λ³΅μ΅ λ€ μ«μκ°λ€. μμκ° λ€μ£½λ°μ£½μΈλ° μ¬μ€ 4μ 3μΌμ λ€μ μμ μΈλ° 4μ 10μΌμ μμ±λ¨...