计算机网络中的安全(上)——IV向量

安全通信锁需要的特性

  • 机密性。窃听者截获报文,使之难以理解真正的报文内容。
  • 报文完整性。防止报文在传输过程中被恶意篡改,或意外改动,接受者对接收到的报文进行完整性校验。
  • 端点鉴别。发送方和接收方能够证实对方身份。
  • 运行安全性。防止攻击者入侵。

密码学原则

对称秘钥密码机制

  • 凯撒密码, 可用于英文文本加密,i love you 可以加密为 l oryh brx 。秘钥只有25个,很容易被破解。
  • 单码代替密码,这是用字母表中的一个字母代替另一个字母,秘钥就是一个乱序的字母表。
    这样的加密有一个很明显的问题,相同的字母会有相同的密文,如果窃听者猜测到报文中含有某几个单词,就很容易根据这几个单词的密文破译密码,从而破译整个密文。
    根据窃听者所拥有的信息,可以分为三种不同的攻击:
  • 唯密文攻击,这种攻击,窃听者只能借助统计分析来破译。
  • 已知明文攻击,窃听者知道部分明文及其对应的密文。
  • 选择明文攻击,窃听者只知道部分明文。

块密码

对称加密技术有两种类型:流密码(stream cipher)和块密码(block cipher)。块密码宝酷PGP(用于电子邮件)、SSL(使TCP连接更安全)和IPsec(用于使网络层传输更安全)。
要加密的报文被处理为k比特的块。每个块通过随机排列表进行映射获得一个块密文。
然而当k取值较大时,映射表较大,难以维护。
所以一般使用函数模拟随机排列表。以k=64为例,64比特输入被分成8个8比特的小块,每小块分别被一个小型表映射获得一个密文块,之后这8个密文块通过一个比特置乱函数乱序排列,排列后的64比特再分成8个8比特的小块,如此往复循环n次,这是为了使一个特定的比特尽可能多的影响整个64比特密文。这样就得到了最后的密文。

块密码连接

块密码存在一个明显的问题:相同的明文会得到相同的密文。
解决此问题的方法是对每一个块生成一个对应大小的随机数,密文与随机数异或取值作为最终的密文,然后将密文与随机数一并发送给接收方。这样即使明文相同,也能获取到几乎不同的密文。
这样又产生一个带宽的问题,聪明的人发明了密码块链接技术(CBC,Cipher Block Chaining),只用一个初始向量作为第一个块对应随机数,然后将第一个块的密文,作为第二个块的随机数,以此类推,这样对于长报文而言,增加的代扣微不足道。这就是对称加密中的IV向量。

你可能感兴趣的:(计算机网络中的安全(上)——IV向量)