跳转到主要内容

【分享】在Linux用户态使用MPSoC AES 加密加速器

judy 提交于

作者:付汉杰,<a href="mailto:hankf@xilinx.com">hankf@xilinx.com</a&gt;,文章转载自:<a id="link_3" href="https://www.cnblogs.com/hankfu/p/13304148.html">博客园</a&gt;

文档<a href="https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/64749783/ZynqMP+A… Cryptography in Zynq UltraScale MPSoC</a>提供了在Linux用户态使用MPSoC AES 加速器的例子。<br />

如果要使用Device key或者PUF key,需要使用Xilinx Linux 2020.1。Xilinx Linux 2020.1增加了选择密钥类型的功能。选择密钥类型的代码如下:
<pre>__u8 key_type[] = {AES_DEVICE_KEY};
// __u8 key_type[] = {AES_PUF_KEY};

setsockopt(tfmfd, SOL_ALG, ALG_SET_KEY_TYPE, key_type, 0);
setsockopt(tfmfd, SOL_ALG, ALG_SET_KEY, NULL, 0);</pre>

生成密钥,可以参考《UG1283 Bootgen User Guide》。

另外,文档<a href="https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842541/Using+Cr… Cryptography in Zynq UltraScale MPSoC</a> 提供了在Standalone/FreeRTOS环境下使用MPSoC AES/RSA 加速器的例子。