如何在python中用AES芯片块实现CFB链接模式

2024-06-26 14:55:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道有pycrypto库,可以这样实现: AES.new(键,AES.MODE_CFB,IV)

但我需要手动实现循环流化床模式

用这个来学习https://www.youtube.com/watch?v=Xm37066R38E

将我的实现与AES.new(key,AES.MODE_CFB,IV)进行比较时,只有第一个加密符号是相同的

也无法解密(请参阅解密部分)

key='This is the key1'
IV="This is an IV457"
cipher=AES.new(key)
ivx=IV
m_enc=''
message='Some random message'

for x in message:
   ivx=cipher.encrypt(ivx)
   m_enc=m_enc+sxor(ivx[:1],x)
   ivx=ivx[1:]+sxor(ivx[:1],x)
   print m_enc.encode("hex")


print "####### DECRYPT ##################"
cipher=AES.new(key)
ivx=IV
m_dec=''
for x in m_enc:
  ivx=cipher.encrypt(ivx)
  m_dec=m_dec+sxor(ivx[:1],x)
  ivx=ivx[1:]+sxor(ivx[:1],x)
  print m_dec


  obj=AES.new(key,AES.MODE_CFB,IV)
  ciphertext=obj.encrypt(message)
  print "******** Check with AES.MODE_CFB *********"
  print ciphertext.encode("hex")

我希望我能解密


Tags: keymessagenewmodethisdecencryptaes