已解决
关于AES加密输出密文不为128位的倍数的原因
来自网友在路上 176876提问 提问时间:2023-10-23 20:37:15阅读次数: 76
最佳答案 问答题库768位专家为你答疑解惑
今天尝试用AES-256-OFB加密一个flag结果输出的密文是43字节,不是128位(16字节)的倍数,代码如下:
import os
from Crypto.Cipher import AES
data=b'flag{a7ba7128-3917-4551-8260-b3499e9dd7b12}'
aes = AES.new(os.urandom(32), AES.MODE_OFB, os.urandom(16))
aes.encrypt(data)
结果输出是一串ee9b074ed941942a965e966de91590af1e32b2c1cccde61efb5295374c807e49ab275456b9b937a6576680
并不是16字节的倍数,百思不得其解,后来网上查了下OFB的工作模式:
可以看到,他加密解密的时候用的是异或加密块输出的办法,这样就能够将块密文(Block Cipher)转换为流密文。输入的明文大小就不用固定了,不然还得使用PKCS7padding算法填充。因此密文的大小也不用固定。
查看全文
99%的人还看了
相似问题
- JVM:字节码文件,类的生命周期,类加载器
- 网工内推 | 字节原厂,正式编,网络工程师,最高30K*15薪
- Go 以小端字节序修改文件
- UDP端口接收到的字节流如何转为QJsonObject、QJsonArray的方法
- 《2020年最新面经》—字节跳动Java社招面试题
- 计算Qt中的QAudioOutput缓冲区未播放的音频字节数对应时长
- 字节面试:请说一下DDD的流程,用电商系统为场景
- 深入理解JVM虚拟机第二十一篇:详解JVM当中的操作数在栈以及分析操作数栈与字节码指令和执行引擎的关系图解
- 【Linux网络编程_TCP/UDP_字节序_套接字 实现: FTP 项目_局域网聊天项目 (已开源) 】.md updata:23/11/05
- 【项目源码】反编译Java字节码生成源码
猜你感兴趣
版权申明
本文"关于AES加密输出密文不为128位的倍数的原因":http://eshow365.cn/6-22698-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!