加密文件时,不会删除或更改原始文件。输出文件将被加密。
有关 encrypt 命令的常见错误的解决方案,请参见示例后面的部分。
创建适当长度的对称密钥。
您有两种选择。可以提供将根据其生成密钥的 passphrase(口令短语)。或者,可以提供密钥。
如果提供口令短语,则必须存储或记住该口令短语。如果您在线存储口令短语,则只有您才可以读取该口令短语文件。
如果提供密钥,则它必须是对应于机制的正确大小。有关过程,请参见如何生成对称密钥。
为 encrypt 命令提供密钥并使用对称密钥算法。
% encrypt -a algorithm [ -k keyfile ] -i input-file -o output-file |
用于加密文件的算法。 键入与 encrypt -l 命令的输出中显示的算法相同的算法。
包含算法所指定长度的密钥的文件。 每种算法的密钥长度(以位为单位)列在 encrypt -l 命令的输出中。
要加密的输入文件。命令不会更改此文件。
加密格式的输入文件的输出文件。
在以下示例中,将使用 AES 算法加密文件。密钥根据口令短语生成。如果口令短语存储在某个文件中,则除了该用户之外,其他任何人都不能读取该文件。
% encrypt -a aes -i ticket.to.ride -o ~/enc/e.ticket.to.ride Enter key: <键入口令短语> |
输入文件 ticket.to.ride 仍然以其原始格式存在。
要解密输出文件,用户应使用加密该文件的相同口令短语和加密机制。
% decrypt -a aes -i ~/enc/e.ticket.to.ride -o ~/d.ticket.to.ride Enter key: <键入口令短语> |
在以下示例中,将使用 AES 算法加密文件。AES 机制使用 128 位(16 字节)的密钥。
% encrypt -a aes -k ~/keyf/05.07.aes16 \ -i ticket.to.ride -o ~/enc/e.ticket.to.ride |
输入文件 ticket.to.ride 仍然以其原始格式存在。
要解密输出文件,用户应使用加密该文件的相同密钥和加密机制。
% decrypt -a aes -k ~/keyf/05.07.aes16 \ -i ~/enc/e.ticket.to.ride -o ~/d.ticket.to.ride |
在以下示例中,使用 ARCFOUR 算法加密文件。ARCFOUR 算法接受 8 位(1 字节)、64 位(8 字节)或 128 位(16 字节)的密钥。
% encrypt -a arcfour -i personal.txt \ -k ~/keyf/05.07.rc4.8 -o ~/enc/e.personal.txt |
要解密输出文件,用户应使用加密该文件的相同密钥和加密机制。
% decrypt -a arcfour -i ~/enc/e.personal.txt \ -k ~/keyf/05.07.rc4.8 -o ~/personal.txt |
在以下示例中,将使用 3DES 算法加密文件。3DES 算法要求 192 位(24 字节)的密钥。
% encrypt -a 3des -k ~/keyf/05.07.des24 \ -i ~/personal2.txt -o ~/enc/e.personal2.txt |
要解密输出文件,用户应使用加密该文件的相同密钥和加密机制。
% decrypt -a 3des -k ~/keyf/05.07.des24 \ -i ~/enc/e.personal2.txt -o ~/personal2.txt |
以下消息说明,所使用的算法不接受提供给 encrypt 命令的密钥。
encrypt: unable to create key for crypto operation: CKR_ATTRIBUTE_VALUE_INVALID
encrypt: failed to initialize crypto operation: CKR_KEY_SIZE_RANGE
如果所提供的密钥不满足算法要求,则必须提供正确的密钥。
一种选择是使用口令短语。框架然后提供满足要求的密钥。
第二种选择是提供算法接受的密钥大小。例如,DES 算法要求 64 位的密钥。3DES 算法要求 192 位的密钥。