pycryptoと遊んでみる
こんにちは、deusx'sキッチンの時間です。
暗号とか詳しく知らんしという、ふわっとした状態でpycryptoと遊んでいます。
dlitz/pycrypto · GitHub
PyCrypto API Documentation
何でも良かったんだけど、最初にやったのがpycryptoだったので。
from Crypto.Cipher import AES from binascii import hexlify, unhexlify key = ''.join(chr(x) for x in range(0, 16)) # AES-128 iv = unhexlify('00' * 16) # initialization vector 16 bytes origin = 'Hello pycrypto!' * 16 # n * 16 bytes en = AES.new(key, AES.MODE_CBC, iv).encrypt(origin) de = AES.new(key, AES.MODE_CBC, iv).decrypt(en) # hex dump print('[key]: ' + key.encode('hex')) print('[iv]: ' + hexlify(iv)) print('[origin]:\n' + origin.encode('hex')) print('[en]:\n' + en.encode('hex')) print('[de]:\n' + de.encode('hex')) # answer comparison print('[origin]:\n' + origin) print('[de]:\n' + de)
ボクは頭賢くないので実際に動作を確認しながら、少しずつ勉強していってる次第であります。