linux加密框架 crypto 算法管理 - 算法查找接口 crypto_find_alg
生活随笔
收集整理的這篇文章主要介紹了
linux加密框架 crypto 算法管理 - 算法查找接口 crypto_find_alg
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
算法查找接口crypto_find_alg
- 算法實(shí)例tfm是算法的一個(gè)可運(yùn)行的副本,因此在創(chuàng)建算法實(shí)例前首先要查找確認(rèn)算法是否已經(jīng)注冊(cè)有效,此時(shí)算法查找由函數(shù)crypto_find_alg實(shí)現(xiàn)。
- 補(bǔ)充:
- struct crypto_tfm *tfm;?
- crypto_tfm類型指針tfm可以理解為指代了一個(gè)算法對(duì)象
- crypto.h - include/linux/crypto.h - Linux source code (v5.15.12) - Bootlin? crypto_alg
- crypto.h - include/linux/crypto.h - Linux source code (v5.15.12) - Bootlin? crypto_tfm
- Linux加密框架crypto crypto_alg|cipher_alg數(shù)據(jù)結(jié)構(gòu)|AES例子_CHYabc123456hh的博客-CSDN博客
- crypto_find_alg函數(shù)輸入?yún)?shù)包括算法名name、算法前端frontend、算法類型type和算法類型屏蔽位mask,查找命中時(shí)返回查找到的算法alg,查找未命中時(shí)返回異常。
- 補(bǔ)充:
- Linux內(nèi)核 crypto文件夾 密碼學(xué)知識(shí)學(xué)習(xí)_CHYabc123456hh的博客-CSDN博客?crypto_type
- ?crypto_find_alg函數(shù)的處理邏輯比較簡單,調(diào)用查找接口lookup進(jìn)行算法查找。如果算法前端frontend定義了查找接口,lookup=frontend->lookup,否則lookup=crypto_alg_mod_lookup。(截止到目前為止 版本v5.15.12 不支持,1,frontend的類型是crypto_type,里面沒有這個(gè)函數(shù)接口;2,函數(shù)crypto_alg_mod_lookup的返回類型是 crypto_alg)
- 算法前端frontend的數(shù)據(jù)類型為struct crypto_type,即通用算法說明中的算法類型常量。加密框架中定義的大部分算法類型常量,如同步哈希算法類型常量crypto_shash_type、異步哈希算法類型常量crypto_ahash_type、塊加密算法類型常量crypto_blkcipher_type都未定義lookup接口,因此調(diào)用crypto_find_alg函數(shù)使用的查找接口都是默認(rèn)查找接口
- crypto_alg_mod_lookup,這樣crypto_find_alg函數(shù)相當(dāng)于crypto_alg_mod_lookup函數(shù)的包裹函數(shù)。
- 輸入?yún)?shù)中的算法類型type表示最佳的算法類型,type&mask表示允許使用的算法類型。異步哈希算法實(shí)例前端crypto_ahash_type中,type=CRYPTO_ALG_TYPE_AHASH(0x09)表示最佳的算法類型為異步哈希算法,mask=CRYPTO_ALG_TYPE_AHASH_MASK(0x0C),而type&mask=0x08(CRYPTO_ALG_TYPE_HASH)表示只要是哈希算法就行,不強(qiáng)求實(shí)現(xiàn)方式。
- crypto.h - include/linux/crypto.h - Linux source code (v5.15.12) - Bootlin
總結(jié)
以上是生活随笔為你收集整理的linux加密框架 crypto 算法管理 - 算法查找接口 crypto_find_alg的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信信用卡还款手续费怎么避免?这几种方法
- 下一篇: 航天晨光是军工股吗