프로그래밍
[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 참조>
반응형