- 简单字母替换算法 凯撒密码 可以通过频率检测
- 维吉妮亚密码 减少频率破解可能
- 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