加密算法发展历程:从古至今的关键加密技术演变与应用

日期: 2025-03-22 21:05:15 |浏览: 33|编号: 83138

友情提醒:信息内容由网友发布,本站并不对内容真实性负责,请自鉴内容真实性。

加密算法发展历程:从古至今的关键加密技术演变与应用

介绍

本文试图讨论从远古时代到现在的加密算法的开发和演变,以及在整个过程中连续出现的集中的密钥加密算法。由于个人水平有限,如果有谬论,我希望我会给您一些建议。

加密算法怎么了

乍一看,加密算法似乎与大多数人的日常生活相距甚远,但实际上它们密切相关。从网络层到主机文件层,无论多种加密算法支持哪个加密应用程序或协议层。即使您不使用任何加密产品,使用HTTPS的任何网站也已经使用了加密协议TLS/SSL。您还可以被动地享受加密算法带来的隐私保护和通信安全。今天,让我们抛开浅色应用程序,以探索各种有趣的加密算法。

在挖掘加密算法之前,让我们进行一些科学。加密算法的主要功能是将纯文本变成密码文本。加密算法加密后,纯文本将成为密码文本,以防止信息泄漏。尽管它看起来与乱码的代码非常相似,但Ciphertext不是乱码的代码。大多数乱码的代码是由不一致的编码引起的。编码不属于加密算法。编码不能将纯文本变成密文,而只会更改显示格式。因此,base64只是一种编码。它不是加密算法,没有加密功能,也不能保证您的明文安全。因此,将来,我们将听到我们使用Base64进行加密的公司,因此我们将尽快阻止它。

加密算法的采用需要满足以下三个要求:

基于上述要求,加密算法的发展主要经历了两个重要时期:经典加密和现代密码学。

1。古代人如何加密它?

1。历史上最早的加密算法

早期加密算法主要用于军队。历史上加密算法的最早记录来自周王朝的军事书籍“六种策略。它记录:

泰根说:“大师和将军有八个级别的Yin Talisman。补充士兵的时间是击败军队的五英寸。言语,即使敌人是明智的,也没有透露彼此认识的艺术,没人能知道。”

吴国王问泰根(Taigong):“……护身符无法清楚;他们很遥远,不能说话。如果我做什么,该怎么办?”陶贡说:“所有邪恶的事物都应考虑,而不是护身符。大师应该使用书籍离开将军,将军应该问大师。这些书都被合并和分离了,三次都可以知道。再次离开的人分为三个部分。 他们。”

简而言之,Yin符号使用八个级别的字符来表达不同的消息和说明。这是密码学中的另一种方法。在应用中,它将信息转换为敌人无法理解的符号,但是内部人知道这些符号的含义。这种符号方法无法表达丰富的含义,但只能表达八个最关键的含义。作为对Yin Fu的补充,Yin Shu使用文本分裂方法将一件文本直接分为三个部分,并通过三个渠道将其发送给目标方。只有当敌人同时拦截三个内容时,敌人才能破解Yin Book上写的内容。

以上简单的加密算法想法主要使用替换方法。巧合的是,在遥远的西方加密算法中,战争中也大规模使用。在Herodotus的历史上,在公元前五世纪的希腊城市和波斯帝国之间发生了许多冲突和战争。在这些战争中,这种转变方法被广泛用于希腊城市国家,以加密战争沟通信息的处理,使波斯帝国很难从希腊城市国家获得军事情报,并且不可能提前进行军事部署。

希腊城市国家用来传输军事信息和命令的每段文本段落都有固定的单词,与该秘密联系的人将在他的手中有文本班次描述。解密者获得密码文本后,他根据文本转移说明进行解密,以破解军事命令或消息。

2。古代法规演变的凯撒代码

经典密码学主要使用运动方法和替代方法。经过逐步发展和改进,最著名的是凯撒代码。凯撒密码有两种模式 - 移位方法和替换方法。其中,移位方法是将纯文本沿固定方向移动到特定数量的位。例如,如果我爱您,请移动4位,它将变成M PSZI CSY。但是在英语或拉丁语中,字母的频率似乎不一致。以英文字母为例:字母E比其他字母更频繁。获得足够的密文样品后,可以通过频率计算准确地找到移位规则,以破解密文。同时,由于需要可逆操作,因此键的数量实际上受到限制,只有25个可能性。因此,完全有可能通过蛮力破裂解密密文。

因此,大多数凯撒密码在实际应用程序中采用第二种模式 - 替换方法。定义纯文本密文映射表

该方法可以在一定程度上解决详尽的密钥问题,但仍然对大型数据量的频率攻击仍然无助。

后来,该模型通过引入一些特定的参数来破坏频率,这在一定程度上增加了解密的难度,但仍然属于替换和移位方法的类别。

在后期,开发了一系列密码类型,例如Virginia密码,ROT5/13/18/47和Morse密码。但是,它们都是基于替换方法和移位方法作为核心基础的,并且安全性主要由算法的不披露保密。所使用的加密算法只能被视为当前加密算法的原型,或者只能用作可以从中借用的初始加密思想。

2。现代人的更多科学加密算法

经典的加密算法基本上主要考虑语言模式的变化。直到20世纪中叶,香农(Shannon)发表了文章“秘密系统的交流理论”,这标志着加密算法重心的转移到应用数学。结果,当今加密算法的三种重要类型逐渐出现:不对称的加密,对称加密和哈希算法。这三种类型的算法通常在实际场景中合并,以获得最佳结果。

1。对称加密算法

对称加密算法是使用最广泛的加密算法之一。常用的对称性加密算法包括DES算法,AES算法,3DES算法,TDEA算法,TDEA算法,Blowfish算法,RC5算法,Idea算法等。对称性配对的特征是,相同的特征是使用相同的特征,并可以使用相同的键合键。加密算法的泄漏本身不会影响安全性,关键是安全的关键。根据不同的原理,对称加密可以大致分为两种类型:流加密和数据包加密。

流加密是一种对称加密算法,该算法根据字符逐个加密纯文本。流加密中最著名的算法是RC4和GSM。流加密算法相对简单。明文和钥匙位操作可用于获得密文。

最简单的模型是XOR流加密,例如:

由于流加密原理很简单,因此其算法结构具有弱点。如果钥匙流已被重复使用多次,只要局部明文被泄漏,攻击者就可以轻松计算键。此外,由于它是位加密,即使攻击者印纸饰有数据,它也不会破坏原始数据结构,并且接收者很难发现更改。尽管流加密是一种快速有效的加密方法,但它的安全性很低,不建议使用流加密来加密密钥信息。

数据包加密的内部实现要复杂得多。每个加密块将至少进行16轮操作,其代表性算法包括DES和AE。目前,建议使用AES,DES不再安全。

DES是早期的对称加密标准,当时已被广泛使用。随着计算机性能的不断改善,蛮力的DES变得更加容易。因此,DES不再安全,并且在过去十年中已逐渐被3DES和AE替换。

DES核心主要分为三个步骤:初始排列,圆形函数和倒数置换。

初始排列:重新组合输入的64位数据块,将输出分为两个部分:L0和R0,每个部分长32位。置换规则是将输入的第58位切换到第一个位,第50位到第二位...等等,最后一个位是原始的第7位。 L0和R0是换位输出后的两个部分,L0是输出的左32位,R0是右32位。置换规则在下表中显示:

58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,

62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,

57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,

61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,

圆形功能:DES使用56位键和另外的8位奇偶校验位(每组的第8位用作奇偶校验位),从而最大64位数据包大小。这是一种使用称为Feistel的技术的迭代块密码,其中加密的文本块分为两个。使用子钥匙将循环函数应用到一半,然后与另一半执行“独家或”操作;然后交换这两个部分,并且过程将继续,但是最后一个循环不会互换。

逆置换:DES使用16轮循环,使用四个基本操作:独家或替换,替换和转移操作。最后,在16次迭代后,获得了L16和R16,这被用作倒数置换的输入。反向置换恰好是初始排列的反作用,该置换获得了密文输出,而解密过程是整个加密过程的反操作。

AES诞生是为取代原始DES。它已由多个政党进行了分析和证明,并在全球范围内广泛使用。它是目前最安全的对称加密算法之一。在过去的十年中,AES已成为对称密钥加密中最受欢迎的算法之一。与其前身的标准DES不同,AES使用替换式渗透网络,而不是Feistel架构。

大多数AES计算都以特殊的有限域完成,并且加密过程在4×4字节矩阵上运行,该矩阵也称为“状态”,其初始值是纯文本块(矩阵中的元素大小是明文块中的字节)。在加密过程中,AES加密周期(最后一轮除外)都包含4个步骤:

AddRoundKey-矩阵中的EAST BYTE使用第二轮键执行XOR操作;每个子键都是由关键生成方案生成的。

SubBytes-通过非线性替换函数将每个字节用相应的字节替换为相应的字节。

shiftrows-循环移动矩阵中的每一列。

MixColumns-完全混合矩阵中每条直线的操作。此步骤使用线性转换来混合每列的四个字节。在最后一个加密环路中省略了MixColumns步骤,并由另一个DDROUNDKEKY取代。

无论是AES还是DES,它们都在内部支持不同的加密模式,并且每种模式的安全性和效率都大不相同。在这里,我们将简要介绍两个最常见的模式欧洲央行和CBC

欧洲央行模式具有很高的加密效率,但安全性较低。模式如下:

每次,钥匙都会加密一个单独的块,另一方很容易破解。但是,由于每个模块都没有相关性,因此可以执行并发操作,从而大大提高加密效率。通常,欧洲央行的加密效率是CBC的5-6倍。

尽管CBC加密效率不如欧洲央行高,但它更加安全。模式如下:

每个加密块都引入了IV,每个块的IV都不同。需要迭代以前的块才能最终完成整个加密过程。由于每个块的IV与密文块有关,因此不能采用并发模式,并且必须序列化整个过程。

如果不是出于极高的性能要求,建议使用CBC模式进行加密,这更安全和可靠。

2。非对称加密算法

不对称加密算法和对称加密算法之间的最大区别在于,加密密钥和解密密钥不再相同。就像两个人在面对彼此的代码一样。这种加密方法主要用于处理“多个加密器,一个解密”模式。对称密钥只能解决解密用户的一对一关系。

因此,在这种众多关系中出现了公共密钥系统。公钥对应于一个私钥。公共密钥是公开的,任何数据发送者都会使用公共密钥对数据进行加密,但是只有私钥才能被弄清楚。其中,著名的算法包括DSA算法,RSA算法,Elgamal算法,背包算法,Rabin算法,DH算法和ECC算法。它背后的数学原理非常复杂,将大量分解为复杂的椭圆曲线上的离散对数问题。在这里,作者不会扩展。

尽管其背后的数学支持是不同的,但模式是相似的,两者都采用了公私钥匙对的方法,公共密钥将私有密钥加密信息解密,而私有密钥则解密了公共密钥加密信息。不对称加密算法的执行效率已成为该算法实际应用的最大障碍。大多数应用程序主要使用非对称加密算法进行身份认证,并且不会用于通信。

3。哈希算法

哈希算法也是非常常见的加密算法之一。他与对称算法和不对称算法之间的最大区别在于,它不用于数据传输,而是验证是否已篡改数据以防止犯罪分子篡改数据。它的特征是,无论原始文本多长时间,它都将成为一个固定长度的字符串,只能加密而不是解密(只有单向操作)。对于不同的输入,理论上将产生不同的输出(某些算法发生了大规模碰撞,并且碰撞是指不同纯文本相同的密文的情况)。

常见的散列算法包括MD5,SHA-1,SHA 224/256/512等。其中,已证明MD5和SHA-1不再安全,因此建议使用高安全性算法(例如SHA256/512)。

3。数据库加密算法

上述加密算法已广泛用于各个领域。随着云和大数据的快速发展,数据库逐渐从安全的LAN环境迁移到私有云甚至公共云。在云环境中,服务器不再值得信赖,数据库迁移到云中,面临更严重的挑战。数据云安全问题已成为不可避免的问题。该数据库包含关键数据,并且在云主机上存在许多不安全的风险,因此云数据库加密已成为解决这些安全风险的好药物。

1。对称加密算法

数据库加密与通用加密不同,例如文件加密和通信加密。数据库加密需要特别注意加密算法是否可膨胀,并且对加密算法的性能有严格的要求。 2009年,当数据库安全制造商Anhua Jinhe首次排除了对称算法时在开发数据库加密产品时的流加密算法。原因是,尽管该算法在操作效率和解决数据膨胀方面具有自然优势,但在某些情况下它具有不安全感。为了提高加密的效率,一些国内安全制造商仍然使用此方法提供数据库加密服务,但忽略了该加密产品的最基本安全要求。

一种更安全的方法是在对称加密中使用数据包加密(AES)进行相关的加密处理。数据包加密非常安全,并且在安全性方面相对安全,但是必须解决由数据块大小限制引起的通货膨胀问题。这需要基于特定情况或字段的足够复杂的用法方案,以解决不同字段或类型的腹胀问题,并最终形成完美的数据库加密方案。

2。国内密码算法

密码算法是确保信息安全性并在保护各个行业的国家机密和核心数据中发挥关键作用的核心技术。使用国际加密算法系统及相关标准(例如3DES,SHA-1,RSA等)带来了主要的安全风险。因此,从国家安全和长期战略的角度来看,相关的国家机构和监管机构提出了促进国家秘密算法的应用和实施以及加强行业安全和可控性的要求。目前,当面对用户选择和评估时,大量的国内数据库加密产品基于支持国家秘密算法。这对于政府,军事行业和机密性等相关行业的用户非常重要。国家信息安全的保证必须摆脱对外国技术和产品的过度依赖。作为关键安全技术,加密算法应更国内生产。

具体而言,国内加密算法(国家加密算法)是指国家加密货币管理所认可的国内商业加密算法。例如,在金融领域,公开披露的三种算法主要使用,即不对称算法,哈希算法和对称算法。

以SM4算法为例:SM4数据包密码算法是由我的国家独立设计的数据包对称密码算法,该算法用于实施数据加密/解密操作,以确保数据和信息的机密性。确保对称加密算法安全性的基本条件是它具有足够的密钥长度。 SM4算法具有与AES算法相同的密钥长度,并且数据包长度为128位,因此在安全方面,它高于3DES算法。

提醒:请联系我时一定说明是从铂牛网上看到的!