HarmonyOS 鸿蒙Next优化建议-Crypto Architecture Kit(加解密算法框架服务)文档指南的非对称密钥加解密算法规格介绍中输入数据长度算法不一致
HarmonyOS 鸿蒙Next优化建议-Crypto Architecture Kit(加解密算法框架服务)文档指南的非对称密钥加解密算法规格介绍中输入数据长度算法不一致 【问题描述】:Crypto Architecture Kit(加解密算法框架服务)文档指南的非对称密钥加解密算法规格介绍中输入数据长度算法不一致
RSA章节:数据长度必须小于RSA密钥字节长度 - 2 *md摘要字节长度 - 2
填充模式为PKCS1_OAEP章节:数据必须小于RSA密钥字节长度 - md摘要长度 - mgf1_md摘要长度 - 2
【问题现象】:填充模式为PKCS1_OAEP处给出的最大明文长度计算公式,与该文档上一小节对 PKCS1_OAEP 的描述(“输入数据长度必须小于RSA密钥字节长度 - 2 *md摘要字节长度 - 2”)产生直接冲突。根据 RFC3447 标准规范,OAEP 的填充开销由标签散列(md)和随机种子(长度等同于 md)决定,与掩码生成函数所使用的摘要算法(mgf1_md)本身的输出长度无关。如果开发者配置了不同的 md 和 mgf1_md(如 SHA256 和 SHA1),按照此处的错误公式计算最大明文长度,会导致加解密失败或截断报错。

【版本信息】:不涉及
【复现代码】:不涉及
更多关于HarmonyOS 鸿蒙Next优化建议-Crypto Architecture Kit(加解密算法框架服务)文档指南的非对称密钥加解密算法规格介绍中输入数据长度算法不一致的实战教程也可以访问 https://www.itying.com/category-93-b0.html
尊敬的开发者,您好!感谢您的反馈,问题正在加速处理中,还请关注后续版本,感谢您的理解与支持。
更多关于HarmonyOS 鸿蒙Next优化建议-Crypto Architecture Kit(加解密算法框架服务)文档指南的非对称密钥加解密算法规格介绍中输入数据长度算法不一致的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
问题+1,借楼跟一下
鸿蒙Next中,非对称密钥加解密输入数据长度由密钥长度和填充模式决定。RSA算法下,输入数据长度应≤密钥长度/8减去填充开销(如PKCS1的11字节)。ECIES则依赖密钥协商结果。不同算法和填充组合的规格在文档中已明确列出,建议直接对照具体参数表确认。
这是一个文档错误,确实不一致。根据PKCS1_OAEP标准(RFC 3447),OAEP填充的有效载荷长度仅由RSA模长和两个哈希输出长度决定,与MGF1所用哈希无关。正确公式应为:最大输入长度 = 密钥字节长度 - 2 * md摘要字节长度 - 2。文档中“填充模式为PKCS1_OAEP”一节误将mgf1_md摘要长度加入计算,这是错误的。当md与mgf1_md不同时(如md=SHA256, mgf1_md=SHA1),按错误公式算出的上限会偏小,导致无法加密原本允许的数据,或强制截断引发运行时错误。该问题属规格描述错误,开发者应参照RSA章节中PKCS1_OAEP前给出的统一公式为准。

