AES加密与解密的padding问题

首先说一下,在AES加密与解密的过程中如果需要加密的数据不是16的倍数的时候,需要对原来的数据做padding操作。

padding分为以下几种,不同的padding对加密与解密有影响,所以要保证padding的方式是一致的。

1、ANSI X.923

在ANSI X.923的方式下,先是填充00,最后一个字节填充padded的字节个数。

例子: | DD DD DD DD DD DD DD DD | DD DD DD 00 00 00 00 05 |

2、ISO 10126

在ISO 10126的方式下,先是填充随机值,最后一个字节填充padded的字节个数。

例子: | DD DD DD DD DD DD DD DD | DD DD DD 95 81 28 A7 05 |

3、PKCS7

在PKCS7的方式下,如果一共需要padded多少个字节,所有填充的地方都填充这个值。

例子: | DD DD DD DD DD DD DD DD | DD DD DD 05 05 05 05 05 |

4、ISO/IEC 7816-4

在ISO/IEC 7816-4方式下,第一个填充的字节是80,后面的都填充00。

例子: | DD DD DD DD DD DD DD DD | DD DD DD 80 00 00 00 00 |

5、Zero padding

在Zero padding方式下,每一个需要填充的字节都填00。

例子: | DD DD DD DD DD DD DD DD | DD DD DD 00 00 00 00 00 |


上一篇:东软启动UniEAP & SaCa全国巡展 并联合IDC发布业务基础平台白皮书


下一篇:数字福建物联网首批重点实验室建设启动 厦门两所高校入围