> 文章列表 > 【加密】加密算法

【加密】加密算法

【加密】加密算法

目录

        • 一、古典密码
          • 1.1 替换法
            • 1.1.1 单表替换示例
            • 1.1.2 多表替换示例
          • 1.2 移位法
        • 二、现代密码学
          • 2.1 散列函数
          • 2.2 对称加密
            • 2.2.1 流加密示例
            • 2.2.2 块加密示例
            • 2.2.3 DES加密算法
            • 2.2.4 AES加密算法
            • 2.2.5 对称加密特点
          • 2.3 非对称加密

一、古典密码学

1.1 替换法
  • 1.使用固定的信息,将原文替换成密文
  • 2.替换法的加密方式:单表替换和多表替换
  • 3.单表替换:原文和密文使用的是同一张表
  • 4.多表替换:有多张表将原文和密文进行对比
1.1.1 单表替换示例
密码本:a->w  b->s  c->x  d->y  e->d
明文:add
密文:wyy
1.1.2 多表替换示例
密码本1:a->w   b->s  c->x  d->y  e->d
密码本2:a->s   b->e  c->f  d->q  e->o
密码本3:a->x   b->n  c->x  d->i  e->s
明文:add
秘钥:312
密文:xyq
1.2 移位法
  • 1.按照字母,在字母表上面的位置进行移动
  • 2.凯撒加密:明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文
  • 3.例如:abcde往后面移动2位cdefg

二、现代密码学

2.1 散列函数
  • 1.散列函数也叫哈希函数
  • 2.常见的加密方式:md5、sha-1、sha-256
2.2 对称加密
  • 1.使用的加密方式和解密方式使用的是一把密钥
  • 2.对称密码应用了相同的加密密钥和解密密钥
  • 3.对称密码分为序列密码(流密码)和分组密码(块密码)
  • 4.流密码是对信息流中的每一个元素(一个字母或一个比特)作为基本的处理单元进行加密
  • 5.块密码是先对信息流分块,再对每一块分别加密
  • 6.对称密码的密钥安全非常重要,加密者和解密者需要提前协商密钥,并各自确保密钥的安全性,密钥泄露则无法保障原文信息的私密性
2.2.1 流加密示例
明文:1234567890
加密规则:先对1加密,再对2加密,再对3加密等等,挨个字母都加密一次,最后拼接成密文
2.2.2 块加密示例
明文:1234567890
加密规则:先对1234成块加密,再对56788成块加密,再对90XX成块加密,就是分成块各加密一次,最后拼接成密文
2.2.3 DES加密算法
  • 1.Data Encryption /ɪnˈkrɪpʃn/ Standard,即数据加密标准,是一种使用密钥加密的块算法
  • 2.1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛使用
2.2.4 AES加密算法
  • 1.Advanced Encryption Standard,高级加密标准,在密码学中又称为Rijndael加密法,是美国联邦政府采用的一种区块加密标准
  • 2.用来替代原先的DES,被多方进行分析且广为使用
2.2.5 对称加密特点
  • 1.加密速度快,可以加密大文件
  • 2.密文可逆,一旦密钥文件泄露,会导致数据暴露
  • 3.加密后编码表找不到对应字符,出现乱码
  • 4.一般结合base64使用
2.3 非对称加密
  • 1.使用两把密钥
  • 2.使用公钥加密,使用私钥解密
  • 3.使用私钥加密,使用公钥解密