对称非对称加密 数据签名

本文深入探讨了加密领域的核心概念,包括被动与主动攻击的区别。传统加密如凯撒密码、Playfair和Vigenere被提及,而当代加密则以AES为例,强调对称密钥加密与非对称密钥加密(如RSA)的差异。块密码如DES、3DES和AES的块大小与密钥长度被详细阐述。此外,流密码、哈希函数(如MD5和SHA)、消息验证码(MAC)和数字签名的概念也被介绍,这些都是信息安全的重要组成部分。
摘要由CSDN通过智能技术生成

https://www.tutorialspoint.com/cryptography/index.htm

https://www.educba.com/advanced-encryption-standard/?source=leftnav

攻击

  • 被动攻击的主要目标是获得对信息的未经授权的访问,例如在通信信道上进行拦截、窃听等行为可以视为被动攻击

  • 主动攻击涉及通过对信息进行一些处理以某种方式改变信息,例如未经授权发起或修改信息

传统加密

  • 传统数据以字母字符串表示,处理字母字符串转换为另一个字母字符串
  • 凯撒密码,简单的将字母替换为另外一个字母(每个字母移位)
  • 简单替换密码,使用密文字母表对应(非移位)
  • Playfair密码 Vigenere密码,成对分组加密,多次移位

当代加密

  • 数字数据以二进制数字(位)字符串表示,处理二进制字符串转换为另一个二进制字符串,AES以字节为单位处理
对称密钥加密
  • 使用相同密钥对信息进行加密和解密的加密过程
  • 需要存在一个健壮的机制来在通信方之间交换密钥
  • 加密中的密钥长度(位数)较小,加密解密过程比非对称密钥加密更快,所需的计算机系统的处理能力较小
块密码
  • 二进制文本一次以块(组)位进行处理, 即选择一个明文位块,对该块执行一系列操作以生成一个密文位块

  • 块中的位数是固定的

  • 数字加密标准Digital Encryption Standard (DES),块大小64,密钥长度64位

  • Triple-DES (3DES),基于重复DES应用的变体方案

  • 高级加密标准Advanced Encryption Standard(AES),块大小128位,密钥长度128/192/256位,比DES快得多,在字节而不是位上执行所有计算

    • 电子密码本模式Electronic Code Book (ECB) Mode,分别获取分组,分组之间互不影响
    • 密码块链接模式Cipher Block Chaining (CBC) Mode,将当前明文块与前一个密文块相加,然后用密钥对结果进行加密
    • 密码反馈模式Cipher Feedback (CFB) Mode
    • 输出反馈模式Output Feedback (OFB) Mode
    • 点击率模式CTR Mode
  • IDEA,块大小64,密钥大小128位

  • Blowfish,块大小64

  • Twofish,基于Blowfish,使用128位的块大小和可变长度的密钥

  • Serpent,块大小128位,密钥长度128/192/256位

流密码
  • 二进制文本逐位处理,即取一位明文,对其进行一系列操作以生成一位密文
非对称密钥加密
  • 使用不同密钥(私钥和公钥)对信息进行加密和解密的加密过程
  • 公钥和私钥是相关的,但是从一个中找到另一个在计算上是不可行的
  • 需要将公钥放在公共存储库中,将私钥作为一个严密保护的秘密;当发送者需要向接收者发送数据时,从公共存储库中获取接收者的公钥,对数据进行加密,并进行传输;接收者使用他的私钥提取明文
  • 加密中的密钥长度(位数)很大,加密-解密的过程比对称密钥加密慢,所需的计算机系统的处理能力更高
  • RSA系统生成私钥和公钥,不像对称密钥加密那样直接对位串进行操作, 它对数字模n进行运算,需要将明文表示为一系列小于n的数字
  • ElGama
  • Elliptic Curve

哈希函数

  • 哈希函数将任意长度的数据转换为固定长度哈希值输出,此过程通常称为散列数据
  • 散列是较大数据的较小表示,也称为摘要
  • 计算散列函数比对称加密快得多
  • 反转散列函数在计算上应该是困难的;给定一个输入及其散列,应该很难找到具有相同散列的不同输入
  • 哈希函数用于密码存储,数据完整性检查,MD5,SHA-1被广泛使用
  • 消息摘要Message Digest (MD),包含MD2、MD4、MD5、MD6,块大小128位
  • 安全散列函数Secure Hash Function (SHA),包含SHA-0(块大小160位)、SHA-1、SHA-2、SHA-3
  • RIPEMD,包含RIPEMD, RIPEMD-128, RIPEMD-160
  • Whirlpool,包含WHIRLPOOL-0、WHIRLPOOL-T 和 WHIRLPOOL,块大小512

消息验证码

  • Message Authentication Code (MAC)
  • 在使用MAC之前建立共享密钥K
  • 在使用MAC时,在业务消息MSG基础上,加上该消息MSG和共享密钥K生成的加密校验MAC值,以确保消息身份验证

在这里插入图片描述

  • 发送方使用一些众所周知的MAC算法,输入消息和密钥K并产生一个MAC值;与哈希类似MAC函数也将任意长度的输入压缩为固定长度的输出,散列和MAC 之间的主要区别在于MAC在压缩过程中使用密钥
  • 发送方将消息与MAC一起转发。 我们假设消息是明文发送的,因为我们关心的是提供消息源身份验证,而不是机密性; 如果需要保密,则消息需要加密
  • 在接收到消息和MAC后,接收方将接收到的消息和共享密钥K馈送到MAC算法中,并重新计算MAC值
  • 接收方现在检查新计算的MAC与从发送方收到的MAC的相等性
  • 如果它们匹配,则接收者接受该消息并向自己保证该消息已由预期的发送者发送;如果计算出的 MAC 与发送方发送的 MAC 不匹配,则接收方无法确定是消息被篡改还是来源被篡改。 作为底线,接收者可以安全地假设该消息不是真实的

数字签名

  • 数字签名是消息认证的公钥原语
  • 数字签名是一种将个人/实体绑定到数字数据的技术, 这种绑定可以由接收者以及任何第三方独立验证
  • 数字签名是根据数据和只有签名者知道的秘密密钥计算得出的加密值
  • 消息的接收者需要确保消息属于发送者,并且他不能否认该消息的来源
  • 采用这种方案的每个人都有一个公私密钥对,用于加密/解密和签名/验证的密钥对是不同的。用于签名的私钥称为签名密钥,公钥称为验证密钥

在这里插入图片描述

  • 签名者将数据提供给哈希函数并生成数据的哈希
  • 然后将散列值和签名密钥馈送到签名算法,该算法在给定的散列上生成数字签名。 签名被附加到数据上,然后两者都被发送到验证者
  • 验证者将数字签名和验证密钥输入到验证算法中。 验证算法给出一些值作为输出
  • 验证者还对接收到的数据运行相同的散列函数以生成散列值
  • 为了验证,比较这个哈希值和验证算法的输出。 验证者根据比较结果判断数字签名是否有效
  • 由于数字签名是由签名者的“私人”密钥创建的,其他人无法拥有此密钥; 签名者不能否认将来对数据进行签名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值