RNP10 SDK高性能包裹接口详解与设计

需积分: 5 0 下载量 175 浏览量 更新于2024-08-04 收藏 241KB DOCX 举报
RNP10 SDK包裹函数设计是无锡沐创集成电路设计有限公司专为RNP10芯片定制的高级接口,旨在满足芯片在申请过程中对“高性能”规格的要求。此文档主要关注于如何提供易于理解和操作的工具接口,以便检测中心的工作人员能够有效地验证芯片的性能,同时减少后续因测试方法变化带来的代码调整。 1. **需求规格**:为了配合“高性能”指标,设计者考虑到了检测中心可能的验证测试需求,倾向于提供异步接口,以展示芯片在高负载下的稳定性和响应速度。同步接口仍然保留,以满足不同场景的需求。 2. **接口设计**: - **原有接口**:文档详细列出了两种接口模式:同步模式(SYNC_MODE)和异步模式(ASYNC_POLLING_MODE和ASYNC_JOBS_POLLING_MODE)。异步模式旨在提升性能,并适应openssl engine的工作流程。 - **包裹接口**:新设计的包裹接口包括一系列参数,如Algo(算法类型)、api_mode(接口模式)、data(数据)、data_len(数据长度)、key(密钥)、key_len(密钥长度)、iv(初始化向量)、iv_len(初始化向量长度)等,这些参数用于加密和解密操作,确保数据的安全传输。 3. **参数说明**: - **Algo**:表示使用的加密算法类型,支持多种加密模式和操作。 - **api_mode**:区分了接口操作模式,允许用户选择不同的交互方式。 - **data** 和 **data_len**:核心数据和其长度,用于封装或解封装数据包。 - **key** 和 **key_len**:用于加密和解密的密钥信息。 - **iv** 和 **iv_len**:初始化向量,确保每次加密的随机性和安全性。 - **pcnt** 和 **tcnt**:可能用于进度指示或计数器。 - **loop/stime**:循环次数和时间参数,可能与性能测试有关。 - **escape**:可能指数据编码方式,确保兼容不同格式的数据。 - **bps** 和 **tps**:可能是带宽和吞吐量的指标,用于评估性能。 - **out** 和 **out_len**:输出数据和长度,处理加密后的结果。 4. **附录**:文档提供了算法模式的详细列表,以供开发者选择合适的加密算法。 5. **修改记录**:文档记录了接口设计的历史变更,便于跟踪和版本控制。 RNP10 SDK包裹函数的设计充分考虑了RNP10芯片的高性能需求,以及与检测中心的交互需求,通过提供灵活的接口和详细的参数说明,确保了芯片在实际应用中的高效、安全和可测试性。