密码学基础

本文介绍了密码学的基础知识,包括对称密码(如DES、3DES和AES)、公钥密码(如RSA和椭圆曲线密码)以及混合密码系统。此外,还探讨了认证方面的内容,如单项散列函数、消息认证码(MAC)、数字签名和证书在确保信息安全中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

读书的很大一个目的就在于理解与记忆,技术类图书尤为如此。近期学习了密码学的相关知识,在这里沿着书中给出的线索,简述密码学基础。参考书籍——《图解密码技术》。

此前,先认识几个英语单词:

cryptography /krɪp'tɑgrəfi/    n. 密码学

crypto /'krɪpto/    n. 加密 密码

encryption /ɛn'krɪpʃən/    n. 加密;加密术

第一部分:密码

在系统的学习密码知识之前,我们需要先了解几条密码学的一般性常识:

  1. 不要使用保密的密码算法:
    1. 历史证明:密码算法的秘密早晚会公诸于世。
    2. 开发高强度的密码算法是非常困难的。
  2. 使用强度低的密码算法比不进行任何加密更危险:会给人一种错误的安全感,使人麻痹大意。
  3. 任何密码总有一天都会被破解:遍历所有秘钥即可实现。但一次性密码本是不会被破解的。
  4. 密码知识信息安全的一部分:社会工程学所体现的安全中的人为因素。

一.对称密码

使用同一把秘钥实现加密解密过程。其中重要的安全性问题就是秘钥的配送问题,主要通过以下方法来解决:

  1. 事先共享秘钥
  2. 秘钥分配中心
  3. 通过Diffe-Hellman秘钥交换解决秘钥配送问题:根据所交换的信息,双方可以生成相同的秘钥。
  4. 通过公钥密码来解决秘钥配送问题

一.一次性密码本

原理:将明文与一串随机的比特序列进行XOR运算。

特点:一次性密码本是无法破译的,即使遍历整个秘钥空间,因为无法判断得出的结果是否为正确的明文。1949年,香农通过数学方法加以证明。

没有使用的原因:秘钥的配送、保存、重用、同步、生成:在一次性密码本中需要生成大量的无重复性的真正随机数。

二.DES(Data Encryption Standard)

现状:已经能够实现暴力破解。

Feistel网络。

三.三重DES

将DES重复三次所得到的一种密码算法,通常缩写为3DES。

流程:加密->解密->加密

现状:处理速度不高,安全性方面也逐渐显现出一些问题。

四.AES(Advanced Encryption Standard)——Rijndeal(2000 年)

Advanced   /əd'vænst/    adj. 先进的;高级的

 

二.公钥密码

公钥加密,私钥解密。

RSA(由三位开发者姓氏首字母组成)

   1.加密:密文 = 明文 E mod N(明文的E次幂)

   2.解密:明文 = 密文 D mod N(密文的D次幂)

椭圆曲线密码

 

三.混合密码

原理:使用对称密码加密信息,提高速度;用公钥密码加密秘钥。

密码组合:伪随机数生成器具有优秀的算法;对称密码与公钥秘钥秘钥都应有足够的长度;公钥密码的强度应该高于对称密码,因为公钥密码一旦被破译,所有的通信内容随之也会被全部破译。

 

第二部分:认证

一.单项散列函数(one-way hash function)

通过hash算法计算出定长不可逆的字符序列。

1. 单向散列函数的性质:

  1. 根据任意长度的消息,计算出固定长度的散列值
  2. 快速
  3. 抗碰撞性
    1. 强抗碰撞性:已知散列值与一个消息,得出具有相同散列值另一个消息。
    2. 弱抗碰撞性:得出具有相同散列值的两个消息。
  4. 单向性:不可逆

2. 具体算法:MD4 MD5 SHA-1 SHA-2(6 种版本) SHA-3(2012 年):Keccak

3. 可以验证消息是否被篡改,但是无法解决伪装

 

二.消息认证码(MAC:Message Authentication Code)

共享秘钥 + 单向散列函数

计算出消息散列值 -> 共享秘钥加密 -> MAC

问题:可以防止篡改伪装,但是无法防止否认。因为发送者与接受者共同保存秘钥,所以无法确认MAC是哪一方进行计算的,因此无法防止否认

 

三.数字签名

公钥密码 + 单向散列函数

计算出消息散列值 -> 私钥加密 -> 数字签名

解决问题:防止篡改伪装否认:因为只有发送者具有可以对散列值加密的私钥,由此判断消息一定是他发出的。

 

四.证书

这里所讲的证书,就是用来对公钥的合法性提供证明的技术。

中间人攻击,可以拦截发送方的公钥,将一个错误的公钥发送给接受者。就是对数字签名的一种使用方式,通过可信的渠道获取公钥,由认证机构完成对公钥的数字签名。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值