1. 密码
古典密码学
凯撒密码(Caeser):位移密码
特殊形式(加解密相同,因为26个字母是循环的):ROT13
栅栏密码:分组密码。
弗吉尼亚
现代密码学
对称加密算法:使用加密用过的秘钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。即加密解密使用相同的秘钥。 常见对称加密算法:DES、3DES、AES等。 使用在线工具进行加解密。
非对称加密算法:加密解密使用不相同的秘钥。公钥与私钥是一对,如果公钥对数据进行加密,只有用对的私钥才能解密;如果用私钥对数据加密,只有用对应的公钥才能解密。 常见非对称加密算法:BSA、Elgamal、背包算法、Rabin、DH、ECC。(在CTF中不常见)
CTF中的密码
猪圈密码:一种以格子为基础的简单替代密码
培根密码:一种由a和b构成的替换密码(可以将a理解为0,将b理解为1)
键盘密码:电脑键盘的位置模拟画出图案。
2. 编码和摘要
加密(encipher/decipher):加密传输信息,保证信息安全性,通过密钥和密文可以还原原始信息。
编码(encode/decode):将数据转化成某种固定格式的编码信息,方便不同系统间的传输,通过解码编码信息可以得到原始信息。
散列(hash):也叫摘要或哈希,验证信息的完整性,不能通过哈希值还原原始信息。
常见的编码:ASCII(美国信息交换标准代码)、Base64、URL编码、HTML编码、Unicode编码、UTF-8、莫斯电码、二维码
常见摘要:MD5、SHA1(主要适用于数字签名标准DSS里面定义的数字签名算法)