0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

密码学常用算法的工作原理和特点

如意 来源:ETHFANS 作者:Ajian 2020-06-28 09:48 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

现如今,常用的加密算法不外乎私钥加密方法和公钥加密方法。私钥加密方法可以用来保护关键/敏感数据。密钥密文只需一把钥匙(由通信双方共享)破解,因此被称为对称性密码设计学。

1949 年,贝尔实验室的 Claude Shannon 公布了私钥加密方法的基本理论。数十年来的演化已经孕育出了很多高质量的私钥加密算法。然而,直到 1975 年,一个名为 DES 的强大私钥加密方法才得到了广泛使用。

公钥/非对称性密码设计学诞生于 20 世纪 70 年代中期。公钥加密方法需要用到一对密钥,分别是对外公开的公钥和相对应的由个人持有的私钥。例如,接收方可以创建一对密钥,并将公钥分享给任何想要向 ta 发送密文的人。发送方可以使用公钥加密发送给接收方的信件,接收方可以用私钥来解密。

加密算法的强大程度取决于三个主要因素:

基础设施 —— 如果相关密码设计主要由软件实现,那么底层基础将是最薄弱的环节。如果你总是会加密某些信息,那么对黑客来说,最好的做法是黑进你的电脑,在信息被加密前将其偷到手。相比破解密钥来说,入侵系统或者使用病毒感染系统要容易得多。很多情况下,破解密钥最简单的方法是窃听用户,并在密钥被传入加密程序时进行拦截。

密钥长度—— 在密码设计学中,密钥长度很重要。如果攻击者无法安装按键监视器(keystroke monitor),那么破解密文的最佳方法就是通过不断的试错来暴力破解。实用的加密算法必须将密钥长度设定得足够长,来杜绝暴力破解的可能性。但是,随着电脑运算速度一年比一年快,密钥长度的安全阈值也需要一直提高。 专家们承认,小于等于 64 位的密钥,包括 DES 密钥在内,都很容易被暴力破解。在 1999 年,电子前线基金会(Electronic Frontier Foundation)资助开发了一种叫做 “Deep Crack” 的设备,可以在三天以内破解一个 DES 加密密钥。所以现在加密算法的密钥长度一般都在 100 位以上,少数算法支持 256 位的密钥。

算法质量 —— 算法质量本身是很难评价的,基于一个现有算法去构造一个看似可行的算法是很容易的,但只有经验老道的专家仔细检查才能发现其中的微妙漏洞。算法中的漏洞会产生 “捷径”,让攻击者可以在暴力搜索攻击时候跳过大批密钥。举个例子,流行的压缩程序 PKZIP 以前继承了一个定制的的加密功能,使用 64 位的密钥。理论上来说,应该要 264 尝试才能试完所有的密钥。但实际上,有捷径可走,所以攻击 PKZIP 加密算法只需 227 次尝试就能破解密文。发现这样漏洞的唯一办法就是尝试破解算法,一般来说就是使用对付其它算法的技巧。只有在经过这样的分析和攻击之后,算法的质量才会展现出来,所以,还没有找出这样的漏洞,并不代表这个算法永远不被发现有漏洞。

算法的类型

DES —— DES 已经经受住了时间的考验,多来年出版的研究都证明了其质量。经过四分之一世纪的研究之后,研究员也只能找出一些猜测式的攻击方法,而且实用性还不如暴力破解。DES 算法的唯一真实弱点就是它过短的密钥长度(56 位)。

密码学常用算法的工作原理和特点

三重 DES —— 使用 112 位或者 168 位的密钥连续三次使用 DES 算法。最终这个算法会比其它有类似强度的算法慢得多,而且,因为计算机还是强大到了能破解这个算法,这一方法已经过时了。

AES —— 高级加密标准(AES)支持三种密钥大小,128 位的、192 位的和 256 位的,而数据则按 128 位为一个组。现在 AES 被当成标准,全世界都在使用。

Rijndael 密码表

密码学常用算法的工作原理和特点

DES 是明确设计为内置在硬件中的,从没考虑过怎么让它在软件层面实现。后来,NIST 评估了执行效率和存储需求,保证 AES 能在 C 语言和 Java 语言中工作,既能在工作站中运行,也能在资源更有限的环境比如嵌入式 ARM 处理器和智能卡中运行。

虽然荷兰研究院 Vincent Rijman 和 Joan Daemen 发明的 Rijndael 算法赢得了 NIST 精算,但所有进入 AES 决赛的算法相对比 DES 和 DES 的替代品都显现出了巨大的进步。所有这些算法都是分组加密(block cipher)算法并且支持 128 位乃至更大的密钥;没有一种算法有严重的漏洞;最终选择其实是密码设计强度和性能的权衡。

AES 基于一种叫做 “置换-排列” 的设计原理,在计算中既有置换,又有排列,无论在软件层还是硬件层,计算起来都很快。不像其前辈 DES,AES 不使用费斯托密码(Feistel)原理,AES 是 Rijndael 密码的一种变种,使用固定的 128 位大小作为输入,而且支持 128 位、192 位 和 256 位的临界维数(critical dimension)。相反,Rijndael 设计规范仅指定了输入组和密钥的大小都是 32 的倍数,最小是 128 位,最大是 256 位。

AES 在一个 4×4 的字节矩阵上操作,这些举证叫做 “状态”。但是 Rijndael 算法的某些版本的输入组更大,因此矩阵更大。大部分 AES 计算都是在一个特定的有限域内完成的。

AES 算法所用的密钥大小会相应决定转换操作的重复轮数。对应关系如下:

128 位密钥对应 10 轮重复

192 位密钥对应 12 轮重复

256 位密钥对应 14 轮重复

密码学常用算法的工作原理和特点

每一轮都包含几个处理步骤,而每个步骤都包含 4 个相似大不同的阶段,其中包括取决于加密密钥本身的一个结算。在解密的时候,需要用同一把密钥来反向重复操作、将密文恢复成原文。

量子密码学

密码学常用算法的工作原理和特点

上面这个图示说明了量子密钥分发方案(BB84 协议),它实现了一种包含量子力学的密码学协议,能够保证安全通信。它让通信双方可以生成一个共享的随机密钥(是个对称密钥),这个密钥只有他们双方才知道,因此可以用于加解密消息。量子力学是一组描述组成宇宙的光子、电子和其它粒子运动规律的科学定律。

业界一直在尽最大努力寻找能够抵抗黑客攻击的最高安全手段,而新一代的密码设计学已经从数学转向物理学。量子力学科学家已经进入密码学的世界了,这些科学家希望利用量子力学的原理来发送无法被黑的消息。这就是 “量子密码学” 的大概,它是在过去这几十年里才成长起来的。

量子密码学将自己的根扎在量子物理学中。组成我们这个宇宙的基本粒子具有内在的不确定性,可能同时存在于此处或彼处,也可以有不止一种状态。只有在撞上一个物体或者被测量时,它们才会显现出运动现象。

密码设计学是信息安全的一个迷人领域,也是最复杂的学科之一。不过,我们从简单的凯撒密码和波利比乌斯密码介绍到多轮加密的 DES 和 AES 算法,相信读者会觉得理解起密码算法的概念来不那么复杂了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AES
    AES
    +关注

    关注

    0

    文章

    107

    浏览量

    33846
  • DES
    DES
    +关注

    关注

    0

    文章

    66

    浏览量

    49104
  • 加密算法
    +关注

    关注

    0

    文章

    219

    浏览量

    26136
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    不止于数学:实际部署是筑牢后量子安全的关键环节

    作者:是德科技创新总监Durga Ramachandran   为了应对量子计算的最终问世,数字基础设施必须完成向后量子密码学(PQC)的过渡,这是一项至关重要的准备工作。美国国家标准与技术研究
    的头像 发表于 11-21 15:57 204次阅读
    不止于数学:实际部署是筑牢后量子安全的关键环节

    AMI在Aptio V UEFI固件中成功部署后量子密码学

    UEFI固件已成功部署后量子密码学(PQC)支持。 这一成果标志着业界首次在UEFI固件中成功部署PQC,为量子计算时代初期的基础设施安全与合规准备树立了全新标杆。 AMI企业徽标 应对量子计算对基础设施安全与合规性挑战 随着量子计算技术不断发展,传统加密算法正面临被淘
    的头像 发表于 11-13 21:08 135次阅读

    8种常用的CRC算法分享

    CRC 计算单元可按所选择的算法和参数配置来生成数据流的 CRC 码。有些应用中,可利用 CRC 技术来验证数据的传输和存储的完整性。 8 种常用的 CRC 算法,包括: CRC16_IBM
    发表于 11-13 07:25

    RISCV-K指令集扩展分享

    RISC-V K扩展指的是RISC-V用于提升密码学算法的速度、减小应用程序大小的一个扩展指令集。主要包含了:AES加密算法的加速指令、SHA算法的加速指令,SM3、SM4
    发表于 10-23 06:12

    BNC 是什么接口?结构特点工作原理与核心作用

    说到底,BNC 接口不是 “过时的老接口”,而是为高频、高清信号 “量身定制” 的专业接口 —— 它的结构特点(中心针 + 绝缘层 + 屏蔽外壳)为信号稳定传输打基础,工作原理(阻抗匹配 + 屏蔽抗干扰)解决高频信号的核心痛点,在监控、测试、广电这些场景里,它的作用无可替
    的头像 发表于 09-09 16:47 2063次阅读
    BNC 是什么接口?结构<b class='flag-5'>特点</b>、<b class='flag-5'>工作原理</b>与核心作用

    超声波清洗机的工作原理和清洗技术特点是什么?

    超声波清洗机的工作原理和清洗技术特点超声波清洗机是一种高效的清洗设备,广泛应用于各个工业领域。本文将深入探讨超声波清洗机的工作原理以及其清洗技术特点,以帮助读者更好地了解这一先进的清洗
    的头像 发表于 06-27 15:54 842次阅读
    超声波清洗机的<b class='flag-5'>工作原理</b>和清洗技术<b class='flag-5'>特点</b>是什么?

    28nm制程!国产抗量子密码芯片迎重磅新品

    电子发烧友网报道(文 / 吴子鹏)抗量子密码芯片作为融合量子物理原理与经典密码学的新型安全芯片,其核心使命在于抵御量子计算对传统加密体系带来的严峻威胁。该芯片的核心技术涵盖量子随机数生成、抗量子算法
    的头像 发表于 05-08 01:06 8574次阅读

    什么是太阳能智慧路灯系统?工作原理、技术特点及应用场景

    什么是太阳能智慧路灯系统?工作原理、技术特点及应用场景
    的头像 发表于 03-24 09:06 1288次阅读
    什么是太阳能智慧路灯系统?<b class='flag-5'>工作原理</b>、技术<b class='flag-5'>特点</b>及应用场景

    科普CMOS传感器的工作原理特点

    技术的革新,还深刻影响了我们的生活和工作方式。本文将深入科普CMOS传感器的工作原理及其独特特点。 CMOS传感器的工作原理 CMOS传感器的工作原
    的头像 发表于 02-27 18:36 2423次阅读
    科普CMOS传感器的<b class='flag-5'>工作原理</b>及<b class='flag-5'>特点</b>

    光隔离接口的工作原理特点

    光隔离接口通过光电耦合的方式,实现了电信号的耦合和传递,同时保持了电气隔离,从而有效抵抗了各种干扰。下面我们一起来看看光隔离接口的工作原理与性能特点。 一、光隔离接口的工作原理 光电耦合机制 光隔离
    的头像 发表于 02-04 16:15 901次阅读

    电桥工作原理与应用 常用电桥类型及其特点

    电桥作为一种重要的电路结构,被广泛应用于测量电阻、电容、电感等物理量。其工作原理基于电磁平衡原理,通过比较两个电路分支的电势差,可以准确地测量未知电阻值或其他电学参数。 一、电桥的工作原理 电桥
    的头像 发表于 01-31 11:16 1.1w次阅读

    色环电阻的工作原理 常用色环电阻的阻值范围

    色环电阻的工作原理 色环电阻是一种被动元件,其工作原理基于电阻对电流的阻碍作用。当电流通过电阻时,会遇到一定的阻力,这个阻力的大小取决于电阻的阻值。色环电阻通过其特殊的颜色编码系统来表示其阻值,使得
    的头像 发表于 12-23 10:23 4407次阅读

    智能氮气柜互锁柜的工作原理特点

    氮气互锁柜是一种安全装置,其核心功能是确保两边的门不能同时打开,即当一边的门打开时,另一边的门必须保持关闭状态,以防止潜在的安全风险或错误操作。以下是互锁柜的工作原理特点:一、工作原理1)电气互锁
    的头像 发表于 12-16 16:42 791次阅读
    智能氮气柜互锁柜的<b class='flag-5'>工作原理</b>和<b class='flag-5'>特点</b>

    对称加密技术在实际应用中如何保障数据安全?

    ,如使用安全的密钥协商和密钥分发方式,定期更换密钥等。 密码学原理的安全性: 对称加密算法的安全性基于密码学原理,需要确保密码学原理的安全性,如避免使用弱
    的头像 发表于 12-16 13:59 1017次阅读

    DSR算法工作原理 影响DSR的主要因素

    达目的地的路由,并且能够适应网络拓扑的变化。 DSR算法工作原理: 路由发现(Route Discovery) : 当源节点需要发送数据到一个目的地,但是没有可用的路由时,它会启动路由发现过程。 源
    的头像 发表于 12-06 17:10 3144次阅读