NIST密码学未来展望:Naughty Step 上的 SHA-1、3DES 和 SHA-224

1. 引言

NIST 几十年来一直致力于推动密码学标准的发展,2024年10月,其发布了Transitioning the Use of Cryptographic Algorithms and Key Lengths 草案:

  • 概述了 SHA-1(为160位哈希算法) 将在不久的将来退役,并添加了新定义的 PQC 标准(用于密钥交换的ML-KEM 和 用于数字签名的ML-DSA)。
  • 其为各密码学算法定义的类型有:
    • Acceptable 可接受
    • Deprecated 已弃用——将在不久的将来被删除。
    • Disallowed 不允许——应该不得使用
    • Legacy 遗留——只应用于遗留应用程序中。

2. 远离 112-bit 安全性

DES 加密方法使用 56 位等效密钥大小。DES已升级为 3DES(又名 TDEA——Triple Data Encryption Algorithm 三重数据加密算法),并使用两个加密密钥元素(K1 和 K2)来提供 112 位等效密钥大小。
在这里插入图片描述
3DES 方法使用 EDE(加密、解密、加密)的原因是 K1 等于 K2,并且将变成单个 56 位密钥和标准 DES 加密。从而允许与 DES 实现兼容。

虽然 3DES 仍在一些金融应用中使用,但 NIST 现在警告称,112 位密钥大小需要迁移到至少 128 位安全性。还有一些公钥方法(如 RSA 和密钥交换)具有 112 位等效安全性,因此 NIST 希望将所有加密方法普遍升级到至少 128 位。这需要在 2030 年 12 月 31 日之前完成,同时在同一天之前禁止使用 SHA-1 和 224 位哈希。
在这里插入图片描述

TDEA 现在不允许用于加密,仅允许用于遗留应用的解密:
在这里插入图片描述

3. 对称密钥模式

对于块模式,不应使用 ECB 进行加密,因为它不使用salt盐值。可接受的模式包括 CBC、CFB、CTR、OFB、CCM 和 GCM。对于Format Preserving Encryption 格式保留模式(可用于隐藏信用卡细节)(如 FF1 和 FF1),仅可接受 FF1:
在这里插入图片描述

4. 数字签名

在这里插入图片描述
对于数字签名,DSA 不允许用于签名生成,ECDSA、EdDSA 和 RSA 仅允许用于 112 位以上的安全级别。ML-DSA(又名 Dilithium)的新 PQC 方法已完全获得 FIPS 204 中定义的参数集的认可。
在这里插入图片描述

5. 随机位生成器

对于随机位生成器,重点是 SHA-2 和 SHA-3 以实现长期安全性,而 SHA-1 和 224 位哈希函数将被弃用:
在这里插入图片描述

6. 密钥交换

不推荐使用长度小于 112 位的密钥,而是允许使用至少具有 128 位安全性的椭圆曲线方法。这些方法包括 P-256、P-384 和 P-521 曲线以及 Brainpool 曲线,但不包括 224 位曲线(如 P-224)。

对于使用 RSA 的密钥封装,2030 年以后 128 位安全性的限制为:
在这里插入图片描述
对于新定义的 PQC 密钥封装 ML-KEM-512、ML-KEM-768 和 ML-KEM-1024 均已获得完全认可。

7. 密钥派生函数

总体而言,这些应该使用至少 256 位的哈希方法:
在这里插入图片描述

8. 哈希函数

如前所述,所有小于 256 位的哈希函数在 2030 年之前都将被弃用,此后将不再允许使用。使用 TupleHash 和 ParallelHash,可以得到 SHA-3 的派生函数:
在这里插入图片描述

9. 密钥包装

在这里插入图片描述
对于密钥包装,不允许使用 3DES:
在这里插入图片描述

10. MACs

在这里插入图片描述
对于消息认证码 (Message Authentication Codes,MAC) 来说,情况也是一样的,任何小于 256 位的哈希值和小于 128 位的安全性都将被弃用:
在这里插入图片描述
在这里插入图片描述

11. XOF

在这里插入图片描述
使用 XOF,可以创建一个长度可变的哈希输出。NIST 非常看好 SHAKE128 和 SHAKE256 是 XOF 的未来,其在 FIPS 202 中定义:
在这里插入图片描述

参考资料

[1] Prof Bill Buchanan OBE FRSE 2024年10月23日博客 NIST Looks To The Future of Cryptography: SHA-1, 3DES and SHA-224 on Naughty Step (相应视频解读见:NIST Looks To The Future of Cryptography: SHA-1, 3DES and SHA-224 on Naughty Step)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

物理验证Calibre LVS | SMIC Process过LVS时VNW和VPW要如何做处理?

SMIC家工艺的数字后端实现PR chipfinish写出来的带PG netlist如下图所示。我们可以看到标准单元没有VNW和VPW pin的逻辑连接关系。 前几天小编在社区星球上分享了T12nm ananke_core CPU低功耗设计项目的Calibre LVS案例,就是关于标准单元VPP和VBB的连接问题。 目前…

今天给在家介绍一篇基于jsp的旅游网站设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

【C#设计模式(4)——构建者模式(Builder Pattern)】

前言 C#设计模式(4)——构建者模式(Builder Pattern) 运行结果 代码 public class Computer {private string part1 "CPU";private string part2 "主板";private string part3 "内存";private string part4 "显卡";private st…

软件测试第二篇软件测试技术

第五章单元测试和集成测试的技术 单元静态测试主要由开发人员完成。 标准:规定什么能做,什么不能做。 规范:建议你要怎么做。 5.1.2 代码评审 代码评审是一种发现代码缺陷的另一种测试方法。 代码审查的最佳实践: 创建代码审…

【Android、IOS、Flutter、鸿蒙、ReactNative 】文本点击事件

Android Studio 版本 Android Java TextView 实现 点击事件 参考 import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.TextView; import android.widget.Toast;public c…

二叉树(C 语言)

目录 一、树1. 树的概念2. 树的表示方法3. 树在实际当中的应用 二、二叉树1. 二叉树的定义2. 现实中的二叉树3. 特殊的二叉树4. 二叉树的性质5. 二叉树的存储结构 三、堆 —— 完全二叉树的顺序存储1. 堆的概念2. 堆的性质3. 堆的设计思路4. 堆的实现代码 四、堆排序1. 堆排序的…

游戏引擎学习第五天

这节貌似没讲什么 视频参考:https://www.bilibili.com/video/BV1Gmm2Y5EwE/ uint8 *A somewhere in memory; uint8 *B somewhere in memory;//BEFORE WE GOT TO HERE int Y *B; // whatever was actually there before the 5 *A 5; int X *B; // 5 //Obviously! Y and …

大路灯护眼灯十大品牌哪个牌子好?儿童大路灯护眼灯品牌排行榜

大路灯护眼灯十大品牌哪个牌子好?长时间在不良光线下用眼很容易引起视觉疲劳,最终影响视力健康,这个时候大路灯护眼灯以良好的性能成为了很不错的照明产品。不过如今行业热度很高,网红跨界品牌大路灯护眼灯出于成本压缩&#xff0…

1.2 图像处理基本操作

在本实战中,我们将学习如何使用OpenCV进行基本的图像处理操作。首先,我们将通过cv2.imread()函数读取图像,并使用cv2.imshow()在窗口中显示它。接着,我们将探索如何通过cv2.imwrite()保存图像,并设置不同的参数以控制图…

K8S如何基于Istio实现全链路HTTPS

K8S如何基于Istio实现全链路HTTPS Istio 简介Istio 是什么?为什么选择 Istio?Istio 的核心概念Service Mesh(服务网格)Data Plane(数据平面)Sidecar Mode(边车模式)Ambient Mode(环境模式)Control Plane(控制平面)Istio 的架构与组件Envoy ProxyIstiod其他组件Istio 的流量管…

手动搭建 Ghost 博客

操作场景 Ghost 是使用 Node.js 语言编写的开源博客平台,您可使用 Ghost 快速搭建博客,简化在线出版过程。本文档介绍如何在腾讯云云服务器(CVM)上手动搭建 Ghost 个人网站。 进行 Ghost 网站搭建,您需要熟悉 Linux …

MySQL之索引(3)(索引基本语法、SQL执行计划、常见索引失效原因与解决方法)

目录 一、索引基本语法。 (1)创建索引。 (2)查看索引。 (3)删除索引。 (4)给多列添加组合索引。 1、何时添加索引?? 2、组合索引。 二、SQL执行计划。 &#…

前端中的 File 和 Blob两个对象到底有什么不同

JavaScript 在处理文件、二进制数据和数据转换时,提供了一系列的 API 和对象,比如 File、Blob、FileReader、ArrayBuffer、Base64、Object URL 和 DataURL。每个概念在不同场景中都有重要作用。下面的内容我们将会详细学习每个概念及其在实际应用中的用法…

一步一步从asp.net core mvc中访问asp.net core WebApi

"从asp.net core mvc中访问asp.net core WebApi"看到这个标题是不是觉得很绕口啊,但的确就是要讲一讲这样的访问。前面我们介绍了微信小程序访问asp.net core webapi(感兴趣的童鞋可以看看前面的博文有关WEBAPI的搭建),这里我们重点不关心如何…

【Linux系列】VNC安装ssh后,ssh无法登录

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

温度虽寒,其道犹变:OpenAI接口之温度参数设置为0,为何每次回复仍有不确定性?

问题描述 调用openai API,使用templature 0,每次返回的内容仍有一些不同 >>> client OpenAI( ... api_keyapi_key, ... base_urlapi_base) #第一次尝试 >>> response client.chat.completions.create(mo…

【软件测试】需求的概念和常见模型(瀑布、螺旋、增量、迭代)

1. 什么是需求 在企业中,经常会听到:用户需求和软件需求 用户需求:没用经过合理的评估,通常就是一句话(开发一个五彩斑斓的黑)软件需求:开发人员和测试人员执行工作的依据 1.2 软件需求 在工…

食品配送管理系统(源码+文档+部署+讲解)

食品配送管理系统是成品商业化项目,系统可基于源码二开。 系统概述 餐饮食品配送,包含配送人APP、下单APP、管理端等,实现订餐、配餐,用于食品店、中央厨房等订餐、团餐业务 本项目名称为食品配送系统,是针对食品配…

./bin/mindieservice_daemon启动成功

接MindIE大模型测试及报错Fatal Python error: PyThreadState_Get: the function must be called with the GIL held,-CSDN博客经过调整如下红色部分参数,昇腾310P3跑起来了7b模型: rootdev-8242526b-01f2-4a54-b89d-f6d9c57c692d-qjhpf:/home/apulis-de…

我谈维纳(Wiener)复原滤波器

Rafael Gonzalez的《数字图像处理》中,图像复原这章内容几乎全错。上篇谈了图像去噪,这篇谈图像复原。 图像复原也称为盲解卷积,不处理点扩散函数(光学传递函数)的都不是图像复原。几何校正不属于图像复原&#xff0c…