DESλ₯Ό 보μνκΈ° μν΄ NISTμμ 곡λͺ¨νμλ€.
μμ μ±, λΉμ©, ꡬνμ ν¨μ¨μ±μ κΈ°μ€μΌλ‘ AES μκ³ λ¦¬μ¦μ μ μ νμλ€.
λΌμ΄λ : μνΈνλ₯Ό μν΄ λ°λ³΅λλ κ²
λ§μ€ν°ν€ : μνΈν, 볡νΈνμ μ¬μ©λλ λΉλ°ν€
λΌμ΄λ ν€ : λΌμ΄λλ§λ€ μ¬μ©λλ ν€
128λΉνΈ νλ¬Έ -> 128λΉνΈ μνΈλ¬Έ
λΌμ΄λλ 10, 12, 14κ° μμΌλ©° κ°κ°μ λ§μ€ν° ν€μ ν¬κΈ°λ 128, 192, 256μ΄λ€.
νμ§λ§ λͺ¨λ λΌμ΄λ ν€λ 128λΉνΈλ₯Ό μ¬μ©νλ€.
κ°κ°μ λΌμ΄λ ν€μ μλ "λΌμ΄λ+1" μ΄λ€.
λΉνΈ, λ°μ΄νΈ, μλ(4λ°μ΄νΈ)
λΈλ‘ : 128λΉνΈλ₯Ό 16λ°μ΄νΈμ λΈλ‘μΌλ‘ νν

μ€ν
μ΄νΈ : κ° μ°μ° μ¬μ΄μ λ°μ΄ν° λΈλ‘, (4X4 νλ ¬) 16λ°μ΄νΈλ‘ ꡬμ±λλ€. μ΄ λ¨μλ‘ μ μ©λλ€.

λΈλ‘μ μ€ν μ΄νΈλ‘ λ³ννλ κ³Όμ ?
(non-Feistel μκ³ λ¦¬μ¦μΌλ‘ μν¨μκ° μ‘΄μ¬νλ€.)
κ° μ€ν μ΄νΈλ§λ€ λμΉλ³νμ νλλ°, ν λ°μ΄νΈλ₯Ό 4λΉνΈμ© 2κ°λ‘ λλμ΄ 2κ°μ 16μ§μλ₯Ό λ§λ€κ³ SubBytes λ³ν ν μ΄λΈμ νμ΄μμ μ°Ύμ λμΉνλ€.
μν¨μλ InvSubBytes
κ° λΌμ΄λλ§λ€ νλ²μ© μ€ν
μ€ν
μ΄νΈμμ κ° νμ κΈ°μ€μΌλ‘ λ°μ΄νΈλ§λ€ shifting (λΉνΈ X)

κ° ν λ²νΈ(μ)λ§νΌ μΌμͺ½μΌλ‘ μ΄λνλ€.
μν¨μλ InvShiftRows (μ€λ₯Έμͺ½μΌλ‘ μ΄λνλ€.)
κ° λΌμ΄λλ§λ€ νλ²μ© μ€ν
λ°μ΄νΈ μμ λΉνΈλ₯Ό λ°κΎΈκΈ° μν μ°μ°μ΄λ€.
ν μ΄(4λ°μ΄νΈ)μ© μ λ°©νλ ¬κ³Ό κ³±ν΄ μλ‘μ΄ μ΄μ λ§λ λ€.
μ¬μ©λλ μ λ°©νλ ¬

μν¨μλ InvMixColumnsμ΄λ€.
λ§μ§λ§ λΌμ΄λλ₯Ό μ μΈνκ³ κ° λΌμ΄λμμ νλ²μ© μ€ν
ν μ΄μ λΌμ΄λ ν€ μλλ₯Ό λν΄ μλ‘μ΄ μ΄μ λ§λ λ€.
λΌμ΄λ ν€λ 128λΉνΈμΈλ°, μλ(32λΉνΈ)λ‘ 4κ°μ νμκ°μ§ 1ν΄μ μ΄λ‘ νννλ€.
μν¨μλ μκΈ° μμ μ΄λ€.
κ° λΌμ΄λμμ νλ²μ© μ€ννκ³ pre-roundμμ νλ² λ μ€ν