分组对称算法中常用的PKCS7数据填充介绍
在数据加解密应用中,数据填充是其中重要的组成部分。数据填充通常有两个作用一是按要求将数据补足到分组块长度来满足加密算法的应用需求;二是通过增加填充数据来进一步提高密文的安全性。本文主要介绍分组对称算法中常用的PKCS7。
PKCS7是对称安全算法常用的数据填充规则。PKCS7 Padding的填充方式为当数据长度不足数据块长度时,缺几位补几个,eg.对于AES128算法其数据块为16Byte(数据长度需要为16Byte的倍数),如果数据为“00112233445566778899AA”一共11个Byte,缺了5位,采用PKCS7 Padding方式填充之后的数据为“00112233445566778899AA0505050505”。
特别注意的一点是如果是数据刚好满足数据块长度也要在元数据后在按PKCS7规则填充一个数据块数据,这样做的目的是为了区分有效数据和补齐数据。
以AES128为例:
如果数据为“00112233445566778899AABBCCDDEEFF”一共16个符合数据块规则采用PKCS7Padding方式填充之后的数据为
“00112233445566778899AABBCCDDEEFF10101010101010101010101010101010”。
PKCS7补齐代码如下:
void PKCS7_Padding(u8*InOutBuf,u32 *Inoutlen ,u8 Blocksize)
{
u8 paddata=0x00;
u32 padoffset=0x00;
u32 i;
u32 lp;
lp=*Inoutlen;
paddata=Blocksize-(lp%Blocksize);
padoffset=(lp/Blocksize)*Blocksize+(lp%Blocksize);
for(i=0 ;i<paddata;i++)
InOutBuf[padoffset+i]=paddata;
*Inoutlen +=paddata ;
}
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自凌科芯安加密芯片公众号,原文标题为:数据填充之PKCS7填充,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【技术】PEM格式RSA密钥解析(二)——RSA密钥参数
上一部分讲解了将Base64编码的密钥数据转换成hex格式数据,本章将介绍如何获从转码后的数据中获取RSA密钥的相关参数。
技术探讨 发布时间 : 2023-02-08
【技术】PEM格式RSA密钥解析(一)——Base64转16进制格式
本文介绍如何将BASE64编码转换16进制。
技术探讨 发布时间 : 2023-01-11
探讨加密芯片在AI领域的应用与推广
随着人工智能(AI)技术的快速发展,数据安全与隐私保护成为了各行各业关注的焦点。加密芯片作为硬件层面的安全保障,正在AI领域中发挥着越来越重要的作用。本文凌科芯安将探讨加密芯片在AI领域的应用,并分析其对AI安全性、效率及未来发展的影响。
技术探讨 发布时间 : 2024-11-06
【经验】凌科芯安LKT/LCS系列IIC接口加密芯片调试常见问题及解决方法
凌科芯安定位在嵌入式数据安全领域,产品涵盖了嵌入式数据加解密及版权保护芯片、智能卡、软件加密锁、加密存储产品、读写机具以及密钥安全系统的定制开发服务。本文基于LKT/LCS系列加密芯片,介绍芯片调试中经常遇到的问题及解决方法。
设计经验 发布时间 : 2023-08-22
【技术】ECDSA签名算法及其原理,签名及验证过程详解
关于ECDSA签名算法您有哪些了解?本文凌科芯安将针对ECDSA签名算法及其原理,签名及验证过程进行介绍。
技术探讨 发布时间 : 2022-06-05
RSA科普-大质数生成算法与公钥指数的选取
本文介绍大质数生成算法,公钥指数的选取和RSA公私钥生成流程。
技术探讨 发布时间 : 2024-08-12
【经验】凌科芯安带你了解常用国密算法:SM1(SCB2)、SM2、SM3、SM4、SM7
国密算法是国家商用密码管理办公室制定的一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)等等。在终端设备上通常需要使用内嵌国密算法的安全芯片配合使用,倚靠安全芯片的安全性来实现密钥的存储和安全防护。
设计经验 发布时间 : 2022-06-02
凌科芯安的LCS4110A可以用在医疗耗材上吗?
只要是数据加密或者尤其是程序防盗版都可以用,车用电子、智能眼镜、车载诊断设备、游戏手柄、医疗耗材、移动互联、智能网关、打印耗材、工业控制、智能门锁、智能楼宇、工业喷码、人脸识别、工业相机、智能家居。
技术问答 发布时间 : 2024-07-29
【IC】LKT4202UGM安全芯片符合EAL4+安全等级设计要求、功耗低,智能门锁设备首选安全解决方案
凌科芯安LKT4202UGM是以32位安全CPU内核为基础的高性价比安全芯片,符合EAL4+安全等级设计要求,支持低功耗,自带DES/TDES硬件协处理器,同时支持SM2协处理器、SM3协处理器、SM4协处理器。
产品 发布时间 : 2024-08-03
【产品】8位IIC接口防盗版加密芯片LKT4106 ,支持DES、SHA1等国际标准加密算法
凌科芯安推出的8位IIC接口防盗版加密芯片LKT4106,以8位安全芯片平台为基础,内部嵌入凌科芯安公司的LKCOS智能操作系统,通讯速度最高可达400Kbps。支持DES、SHA1等国际标准加密算法,用户可将自定义关键算法下载到芯片中运行,从而实现产品防盗版、身份认证、数据加解密等功能。
产品 发布时间 : 2022-06-06
【产品】支持SM1/2/3/4/7算法的加密芯片LKT4305-GM,具有32位CPU内核及操作系统
LKT4305-GM是凌科芯安科技(北京)有限公司行业内开发的以32位安全处理器为基础的具有高性能高安全性的国密算法加密产品。加密芯片满足商密安全检测标准 GM/T 0008-2012《安全芯片密码检测标准》安全等级第二级。
产品 发布时间 : 2022-05-25
凌科芯安的LCS4110A加密芯片支持多大的容量,温度参数怎么样?
32位内核,25M内频,IIC接口,待机低功耗0.1uA,28KB程序存储区,4KB数据存储区,1.75B RAM,-45℃到零上85℃嵌入式代码程序移植(超高安全性,自主版权保护,具备专利证书),3DES/AES认证(快速认证),参数保护(参数+3DES/AES动态防护)多种方案,可定制方案。
技术问答 发布时间 : 2024-07-29
凌科芯安(LINK CORESAFE)加密芯片选型指南
描述- 凌科芯安科技(北京)有限公司成立于2006年1月,公司定位在嵌入式数据安全领域,产品涵盖了嵌入式数据加解密及版权保护芯片、智能卡、软件加密锁、加密存储产品、读写机具以及密钥安全系统的定制开发服务。全部产品以LKCOS智能操作系统为核心,为合作伙伴提供产品数据安全方面的解决方案。
型号- LKT4110U,LCS6810,LCS4110A,LKT4105U,LKT4200HS
【IC】高性价比国产安全MCU——LKT6850,最高工作频率48MHz,供电电压2.5~5.5V
LKT6850是一款以32位ARMCortexTM -M0处理器内核为基础的高性价比安全MCU。LKT6850具有最高64KBFlash、4KBRAM、48MHZ工作频率,具有丰富的外设资源供开发人员使用。芯片可实现DES/TDES/AES/SM4等对称算法,可实现多种安全身份认证、数据加解密等功能。该产品广泛应用于各种产品和行业中,能实现防止产品被破解、盗版等问题从而保护产品开发商知识产权。
产品 发布时间 : 2024-05-01
有什么加密芯片支持低功耗呢?
LCS4110A,凌科芯安的低功耗0.1微安,支持超长的待机时间,是目前功耗极低的一款加密芯片产品。
技术问答 发布时间 : 2024-07-29
电子商城
登录 | 立即注册
提交评论