【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密原理 | 非密钥整数倍长度的数据加密处理 )

举报
韩曙亮 发表于 2022/01/11 23:47:46 2022/01/11
【摘要】 文章目录 一、对称加密原理二、非密钥整数倍长度的数据加密处理 一、对称加密原理 给定一个 密钥 , 密钥的 长度不确定 , 可能是 ...





一、对称加密原理



给定一个 密钥 , 密钥的 长度不确定 , 可能是 32 32 32 字节 , 也可能是 64 64 64 字节 ;

被加密的数据 切割成 与 密钥长度 相同 数据块 ;

对上述切割后的数据 , 进行 分组加密 ;

加密后的数据就组成了 密文 ;





二、非密钥整数倍长度的数据加密处理



如果数据长度是 1029 1029 1029 字节 , 前面的 1024 1024 1024 字节正常加密 , 后面的 5 5 5 个字节 , 需要进行特殊处理 ;

数据的长度 不是 密钥大小 的整数倍 ;


最后 5 5 5 字节处理方案 :

加密密钥是 32 32 32 位 , 切割后 , 最后一个数据块是 5 5 5 字节 , 不是 32 32 32 的整数倍 ;

这里需要给后面的 数据进行填充 , 填充的原则是 " 缺几补几 " , 该数据块缺少 27 27 27 个字节 , 就在 5 5 5 个字节后的 27 27 27 个字节位置 , 都赋值 27 27 27 数值 , 也就是十六进制的 0x1B ;

在这里插入图片描述

将上述数据解密 , 就会发现最后 27 27 27 个字节的数据都是 0x1B , 如果发现如下规则 , n n n n n n 就将后面 n n n 个字节删除 ;

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/121727029

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。