python - DES算法与Python Crypto.Cipher Key -8 bits
问题描述
我正在尝试使用 Python Crypto.Chiper 包加密字符串变量以了解 DES 算法。但我真的不明白为什么密钥长度必须是 8 个字节长。我到处搜索,发现 DES 算法密钥长度为 56 位。为什么它们不同?
解决方案
如wikipedia 上所述,密钥由 56 位 + 8 个奇偶校验位组成。由于这些通常不用于加密过程本身,因此通常不会被提及(有关详细信息,请参见例如此处)。事实上,DES 实现Crypto.Cipher
明确声明奇偶校验位被丢弃。所以基本上它是过去加密时代的遗物和图书馆创建者的设计决定。
推荐阅读
- javascript - 阅读更多阅读更少功能仅适用于移动视图
- css - 我可以为 css 文件添加单独的类名吗
- angular - Ng-multiselect-dropdown 和数据过滤
- generics - 是否可以为特征提供可选的泛型类型?
- ruby-on-rails - 使用 gem 'best_in_place' 进行内联编辑时出现 Rails 错误
- backwards-compatibility - 支持不同 REST API 版本的多个模型版本
- php - Codeigniter 4 - 无法让我的模块工作
- visual-studio-code - 如何在 VSCode、Windows 10 中使用“Graphviz (dot) Stephanvs”扩展名可视化 .dot 文件?
- django - Django - 如何将字符串转换为模板中的链接?
- django - 内部和外部 API 的单独文档 (drf_yasg)