Linux加密框架中的算法和算法模式

参考链接

  • Linux加密框架中的算法和算法模式(三)_家有一希的博客-CSDN博客

对称算法  14

对称密码算法汇总

  •  如上所示,在arc4.c中定义了两个与RC4算法相关的算法实现,分别为arc4和ecb(arc4),其中arc4是RC算法的算法实现,而ecb(arc4)是RC算法ECB模式的算法实现,在加密框架中,将arc4称为基础算法,ecb(arc4)称为衍生算法。
  • 就RC4算法而言,arc4和ecb(arc4)是等价的,但在加密框架中,算法应用(如IPSEC)不能通过arc4访问RC4算法,只能通过ecb(arc4)访问RC4算法,也就是说arc4是面向加密框架的,而ecb(arc4)是面向算法应用的
    由于加密框架中对称密码算法绝大部分都是分组算法,因此后续章节内容中将以分组算法代指对称密码算法。

哈希算法 13

哈希算法汇总

算法模式汇总 

  • 加密框架中将算法模式抽象为算法模板(template),加密框架中包括13个算法模式(算法模板)源码文件,如下所示

算法模式汇总

 补充说明

  • 在密码学上,密码算法的工作模式很有限,如哈希算法只有hash计算一种模式,分组算法只有加密和解密两种模式。
  • 在实际应用中,密码算法一般是和算法模式配合使用的,以分组算法为例,在实际应用中基本上不会直接使用基本工作模式的加密或解密接口,绝大部分情况下使用的是某种算法模式的加密或解密接口
  • 算法模式不是针对某个特定密码算法的,而是适用于某一类型的密码算法,如HMAC模式适用于所有哈希算法,CBC模式适用于所有分组算法。
  • 在加密框架中,将使用特定算法模式的算法也认为是一种新的算法,新算法的命名规则为:算法模板名(基础算法,…),其中基础算法可以有多个。如将使用HMAC模式的MD5算法,定义为名为“hmac(md5)”的新算法,这些新算法也可以称为创建其他算个发的基础算法,如名为“authenc(hmac(md5),cbc(aes))的算法的基础算法为hmac(md5)和cbc(aes)本身也是由算法模板创建的算法。
  • 在加密框架中,将不带算法模式的算法称为基础算法,如md5和aes,这些算法是静态定义、编译到加密框架中的,因此也称为静态算法;将带算法模式的算法称为衍生算法,如hmac(md5)和cbc(aes),这些算法是动态创建的,因此也称为动态算法。

参考链接

  • 密码学专题 密钥生成|分组加密的模式 ECB|CBC|CFB|OFB_CHYabc123456hh的博客-CSDN博客_ecb模式和cbc模式
  • 常见对称加密算法与工作模式简介_农家小舍-CSDN博客_常见对称加密算法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446108.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python学籍管理系统 flask_taskday05-Python之flask学习 web开发最基本的需要(特别详细且适用)...

1.首先一个Flask的Web项目的创建需求一(文章概述):一:必须实现命令工具管理App,用于在命令行输入命令对项目进行管理,对后期多多益善二:必须实现“蓝图”管理,用于将app启动函数与路由分开管理,…

Linux加密框架crypto AES代码相关

例子 aes_generic.c - crypto/aes_generic.c - Linux source code (v5.15.11) - Bootlin static struct crypto_alg aes_alg {.cra_name "aes",.cra_driver_name "aes-generic",.cra_priority 100,.cra_flags CRYPTO_ALG_TYPE_CIPHER,.cra_blocks…

python语言print函数_Python 的 print 函数

Python 2.x 系列已经停止维护了, python 3.x 系列正在成为主流,尽管有些项目还是python2.x 的,之后写Python 代码为了保持兼容性,还是尽量和Python 3 标准保持一致作为一个Python newbee 而言, python 2.x 和 3.x 的 …

Linux加密框架crypto crypto_alg|cipher_alg数据结构|AES例子

加密框架将算法的属性抽象为算法说明数据结构struct crypto_alg,加密框架中的每一个算法(基础算法和衍生算法)都表示为一个算法说明数据结构的实例,因此将struct crypto_alg称为通用算法说明数据结构。后续章节中如无特殊说明&…

python如何运用ols_使用OLS回归(Python,StatsModels,Pandas)预测未来值

我目前正试图在Python中实现一个MLR,我不知道如何去应用我发现的未来值的系数。使用OLS回归(Python,StatsModels,Pandas)预测未来值import pandas as pdimport statsmodels.formula.api as smimport statsmodels.api as sm2TV [230.1, 44.5,…

Linux加密框架 crypto RC4

参考链接 arc4.h Linux加密框架中的主要数据结构(一)_家有一希的博客-CSDN博客 头文件 arc4.h - include/crypto/arc4.h - Linux source code (v5.15.11) - Bootlin实现代码 arc4.c arc4.c - crypto/arc4.c - Linux source code (v5.15.11) - Bootlin…

python读txt转array_python将txt文件读入为np.array的方法

原文件:7.8094,1.0804,5.7632,0.012269,0.008994,-0.003469,-0.79279,-0.064686,0.11635,0.68827,5.7169,7.9329,0.010264,0.003557,-0.011691,-0.57559,-0.56121,原文件数据比较多,是一个125行,45类float数字。代码:# -*- coding…

Linux加密框架 crypto 哈希算法说明 同步哈希shash_alg | 异步哈希 ahash_alg | 通用部分抽象 hash_alg_common

参考链接 Linux加密框架中的主要数据结构(二)_家有一希的博客-CSDN博客 定义 通用算法说明数据结构crypto_alg的联合体成员变量cra_u中包含多种算法的个性化属性,如分组算法、块加密算法、压缩算法、伪随机数算法等,但不包含哈希…

python 列表间隔取值_python list数据等间隔抽取并新建list存储的例子

原始数据如下:[e3cd, e547, e63d, 0ffd, e39b, e539, e5be, 0dd2, e3d6, e52e, e5f8, 0000, e404, e52b, e63d, 0312, e38b]将其分割为4路数据,分别存储在fetal1、fetal2、mother1、ECG的列表中,各列表对齐,不能整除于4的数据舍去…

Linux加密框架 crypto 哈希算法举例 MD5

参考链接 Linux加密框架 crypto 哈希算法说明 同步哈希shash_alg | 异步哈希 ahash_alg | 通用部分抽象 hash_alg_common_CHYabc123456hh的博客-CSDN博客Linux加密框架中的主要数据结构(二)_家有一希的博客-CSDN博客 MD5 md5.h - include/crypto/md5.h …

事务没提交的数据查的出来吗?_“金三银四”面试官:说说事务的ACID,什么是脏读、幻读?...

一、事务事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。--摘自百科在MySQL里,事务是在引擎层面实现,比如MyIsam不支持,InnoDB支持面试清单(Java岗):JavaJVM数…

Linux加密框架 crypto 算法模板

参考链接 Linux加密框架中的主要数据结构(三)_家有一希的博客-CSDN博客algapi.h - include/crypto/algapi.h - Linux source code (v5.15.11) - Bootlin 定义 struct crypto_template {struct list_head list;struct hlist_head instances;struct modu…

python找最长的字符串_为Python找到最长重复字符串的有效方法(从Pearls编程)

我的解决方案是基于后缀数组。它是由最长公共前缀的两倍前缀构成的。最坏情况下的复杂度是O(n(logn)^2)。任务”伊利亚特.mb.txt“在我的笔记本上花了4秒钟。代码在函数suffix_array和longest_common_substring中有很好的文档记录。后一个函数很短,可以很容易地修改…

Linux加密框架 crypto 算法模板 CBC模板举例

参考链接 Linux加密框架中的主要数据结构(三)_家有一希的博客-CSDN博客https://blog.csdn.net/CHYabc123456hh/article/details/122194754 CBC算法模板 cbc.c - crypto/cbc.c - Linux source code (v5.15.11) - BootlinCBC算法模板属性 1)CBC算法模板名…

leetcode数组汇总_LeetCode刷题实战43:字符串相乘

算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !今天和大家…

Linux加密框架 crypto 算法模板 HMAC模板举例

参考链接 Linux加密框架中的主要数据结构(三)_家有一希的博客-CSDN博客Linux加密框架 crypto 算法模板_CHYabc123456hh的博客-CSDN博客 HMAC算法模板 hmac.c - crypto/hmac.c - Linux source code (v5.15.11) - Bootlinhmac.c - crypto/hmac.c - Linux…

判断非负整数是否是3的倍数_五年级数学因数与倍数知识点汇总与解题方法技巧...

在日常教学过程中,我发现孩子们和某些家长对学习数学的方法有一些误区,就是觉着数学,单纯就是逻辑思维,只要多做练习题就能学好,但是不是这样的,低年级的学生,学习数学还是以背诵为主&#xff0…

tcp通讯一次最多能发送多少数据?_关于TCP/IP,必须知道的十个知识点

本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养。一、TCP/IP模型TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络…

Linux内核crypto子系统的调用逻辑

testmgr.c - crypto/testmgr.c - Linux source code (v5.15.11) - Bootlin上述代码是内核内部即crypto子系统对外提供密码服务的测试程序调用流程&#xff1a;crypto API <—> crypto core <—> crypto_register_alg处于用户态的程序想要调用处于内核态的密码算法&…

python成语填空_python定期循环成语?

我有一个工作单位我希望每N秒发生一次.如果我使用简单化minute 60while True:doSomeWork()time.sleep(minute)取决于doSomeWork()花费的时间,实际循环周期将是一分钟加上那个时间.如果doSomeWork()所花费的时间不是确定性的,则工作周期更加难以预测.我想做的就是这样minute 6…