回忆录——密码学

  • 简单字母替换算法  凯撒密码 可以通过频率检测
  • 维吉妮亚密码 减少频率破解可能
  • Base64加密算法 64个ASCII码表组成 26个字母大小写 0到9 + / 尾部不够4个字节的时候补=  

  原理 三个字节拆成4个字节(拆字节位 8取前6 依次取6位) 每个自己的再根据值在Base64表中获取字符 

    不够三个字节的时候剩余2位用0补齐 不够字节的后门的补等号

  • 对称加密算法 DES(分组长度64) RC6 MARS Twofish

    通过异或加密 feistel网络循环加密 每一轮加密使用的子密钥不同 先左后右交叉循环 

    右侧不加密 右侧发送到轮函数 轮函数根据右侧数据和子密钥计算出bit序列 与左侧数据进行异或运算 结果作为加密后的左侧

  AES  分组长度可以是128 192 256

    置换 

    生成新的一张类似ascii码表

    乱序

    讲置换后的结果打乱处理

    移位

    对4字节的值进行位运算 变为另一个4字节值

    异或

    与轮密钥进行异或

  

  • 公钥密码

    公钥加密 和明文生成密文

    私钥解密 和密文生成明文

  RSA算法  公钥E N  私钥 D N 

    密文=明文E mod N 明文的E次方除以N的余数

    明文=密文 D mod N 密文的D次方除以N的余数

    N是两个大质数相乘

    L是两个相乘质数减一的相乘

    E是和L最大公约数为1的任选数

    D大于1小于L  E乘D mod L=1

    

猜你喜欢

转载自www.cnblogs.com/useror/p/10387443.html