PKCS#7、Bit padding(位填充)、Byte padding(字节填充)、Zero padding(零填充)

PKCS#7、Bit padding(位填充)、Byte padding(字节填充)、Zero padding(零填充)是密码学常见的填充方式。

  1. Bit padding(位填充):
    • 位填充可以应用于任意长度的消息。
    • 在消息的末尾添加一个 ‘1’ 位,然后添加所需数量的 ‘0’ 位,直到消息扩展到下一个块的边界。在位术语中,这表示为 “1000 … 0000”。
    • 例如,如果消息的位数为 23 位,需要填充 9 位以填充到 32 位块,则填充后的消息如下所示:... | 1011 1001 1101 0100 0010 0111 0000 0000 |
  2. Byte padding(字节填充):
    • 字节填充适用于可以编码为整数个字节的消息。
    • ANSI X9.23、ISO 10126、PKCS#5 和 PKCS#7 等填充方案属于字节填充的一种。
    • 字节填充的一个示例是 ANSI X9.23,它始终添加 1 到 8 个字节的填充,填充块随机字节,最后一个字节设置为添加的字节数。
  3. PKCS#5 和 PKCS#7
    • PKCS#5 和 PKCS#7 是密码学标准,定义了一种填充方案,用于在对称密码算法中将消息扩展到下一个块的边界。
    • 在这两种填充方案中,添加的每个字节的值都等于添加的字节数。
    • 例如,对于 PKCS#7,如果需要填充 4 个字节,则填充为 04 04 04 04

更多参考文章:
密码学的Padding填充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值