密钥密码学介绍
早期密码学
替换操作:把输入流中的一个字母替换成字母表中的另一个。 换位操作:将输入字符流中的一些字母顺序交换。
XOR是流加密算法,适用于内存缓冲区有限或者是字符单独传输的情况。 块加密算法,把明文分割成具有相同长度的若干块,每块长度等于或者大于64比特,然后每次对块进行相同的加密变换。
当前密钥加密算法
DES算法:对称密钥算法,该算法中加密和解密使用相同密钥。 RC4算法:利用已知的密钥触发一个伪随机数发生器产生可变长度的随机数,使用这个随机数,以字节为单位和明文做异或运算得到密文。 IDEA算法:与DES相似,只是在加密解密时候的密钥调度有所不同。 AES算法:每一轮变换由三个不同的不可逆转的变化组成,每一个变化都以统一类似的方式对中间状态的每一个比特进行处理。
数据完整性服务和源认证服务都可以利用报文认证代码(MAC)来保证。 哈希函数和某种密钥加密算法组合在一起能形成MAC。 HMAC算法:使用一个通用循环哈希函数。
密钥加密法可以用来保证数据机密性、完整性和源真实性。 密钥加密法所保证的机密性的可靠程度依赖于加密算法的强度和所使用密钥的长度。
密钥的发布:
对于所有用户共用一个密钥 每个用户一个密钥 每一对用户一个密钥 每个用户一个单独的密钥
密钥发布中心(KDC),系统对密钥进行集中管理,集中保存。
公钥密码学
加密、解密过程需要双钥,公钥和私钥。私钥必须保密,公钥可以自由发布,用公钥加密的数据只有使用相应的私钥才能破解。
RSA公钥算法:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
Diffie-Hellman密钥协商算法:通过公网在两实体间建立加密密钥而不需要直接交换这一密钥。
密钥发布 会话密钥用对方的公钥来进行加密,接收方用自己的私钥解开数据内容,然后双发建立共同的会话密钥。
数字签名算法: RSA数字签名:使用一种通用哈希函数。 DSA数字签名:使用单向哈希函数,能够对任意长度的输入数据产生签名。
公钥基础设施(PKI):数字签名原理。依赖公钥服务的各方都依赖一个实体,即所谓的认证中心(CA)。
参考书籍:网络安全基础与应用—张千里
|