encryption - 密码反馈模式:s 位大小混淆
问题描述
我是 Crypto 的新手,正在尝试制作一个分组密码加密程序。在编写 CFB 部分时,我偶然发现了一个疑问。
假设我们有一个 64 位的分组密码。我们同时使用 7 位 CFB。然后,对于每个块,该块将运行九次,其中九次 7 位左移到该块(从 IV 开始)和随后的加法发生。
这意味着在 9 轮 CFB 之后,处理了 64 位块的 63 位。最后,我们还剩下一点。我如何处理这个位?我是再取七位还是只加密剩下的一位?
对于s不是块大小的因素的任何情况,我都有同样的问题。
解决方案
回想起来,这个问题似乎很愚蠢。
我现在已经明白,如果明文的长度不是块大小的倍数,则必须对其进行填充。
推荐阅读
- python-3.x - PermissionError:[Errno 13] Windows 上的权限被拒绝(pyinstaller)
- sqlite - 如何在 UWP 的新 SQLiteConnection 中传递 db 路径名?
- html - 设置内联元素的高度和宽度
- python - Pyqt5:RangeSlider 对象
- python - 有条件地替换 Pandas 中的缺失值
- javascript - Bootstrap Javascript 错误:语法错误,无法识别的表达式:.bs-docs-container [href=#]
- squish - Squish 如何知道它可以执行另一行?
- menu - 如何在模块位置上发布不同的 menutype joomla?
- google-sheets - 查询给出错误的输出电子表格
- sql - 需要 SQL 在不同的列中查找具有重复值的记录