密码学基础-------密码和认证

历史上著名的密码

  • 凯撒密码
    凯撒密码是一种相传尤里乌斯-凯撒使用的密码。是通过将明文中所使用的字母表按照一定的字数‘平移’来进行加密的。如a->D,b->E,c->F........
    解密过程是使用与加密时相同的密钥进行反向的平移操作。如D->a,E->b,F->c.....
    可以用暴力破解
  • 简单替换密码
    凯撒密码是将明文中所使用的字母表平移来生成密文。而简单替换密码是将26个字母本身建立一一对应的关系。
    可以用频率分析来破译密码
  • Enigma
    二战期间德国使用的一种密码机。Enigma是一种由齿轮、键盘、电池、灯泡所组成的机器,通过这一台机器就可以完成加密和解密。


    IMG_7013.JPG

对称密码

对称密码是一种用相同的密钥进行加密和解密的技术。

  • 一次性密码本--绝对不会被破译的密码
    将明文与一串随机的比特序列进行XOR预算(异或)
  • DES
  • 3DES
    将DES重复3次所得到的一种密码算法。
  • AES(Rijndael)推荐使用
    是由多个轮构成的,其中每一轮分为SubBytes(逐字节替换)、ShiftRows(平移行)、MixColumns(混合列)、AddRoundKey(与轮密钥进行XOR)共4个步骤。

分组密码的模式

  • ECB模式
    将明文分组加密之后的结果直接成为密文分组。
  • CBC模式
    首先将明文分组与前一个密文分组进行XOR运算,然后再进行加密。当加密第一个明文分组时,有一个初始化向量(IV)。一般来说,每次加密都会随机产生一个不同的比特序列作为初始化向量。
  • CFB模式(密码反馈模式)
    前一个密文分组会被送回密码算法的输入端。
  • OFB模式(输出反馈模式)
    不是通过密码算法对明文进行直接加密的,而是通过将明文分组和密码算法的输出进行XOR来产生密文分组。
  • CTR模式(计数器模式)
    通过将逐次累加的计数器进行加密来生成密钥流的流密码。


    IMG_8242.JPG

公钥密码

  • RSA


    密码学基础-------密码和认证_第1张图片
    RSA的加密和解密 .JPG

    RSA中密钥对的生成.JPG

单向散列函数

就是把任意长的输入消息串变化成固定长的输出串且由输出串难以得到输入串的一种函数。这个输出串称为该消息的散列值。

消息认证码 ---消息被正确传送了吗

是一种确认完整性并进行认证的技术,简称MAC。
消息认证码的输入包括任意长度的消息和一个发送者与接受者之间共享的密钥,它可以输出规定长度的数据,这个数据成为MAC值。
消息认证码是一种与密钥相关联的单项散列函数。

  • HMAC


    IMG_8849.JPG

    无法解决对第三方证明、防止否认问题

数字签名---消息到底谁写的

数字签名对签名密钥和验证密钥进行了区分,使用验证密钥是无法生成签名的。


密码学基础-------密码和认证_第2张图片
IMG_2934.JPG
  • 用RSA实现数字签名


    密码学基础-------密码和认证_第3张图片
    IMG_9651.JPG

各种密码技术的对比
IMG_3202.JPG

证书---为公钥加上数字签名

公钥证书(PKC)其实和驾照相似,里面记有姓名、组织、邮箱地址等个人信息,以及属于此人的公钥,并由认证机构(CA)施加数字签名。只要看到公钥证书,我们就可以知道认证机构认定该公钥的确属于本人。公钥证书也简称为证书。

密码学------密钥、随机数

你可能感兴趣的:(密码学基础-------密码和认证)