日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

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

發(fā)布時間:2023/12/13 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux加密框架 crypto 算法管理 - 算法查找接口 crypto_alg_mod_lookup 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

參考鏈接

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

函數(shù)介紹

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

crypto_alg_mod_lookup函數(shù)執(zhí)行流程

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

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的linux加密框架 crypto 算法管理 - 算法查找接口 crypto_alg_mod_lookup的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。