默认情况下,使用CAST5和SHA1 (不太好),因为它有AES256和hash512!
现在,我想使用完美的代码对对称和非对称的文件进行加密。
对于对称加密,我使用以下代码:
gpg -c --s2k-cipher-algo AES256 --s2k-digest-algo SHA512 File这是我从gpg获得的用于对称加密的最多值,还是有更多?
对于非对称加密,我使用以下代码:
gpg -er Key --s2k-cipher-algo AES256 --s2k-digest-algo SHA512 --cert-digest-algo SHA512 File我可以添加其他代码来使加密更加安全吗?
有z(n),--s2k-mode n和--s2k-count n。
这些开关是干什么用的?我应该使用哪一个参数和参数?
发布于 2013-02-07 14:09:08
你所能得到的“最”是“它不会被打破”,而且没有比这更高的水平了。CAST5 (又名"CAST-128")可以说已经在很大程度上实现了这一点,因为尽管已经有了一些积极的研究,但在整个算法中并没有已知的攻击(最著名的攻击似乎是由于2009年年王、王、胡和“中断”造成的,从学术角度来说,CAST5只减少到6轮,而完整版本只有12或16轮)。类似地,SHA-1在碰撞方面也存在弱点(这些也是“学术性的”,也就是理论上的),但是冲突与密码转换为密钥的算法无关。
因此,切换到AES-256,SHA-512或任何一个大的、平均的数字算法,都不会给你带来“更多的安全性”。它会给你一种安全感,就像人们常认为红色汽车速度更快。一样。如果这是你想要的,那么,无论如何,使用AES --毕竟,安全的一个要点是减少焦虑。但是,科学地说,算法切换并不是必要的。GnuPG默认为CAST5和SHA-1,因为这最大限度地提高了与较早的OpenPGP实现的互操作性。
不过,可以对算法块大小提出一点意见。CAST5使用64位块,这意味着如果对长度超过几or的单个文件进行加密,则存在一些或多或少的理论缺陷。这是个边缘案件。如果您有加密大型文件的习惯,您可能需要切换到AES (AES-128就可以了)。
至于"s2k“参数:”迭代计数“(使用--s2k-count)意味着通过使密码的处理速度降低字典攻击的速度。计数越高,速度就越慢。因此,为了安全起见,您希望计数尽可能高,但就可用性而言,您不希望它太高:更高的计数会使每个人(无论是您还是攻击者)的密码处理速度都变慢。因此,您应该将计数提高到您在机器上所能容忍的值。
当然,这一减速因素是容忍较弱密码的一种方式。在所有其他条件相同的情况下,最好有一个高熵的密码来抵抗字典攻击。
发布于 2013-02-07 09:34:25
在这篇文章中:
-s2k-mode n选择密码是如何损坏的。如果n为0时,将使用普通密码(不建议使用),1将向密码添加一个盐分,而3(默认)会多次迭代整个过程(参见-S2K-count)。除非使用-- for 1991,否则此模式也用于常规加密。
--s2k-count n指定密码错误重复了多少次。此值可在1024至65011712之间(含)。默认情况是从gpg-代理查询的。请注意,并非1024-65011712范围内的所有值都是合法的,如果选择了一个非法值,则GnuPG将舍入到最近的合法值。只有在S2K模式为3的情况下,此选项才有意义。
在我看来,这是很好的解释。默认情况下,S2K模式被设置为可用的“最安全”方法。使用S2K计数,您可以增加您的密码被破坏的次数。老实说,为了兼容起见,我会默认地保留它。考虑到您使用的算法(AES-256),只要使用强密码,您就应该相当安全。
https://security.stackexchange.com/questions/30442
复制相似问题