在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 10071|回复: 23

[原创] 加密芯片 数据填充规则之PKCS7

[复制链接]
发表于 2021-6-21 14:30:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
安全芯片本身支持各种标准的加密算法,用户可以使用相应的算法完成数据的加解密、签名验签等功能来完善自己产品的安全性。在数据加解密应用中,数据填充又是其中重要的组成部分。数据填充通常有两个作用一是按要求将数据补足到要就的块长度来满足加密算法的应用需求;二是通过增加填充数据来进一步提高密文的安全性。本次主要介绍分组对称算法中常用的PKCS7
PKCS7是当下各大加密算法都遵循的填充算法,且 OpenSSL 加密算法默认填充算法就是 PKCS7PKCS7Padding的填充方式为当数据长度不足数据块长度时,缺几位补几个几,eg.对于AES128算法其数据块为16Byte(数据长度需要为16Byte的倍数),如果数据”00112233445566778899AA”一共11Byte,缺5,采用PKCS7Padding方式填充之后的数据“00112233445566778899AA0505050505”。
特别注意的一点是如果是数据刚好满足数据块长度也要在元数据后在按PKCS7规则填充一个数据块数据,这样做的目的是为了区分有效数据和补齐数据。仍以AES128为例:如果数据为”00112233445566778899AABBCCDDEEFF”一共16个符合数据块规则采用PKCS7Padding方式填充之后的数据为
“00112233445566778899AABBCCDDEEFF10101010101010101010101010101010”。

发表于 2021-6-22 14:04:11 | 显示全部楼层
最近正好有加密芯片的需求,大家有啥推荐的产品吗?
头像被屏蔽
发表于 2021-6-22 15:33:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2021-6-22 15:37:05 | 显示全部楼层
数据填充是必须的吗?我之前用过一款加密芯片,记得当时没填充啊。
头像被屏蔽
发表于 2021-6-22 15:46:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2021-6-22 16:07:55 | 显示全部楼层
填充的字节是随机的还是有固定排列的,PKCS7算法的安全性又如何呢?是否可以彻底有效的防止被破解
发表于 2021-6-22 16:18:09 | 显示全部楼层
填充的字节是随机的还是有固定排列的,PKCS7算法的安全性又如何呢?是否可以彻底有效的防止被破解
发表于 2021-6-22 16:25:39 | 显示全部楼层
填充的字节是随机的还是有固定排列的,PKCS7算法的安全性又如何呢?是否可以彻底有效的防止被pojie
 楼主| 发表于 2021-6-23 09:06:22 | 显示全部楼层
如AES,DES一类的分组对称加密算法要求明文数据的字节长度必须是其块大小的倍数,因此在加密明文数据之前我们必须对明文数据进行填充。
发表于 2021-6-23 11:49:06 | 显示全部楼层
PKCS7Padding填充时,最后一个字节肯定为填充数据的长度,所以在解密后可以准确删除填充的数据,这样是否存在一定的安全隐患呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-24 21:08 , Processed in 0.021156 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表