密码库LibTomCrypt学习记录——(2.1)分组密码算法的工作模式——概况

本文主要是介绍密码库LibTomCrypt学习记录——(2.1)分组密码算法的工作模式——概况,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

密码算法的工作模式就是怎样使用密码算法来达到一定的目的,比如怎样加密一个文件。工作模式有很多种,仅用于加密的,用来构造HASH函数的,仅用于生成消息验证码的,用于伪随机数生成的,既能加密又能同时生成验证码的,专门针对磁盘加密的……

很多工作模式都已经被标准化了,这其中影响最广的应该算是NIST了,其他相关标准化组织有ISO/IEC、IEEE、ANSI、 IETF……以下列举其中一部分。

  1. NIST 800-38系列
    1. ECB
    2. CBC
    3. OFB
    4. CFB
    5. CTR
    6. CMAC
    7. CCM
    8. GCM
    9. XTS
    10. KeyWrap
  2. ISO-IEC 19772
    1. OCB2.0
    2. KeyWrap
    3. CCM
    4. EAX
    5. Encrypt-then-MAC
    6. GCM
  1. IEEE P1619系列
  1. CCM
  2. GCM
  3. CBC
  4. XTS
  5. XCB
  6. EME2
  1. ISO/IEC 9797 Message Authentication Codes (MACs)
    1. 缺文档,详情未知
  2. ISO/IEC 10118 Hash-functions
    1. 缺文档,详情未知
  3. ISO/IEC 11770 Key management
    1. 缺文档,详情未知
  4. ISO/IEC 18033 Encryption algorithms
    1. 缺文档,详情未知
  5. 其他

常见的工作模式如下:

模式

用途

标准

ECB

加密

NIST

CBC

加密

NIST

OFB

加密

NIST

CFB

加密

NIST

CTR

加密

NIST

F8

加密

3GPP

CMAC

认证

NIST

OMAC

认证

F9

认证

3GPP

CCM

认证加密

NIST

GCM

认证加密

NIST

OCB

认证加密

ISO-IEC

EAX

认证加密

XTS

磁盘加密

NIST

LRW

磁盘加密

KeyWrap

密钥保护

NIST

LibTomCrypt中实现的模式有以下这些:

  1. modes文件夹内
    1. cbc
    2. cfb
    3. ctr
    4. ecb
    5. f8
    6. lrw
    7. ofb
    8. xts
  2. encauth文件夹内
    1. ccm
    2. eax
    3. gcm
    4. ocb
  3. mac文件夹内
    1. f9
    2. hmac
    3. omac
    4. pelican
    5. pmac
    6. xcbc

参考文献

  1. IEEE P1619, http://en.wikipedia.org/wiki/IEEE_P1619
  2. NIST, http://csrc.nist.gov
  3. IEEE, IEEE SA - The IEEE Standards Association - Home
  4. 分组密码工作模式, http://en.wikipedia.org/wiki/Cipher_mode
  5. 磁盘加密理论, http://en.wikipedia.org/wiki/Disk_encryption_theory
  6. 磁盘加密, http://en.wikipedia.org/wiki/Disk_encryption
  7. MAC, http://en.wikipedia.org/wiki/Message_authentication_code
  8. 加密认证模式, http://en.wikipedia.org/wiki/Authenticated_encryption
  9. 单向压缩函数, http://en.wikipedia.org/wiki/One-way_compression_function

这篇关于密码库LibTomCrypt学习记录——(2.1)分组密码算法的工作模式——概况的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/295212

相关文章

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时