查看原文
其他

算法相关汇总

计算机与网络安全 计算机与网络安全 2022-06-01

一次性付费进群,长期免费索取教程,没有付费教程。

进微信群回复公众号:微信群;QQ群:460500587

 教程列表 见微信公众号底部菜单 |  本文底部有推荐书籍 

微信公众号:计算机与网络安全

ID:Computer-network


数据结构与算法浅析

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。


算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。


网络安全之加密算法

常见的加密算法可以分为对称加密、非对称加密以及单向加密(哈希算法),这些加密算法大量运用在各种系统和应用中,最常见的是我们访问使用HTTPS的网站流量是经过加密的,密码保存在网站数据库中大多也是经过MD5或者DES加密,而通常不推荐使用可逆的加密算法来加密保存用户登录密码,因为黑客在拿到密钥的情况下可对数据进行还原。


MD5、SHA、SM3 认证算法原理

MD5(Message-Digest Algorithm 5,信息摘要算法第5版)是计算机广泛使用的散列算法(也称“哈希算法”或“杂凑算法”)之一,采用带密钥的运算时,可同时用于消息完整性检测和消息源身份认证。它是由MD2、MD3和MD4版本一路发展而来,是Ronald Rivest 于1991年设计发布的,用于取代MD4。


SHA(Secure Hash Algorithm,安全哈希算法)主要适用于数字签名,也是一种不可逆的MAC算法,但比MD5算法更加安全。目前它有三种主要的版本,即SHA-0、SHA-1、SHA-2和SHA-3。其中SHA-2和SHA-3版本中又有多种不同子分类,如在SHA-2中又根据它们最终所生成的摘要消息长度的不同又包括SHA-224、SHA-256、SHA-384和SHA-512等几种。


SM3密码杂凑算法是中国国家密码管理局于2010年公布的中国商用密码杂凑算法标准(其实也是哈希算法,或者单向散列算法)。该算法由王小云等人设计,消息分组为512位,经过填充和迭代压缩,生成256位的杂凑值。总体来说,SM3算法的压缩函数与SHA-256的压缩函数具有相似结构,但SM3密码杂凑算法的设计更加复杂。


AES、DES 加密算法原理

AES(Advanced Encryption Standard,高级加密标准)是美国国家标准与技术研究院(NIST)在2001年建立了电子数据的加密规范。它是一种分组加密标准,每个加密数据块大小固定为128位(16个字节),最终生成的加密密钥长度有128位、192位和256位这三种。


DES(Data Encryption Standard,数据加密标准)是1972年美国IBM公司研制的对称密码体制(加密和解密使用相同的密钥)加密算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。与AES算法相比,DES的数据块大小为8个字节,而AES的数据块大小为16个字节。DES的密钥长度是64位(其中8位用于校验),而AES的密钥长度是128位(AES算法比DES算法更安全)。DES加密算法的块大小及密钥长度都不能满足现在的安全需求了,所以现在比较少使用这种加密算法,而是使用像AES或者3DES之类更高级的加密算法。


微信公众号:计算机与网络安全

ID:Computer-network


【推荐书籍】

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存