第一章:密码学概述

密码学概述

  1. 密码学的三个发展阶段
    (1)古典密码学:这个阶段的核心密码思想主要为代替和置换。代替就是将明文每个字符替换成另外一种字符,从而产生密文,接收者根据密文字符逆推出对应的明文字符;置换就是将明文的字符顺序按照某种规则打断。
    (2)现代密码学:这阶段的发展主要是对称加密算法。接收方和发送方的密钥相同,因此,对称加密的密钥要进行安全保护,不能被第三方敌手所知晓。发送方用此密钥对明文进行加密,接收方对接收到的密文用此密钥进行解密。
    (3)公钥密码学:这个阶段的发展主要是非对称加密算法。非对称加密的原理是公钥加密,私钥解密。接收方和发送方均存在两个密钥,一个是公钥,一个是私钥。公钥对外公开,私钥进行安全保护。举个例子:A现在有两个密钥,分别是私钥和公钥,A将公钥公开。B想发送信息给A,就用A的公钥对明文进行加密产生密文,并将密文发送给A。A接收到密文后,用自己的私钥对密文进行解密,得到明文。(注意,基本上使用A的公钥进行加密的信息只能用A的私钥进行解密)。

  2. 密码学的基本目标以及三个基本安全需求
    基本目标:解决信息安全中的三个基本需求,即信息的机密性、信息的真实性认证和承诺的不可抵赖性。
    (1)信息的机密性:信息的内容不被非授权者获取。提供机密性的方法有很多,其中加密保护属于密码学的范畴,他是利用加密算法改变信息数据的原形,从而使授权者无法从变形后的结果中获取原始信息的内容。
    (2)信息的真实性认证:信息认证包括实体身份的认证;所传送信息的来源、目的地、生产日期、传送时间等认证;以及信息的完整性认证。信息的完整性认证是指检测信息在传送或存储过程中是否遭到有意或者无意的篡改。信息认证的目的不是为了避免不真实信息的出现,而是要保证不真实的信息能以很大的概率被检测出来。
    (3)承诺的不可抵赖性:防治否认以前的承诺或者行为。在涉及不可抵赖的密码方案中,必须存在一个用于仲裁的可信第三方。

  3. 密码学的三个分支
    (1)密码编码学:研究安全高效的信息加密算法和信息认证算法的设计理论与技术。
    (2)密码分析学:研究密码破译的理论与技术。密码破译包括信息加密算法的破译和信息认证算法的破译。
    (3)密钥管理学:主要研究内容有随机数生成理论与技术、密钥分配理论与技术、密钥分散管理技术、密钥分层管理技术、秘密共享技术、密钥托管技术、密钥销毁技术、密钥协议设计与分析技术等。

  4. 密码体制(五元组)
    (1)明文空间M
    (2)密文空间C
    (3)密钥空间K,所有可用密钥构成的集合,包括加密密钥和脱密密钥。
    (4)加密算法E(m)
    (5)脱密算法D(c)

  5. 密码通信系统的基本结构
    在这里插入图片描述
    最上方的攻击者属于密码分析学,中间部分属于密码编码学,最下面的部分属于密钥管理学。

  6. Kerckhoffs假设
    Kerckhoffs假设是对敌手的攻击能力进行假设。假设敌手知道除秘密密钥之外的任何信息,其目的是求解未知的密钥或未知的明文。因此,Kerckhoffs假设的原则就是所有的秘密蕴含在密钥中。

  7. 根据敌手掌握的信息的类别不同,可将对加密算法的攻击分为四种类型
    (1)唯密文攻击:敌手掌握足够多的使用同一个密钥加密的密文。
    (2)已知明文攻击:敌手不仅具有唯密文攻击的条件,而且还掌握足够多的使用同一个密钥加密的密文及其对应的明文。破译的目的是求出使用的密钥或求出其他密文对应的明文。
    (3)选择明文攻击:敌手不仅具有已知明文攻击的条件,而且还可以任意选择对密码破译有利的足够多的明文,并得到对应的密文。
    (4)选择密文攻击:敌手不仅具有已知明文攻击的条件,而且还可以任意选择对密码破译有利的足够多的密文,并得到对应的明文。

  8. 根据敌手攻击手段的不同进行的攻击类型
    (1)穷举法:暴力破解出所有可能。
    (2)解析攻击:针对密码算法设计所依赖的数学问题,利用数学求解的方法破译密码。
    (3)统计攻击:利用明文和密文之间内在的统计规律破译密码的方法。
    (4)代数攻击:将密码的破译问题归结为有限域上的某个低次的多元代数方程组的求解问题。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
密码学原理与实践中的第四章主要介绍了哈希函数的相关知识。哈希函数是密码学中常用的一种算法,它能将任意长度的数据转换成固定长度的哈希值。在实践应用中,哈希函数主要用于数据完整性检验、数字签名、密码存储等方面。 首先,哈希函数具有固定长度的输出,不论输入的数据长短如何,都会得到相同长度的哈希值。这使得哈希函数可以用于验证数据的完整性。通过对比发送方计算得到的哈希值和接收方重新计算的哈希值是否一致,可以验证数据在传输过程中是否被篡改。 其次,哈希函数还可以被用于数字签名。发送方可以使用哈希函数计算出数据的哈希值,并使用自己的私钥对哈希值进行加密,生成数字签名。接收方可以使用发送方的公钥对数字签名进行解密,并计算收到的数据的哈希值。如果两个哈希值一致,就说明发送方确实是用私钥对数据进行加密的,数据的完整性和真实性得到了验证。 此外,哈希函数还可以用于密码存储。在用户注册或登录时,系统通常会要求用户设置一个密码。为了保护用户密码的安全,系统不会直接将用户密码存储在数据库中,而是使用哈希函数将密码转化为哈希值后存储。当用户登录时,系统会将用户输入的密码也转化为哈希值,并与数据库中存储的哈希值进行比对,从而判断密码是否正确。 总之,哈希函数在密码学中扮演着重要的角色,具有不可逆、固定长度、数据完整性验证、数字签名、密码存储等特性。了解和应用哈希函数是密码学学习中的重要一步。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值