新闻详情

新闻详情

首页 / 资讯中心 / 详情

CANN Crypto 快速上手:5 分钟跑通昇腾 NPU 上的第一个密码算子

发布时间:2026/9/30 18:48:25来源:尧图网络
CANN Crypto 快速上手:5 分钟跑通昇腾 NPU 上的第一个密码算子
CANN Crypto 快速上手5 分钟跑通昇腾 NPU 上的第一个密码算子【免费下载链接】cryptocrypto SIG 是密码学兴趣小组围绕昇腾 NPU 打造高性能密码软件库提供丰富的密码算子与算法实现项目地址: https://gitcode.com/cann/cryptoCANN Cryptocann/crypto是 CANN 中面向密码计算的算子与算法库围绕昇腾 NPU 提供国密SM2、SM3、SM4与国际主流算法AES、SHA-2/3、X25519、ML-KEM 等的高性能实现。本文是一份面向新手的 CANN Crypto 快速上手指南只需 5 个步骤你就能在昇腾 NPU 上编译并运行自己的第一个密码算子并学会验证结果是否正确。一、为什么密码计算要跑在昇腾 NPU 上CPU 做密码计算已经足够快但 CANN Crypto 解决的是 CPU 难以覆盖的两类场景设备驻留数据就地保护数据已经放在 NPU 显存里不必拷回主机加密再拷回去减少一次昂贵的数据搬运批量密码计算卸载大批量消息如海量文件指纹、批量哈希放到 NPU 并行执行吞吐量更高。项目按「数学引擎 → 密码原语 → 算法服务」三层组织下层能力可被多个算法族复用例如 SHAKE 算子就复用了 Keccak-f[1600] 原语。架构细节可参考 src 目录说明。二、环境准备安装 NPU 驱动与 CANN 软件包跑通密码算子前先确认两件事机器上已有昇腾 NPU 设备并安装了配套的 NPU 驱动已安装 CANN 软件包CANN 版本需与源码标签配套设备验证基线为 CANN 9.1.0。 没有本地设备可以使用社区提供的 CANNLab 在线环境其中已预置配套 CANN 环境开箱即用。部分组件如 AES PyTorch 扩展还依赖torch与torch_npu具体依赖以各组件的requirements.txt为准例如 src/primitives/AES/requirements.txt。三、下载 CANN Crypto 源码执行以下命令克隆仓库${tag_version}换成与你 CANN 版本配套的标签git clone -b ${tag_version} https://gitcode.com/cann/crypto.git说明若环境中已有配套分支源码可跳过本步骤。版本对应关系见仓库根目录 README.md 的「版本配套」章节。四、编译第一个密码算子一行命令搞定仓库根目录的 build.sh 是统一的构建入口组件通过src下的二级目录自动发现无需手动修改构建脚本。编译全部组件bash build.sh --pkg只编译指定组件推荐新手起步以 AES 原语为例bash build.sh --componentsprimitives/AES --pkg编译完成后再跑单元测试确认环境正常bash build.sh -u --opkernel # op_kernel 层需要昇腾设备分层测试策略--ophost、--opapi层不需要设备--opkernel层才需要 NPU新手可按此顺序逐层验证。五、运行示例让 NPU 算出第一个密码结果方式 APython 调用 AES-128-CTR最直观AES 组件提供了 PyTorch 算子扩展安装后直接运行样例cd src/primitives/AES/examples python3 aes128_ctr_example.py样例 aes128_ctr_example.py 会在 NPU 上对 RFC 3686 标准测试向量做加密并自动比对密文。看到输出AES-128-CTR example: PASS就说明你的昇腾 NPU 已成功完成第一个密码算子方式 BC 调用 SHAKE128 哈希算子如果偏好 C 接口SHAKE 算子提供了一个完整的 aclnn 调用样例 test_aclnn_shake_tensor.cpp它演示了标准两步调用流程aclnnShake128TensorGetWorkspaceSize—— 查询工作空间大小、生成执行器aclnnShake128Tensor—— 把计算提交到指定流同步后读取结果。接口参数与约束的完整说明见 aclnnShake128Tensor.md。运行样例输出SHAKE128 example: PASS即表示成功。六、结果不对或编译失败常见排查点现象可能原因与对策编译报设备架构错误确认编译目标与芯片匹配Atlas A2 为ascend910bAtlas A3 为ascend910_93参考 src/primitives/keccak/README.md样例输出 FAIL / mismatch检查 CANN 版本与源码标签是否配套优先用标签而非 master 分支接口返回非零按文档停止后续调用结合aclGetRecentErrMsg()与 CANN 日志定位见 aclnnShake128Tensor.md 返回码表七、继续探索项目关键模块路径跑通第一个算子后推荐按以下路径深入算法样例examples/ —— 每个算法族一个最小可运行样例只依赖公开接口密码原语src/primitives/ —— AES、SM4、Keccak-f 等基础原语参考实现reference/ —— 零 CANN 依赖的纯 C 实现作为正确性基准辅助脚本scripts/ —— 测试向量获取、依赖检查等接口文档各算子目录下docs/均有参数、约束与调用示例如 aclnnKeccakF1600Tensor.md参与贡献先阅读 CONTRIBUTING.md 了解交付件要求与评审规则。⏱️ 回顾一下完整路径环境检查 → clone 源码 →build.sh --pkg编译 → 运行 AES/SHAKE 样例 → 看到 PASS。整个过程约 5 分钟你已在昇腾 NPU 上完成了第一个密码算子。祝探索愉快【免费下载链接】cryptocrypto SIG 是密码学兴趣小组围绕昇腾 NPU 打造高性能密码软件库提供丰富的密码算子与算法实现项目地址: https://gitcode.com/cann/crypto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

小绿叶蝉目标检测数据集:从数据体检到YOLOv8训练与切片推理 2026/10/1 4:02:34

小绿叶蝉目标检测数据集:从数据体检到YOLOv8训练与切片推理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Java Jar打包成Exe完全指南:jpackage、Launch4j与GraalVM对比 2026/10/1 4:02:27

Java Jar打包成Exe完全指南:jpackage、Launch4j与GraalVM对比

1. 为什么要把 jar 打包成 exe 应用程序1.1 真实场景:给用户一个能双击就用的文件把 Java 程序分发给非技术用户,最头疼的从来不是写代码,而是“jar 到底怎么打开”。我早些年给单位写了一个内部数据清洗工具,功能做完了&#xff…

阅读更多 →
Docker Swarm负载均衡与自动扩缩容实战:原理、实践与踩坑 2026/10/1 4:02:27

Docker Swarm负载均衡与自动扩缩容实战:原理、实践与踩坑

如果你在一台服务器上用docker service create起了个服务,想当然地认为 Swarm 的负载均衡是开箱即用、自动扩缩容无非是docker service scale敲两下就完事,那后面踩坑的肯定是你。我在生产环境维护 Docker Swarm 集群这几年,最大的体会就是&a…

阅读更多 →
从零手搓AI工程化流程:模型部署、性能优化与监控实战 2026/10/1 4:02:27

从零手搓AI工程化流程:模型部署、性能优化与监控实战

1. 为什么我要从零手搓一套AI工程化流程第一次看到ai-engineering-from-scratch这个项目名的时候,我正被公司里那套“祖传”的模型部署脚本折磨得够呛。一个文本分类模型,从训练完到真正能在线上扛住流量,中间隔了整整三个团队、五份文档和无…

阅读更多 →
从零搭建AI工程能力:避开“会调包”陷阱的实战指南 2026/10/1 4:02:27

从零搭建AI工程能力:避开“会调包”陷阱的实战指南

1. 从零搭建AI工程能力,为什么大多数人卡在“会调包”这一步“ai-engineering-from-scratch”这个标题,第一次看到的时候我就觉得它戳中了一个很真实的痛点。现在市面上讲AI的教程铺天盖地,但绝大多数都在教你“怎么调用某个库”“怎么跑通某…

阅读更多 →
AI Engineering from Scratch:从零构建高可靠AI系统 2026/10/1 4:02:27

AI Engineering from Scratch:从零构建高可靠AI系统

1. 这不是“搭积木”,而是亲手锻造AI系统的完整工程链“AI Engineering from Scratch”——这七个单词背后,不是调几个API、跑个Notebook就能交差的“小项目”,而是一次从零开始锻造整套AI系统能力的硬核实践。我带过二十多个工业级AI落地团队…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉