Files
luban-lite-t3e-pro/doc/topics/sdk/ce/ce-interface_design.html
2025-01-23 16:37:00 +08:00

263 lines
62 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn" data-whc_version="26.0">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="description" content="表 1 . aic_skcipher_alg_init 函数原型 int aic_skcipher_alg_init(struct crypto_skcipher *tfm) 功能说明 对称密钥算法的初始化函数 参数定义 struct crypto_skcipher *tfm 算法实例指针 返回值 0: 成功 其他: 失败 注意事项 - 表 2 . aic_skcipher_alg_exit ..."/><meta name="DC.rights.owner" content="(C) 版权 2025"/><meta name="copyright" content="(C) 版权 2025"/><meta name="generator" content="DITA-OT"/><meta name="DC.type" content="concept"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.date.modified" content="2024-07-18"/><meta name="DC.format" content="HTML5"/><meta name="DC.identifier" content="ce_interface_design"/><meta name="DC.language" content="zh-CN"/><title>接口设计</title><!-- Build number 2023110923. --><meta name="wh-path2root" content="../../../"/><meta name="wh-toc-id" content=""/><meta name="wh-source-relpath" content="topics/sdk/ce/ce-interface_design.dita"/><meta name="wh-out-relpath" content="topics/sdk/ce/ce-interface_design.html"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/commons.css?buildId=2023110923"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/topic.css?buildId=2023110923"/>
<script src="../../../webhelp/app/options/properties.js?buildId=20250121171154"></script>
<script src="../../../webhelp/app/localization/strings.js?buildId=2023110923"></script>
<script src="../../../webhelp/app/search/index/keywords.js?buildId=20250121171154"></script>
<script defer="defer" src="../../../webhelp/app/commons.js?buildId=2023110923"></script>
<script defer="defer" src="../../../webhelp/app/topic.js?buildId=2023110923"></script>
<link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-styles-web.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/notes.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-common.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-images.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/footnote.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-web-watermark.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/topic-body-list.css?buildId=2023110923"/></head>
<body id="ce_interface_design" class="wh_topic_page frmBody">
<a href="#wh_topic_body" class="sr-only sr-only-focusable">
跳转到主要内容
</a>
<header class="navbar navbar-default wh_header">
<div class="container-fluid">
<div class="wh_header_flex_container navbar-nav navbar-expand-md navbar-dark">
<div class="wh_logo_and_publication_title_container">
<div class="wh_logo_and_publication_title">
<a href="http://www.artinchip.com" class=" wh_logo d-none d-sm-block "><img src="../../../company-logo-white.png" alt="RTOS SDK 使用指南SDK 指南文件"/></a>
<div class=" wh_publication_title "><a href="../../../index.html"><span class="booktitle"><span class="ph mainbooktitle">RTOS SDK 使用指南</span><span class="ph booktitlealt">SDK 指南文件</span></span></a></div>
</div>
</div>
<div class="wh_top_menu_and_indexterms_link collapse navbar-collapse" id="wh_top_menu_and_indexterms_link">
</div>
</div>
</div>
</header>
<div class=" wh_search_input navbar-form wh_topic_page_search search " role="form">
<form id="searchForm" method="get" role="search" action="../../../search.html"><div><input type="search" placeholder="搜索 " class="wh_search_textfield" id="textToSearch" name="searchQuery" aria-label="搜索查询" required="required"/><button type="submit" class="wh_search_button" aria-label="搜索"><span class="search_input_text">搜索</span></button></div></form>
</div>
<div class="container-fluid" id="wh_topic_container">
<div class="row">
<nav class="wh_tools d-print-none navbar-expand-md" aria-label="Tools">
<div data-tooltip-position="bottom" class=" wh_breadcrumb "></div>
<div class="wh_right_tools">
<button class="wh_hide_highlight" aria-label="切换搜索突出显示" title="切换搜索突出显示"></button>
<button class="webhelp_expand_collapse_sections" data-next-state="collapsed" aria-label="折叠截面" title="折叠截面"></button>
<div class=" wh_print_link print d-none d-md-inline-block "><button onClick="window.print()" title="打印此页" aria-label="打印此页"></button></div>
</div>
</nav>
</div>
<div class="wh_content_area">
<div class="row">
<div class="col-lg-10 col-md-10 col-sm-10 col-xs-12" id="wh_topic_body">
<button id="wh_close_topic_toc_button" class="close-toc-button d-none" aria-label="Toggle topic table of content" aria-controls="wh_topic_toc" aria-expanded="true">
<span class="close-toc-icon-container">
<span class="close-toc-icon"></span>
</span>
</button>
<div class=" wh_topic_content body "><main role="main"><article class="- topic/topic concept/concept topic concept" role="article" aria-labelledby="ariaid-title1"><span class="edit-link" style="font-size:12px; opacity:0.6; text-align:right; vertical-align:middle"><a target="_blank" href="http://172.16.35.88/tasks/jdssno1uvvbf2mltu9kb9v3if05d5gopuakboe8hlud18rma/edit/F:/aicdita/aicdita-cn/topics/sdk/ce/ce-interface_design.dita">Edit online</a></span><h1 class="- topic/title title topictitle1" id="ariaid-title1">接口设计</h1><div class="date inPage">18 Jul 2024</div><div style="color: gray;">
Read time: 5 minute(s)
</div><div class="- topic/body concept/conbody body conbody"><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_vbq_pby_21c" data-ofbid="ce_interface_design__table_vbq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 1</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_skcipher_alg_init</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_skcipher_alg_init(struct crypto_skcipher *tfm)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">对称密钥算法的初始化函数</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct crypto_skcipher *tfm 算法实例指针</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_mzs_w4d_ccc" data-ofbid="ce_interface_design__ul_mzs_w4d_ccc"><li class="- topic/li li" data-ofbid="d159504e50__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e52__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_wbq_pby_21c" data-ofbid="ce_interface_design__table_wbq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 2</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_skcipher_alg_exit</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">void aic_skcipher_alg_exit(struct crypto_skcipher *tfm)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">对称密钥算法使用完毕,释放相关资源</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct crypto_skcipher *tfm 算法实例指针</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1"></td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_xbq_pby_21c" data-ofbid="ce_interface_design__table_xbq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 3</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_skcipher_alg_setkey</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_skcipher_alg_setkey(struct crypto_skcipher *tfm, const u8
*key, unsigned int keylen)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">设置对称密钥算法的密钥</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_vzr_wvd_ccc" data-ofbid="ce_interface_design__ul_vzr_wvd_ccc"><li class="- topic/li li" data-ofbid="d159504e115__20250121171616">struct crypto_skcipher *tfm 算法实例指针 </li><li class="- topic/li li" data-ofbid="d159504e117__20250121171616">const u8 *key 密钥的指针 </li><li class="- topic/li li" data-ofbid="d159504e119__20250121171616">keylen 密钥的长度</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_d1d_cpd_ccc" data-ofbid="ce_interface_design__ul_d1d_cpd_ccc"><li class="- topic/li li" data-ofbid="d159504e128__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e130__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_ybq_pby_21c" data-ofbid="ce_interface_design__table_ybq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 4</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_skcipher_crypt</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_skcipher_crypt(struct skcipher_request *req, unsigned
long flg)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">发起一个对称密钥算法的加解密处理的请求</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_nmd_wvd_ccc" data-ofbid="ce_interface_design__ul_nmd_wvd_ccc"><li class="- topic/li li" data-ofbid="d159504e161__20250121171616">struct skcipher_request *req 加解密请求的指针 </li><li class="- topic/li li" data-ofbid="d159504e163__20250121171616">flg 算法标记,用来标识算法类型和算法模式</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_d1d_cpd_ccr" data-ofbid="ce_interface_design__ul_d1d_cpd_ccr"><li class="- topic/li li" data-ofbid="d159504e172__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e174__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_zbq_pby_21c" data-ofbid="ce_interface_design__table_zbq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 5</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_akcipher_rsa_alg_init</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_akcipher_rsa_alg_init(struct crypto_akcipher
*tfm)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">RSA 算法初始化</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct crypto_akcipher *tfm 算法实例的指针</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_d1d_cpd_ccd" data-ofbid="ce_interface_design__ul_d1d_cpd_ccd"><li class="- topic/li li" data-ofbid="d159504e210__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e212__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_acq_pby_21c" data-ofbid="ce_interface_design__table_acq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 6</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_akcipher_rsa_alg_exit</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">void aic_akcipher_rsa_alg_exit(struct crypto_akcipher
*tfm)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">RSA 算法使用完毕,释放相关资源</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct crypto_akcipher *tfm 算法实例的指针</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1"></td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_bcq_pby_21c" data-ofbid="ce_interface_design__table_bcq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 7</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_akcipher_rsa_set_pub_key</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_akcipher_rsa_set_pub_key(struct crypto_akcipher *tfm,
const void *key,unsigned int keylen)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">设置 RSA 算法的公钥</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_sr4_5vd_ccc" data-ofbid="ce_interface_design__ul_sr4_5vd_ccc"><li class="- topic/li li" data-ofbid="d159504e275__20250121171616">struct crypto_akcipher *tfm 算法实例指针 </li><li class="- topic/li li" data-ofbid="d159504e277__20250121171616">const void *key 密钥数据的指针 </li><li class="- topic/li li" data-ofbid="d159504e279__20250121171616">keylen 密钥的长度</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_d1d_cpd_ccf" data-ofbid="ce_interface_design__ul_d1d_cpd_ccf"><li class="- topic/li li" data-ofbid="d159504e288__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e290__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_ccq_pby_21c" data-ofbid="ce_interface_design__table_ccq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 8</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_akcipher_rsa_set_priv_key</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_akcipher_rsa_set_priv_key(struct crypto_akcipher *tfm,
const void *key,unsigned int keylen)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">设置 RSA 算法的私钥</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_nzv_tvd_ccc" data-ofbid="ce_interface_design__ul_nzv_tvd_ccc"><li class="- topic/li li" data-ofbid="d159504e321__20250121171616">struct crypto_akcipher *tfm 算法实例指针 </li><li class="- topic/li li" data-ofbid="d159504e323__20250121171616">const void *key 密钥数据的指针 </li><li class="- topic/li li" data-ofbid="d159504e325__20250121171616">keylen 密钥的长度</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_d1d_cpd_cc0" data-ofbid="ce_interface_design__ul_d1d_cpd_cc0"><li class="- topic/li li" data-ofbid="d159504e334__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e336__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_dcq_pby_21c" data-ofbid="ce_interface_design__table_dcq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 9</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_akcipher_rsa_max_size</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_akcipher_rsa_max_size(struct crypto_akcipher
*tfm)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">获取当前 RSA 算法的密钥长度</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct crypto_akcipher *tfm 算法实例指针</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_d1d_cpd_cc2" data-ofbid="ce_interface_design__ul_d1d_cpd_cc2"><li class="- topic/li li" data-ofbid="d159504e372__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e374__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_ecq_pby_21c" data-ofbid="ce_interface_design__table_ecq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 10</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_akcipher_rsa_crypt</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_akcipher_rsa_crypt(struct akcipher_request *req, unsigned
long flag)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">发起一个 RSA 算法的加解密请求</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct akcipher_request *req 请求的指针 flag 算法标记</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_d1d_cpd_cc1" data-ofbid="ce_interface_design__ul_d1d_cpd_cc1"><li class="- topic/li li" data-ofbid="d159504e410__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e412__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_fcq_pby_21c" data-ofbid="ce_interface_design__table_fcq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 11</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_hash_alg_init</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_hash_alg_init(struct crypto_tfm *tfm)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">HASH 算法的初始化</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct crypto_tfm *tfm 算法实例的指针</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_d1d_cpd_ccg" data-ofbid="ce_interface_design__ul_d1d_cpd_ccg"><li class="- topic/li li" data-ofbid="d159504e448__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e450__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_gcq_pby_21c" data-ofbid="ce_interface_design__table_gcq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 12</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_hash_alg_exit</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">void aic_hash_alg_exit(struct crypto_tfm *tfm)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">HASH 算法使用完毕,释放相关资源</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct crypto_tfm *tfm 算法实例的指针</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1"></td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_hcq_pby_21c" data-ofbid="ce_interface_design__table_hcq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 13</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_hash_init</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_hash_init(struct ahash_request *req)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">初始化一个 HASH 运算的操作</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct ahash_request *req<p class="- topic/p p" data-ofbid="d159504e513__20250121171616">HASH
运算的请求,具体所使用的算法,根据消息摘要的大小决定</p></td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_d1d_cpd_cce" data-ofbid="ce_interface_design__ul_d1d_cpd_cce"><li class="- topic/li li" data-ofbid="d159504e521__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e523__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_icq_pby_21c" data-ofbid="ce_interface_design__table_icq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 14</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_hash_update</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_hash_update(struct ahash_request *req)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">更新一笔 HASH 运算的数据,用于数据分多次输入的场景</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct ahash_request *req<p class="- topic/p p" data-ofbid="d159504e553__20250121171616">HASH 运算的请求,数据信息保存在该结构体中</p></td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_d1d_cpd_cck" data-ofbid="ce_interface_design__ul_d1d_cpd_cck"><li class="- topic/li li" data-ofbid="d159504e561__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e563__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_jcq_pby_21c" data-ofbid="ce_interface_design__table_jcq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 15</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_hash_final</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_hash_final(struct ahash_request *req)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">HASH 运算的数据输入结束,获取结果</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct ahash_request *req<p class="- topic/p p" data-ofbid="d159504e593__20250121171616">HASH 运算的请求,本请求不带数据,只获取结果</p></td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_d1d_cpd_ccj" data-ofbid="ce_interface_design__ul_d1d_cpd_ccj"><li class="- topic/li li" data-ofbid="d159504e601__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e603__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_kcq_pby_21c" data-ofbid="ce_interface_design__table_kcq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 16</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_hash_finup</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_hash_finup(struct ahash_request *req)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">HASH 运算的最后一笔数据,并且获取结果</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct ahash_request *req<p class="- topic/p p" data-ofbid="d159504e633__20250121171616">HASH
运算的请求,本请求带最后一笔数据,并获取结果</p></td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_wmp_fpd_ccc" data-ofbid="ce_interface_design__ul_wmp_fpd_ccc"><li class="- topic/li li" data-ofbid="d159504e641__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e643__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_lcq_pby_21c" data-ofbid="ce_interface_design__table_lcq_pby_21c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 17</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aic_hash_digest</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">函数原型</td><td class="- topic/entry entry colsep-0 rowsep-1">int aic_hash_digest(struct ahash_request *req)</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1">针对一笔数据,完成 init 和 finup 的 HASH 运算操作,并获取结果</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1">struct ahash_request *req<p class="- topic/p p" data-ofbid="d159504e673__20250121171616">HASH
运算的请求,本请求带最后一笔数据,并获取结果</p></td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1">
<ul class="- topic/ul ul" id="ce_interface_design__ul_wt5_y4d_ccc" data-ofbid="ce_interface_design__ul_wt5_y4d_ccc"><li class="- topic/li li" data-ofbid="d159504e681__20250121171616">0: 成功</li><li class="- topic/li li" data-ofbid="d159504e683__20250121171616">其他: 失败</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0">-</td></tr></tbody></table></div><section class="- topic/section section" id="ce_interface_design__section_tnl_s1r_g1c" data-ofbid="ce_interface_design__section_tnl_s1r_g1c"><h2 class="- topic/title title sectiontitle">Driver 层接口设计</h2>
<div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_sv4_s1r_g1c" data-ofbid="ce_interface_design__table_sv4_s1r_g1c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 18</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">drv_aes_init</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><thead class="- topic/thead thead"><tr class="- topic/row"><th class="- topic/entry entry colsep-1 rowsep-1" id="ce_interface_design__table_sv4_s1r_g1c__entry__1">函数原型</th><th class="- topic/entry entry colsep-0 rowsep-1" id="ce_interface_design__table_sv4_s1r_g1c__entry__2">rt_err_t drv_aes_init(struct rt_hwcrypto_ctx *ctx)</th></tr></thead><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_sv4_s1r_g1c__entry__1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_sv4_s1r_g1c__entry__2">AES 算法初始化</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_sv4_s1r_g1c__entry__1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_sv4_s1r_g1c__entry__2">struct rt_hwcrypto_ctx *ctx - 上下文实例指针</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_sv4_s1r_g1c__entry__1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_sv4_s1r_g1c__entry__2">0初始化成功。其它初始化失败</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0" headers="ce_interface_design__table_sv4_s1r_g1c__entry__1">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0" headers="ce_interface_design__table_sv4_s1r_g1c__entry__2">-</td></tr></tbody></table></div>
<div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_tv4_s1r_g1c" data-ofbid="ce_interface_design__table_tv4_s1r_g1c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 19</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aes_ecb_crypto</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><thead class="- topic/thead thead"><tr class="- topic/row"><th class="- topic/entry entry colsep-1 rowsep-1" id="ce_interface_design__table_tv4_s1r_g1c__entry__1">函数原型</th><th class="- topic/entry entry colsep-0 rowsep-1" id="ce_interface_design__table_tv4_s1r_g1c__entry__2">s32 aes_ecb_crypto(u8 *key, u8 keylen, u8 dir, u8 *in, u8
*out, u32 len)</th></tr></thead><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_tv4_s1r_g1c__entry__1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_tv4_s1r_g1c__entry__2">AES ECB 加解密实现</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_tv4_s1r_g1c__entry__1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_tv4_s1r_g1c__entry__2">
<ul class="- topic/ul ul" id="ce_interface_design__ul_ypj_5x3_zbc" data-ofbid="ce_interface_design__ul_ypj_5x3_zbc"><li class="- topic/li li" data-ofbid="d159504e754__20250121171616">u8 *key - 密钥的指针 </li><li class="- topic/li li" data-ofbid="d159504e756__20250121171616">u8 keylen - 密钥的长度 </li><li class="- topic/li li" data-ofbid="d159504e758__20250121171616">u8 dir - 运算方向<ul class="- topic/ul ul" id="ce_interface_design__ul_dxk_vx3_zbc" data-ofbid="ce_interface_design__ul_dxk_vx3_zbc"><li class="- topic/li li" data-ofbid="d159504e761__20250121171616">0加密</li><li class="- topic/li li" data-ofbid="d159504e763__20250121171616">1解密</li></ul>
</li><li class="- topic/li li" data-ofbid="d159504e766__20250121171616">u8 *in - 输入数据 </li><li class="- topic/li li" data-ofbid="d159504e768__20250121171616">u8 *out - 输出数据 </li><li class="- topic/li li" data-ofbid="d159504e770__20250121171616">u32 len - 数据长度</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_tv4_s1r_g1c__entry__1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_tv4_s1r_g1c__entry__2">0加解密成功。其它加解密失败。</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0" headers="ce_interface_design__table_tv4_s1r_g1c__entry__1">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0" headers="ce_interface_design__table_tv4_s1r_g1c__entry__2">-</td></tr></tbody></table></div>
<div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_uv4_s1r_g1c" data-ofbid="ce_interface_design__table_uv4_s1r_g1c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 20</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">aes_cbc_crypto</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><thead class="- topic/thead thead"><tr class="- topic/row"><th class="- topic/entry entry colsep-1 rowsep-1" id="ce_interface_design__table_uv4_s1r_g1c__entry__1">函数原型</th><th class="- topic/entry entry colsep-0 rowsep-1" id="ce_interface_design__table_uv4_s1r_g1c__entry__2">s32 aes_cbc_crypto(u8 *key, u8 keylen, u8 dir, u8 *iv, u8
*in, u8 *out, u32 len)</th></tr></thead><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_uv4_s1r_g1c__entry__1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_uv4_s1r_g1c__entry__2">AES CBC 加解密实现</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_uv4_s1r_g1c__entry__1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_uv4_s1r_g1c__entry__2">
<ul class="- topic/ul ul" id="ce_interface_design__ul_lyg_xx3_zbc" data-ofbid="ce_interface_design__ul_lyg_xx3_zbc"><li class="- topic/li li" data-ofbid="d159504e808__20250121171616">u8 *key - 密钥的指针 </li><li class="- topic/li li" data-ofbid="d159504e810__20250121171616">u8 keylen - 密钥的长度 </li><li class="- topic/li li" data-ofbid="d159504e812__20250121171616">u8 dir - 运算方向<ul class="- topic/ul ul" id="ce_interface_design__ul_myg_xx3_zbc" data-ofbid="ce_interface_design__ul_myg_xx3_zbc"><li class="- topic/li li" data-ofbid="d159504e815__20250121171616">0加密</li><li class="- topic/li li" data-ofbid="d159504e817__20250121171616">1解密</li></ul>
</li><li class="- topic/li li" data-ofbid="d159504e820__20250121171616">u8 *iv - 输入 iv</li><li class="- topic/li li" data-ofbid="d159504e822__20250121171616">u8 *in - 输入数据 </li><li class="- topic/li li" data-ofbid="d159504e824__20250121171616">u8 *out - 输出数据 </li><li class="- topic/li li" data-ofbid="d159504e826__20250121171616">u32 len - 数据长度</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_uv4_s1r_g1c__entry__1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_uv4_s1r_g1c__entry__2">0加解密成功。其它加解密失败。</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0" headers="ce_interface_design__table_uv4_s1r_g1c__entry__1">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0" headers="ce_interface_design__table_uv4_s1r_g1c__entry__2">-</td></tr></tbody></table></div>
<div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_vv4_s1r_g1c" data-ofbid="ce_interface_design__table_vv4_s1r_g1c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 21</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">drv_sha_init</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><thead class="- topic/thead thead"><tr class="- topic/row"><th class="- topic/entry entry colsep-1 rowsep-1" id="ce_interface_design__table_vv4_s1r_g1c__entry__1">函数原型</th><th class="- topic/entry entry colsep-0 rowsep-1" id="ce_interface_design__table_vv4_s1r_g1c__entry__2">rt_err_t drv_sha_init(struct rt_hwcrypto_ctx *ctx)</th></tr></thead><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_vv4_s1r_g1c__entry__1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_vv4_s1r_g1c__entry__2">SHA 算法初始化</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_vv4_s1r_g1c__entry__1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_vv4_s1r_g1c__entry__2">struct rt_hwcrypto_ctx *ctx - 上下文实例指针</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_vv4_s1r_g1c__entry__1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_vv4_s1r_g1c__entry__2">0初始化成功。其它初始化失败</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0" headers="ce_interface_design__table_vv4_s1r_g1c__entry__1">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0" headers="ce_interface_design__table_vv4_s1r_g1c__entry__2">-</td></tr></tbody></table></div>
<div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_wv4_s1r_g1c" data-ofbid="ce_interface_design__table_wv4_s1r_g1c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 22</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">drv_sha_start</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><thead class="- topic/thead thead"><tr class="- topic/row"><th class="- topic/entry entry colsep-1 rowsep-1" id="ce_interface_design__table_wv4_s1r_g1c__entry__1">函数原型</th><th class="- topic/entry entry colsep-0 rowsep-1" id="ce_interface_design__table_wv4_s1r_g1c__entry__2">rt_err_t drv_sha_start(struct rt_hwcrypto_ctx *ctx)</th></tr></thead><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_wv4_s1r_g1c__entry__1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_wv4_s1r_g1c__entry__2">SHA 算法启动</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_wv4_s1r_g1c__entry__1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_wv4_s1r_g1c__entry__2">struct rt_hwcrypto_ctx *ctx - 上下文实例指针</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_wv4_s1r_g1c__entry__1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_wv4_s1r_g1c__entry__2">0初始化成功。其它初始化失败</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0" headers="ce_interface_design__table_wv4_s1r_g1c__entry__1">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0" headers="ce_interface_design__table_wv4_s1r_g1c__entry__2">-</td></tr></tbody></table></div>
<div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_xv4_s1r_g1c" data-ofbid="ce_interface_design__table_xv4_s1r_g1c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 23</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">drv_sha_update</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><thead class="- topic/thead thead"><tr class="- topic/row"><th class="- topic/entry entry colsep-1 rowsep-1" id="ce_interface_design__table_xv4_s1r_g1c__entry__1">函数原型</th><th class="- topic/entry entry colsep-0 rowsep-1" id="ce_interface_design__table_xv4_s1r_g1c__entry__2">rt_err_t drv_sha_update(aic_sha_context_t *context, const
void *input, uint32_t size)</th></tr></thead><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_xv4_s1r_g1c__entry__1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_xv4_s1r_g1c__entry__2">更新一笔 SHA 算法数据</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_xv4_s1r_g1c__entry__1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_xv4_s1r_g1c__entry__2">
<ul class="- topic/ul ul" id="ce_interface_design__ul_ol1_1y3_zbc" data-ofbid="ce_interface_design__ul_ol1_1y3_zbc"><li class="- topic/li li" data-ofbid="d159504e933__20250121171616">struct rt_hwcrypto_ctx *ctx - 上下文实例指针 </li><li class="- topic/li li" data-ofbid="d159504e935__20250121171616">void *input - 输入数据 </li><li class="- topic/li li" data-ofbid="d159504e937__20250121171616">uint32_t size - 输入数据长度</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_xv4_s1r_g1c__entry__1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_xv4_s1r_g1c__entry__2">0运算成功。其它运算失败</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0" headers="ce_interface_design__table_xv4_s1r_g1c__entry__1">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0" headers="ce_interface_design__table_xv4_s1r_g1c__entry__2">-</td></tr></tbody></table></div>
<div class="table-container"><table class="- topic/table table frame-all" id="ce_interface_design__table_yv4_s1r_g1c" data-ofbid="ce_interface_design__table_yv4_s1r_g1c" data-cols="2"><caption class="- topic/title title tablecap" data-caption-side="top" data-is-repeated="true"><span class="table--title-label"><span class="table--title-label-number"> 24</span><span class="table--title-label-punctuation">. </span></span><span class="table--title">drv_sha_finish</span></caption><colgroup><col style="width:25%"/><col style="width:75%"/></colgroup><thead class="- topic/thead thead"><tr class="- topic/row"><th class="- topic/entry entry colsep-1 rowsep-1" id="ce_interface_design__table_yv4_s1r_g1c__entry__1">函数原型</th><th class="- topic/entry entry colsep-0 rowsep-1" id="ce_interface_design__table_yv4_s1r_g1c__entry__2">rt_err_t drv_sha_finish(struct hwcrypto_hash *ctx, void
*output, rt_size_t *out_size)</th></tr></thead><tbody class="- topic/tbody tbody"><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_yv4_s1r_g1c__entry__1">功能说明</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_yv4_s1r_g1c__entry__2">SHA 算法运算结束,获取结果</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_yv4_s1r_g1c__entry__1">参数定义</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_yv4_s1r_g1c__entry__2">
<ul class="- topic/ul ul" id="ce_interface_design__ul_ynk_by3_zbc" data-ofbid="ce_interface_design__ul_ynk_by3_zbc"><li class="- topic/li li" data-ofbid="d159504e975__20250121171616">struct hwcrypto_hash *ctx - 上下文 HASH 实例指针 </li><li class="- topic/li li" data-ofbid="d159504e977__20250121171616">void *output - 输出数据 </li><li class="- topic/li li" data-ofbid="d159504e979__20250121171616">rt_size_t *out_size - 输出数据长度</li></ul>
</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-1" headers="ce_interface_design__table_yv4_s1r_g1c__entry__1">返回值</td><td class="- topic/entry entry colsep-0 rowsep-1" headers="ce_interface_design__table_yv4_s1r_g1c__entry__2">0获取结果成功。其它获取结果失败</td></tr><tr class="- topic/row"><td class="- topic/entry entry colsep-1 rowsep-0" headers="ce_interface_design__table_yv4_s1r_g1c__entry__1">注意事项</td><td class="- topic/entry entry colsep-0 rowsep-0" headers="ce_interface_design__table_yv4_s1r_g1c__entry__2">-</td></tr></tbody></table></div>
</section><section class="- topic/section section" id="ce_interface_design__section_zv4_s1r_g1c" data-ofbid="ce_interface_design__section_zv4_s1r_g1c"><h2 class="- topic/title title sectiontitle">HAL 层接口设计</h2>
<div class="- topic/p p" data-ofbid="d159504e998__20250121171616">HAL 层的函数接口声明存放在 <span class="+ topic/ph sw-d/filepath ph filepath">hal_ce.h</span>
中,主要接口有:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="ce_interface_design__codeblock_ekx_s1r_g1c" data-ofbid="ce_interface_design__codeblock_ekx_s1r_g1c">s32 hal_crypto_init(<strong class="hl-keyword">void</strong>);
s32 hal_crypto_deinit(<strong class="hl-keyword">void</strong>);
<strong class="hl-keyword">void</strong> hal_crypto_irq_handler();
s32 hal_crypto_start_symm(<strong class="hl-keyword">struct</strong> crypto_task *task);
s32 hal_crypto_start_asym(<strong class="hl-keyword">struct</strong> crypto_task *task);
s32 hal_crypto_start_hash(<strong class="hl-keyword">struct</strong> crypto_task *task);
u32 hal_crypto_poll_finish(u32 alg_unit);
<strong class="hl-keyword">void</strong> hal_crypto_pending_clear(u32 alg_unit);
u32 hal_crypto_get_err(u32 alg_unit);
s32 hal_crypto_bignum_byteswap(u8 *bn, u32 len);
s32 hal_crypto_bignum_le2be(u8 *src, u32 slen, u8 *dst, u32 dlen);
s32 hal_crypto_bignum_be2le(u8 *src, u32 slen, u8 *dst, u32 dlen);
</pre></div>
</section></div></article></main></div>
</div>
<nav role="navigation" id="wh_topic_toc" aria-label="On this page" class="col-lg-2 d-none d-lg-block navbar d-print-none">
<div id="wh_topic_toc_content">
<div class=" wh_topic_toc "><div class="wh_topic_label">在本页上</div><ul><li class="section-item"><div class="section-title"><a href="#ce_interface_design__section_tnl_s1r_g1c" data-tocid="ce_interface_design__section_tnl_s1r_g1c">Driver 层接口设计</a></div></li><li class="section-item"><div class="section-title"><a href="#ce_interface_design__section_zv4_s1r_g1c" data-tocid="ce_interface_design__section_zv4_s1r_g1c">HAL 层接口设计</a></div></li></ul></div>
</div>
</nav>
</div>
</div>
</div>
<footer class="navbar navbar-default wh_footer">
<div class=" footer-container mx-auto ">
<title>footer def</title>
<style><!--
.p1 {
font-family: FangZhengShuSong, Times, serif;
}
.p2 {
font-family: Arial, Helvetica, sans-serif;
}
.p3 {
font-family: "Lucida Console", "Courier New", monospace;
}
--></style>
<div class="webhelp.fragment.footer">
<p class="p1">Copyright © 2019-2024 广东匠芯创科技有限公司. All rights reserved.</p>
</div><div>
<div class="generation_time">
Update Time: 2025-01-21
</div>
</div>
</div>
</footer>
<div id="go2top" class="d-print-none">
<span class="oxy-icon oxy-icon-up"></span>
</div>
<div id="modal_img_large" class="modal">
<span class="close oxy-icon oxy-icon-remove"></span>
<div id="modal_img_container"></div>
<div id="caption"></div>
</div>
<script src="${pd}/publishing/publishing-styles-AIC-template/js/custom.js" defer="defer"></script>
</body>
</html>