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

相关文章

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java中的密码加密方式

《Java中的密码加密方式》文章介绍了Java中使用MD5算法对密码进行加密的方法,以及如何通过加盐和多重加密来提高密码的安全性,MD5是一种不可逆的哈希算法,适合用于存储密码,因为其输出的摘要长度固... 目录Java的密码加密方式密码加密一般的应用方式是总结Java的密码加密方式密码加密【这里采用的