首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >gpg完美代码

gpg完美代码
EN

Security用户
提问于 2013-02-07 09:22:30
回答 2查看 5.2K关注 0票数 8

默认情况下,使用CAST5和SHA1 (不太好),因为它有AES256和hash512!

现在,我想使用完美的代码对对称和非对称的文件进行加密。

对于对称加密,我使用以下代码:

代码语言:javascript
运行
复制
gpg -c --s2k-cipher-algo AES256 --s2k-digest-algo SHA512 File

这是我从gpg获得的用于对称加密的最多值,还是有更多?

对于非对称加密,我使用以下代码:

代码语言:javascript
运行
复制
gpg -er Key --s2k-cipher-algo AES256 --s2k-digest-algo SHA512 --cert-digest-algo SHA512 File

我可以添加其他代码来使加密更加安全吗?

z(n)--s2k-mode n--s2k-count n

这些开关是干什么用的?我应该使用哪一个参数和参数?

EN

回答 2

Security用户

发布于 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)意味着通过使密码的处理速度降低字典攻击的速度。计数越高,速度就越慢。因此,为了安全起见,您希望计数尽可能高,但就可用性而言,您不希望它太高:更高的计数会使每个人(无论是您还是攻击者)的密码处理速度都变慢。因此,您应该将计数提高到您在机器上所能容忍的值。

当然,这一减速因素是容忍较弱密码的一种方式。在所有其他条件相同的情况下,最好有一个高熵的密码来抵抗字典攻击。

票数 12
EN

Security用户

发布于 2013-02-07 09:34:25

在这篇文章中:

代码语言:javascript
运行
复制
-s2k-mode n

选择密码是如何损坏的。如果n为0时,将使用普通密码(不建议使用),1将向密码添加一个盐分,而3(默认)会多次迭代整个过程(参见-S2K-count)。除非使用-- for 1991,否则此模式也用于常规加密。

代码语言:javascript
运行
复制
--s2k-count n

指定密码错误重复了多少次。此值可在1024至65011712之间(含)。默认情况是从gpg-代理查询的。请注意,并非1024-65011712范围内的所有值都是合法的,如果选择了一个非法值,则GnuPG将舍入到最近的合法值。只有在S2K模式为3的情况下,此选项才有意义。

在我看来,这是很好的解释。默认情况下,S2K模式被设置为可用的“最安全”方法。使用S2K计数,您可以增加您的密码被破坏的次数。老实说,为了兼容起见,我会默认地保留它。考虑到您使用的算法(AES-256),只要使用强密码,您就应该相当安全。

票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/30442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档