加密/解密介绍及算法规格
在HUKS中已经有密钥,需要对一段数据加密或是解密,均可以使用HUKS完成加密/解密操作。
从API 23开始支持群组密钥特性。
支持的算法
以下为密钥加密/解密支持的规格说明。
手机、平板、PC/2in1设备、TV、智能穿戴规格
| 算法/分组模式/填充模式 | 备注 | API级别 |
|---|---|---|
| AES/CBC/NoPadding AES/CBC/PKCS7 AES/CTR/NoPadding | IV参数必选;CBC模式下,若填充模式选择为NoPadding,因为该模式下要求明文数据必须按照固定长度的块进行加密,如果输入的数据长度不是16的倍数,就需要业务方自行填充,以满足块长度的要求。 | 8+ |
| AES/GCM/NoPadding | 加密:NONCE、AAD参数可选。不指定NONCE参数,将会以“密文 + AEAD + NONCE”格式进行拼接返回数据。AEAD长度为16,NONCE默认长度为12。 解密:AAD参数可选,NONCE、AEAD参数必选。 | 8+ |
| AES/CCM/NoPadding | 加密:NONCE、AAD参数可选。不指定NONCE参数,将会以“密文 + AEAD + NONCE”格式进行拼接返回数据。AEAD长度不指定默认为16,NONCE默认长度为7。 解密:AAD参数可选,NONCE、AEAD参数必选。 可指定AEAD长度,支持的AEAD长度为4、6、8、10、12、14、16。 | 22+ |
| RSA/ECB/NoPadding RSA/ECB/PKCS1_V1_5 RSA/ECB/OAEP | OAEP填充模式支持的摘要算法:SHA256/SHA384/SHA512。 | 8+ |
| SM4/ECB/PKCS7 | ECB模式不推荐使用。 | 20+ |
| SM4/CBC/PKCS7 | IV 参数必选。 | 9+ |
| SM4/CTR/NoPadding SM4/CBC/NoPadding SM4/CFB/NoPadding SM4/OFB/NoPadding | IV 参数必选。 | 12+ |
| SM2/-/NoPadding | 摘要算法SM3。 | 11+ |
| DES/CBC/NoPadding DES/ECB/NoPadding | CBC模式下 IV 参数必选。 | 18+ |
| 3DES/CBC/NoPadding 3DES/ECB/NoPadding | CBC模式下 IV 参数必选。 | 18+ |
轻量级智能穿戴规格
| 算法/分组模式/填充模式 | 备注 | API级别 |
|---|---|---|
| AES/GCM/NoPadding | 加密:NONCE、AAD参数可选。不指定NONCE参数,将会以“密文 + AEAD + NONCE”格式进行拼接返回数据。AEAD长度为16,NONCE默认长度为12。 解密:AAD参数可选,NONCE、AEAD参数必选。 | 8+ |
| AES/CBC/NoPadding AES/CTR/NoPadding | IV参数必选。 | 11+ |
| DES/ECB/NoPadding | - | 12+ |
| DES/CBC/NoPadding | IV参数必选。 | 12+ |
| 3DES/ECB/NoPadding | - | 12+ |
| 3DES/CBC/NoPadding | IV参数必选。 | 12+ |
| RSA/ECB/NoPadding | - | 12+ |
| RSA/ECB/PKCS1_V1_5 | - | 12+ |
| RSA/ECB/OAEP | 摘要算法SHA256。 | 12+ |