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

相关文章

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

SpringBoot日志级别与日志分组详解

《SpringBoot日志级别与日志分组详解》文章介绍了日志级别(ALL至OFF)及其作用,说明SpringBoot默认日志级别为INFO,可通过application.properties调整全局或... 目录日志级别1、级别内容2、调整日志级别调整默认日志级别调整指定类的日志级别项目开发过程中,利用日志

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Java中的stream流分组示例详解

《Java中的stream流分组示例详解》Java8StreamAPI以函数式风格处理集合数据,支持分组、统计等操作,可按单/多字段分组,使用String、Map.Entry或Java16record... 目录什么是stream流1、根据某个字段分组2、按多个字段分组(组合分组)1、方法一:使用 Stri

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

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

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

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