问题标签 [rainbowtable]

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 投票
1 回答
2484 浏览

hash - 彩虹桌和开膛手约翰

我正在做一个 uni 项目,我必须展示工具“开膛手约翰”以及“彩虹表”的用法。

我玩弄了“开膛手约翰”的不同模式,并搜索了“彩虹桌”的概念。

问题是我无法理解这两者是如何连接的,如果可能的话,我如何在密码哈希的解密中使用我自己的“彩虹表”?

0 投票
1 回答
46 浏览

security - 删除除首尾之外的所有链后,我们如何在彩虹表中找到明文

我开始学习彩虹表,我有一个问题:如果我们删除除第一个和结束明文之外的所有链,我们如何找到哈希的明文如果它是错误的并且我们不删除链,为什么我们不使用普通的预计算哈希表,因为它会使用相同的空间,所以我们专门使用彩虹表。

0 投票
2 回答
5400 浏览

go - 为什么golang包bcrypt能够在对密码进行哈希处理后检索盐?

我无法理解golang crypto bcrypt repo中的以下代码

据我了解,加盐用于防止攻击者入侵数据库并获取哈希密码列表,为了从哈希中获取原始密码,黑客可以遍历所有有效的密码组合并对其中的每一个进行哈希处理,如果其中一个生成的哈希与黑客数据库中的哈希匹配,黑客可以取回密码。在哈希之前添加盐会迫使对手重新生成彩虹表。

关键是将密码与盐一起散列

迫使黑客专门为盐重新生成彩虹表

但似乎bcrypt能够取回盐,所以从技术上讲,如果对手知道系统正在使用bcrypt,他可以删除盐并获取未加盐的哈希密码。

换句话说,一旦黑客得到hashedSecret = hashedSecret[encodedSaltSize:],他可以使用彩虹攻击来取回密码,使盐无用。

我有什么问题吗?

0 投票
0 回答
78 浏览

java - Java 彩虹表实现 - 链查找无法正常工作

我目前正在研究用 Java 实现彩虹表的简单实现。并且一直在编写链查找方法时遇到问题。这是我当前的代码:

但是,对于我知道可以使用我硬编码到彩虹表中的链来破解的哈希值,第一个循环似乎无法找到它们。因此 indexOfTable 保持 -1。我不知道为什么会这样,因为代码很简单。将不胜感激任何帮助。

0 投票
1 回答
213 浏览

java - 了解彩虹表Java

我正在学习密码学课程,但我的老师描述的一些事情真的不清楚并且解释得不好。

他让我在 Java 中创建一个算法来生成一个 RT 表(散列/文本)并创建一个包含 100 个散列的文件(test.txt)来“破解”。所以我正处于必须比较两个文件的阶段。但在我看来太“简单”了,我可以看一下我的课程,我们讨论功能缩减,但我不知道如何(何时)实现它。

我已经可以进行文件读取,并且可以逐行读取我的大文件并将每个散列与我的小散列进行比较。我不知道在哪里,尤其是如何在我的算法中实现函数缩减以及它包含什么。

非常感谢您的帮助,如果需要我把我的代码。

测试列表只是要破解的 100 个哈希列表

0 投票
0 回答
20 浏览

hash - 基本彩虹表的时间复杂度

我正在写一篇关于彩虹桌的文章。我想讨论 RT 在蛮力攻击方面的性能。我想包括使用 Big O 表示法生成彩虹表的时间和内存复杂性。我发现很难找到提供这一点的参考资料。