Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 使用哪种对称加密算法加密电子邮件地址(短消息)?_Email_Encryption - Fatal编程技术网

Email 使用哪种对称加密算法加密电子邮件地址(短消息)?

Email 使用哪种对称加密算法加密电子邮件地址(短消息)?,email,encryption,Email,Encryption,使用哪种对称加密算法加密电子邮件地址(短消息)?我希望密文在长度上可以与paintext相提并论。我建议研究一下。ROT13或替换密码可能有效(密钥可以更改或交换)。保持原始文本长度的加密…不是很好 Bobby根据: 一个鲜为人知的PGP和 GPG是他们也可以做对称的 加密。只需要一个密码就可以了 需要-不需要公钥或私钥 卷入的这是一种又快又脏的方式 要获得强加密,即使是 新手可以使用 使用对称加密文件的步骤 加密,语法为: pgp --symmetric filename gpg --sym

使用哪种对称加密算法加密电子邮件地址(短消息)?我希望密文在长度上可以与paintext相提并论。

我建议研究一下。

ROT13或替换密码可能有效(密钥可以更改或交换)。保持原始文本长度的加密…不是很好

Bobby

根据:

一个鲜为人知的PGP和 GPG是他们也可以做对称的 加密。只需要一个密码就可以了 需要-不需要公钥或私钥 卷入的这是一种又快又脏的方式 要获得强加密,即使是 新手可以使用

使用对称加密文件的步骤 加密,语法为:

pgp --symmetric filename

gpg --symmetric filename
结果是一个具有 与原件和“.pgp”同名 或附加“.gpg”

如果必须粘贴加密文件 进入电子邮件正文 (而不是作为附件添加), 您需要使用普通的ASCII码 输出形式:

pgp --symmetric --armor filename

gpg --symmetric --armor filename
结果是一个纯文本文件结束 在“.asc”中

使用 常用“-d”开关:


但我不确定这是你要找的。也许你可以澄清你的问题。

让密码结果与纯文本相比较不是一个好主意,不同的长度是加密的一部分

我将向您推荐当今最安全的加密算法之一:


但是,忘了有类似的尺寸吧

如果您确实希望密码文本的长度与电子邮件地址相当,您可以在中使用分组密码,允许一次加密一个字节


但是,我不建议这样做,因为这会让攻击者了解消息的内容(消息有多长?)。使用像3DES或AES这样的算法,在CBC模式下使用16字节块并使用PKCS#5填充,

我发现关于明文/密文的长度有点混淆。实际上,如果使用对称加密算法,这些长度非常相似

考虑分组密码(例如AES)。它将128位块加密为128位块。因此,如果您的明文正好是128位(或其倍数),AES在任何操作模式下都会产生相同长度的密文。如果您的明文长度不是128位的倍数,那么它将被填充到完整块,而密文将稍微长一些(最多127位)。您仍然可以通过使用一些技巧来避免这种情况,如

如果使用流密码,加密过程只是将明文的位(或字节)与密钥流的位(或字节)进行异或运算,然后根据定义,密文的长度等于明文的长度

要直接回答您的问题,若您不需要任何特定格式的加密电子邮件,只需使用AES即可。 如果您希望加密的电子邮件也采用电子邮件的格式,您可能需要检查其工作原理


@Bobby:ROT13不是一种加密算法。

对称分组密码产生与输入相同的长度,以块大小的倍数为单位(AES通常为8字节或16字节)。因为输出总是块大小的倍数(事实上,输出总是与输入相同的大小,输入必须是块大小的倍数),所以您无法知道纯文本的原始大小。常见的加密方案通过添加填充方案来解决此问题,如PKCS、ISO 10126或ANSI X923。这些方案将有关原始明文长度的信息放置在最后一个块中

如果明文大小是8的倍数(AES为16),则会向加密文本中再添加一个块。如果原始大小不是块大小的倍数,则加密大小将向上舍入到下一个多块大小

为此,您应该为每个记录添加一个salt值。salt(或正确的初始化向量)与块大小相同。通常存储在加密块的前面

最后,您应该对加密值进行签名以进行验证,因此您应该添加一个SHA摘要,再添加20个字节,否则您无法确定解密值是否正确

因此,总体大小是(考虑到AES):16字节(salt)+(明文大小+20(哈希))+(16-(明文大小+20)%16)

约翰也是。doe@anydomain.com(长度22)加密大小将为16+22+20+(16-10)=64。要解密,您将前16个字节作为salt,解密剩余的inf48,输出长度为42,您将42-20=22字节进行消化,并将数字集与解密文本的最后20个字节进行比较以进行验证


我知道这可能比你预料的要多,但是这个方案中的每一步都有理由。

请对此再解释一点:我希望密文的长度可以与画稿的长度相媲美。我所说的“可媲美长度”并不是说它的长度应该相同,而是说它不应该比画稿长10倍。顺便说一句,你会发现很多关于将盐储存在其中的危险的文章数据库甚至维基百科上关于Salt的条目都延续了这一误解(谈话页面对主要文章的声明进行了几次反驳)。如果你仔细阅读这些文本,它们是关于存储盐散列,而不是加密文本。明文是加密文本的盐这是可以的,并且在许多加密方案中使用。使用未加密的哈希函数来保护消息的完整性是不安全的,即使您加密了哈希。最好使用MAC电脑。另外,加密后应用MAC比加密前应用MAC更容易出错。@abc:是的,你是对的。HMAC比普通散列更好,它使用从原始密钥和使用的IV派生的秘密。将导致相同的大小。
pgp -d filename

gpg -d filename