首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以/哪些加密算法被链接在一起来创建一个密码计算难题?

可以/哪些加密算法被链接在一起来创建一个密码计算难题?
EN

Cryptography用户
提问于 2017-11-05 14:16:22
回答 2查看 354关注 0票数 3

目标

创建一个快速生成的计算难题,平均需要一台计算机分钟来解决,没有任何可利用的弱点,使用现有的/经过测试的加密算法。

问题

假设我们有一个字符串:“前缀:

让我们选择3种加密算法(例如):AES256、Triplefish、Camellia

拼图创建者取前缀:

对于解谜器,益智创建者发送daisy_chained_puzzle、key_AES256 (1-字符前缀缺失)、key_Triplefish (1-字符前缀缺失)、key_Camellia (1-字符前缀缺失)。

解谜器穷尽地尝试这3个缺失字符的所有组合,并在遇到带有“前缀:”的解密解决方案时返回该解决方案,并推断该解决方案是后缀“

担心

提供的“前缀:”会提供一个可以利用的弱点吗?

提供每个关键的后缀会导致一个弱点吗?

问题

加密算法可以使用像这样链接的雏菊来创建一个简单的计算谜题/哪种加密算法对这个任务来说是理想的?

EN

回答 2

Cryptography用户

回答已采纳

发布于 2017-11-06 09:04:28

消除了担忧,

提供的“前缀:”会提供一个可以利用的弱点吗?

不,任何安全密码都应该受到明文攻击的保护。准确地说,密文对于选择的明文攻击应该是不可分辨的(而不是泄露任何信息)。这一点已经减少到了IND_CPA。这是一个比已知的明文更强的概念:它允许攻击者选择明文消息。

提供每个关键的后缀会导致一个弱点吗?

不,对称密码的密钥一般应该由随机位组成。随机意味着密钥内的各个位之间没有任何关系。由于不应该有任何关系,所以不可能获得关于密钥的其他部分的任何信息。

显然,这不仅仅是密码的一个属性,它也应该是密钥生成方法的一个属性。由于密钥由随机比特组成,密钥生成方法就是使用的随机数发生器。因此,您必须使用一个良好的种子PRNG (例如,在Posix机器上简单地使用/dev/urandom )。

例如,对于HMAC,如果您遵循e-sushi的建议,使用基于散列的密钥派生函数(KDF)而不是链式密码,情况也是如此。

答案

加密算法可以使用像这样链接的雏菊来创建一个简单的计算谜题/哪种加密算法对这个任务来说是理想的?

是的,你可以用链子把它们拴起来,但请继续读。

没有更有意义的特定加密算法。如果您真的想使用密码,您可以使用密码创建一个MAC算法(AES/CMAC或AES-CMAC)并对其进行链接。

AES更可取,因为有很多加速分组密码的平台。关于与您的目标的兼容性:任何现代密码都可以;您的任何算法都没有被破坏,而且都使用了一个大块大小,这对任务是有益的。

从这个意义上说,由于块体很大,Threefish将是一个不错的选择。该分组密码是为类似哈希算法的链式使用而设计的,当然主要是Skein。

除非您的目标是让人们尝试不同的对称算法,否则没有理由选择不同的算法;您最好选择一个分组密码并多次使用它。

Alternatives

块链技术是一个明显的例子,它通常基于e-sushi已经提到的散列函数--在这种情况下,目标通常是在散列函数的随机输出中找到一种特定的比特模式(前缀为1位)--好处是您可以轻松地调整希望增加或减少寻找答案的输出比特的数量。

同样,找到任何东西所需的时间也是随机的,因此,尽管您可以调整难度,但找到答案的时间是未知的(也就是说,您只能调整找到一个或多个答案的平均时间)。

一个基于密码的密钥派生函数(PBKDF),如bcrypt、scrypt、PBKDF2或Argon2,如果您正在寻找更多的时间来寻找答案,则更有意义。

票数 3
EN

Cryptography用户

发布于 2017-11-05 16:43:06

加密算法可以使用像这样的菊花链来创建一个简单的计算难题…吗?

这是可以做到的,但请记住,加密标识被构建为(除其他外)快速/快速,而散列标记通常更慢(这就是为什么比特币使用SHA256d作为其POW的主要原因)。这是几个原因之一,我建议不要使用加密标志的区块链相似的证明工作的稀薄。

相反,我建议使用散列。另一种选择是基于哈希的MACs (HMAC),因为它们允许使用秘密(一些人称之为密码值)来调整事物,或者甚至允许进一步调整(除其他事情外),这可能会影响速度(读:难解,同时避免了潜在的专用集成电路和GPU实现带来的一些主要问题)。

…哪种加密算法将是理想的任务?

取决于您的拼图长度,它将不是加密的问题,而是更多的问题,阿尔戈类型(流密码或分组密码)和(当使用分组密码)的操作模式。

最后但并非最不重要的是

…平均需要一台计算机分钟来解决问题,…

您应该注意到,计算机系统有很大的差异,最近的CPU甚至嵌入了AES功能,这就提出了一个更大的问题,当试图平衡外面的几个系统,以使您的谜题公平。

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

https://crypto.stackexchange.com/questions/52855

复制
相关文章

相似问题

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