02-基本概念介绍

本文框架
1. 哈希函数
1.1 哈希函数特点
1.2 常用哈希函数介绍
2 对称及非对称算法
2.1 对称加密
2.2 非对称加密
2.3 两种加密方式对比
3 数字签名
3.1 加密与签名的区别

本文主要对信息安全中常提及的几个名词:哈希函数,对称及非对称加密及数字签名,本文大纲如下:


1. 哈希函数
哈希函数加密是将数据通过哈希算法转换成固定长度的字符串,这个过程是不可逆的。
哈希函数是一种特殊的函数,它接受任意长度的数据作为输入,并产生一个固定长度的输出,这个输出通常被称为哈希值或散列值。

1.1 哈希函数特点
哈希函数在计算上是高效的,并且具有以下特点:

确定性:相同的输入数据总是产生相同的哈希值。
高效性:计算哈希值的过程是快速的,对于任何大小的输入数据都是如此。
不可逆性:从哈希值几乎不可能推导出原始数据,也就是说,哈希函数是不可逆的。
抗碰撞性:不同的输入产生相同的哈希值(即碰撞)的概率非常低。
在安全性方面,加密哈希函数比一般的哈希函数有更高的安全要求,它们通常用于密码学中,以确保数据的完整性和验证过程的安全性。加密哈希函数通常用于数字签名、数据校验等场景,而不同于传统的对称或非对称加密算法,哈希函数不涉及密钥的使用,

1.2 常用哈希函数介绍
MD4:由Ronald L. Rivest在1990年设计,适用于32位字长的处理器上用高速软件实现。MD4是基于32位操作数的位操作来实现的。
MD5:是MD4的改进版本,由Rivest于1991年提出。MD5对输入以512位分组,输出是4个32位字的级联。MD5比MD4复杂,速度稍慢,但在抗分析和抗差分方面表现更好,目前最有效的攻击方式是使用彩虹表。
SHA-1:安全散列算法(Secure Hash Algorithm)的一种,SHA-1是SHA家族中的一个成员。SHA-1设计的目的是确保安全性,但随着时间的推移和计算能力的提升,SHA-1已被认为存在潜在的安全风险。
SHA-2:是SHA-1的后继者,提供了更高的安全性。它包括了一系列的算法,如SHA-256, SHA-384, SHA-512等,这些算法的主要区别在于输出摘要的长度不同。
SHA-3:是最新的安全散列算法,作为SHA-2的后续版本,提供了更强的安全性和更好的抗碰撞性能。
总的来说,在选择哈希函数时,通常需要考虑其安全性、效率以及是否适合特定的应用场景。随着计算技术的发展,一些过去认为安全的哈希函数(如MD5和SHA-1)可能不再提供足够的安全保障,因此推荐使用更新的算法,如SHA-2或SHA-3系列,以确保数据的安全性。

2 对称及非对称算法
2.1 对称加密
加密与解密使用的密钥是相同的,只有一个密钥

常用的对称加密算法包括:

DES (Data Encryption Standard):这是一种早期的加密标准,尽管现在已不推荐使用,因为它的密钥长度较短,容易被破解。
3DES (Triple DES):作为DES的改进版本,它使用更长的密钥,提高了安全性。
AES (Advanced Encryption Standard):目前被广泛采用的加密标准,以其安全性和效率而被认可。
TDEA (Triple Data Encryption Algorithm):与3DES类似,是一种使用三个密钥的DES变体。
Blowfish:一种快速且安全的加密算法,设计上旨在替代老旧的DES。
RC2、RC4 和 RC5:这些都是RSA Security公司开发的加密算法,各有其特点和应用场景。
这些算法在不同的应用场景下有着各自的优势和限制。例如,DES和3DES在现代应用中可能因为密钥长度较短而被视为不够安全;而AES则因其较强的安全性和高效的处理速度而被广泛采用。

2.2 非对称加密
在使用非对称加密算法进行通信时,发送方和接收方各自拥有一对密钥,即一个公钥和一个私钥。这两个密钥是不同的,而且它们是数学上相关联的,这样设计是为了保证即使公钥是公开的,没有相应的私钥也无法解密由公钥加密的信息。以下是公钥和私钥的具体使用方式:

公钥:公钥是可以公开的部分,任何人都可以使用它来加密信息。在非对称加密系统中,发送方会使用接收方的公钥对数据进行加密,确保只有持有对应私钥的接收方能够解密这些数据。
私钥:私钥是保密的部分,必须由生成它的个人或系统安全地存储,并且不应该与任何人共享。接收方使用自己的私钥来解密由其他人使用其公钥加密的数据。由于私钥的保密性,这确保了信息的安全性和私密性。
这种机制允许在公共网络上安全地传输加密信息,因为即使加密的信息被拦截,没有对应的私钥,拦截者也无法读取信息内容。这是非对称加密的一个关键优势,它解决了密钥分发问题,并提供了身份验证和数据完整性的保证。
总结来说,非对称加密通过使用一对数学相关的密钥——公钥和私钥——来实现安全的数据传输。公钥用于加密,私钥用于解密,这种设计使得即使在不安全的网络环境中,通信双方也能安全地进行信息交换。
非对称加密算法主要有:

RSA:目前最广泛使用的非对称加密算法之一,适用于数据加密和数字签名。
DSA (Digital Signature Algorithm):主要用于数字签名,较少用于数据加密。
Elgamal:提供了加密和数字签名功能,基于离散对数问题。
ECC (Elliptic Curve Cryptography):基于椭圆曲线数学的一种非对称加密算法,提供更高的安全性和效率。
在非对称加密领域,RSA是最常用的算法,但ECC在提供相同级别的安全性时,可以使用更短的密钥,从而在某些情况下更高效。
总的来说,选择哪种加密算法取决于具体的应用需求,包括安全性要求、性能考虑以及实现的复杂性。

2.3 两种加密方式对比
对称加密算法主要用于快速大量数据的加密,而非对称加密算法则适用于需要较高安全性和身份验证的场景。

3 数字签名
数字签名是一种用于验证电子信息完整性和来源的技术,它利用公钥加密技术为数据提供一个独特的签名。
数字签名的生成过程一般包含以下步骤:

生成消息摘要:使用哈希函数对原始信息进行运算,生成固定长度的消息摘要(或称为信息摘要)。
生成签名:发送者使用自己的私钥对消息摘要进行加密,形成数字签名。
发送信息和签名:将原始信息和数字签名一起发送给接收者。
验证签名:接收者使用发送者的公钥对收到的数字签名解密,获得消息摘要(哈希值);同时,接收者也对收到的原始信息采用同样的哈希函数生成一个新的消息摘要(哈希值)。如果两个摘要相同,就说明信息在传输过程中没有被篡改,且确实来自于声称的发送者。
公钥解密的哈希值与原始数据通过哈希函数计算的哈希值对比。

3.1 加密与签名的区别
虽然加密和签名都是用于保护信息传递的安全,但它们的用途不同。
加密是为了防止信息在明文传输时被泄露,而签名则是为了防止信息被篡改。
在加密的场景中,发送方使用接收方的公钥加密信息,接收方则使用自己的私钥解密;
而在签名的场景中,发送方使用自己的私钥对信息进行签名,任何人都可以使用对应的公钥来验证签名的有效性。
————————————————


                        
原文链接:https://blog.csdn.net/initiallizer/article/details/136331845

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值