프로그래밍
[Python] DES 예제
dladbru
2018. 2. 6. 12:57
import requests, urllib, json import base64 import pyDes class DES: def __init__(self, iv, key): self.iv = iv self.key = key def encrypt(self, data): k = pyDes.des(self.key, pyDes.ECB, self.iv, pad=None, padmode=pyDes.PAD_PKCS5) d = k.encrypt(data) d = base64.encodestring(d) return d def decrypt(self, data): k = pyDes.des(self.key, pyDes.ECB, self.iv, pad=None, padmode=pyDes.PAD_PKCS5) d = k.decrypt(data) return d iv = "AAAAAAAA" key = '=%l^:R?k' des = DES(iv, key) decryptdata = des.decrypt(data)
ECB 모드는 IV값에 무엇을 적어도 영향을 받지 않는다. 그러니 복호화할 경우가 있으면 IV값은 신경을 쓰지 않아도 된다.
ECB , CBC 의 차이는 아래 사진에서 확인 가능하다.
<Figure 0. "Block cipher modes of operation" - Wiki 참조>
반응형