密码库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

相关文章

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

基于Spring Boot 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Java中的xxl-job调度器线程池工作机制

《Java中的xxl-job调度器线程池工作机制》xxl-job通过快慢线程池分离短时与长时任务,动态降级超时任务至慢池,结合异步触发和资源隔离机制,提升高频调度的性能与稳定性,支撑高并发场景下的可靠... 目录⚙️ 一、调度器线程池的核心设计 二、线程池的工作流程 三、线程池配置参数与优化 四、总结:线程