新闻  |   论坛  |   博客  |   在线研讨会
数据填充规则之PKCS7
hanini | 2021-06-21 11:32:32    阅读:388   发布文章

     安全芯片本身支持各种标准的加密算法,用户可以使用相应的算法完成数据的加解密、签名验签等功能来完善自己产品的安全性。在数据加解密应用中,数据填充又是其中重要的组成部分。数据填充通常有两个作用一是按要求将数据补足到要就的块长度来满足加密算法的应用需求;二是通过增加填充数据来进一步提高密文的安全性。本次主要介绍分组对称算法中常用的PKCS7。

PKCS7是当下各大加密算法都遵循的填充算法,且 OpenSSL 加密算法默认填充算法就是 PKCS7。PKCS7Padding的填充方式为当数据长度不足数据块长度时,缺几位补几个几,eg.对于AES128算法其数据块为16Byte(数据长度需要为16Byte的倍数),如果数据为”00112233445566778899AA”一共11个Byte,缺了5位,采用PKCS7Padding方式填充之后的数据为“00112233445566778899AA0505050505”。

特别注意的一点是如果是数据刚好满足数据块长度也要在元数据后在按PKCS7规则填充一个数据块数据,这样做的目的是为了区分有效数据和补齐数据。仍以AES128为例:如果数据为”00112233445566778899AABBCCDDEEFF”一共16个符合数据块规则采用PKCS7Padding方式填充之后的数据为

“00112233445566778899AABBCCDDEEFF10101010101010101010101010101010”


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
miniminimini  2021-06-25 17:12:29 

文章很值得学习,感谢分享,果断收藏

嘟呀嘟  2021-06-25 17:04:07 

对的,LKT的芯片在业界还是挺出名的,建议去他家官网查看一下。

sunxiang0506  2021-06-25 13:22:23 

真的吗?我看身边好多人都推荐他家,我去咨询下刚好我们公司正在做一款产品需要加密,

Testwf  2021-06-25 13:10:13 

LKT芯片这几年口碑挺好,有几个朋友都推荐过,大家都可以看看,毕竟产品安全是最重要的

114W1  2021-06-25 11:25:13 

哪家芯片安全性高啊,我们有加密需求不知道选哪家好呢

绿茶与拿铁  2021-06-25 11:19:17 

可见数据填充在数据加解密应用过程中,起到了很关键性的作用缺一不可。

kessy1  2021-06-25 09:45:03 

还有pkcs#5填充模式,两者的填充方法基本相同,都是按照分块之后填充,区别在于pkcs#5定长为8位,pkcs#7为非定长。

hanini  2021-06-25 09:10:22 

某些加密算法要求明文需要按一定长度对齐,叫做块大小(BlockSize),比如16字节,所以需要填充,对安全性没有影响

绿茶与拿铁  2021-06-24 15:17:22 

文中说PKCS7是当下各大加密算法都遵循的填充算法,那大多数人都知道的可能会影响安全性吧

ChateauMargaux  2021-06-24 15:12:32 

PKCS7是一种数据填充而不是加密算法对安全性没影响只是为了满足对称算法的数据需求。

zyqq58  2021-06-24 14:49:24 

之前听说过PKCS5填充,跟PKCS7填充比起来哪个更安全一点?

miniminimini  2021-06-24 14:38:37 

还有其他的填充方式吗,期待楼主的下一篇讲解

ChateauMargaux  2021-06-24 14:29:39 

数据传输过程需要保护,解密后的操作与安全性无关。填充标准是一种定义,无论怎么填充,或者不填充,都不会降低安全性。

xiaoyuzhou1228  2021-06-24 09:09:55 

PKCS7Padding填充时,最后一个字节肯定为填充数据的长度,所以在解密后可以准确删除填充的数据,这样是否存在一定的安全隐患呢?

hanini  2021-06-23 18:50:20 

如 AES,DES 一类的分组对称加密算法要求明文数据的字节长度必须是其块大小的倍数,因此在加密明文数据之前我们必须对明文数据进行填充。

kessy1  2021-06-23 09:46:35 

填充的字节是随机的还是有固定排列的,PKCS7算法的安全性又如何呢?是否可以彻底有效的防止被破解

Testwf  2021-06-22 16:11:16 

应该不是必须的吧,不过通过增加填充数据可以进一步提高密文的安全性,所以还是有数据填充更好一些吧

sunxiang0506  2021-06-22 13:23:22 

数据填充是必须的吗?我之前用过一款加密芯片,记得当时没填充啊。

嘟呀嘟  2021-06-22 13:14:29 

有一家叫凌科芯安的公司,他家的芯片口碑不错,有适合各种接口的不同型号供不同客户的选择。

zyqq58  2021-06-22 10:53:26 

最近正好有加密芯片的需求,大家有啥推荐的产品吗?

推荐文章
最近访客