linux加密框架 crypto 算法管理 - 算法查找接口 crypto_alg_mod_lookup

參考鏈接

  • Linux加密框架的算法管理(二)_家有一希的博客-CSDN博客
  • linux加密框架 crypto 算法管理 - 算法查找接口 crypto_find_alg_CHYabc123456hh的博客-CSDN博客

函數介紹

  • crypto_alg_mod_lookup函數輸入參數包括待查找的算法名name、算法類型type和算法類型屏蔽位mask,查找命中時返回查找到的算法alg,查找未命中時返回異常。
  • api.c - crypto/api.c - Linux source code (v5.15.12) - Bootlin

crypto_alg_mod_lookup函數執行流程

算法查找流程

  • 1)crypto_alg_mod_lookup函數的基本邏輯為要么從算法管理鏈表已注冊的算法中查找到符合條件的算法,要么按照查找條件動態創建并注冊新的算法。從外部調用者角度看,這兩種情況都是查找命中。
  • 2)外部應用使用的算法必須是經過正確性檢驗(即算法標志中已置CRYPTO_ALG_TESTED狀態位)的,因此在查找前更新待查找算法的算法類型type和算法類型屏蔽位mask,確保后續查找到的算法是經過正確性檢驗的、可用的算法。
  • 3)算法查找流程由crypto_larval_lookup函數實現,其基本邏輯為要么從算法管理鏈表已注冊的算法中查找到符合條件的算法,要么按照查找條件創建與待查找算法同名的算法幼蟲。crypto_larval_lookup函數的返回值為通用算法說明alg,通過檢查其算法標志cra_flags的CRYPTO_ALG_LARVAL狀態位確認alg是否為算法幼蟲(由內聯函數crypto_is_larval實現)
    • 如果想查找名為"md5"的哈希算法,查找返回的是MD5算法的通用算法說明md5_alg;如果想查找名為"hmac(md5)"的哈希算法,假設第一次使用該算法,算法管理鏈表中未注冊該算法,因此查找返回的是同名的算法幼蟲對應的通用算法說明。
  • 4)如果查找到的是算法幼蟲,即當前線程創建的注冊用算法幼蟲,在加密通知鏈發布創建動態算法的通知,由專門的內核線程負責創建并注冊動態算法,算法查找線程調用crypto_larval_wait函數等待算法注冊完成,然后調用crypto_larval_kill函數清理注冊用算法幼蟲。
  • 5)crypto_alg_mod_lookup函數中接口調用情況如下所示

接口調用情況

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/446075.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446075.shtml
英文地址,請注明出處:http://en.pswp.cn/news/446075.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

qt triggered信號_Qt之網絡編程UDP通信

點擊上方“Qt學視覺”,選擇“星標”公眾號重磅干貨,第一時間送達想要學習的同學們還請認真閱讀每篇文章,相信你一定會有所收獲UDP通信概述UDP(UserDatagramProtocol,用戶數據報協議)是輕量的、不可靠的、面向數據報(datagram)、無…

adguard沒有核心 core no_面試官:線程池如何按照core、max、queue的執行順序去執行?...

前言這是一個真實的面試題。前幾天一個朋友在群里分享了他剛剛面試候選者時問的問題:"線程池如何按照core、max、queue的執行循序去執行?"。我們都知道線程池中代碼執行順序是:corePool->workQueue->maxPool,源碼…

linux加密框架 crypto 算法管理 - 算法查找接口 crypto_larval_lookup

參考鏈接 Linux加密框架的算法管理(二)_家有一希的博客-CSDN博客 crypto_larval_lookup函數介紹 crypto_larval_lookup函數的輸入參數包括待查找的算法名name、算法類型type和算法類型屏蔽位mask,查找命中時返回查找到的算法或注冊用算法幼…

python ssh 遠程登錄路由器執行命令_ssh批量登錄并執行命令(python實現)

局域網內有一百多臺電腦,全部都是linux操作系統,所有電腦配置相同,系統完全相同(包括用戶名和密碼),ip地址是自動分配的。現在有個任務是在這些電腦上執行某些命令,者說進行某些操作,比如安裝某些軟件&…

linux加密框架 crypto 算法管理 - 算法查找接口 crypto_alg_lookup函數

參考鏈接 Linux加密框架的算法管理(二)_家有一希的博客-CSDN博客 函數介紹 static struct crypto_alg *crypto_alg_lookup(const char *name, u32 type,u32 mask) {struct crypto_alg *alg;u32 test 0;if (!((type | mask) & CRYPTO_ALG_TESTED))…

linux加密框架 crypto 算法管理 - 動態和靜態算法管理

參考鏈接 Linux加密框架的算法管理(三)_家有一希的博客-CSDN博客 動態和靜態算法管理 靜態算法 加密框架中的算法分為靜態算法和動態算法兩種,其中靜態算法指的是以"算法名.ko"形式存在的靜態編譯的算法模塊,如aes.k…

3分鐘入門python_3分鐘帶你了解世界第一語言Python 入門上手也這么簡單!

一、Python入門1. Python爬蟲入門一之綜述Python爬蟲入門二之爬蟲基礎了解Python爬蟲入門三之Urllib庫的基本使用Python爬蟲入門四之Urllib庫的高級用法Python爬蟲入門五之URLError異常處理Python爬蟲入門六之Cookie的使用Python爬蟲入門七之正則表達式Python爬蟲入門八之Beaut…

linux加密框架 crypto 算法管理 - 算法檢測

參考鏈接 Linux加密框架的算法管理(四)_家有一希的博客-CSDN博客 函數介紹 如前所述,無論是靜態算法還是動態算法,算法注冊的最后一步都是進行算法正確性檢驗,一般流程是先調用__crypto_register_alg函數進行通用的算…

select選中的值_selenium下拉框處理(select)

前言 web自動化中,常見的場景還有一個下拉框的選擇,哪么在selenium中如何做下拉框的操作呢?selectselect在HTML中表示元素名,可創建單選或多選菜單。HTML中select長什么樣子:select在HTML中元素名,下面有選…

linux加密框架 crypto 算法管理 - 創建哈希算法實例

crypto_alloc_ahash函數 加密框架中的哈希算法可以是同步方式實現的也可以是異步方式實現的,但是算法應用不關注哈希算法的實現方式,關注的是哈希算法提供的算法接口。為實現統一管理,加密框架默認哈希算法的實現方式為異步方式,…

發票管理軟件_企業為什么需要ERP企業管理軟件?

對于一個制造企業來說,生產是企業最大的動力,而生產也需要進行優化管理,一個好的生產管理方式會帶給企業巨大的發展空間和利潤價值。對于一個制造企業來說,生產是企業最大的動力,而生產也需要進行優化管理,…

python 畫風場 scipy_Python數據分析及可視化實例之Scipy

強大到沒有朋友的科學計算庫,不知道怎么介紹ta!大牛張若愚出了厚本的《Python 科學計算》第二版里面包羅萬象,就不做搬運工了,盡快開工pandas。來一彈在NLP自然語言處理中用到的稀疏矩陣處理:# coding: utf-8# # 稀疏矩…

linux加密框架 crypto 算法管理 - 應用角度講解加密框架的運行流程

參考鏈接 Linux加密框架的應用示例(一)_家有一希的博客-CSDN博客 本文大綱 本節將從應用角度說明加密框架的運行流程,包括加密框架如何管理算法、如何動態創建算法,應用模塊如何創建算法實例、如何通過算法實例調用算法接口等。…

java 累進計費率計算_設計費400萬,繳納所得稅100萬,如何籌劃

很多公司老板都會把利潤放在第一位,照理說這是沒錯的,公司要盈利才能繼續經營下去。我國有很多針對小微企業的政策,盈利不高的情況下,基本不會去考慮納稅問題,也沒有多少稅收壓力。但是對一些暴利的服務型行業、軟件設…

linux加密框架 crypto 算法管理 - 哈希算法應用實例

參考鏈接 Linux加密框架應用示例(二)_家有一希的博客-CSDN博客linux加密框架 crypto 算法管理 - 應用角度講解加密框架的運行流程_CHYabc123456hh的博客-CSDN博客 在應用模塊中創建并初始化哈希算法實例 假設某個SA配置使用的認證算法為"hmac(md5…

guido python正式發布年份_Python語言適合哪些領域的計算問題? (1.3分)_學小易找答案...

【單選題】關于Python中的復數,下列說法錯誤的是 (1.3分)【多選題】藥物作用的基本規律包括?【單選題】Python 中,以下哪個賦值操作符是錯誤的? (1.3分)【單選題】哪個選項是下面代碼的執行結果? s "abcd1234" print ( s . find ( "cd" )) (1.3分)【填…

Linux加密框架 crypto crypto_larval | crypto_larval_alloc | __crypto_register_alg 介紹

參考鏈接 Lniux加密框架中的主要數據結構(五)_家有一希的博客-CSDN博客crypto_larval struct crypto_larval {struct crypto_alg alg;struct crypto_alg *adult;struct completion completion;u32 mask; };結構體名叫 crypto_larval (算法幼…

好玩的腳本代碼大全_Github | 推薦一個Python腳本集合項目

點擊上方"藍字"關注我們Python大數據分析記錄 分享 成長用python寫小腳本是一件好玩的事情,因為不是個大活兒,而且能解決眼邊前十分繁瑣的事情,這種輕松且便宜的代碼頗受人民群眾的歡迎~有點生活小妙招的意味大家較為熟知的腳本…

linux加密框架 crypto 算法管理 - 算法查找接口

參考鏈接 Linux加密框架的算法管理(二)_家有一希的博客-CSDN博客linux加密框架 crypto 算法管理 - 算法查找接口 crypto_find_alg_CHYabc123456hh的博客-CSDN博客linux加密框架 crypto 算法管理 - 算法查找接口 crypto_alg_mod_lookup_CHYabc123456hh的…

python中以下關于列表描述錯誤的_10. 以下關于列表操作的描述,錯誤的是:_學小易找答案...

【單選題】Python 語句 a1211.21 print(type(a)) 的輸出結果為( )【單選題】Python語句序列"s1 [4, 5, 6]; s2 s1; s1[1]0; print(s2)"的運行結果是( )。【填空題】Python語句print(%d%%%d%(3/2, 3%2))的運行結果是( 1 )。【單選題】python語句print(type(123))的數…