第一章 加密历史与技术
历史
替换加密法
Internet的崛起
Internet的安全
加密工具
加密信息 安全的交换密钥 维持信息完整 以及确保一条消息的真实性
用‘计算安全’来度量一个现代加密系统的安全程度
加密基础
单向函数和活门
单向函数是指一个函数很容易朝一个方向计算 但很难逆向回朔
(可以很容易计算出两个数的乘积 却很难分解出生成那个成绩的各个乘数)
活门函数是指一种可供回朔的小道 利用它预留的安全通道 可欺骗系统 逆行回到初始状态 亦即暴漏秘密
(一棵树,上面有许多分枝。从一片树叶到树干是一条直路,
不要求作任何选择。但要想从树干返回一片特定的树叶,却要求选择一个分枝,然后选择一
个子分枝,接着是更深一层的分枝,依此类推,最后,选择具体的树叶。“活门”负责的便是
对这种分枝选择方法进行描述)
单向散列函数
对一种散列算法H来说,可能存在两个不同的输入:X和Y—比如H ( X )和H ( Y )。这样便产生了冲突。单向散列函数的设计宗旨便
是将这种冲突的发现(亦即找到两个会产生一致散列摘要的随机输入)变得非常困难
md5 sha ripemd
简单的xor函数 (交替性)
对称加密算法
以块(des cast blowfish <64bit>)或流(1bit/byte)的方式 对输入进行处理
块处理方式 数据填充
ecb 加密密码本 模式
cbc 加密块链接模式
cfb 加密回馈模式
ofb 输出回馈模式
(需要仔细思考)
不对称加密算法
也叫公共密钥算法需要用到公钥和私钥 一个加密的只能用另一个解密
rsa
假如已知两个非常大的质数的乘积,那么很难解析出到底是哪两个质数相乘的结果(因数分解)
这意味着任何人都能用你的公共密钥对一条消息进行加密,而只有你才能对它进行解密。另外,
你也可用自己的私人密钥对任何东西进行加密,而拿到你的公共密钥的任何人都能对其解密
rsa 的一个缺点是速度非常慢,而且能处理的数据最多只能有它的密钥的模数大小。例
如,一个1024位的rsa公共密钥只能对少于或等于那个长度的数据进行加密(实际最多只能
有1013位,因为用R S A定义如何加密时,还要进行编码,这又要用去11位的长度)
diffie-hellman
El-Gamal 与diffie-hellman非常相似
El-Gamal加密系统建立在“离散对数问题”的基础上。El-Gamal的主要缺点就是密文
长度达到了明文的两倍
身分验证
公共密钥加密可用来进行身份验证,只需构建一个所谓的“数字签名”即可