加密所需信息
密钥(Key):
定义:用于加密和解密数据的密钥。对于对称加密算法(如AES),加密和解密使用相同的密钥;对于非对称加密算法(如RSA),加密使用公钥,解密使用私钥。
示例:对于AES-256,密钥长度为256位(32字节)。
初始化向量(IV):
定义:用于增加加密数据的随机性,确保相同的明文在不同次加密时产生不同的密文。IV通常需要是随机生成的,并且在某些模式下(如CBC模式)需要是唯一的。
示例:对于AES-128,IV长度为128位(16字节)。
加密模式(Mode of Operation):
定义:加密算法的工作模式,决定了如何处理数据块。常见的模式包括ECB(电子密码本模式)、CBC(密码块链接模式)、CFB(密码反馈模式)、OFB(输出反馈模式)等。
示例:AES-128-CBC 表示使用AES算法和CBC模式。
填充方式(Padding Scheme):
定义:用于处理数据块长度不足的情况。常见的填充方式包括PKCS7、PKCS5、ISO 10126等。
示例:对于AES,通常使用PKCS7填充。
数据(Plaintext):
定义:需要加密的原始数据。
示例:data = b"Sensitive data to be encrypted"
解密所需信息
密钥(Key):
定义:用于解密数据的密钥。对于对称加密算法,解密使用的密钥与加密使用的密钥相同;对于非对称加密算法,解密使用私钥。
示例:对于AES-256,密钥长度为256位(32字节)。
初始化向量(IV):
定义:用于解密数据的初始化向量。必须与加密时使用的IV相同。
示例:对于AES-128,IV长度为128位(16字节)。
加密模式(Mode of Operation):
定义:解密算法的工作模式,必须与加密时使用的模式相同。
示例:AES-128-CBC 表示使用AES算法和CBC模式。
填充方式(Padding Scheme):
定义:用于处理解密后的数据块长度不足的情况。必须与加密时使用的填充方式相同。
示例:对于AES,通常使用PKCS7填充。
密文(Ciphertext):
定义:需要解密的加密数据。
示例:encrypted_data = b'\x01\x02\x03...'
ℹ️
note
确保在加密和解密过程中,
密钥、初始化向量、加密模式和填充方式
保持一致,这是成功进行加密和解密的关键。
查看密钥指纹:
ssh-keygen -l -f .ssh/id_ed25519