问题标签 [cryptanalysis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
13380 浏览

encryption - 是否可以对 AES256 进行逆向工程?

想象一下我有这个:

AES_256 实现了AES 算法

如果我知道的内容$cdata和内容$data并且也有AES_256()代码,我可以逆向工程并找到$pass吗?

0 投票
5 回答
4244 浏览

cryptography - 如何从给定的 GUID 预测下一个 GUID?

我已经向我们的客户发送了 10000 封邮件,每封邮件都有一个格式的链接

不幸的是,guid我发送的是随机指南(由 生成的测试数据Guid.NewGuid()),所以客户都收到了无效链接......

根据我从网络服务器收到的 404,我发送了一些指南。我读过 Windows 中的 guid 生成器很弱,​​因此您可以从已有的 guid 预测下一个 guid。有谁知道怎么做?如果我能做到这一点,我可以使我发送的指南有效,这样链接就会再次起作用。

0 投票
2 回答
1584 浏览

cryptography - 多重冲突与对哈希函数的第一次或第二次原像攻击有什么区别?

哈希函数中的多重冲突与第一或第二原像之间有什么区别。

  • 第一次原像攻击:给定一个哈希 h,找到一条消息 m 使得

    哈希(m)= h。

  • 第二原像攻击:给定一个固定的消息 m1,找到一个不同的消息 m2 使得

    哈希(m2)=哈希(m1)。

  • 多重碰撞攻击:生成一系列消息 m1, m2, ... mN,这样

    哈希(m1) = 哈希(m2) = ... = 哈希(mN)。

维基百科告诉我们,原像攻击与碰撞攻击的不同之处在于,有一个固定的哈希或消息被攻击。

我对发表以下声明的论文感到困惑:

该技术不仅可以有效地搜索碰撞,而且还适用于探索 MD4 的第二原像。关于第二原像攻击,他们表明随机消息是概率为 2^–122 的弱消息,只需一次 MD4 计算即可找到与弱消息对应的第二原像。

MD4 的第二原像攻击

如果我理解作者似乎在说什么,他们开发了一种多重冲突攻击,其中包含足够大的消息集,给定一条随机消息,它与他们的多重冲突中的一个重叠的可能性很大,尽管非常小。碰撞。

我在许多论文中看到了类似的论点。我的问题什么时候攻击不再是多重碰撞攻击并成为第二次原像攻击..

  • 如果多重冲突与 2^300 条其他消息发生冲突,这是否算作第二个原像,因为多重冲突可用于计算与之冲突的其中一条消息的“原像”?分界线在哪里,2^60、2^100、2^1000?

  • 如果您可以生成所有以 23 开头的哈希摘要的原像,会怎样?当然它不符合原像的严格定义,但它也非常肯定是密码散列函数中的一个严重缺陷。

  • 如果某人有一个大的多重冲突,那么他们总是可以恢复任何哈希与多重冲突冲突的消息的图像。例如,

    散列(m1) = 散列(m2) = 散列(m3) = h

    有人请求 h 的原像,他们以 m2 响应。这什么时候不再愚蠢而成为真正的攻击?

经验法则?知道评估哈希函数攻击的任何好的资源吗?

相关链接:

0 投票
3 回答
3192 浏览

encryption - How do brute force decryption attacks know when they've found the right solution?

How do brute-force attacks on encrypted data know when they've found the right key to decrypt the data? Is there a way to know that data's been decrypted, other than having a human looking at it? What if it's not human-friendly data?

0 投票
4 回答
377 浏览

cryptography - 识别成功解密不难吗?

当我听说破解加密算法的方法时,我注意到人们经常关注如何快速解密以及如何减少搜索空间。但是,我总是想知道您如何识别成功的解密,以及为什么这不会形成瓶颈。还是经常假设加密/解密对是已知的?

0 投票
3 回答
495 浏览

encryption - 加密数据重复——危险信号?

我有一些 base-64 编码的加密数据,并注意到大量重复。在(大约)200 个字符长的字符串中,某个 base-64 字符在几个单独的重复运行中最多重复 7 次。

这是加密存在问题的危险信号吗?根据我的理解,即使明文是完全一致的,加密数据也不应该出现明显的重复(即即使我加密了 2 GB 的只有字母 A 的内容,在加密版本中也不应该出现明显的重复)。

0 投票
3 回答
703 浏览

php - 尝试解密 PHP PseudoCrypt 类

我正在尝试创建一种方法来反转在以下位置列出的 PseudoCrypt 脚本:http ://blog.kevburnsjr.com/php-unique-hash 。在此代码中,它具有以下等式:

我已经能够获取除 $num 之外的所有变量。例如,采用以下数字:

等式将如下所示:

答案应该是 1。但是我还没有确定使方程 = $num 的方式。我想使用它在 URL 中创建的哈希,然后解密哈希以在我的数据库中执行查询。

编辑:如果有更好的方法来创建一个独一无二的哈希值,并且复制空间很小,我会对此持开放态度。

编辑:不知何故,我为 $dec 输入了错误的值。编辑:使用功能代码更新的博客帖子。

0 投票
1 回答
338 浏览

hash - 沿着加密的 AES 密钥存储密码哈希的安全隐患

我正在使用 PKCS#5 标准使用随机且唯一的盐和输入的用户密码生成密钥。将此密钥视为“加密”密钥。

“加密”密钥用于加密随机 AES 密钥。每个用户都有一个与其配置文件关联的 AES 密钥。

因此,用户的个人资料将包含以下信息:

--> 用于身份验证的密码哈希。

--> PKCS#5 算法中使用的盐。(从 PKCS#5 V2.0 文档中,我们知道此信息不需要保护)。

--> 随机生成的加密 AES 密钥,并使用由 PKCS#5 算法生成的“加密”密钥以及盐和用户密码进行加密

我在问自己同时拥有密码的哈希、盐和加密的 AES 密钥是否危险。我有 99.9% 的把握这不是问题,但它能否促进拥有所有这些细节的攻击者的工作?

0 投票
5 回答
3130 浏览

python - 根据字符串的英语程度对字符串进行评分

我不确定如何准确地表达这个问题,所以这里有一个例子:

string1 = "THEQUICKBROWNFOX" string2 = "KLJHQKJBKJBHJBJLSDFD"

我想要一个函数,它的 string1 得分高于 string2 和一百万个其他乱码字符串。请注意缺少空格,因此这是一个逐字符的函数,而不是逐字的函数。

在 90 年代,我在 Delphi 中编写了一个三元组评分函数,并用 Huck Finn 的三元组填充它,我正在考虑将代码移植到 C 或 Python 或将其合并到一个独立的工具中,但必须有更有效的方法目前为止。我会这样做数百万次,所以速度很好。我尝试了 Reverend.Thomas Beyse() python 库并使用一些全大写字符串对其进行了训练,但它似乎需要单词之间的空格,因此返回 [] 的分数。我找到了一些马尔可夫链库,但它们似乎也需要单词之间的空格。虽然根据我对他们的理解,我不明白为什么会这样......

无论如何,我做了很多密码分析,所以将来使用空格和标点符号的评分函数会很有帮助,但现在我只需要 ALLCAPITALLETTERS。

谢谢您的帮助!

0 投票
1 回答
3584 浏览

cryptography - 使用同一文件的已解密版本从加密文件中获取 AES 密钥

这甚至可能吗?加密文件在 CBC 模式下使用 AES-128。我已经有了它的解密版本,但是我不知道用来加密它的密钥,我需要它(我宁愿不说原因)。

我知道这两个文件是相同的,因为填充被禁用(它们具有相同的大小)。我也知道加密过程中使用的初始化向量,如果有帮助的话。