首页
社区
课程
招聘
[讨论]希望开展时空平衡算法(彩虹表及完美表)的学习和研究
发表于: 2010-1-28 16:59 41161

[讨论]希望开展时空平衡算法(彩虹表及完美表)的学习和研究

2010-1-28 16:59
41161
时空平衡算法(time-memory trade-off)可以针对的目标算法和应用程序比较广泛,个人也可以开展攻击,所以使用的人数众多。近5年来其发展的很迅速,很多理论界的人提出了多项改进方法。希望有兴趣的朋友一起来学习研究,这个东西实用性较强,希望可以产生一些成果。最次,大家可以一起学习新的进展和技术,互相帮助,互相促进,进度也会快很多。

粗略的知识点:
*.理论上这个算法为什么快,及其整个流程的解释
*.相关参数集在mathlab中的使用,及参数的优化
*.SP,EP byte pack优化
*.Index优化
*.重复链清除
*.Checkpoint技术的使用
*.并行化,以及和GPU的结合
*.distinguished point方案?
*.Recuce函数的优化
*.其他....

欢迎补充!欢迎讨论!

【1】时空平衡算法是什么?彩虹表是什么,能吃吗?
        时空平衡算法最早是由密码学科学家Hellman于1980年公开提出的算法。通常的穷举破解有2种极端模式,一种是暴力破解,即尝试数值空间中的每一种可能;一种是预计算表模式,即预先计算出明文/密文对并保存在存储空间中,给定一个密文进行匹配查找。暴力破解的时间复杂度为O(N),预计算表的空间复杂度为O(N)。而时空平衡算法的本质是将解密的时间复杂度和空间复杂度进行平衡,并可以根据需要调整这个平衡点。其默认时间复杂度和空间复杂度分别为O(N^(2/3))。
        时空平衡算法经过了多年的发展和改进。
        1982年Rivest提出了基于DP(distinguished point)的改进方案,可以大幅缩减查表操作的次数。
        2003年瑞士密码学博士Philippe Oechslin提出了新的优化建议,并对新算法产生的表命名为“彩虹表”,这种优化算法是目前最常用的算法,也是一些更优算法的基础。
        时空平衡算法由于其适用范围广泛,当前广泛应用于解密工程中。目前可以利用它来破解的加密算法有:SHA系列,MD4,MD5,MSSQL,MYSQL,LM,NTLM,Oracle,Word/Excel破解,PDF破解,GSM的A51,Cisco路由器口令,以及各种复合要求的加密算法。

[课程]Android-CTF解题方法汇总!

收藏
免费 7
支持
分享
最新回复 (36)
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
2
A Space-Time Trade-Off in Exhaustive Search Attacks on Stream Cipher.pdf (25.0 KB)
上传的附件:
2010-1-28 17:22
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
3
Space-Time Trade-Offs for Higher Radix Modular Multiplication.pdf (55.7 KB)
上传的附件:
2010-1-28 17:24
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
4
Cryptanalytic Time-Memory Trade-Off
Cryptanalytic Time-Memory Trade-Off
  
Project leader : Gildas Avoine

Research Team : Information Security Group (GSI)

Link : http://www.sites.uclouvain.be/security/

Description :

Many cryptanalytic problems can be solved in theory using an exhaustive search in the key space, but are still hard to solve in practice because each new instance of the problem requires to restart the process from scratch. The basic idea of a time-memory trade-off is to carry out an exhaustive search once for all such that following instances of the problem become easier to solve. Thus, if there are N possible solutions to a given problem, a time-memory trade-off can solve it with T units of time and M units of memory. In the methods we are looking at, T is proportional to N2/M2 and a typical setting is T=M=N2/3.

Cryptanalytic time-memory trade-offs have been introduced in 1980 by Hellman and applied to DES. Given a plaintext D and a ciphertext C, the problem consists in recovering the key K such that C=EK(D) where E is an encryption function assumed to follow the behavior of a random function. Encrypting D under all possible keys and storing each corresponding ciphertext allows for immediate cryptanalysis but needs N elements of memory. The idea of a time-memory trade-off is to find a trade-off between the exhaustive search and the exhaustive storage. For that, an exhaustive search is carried out once (precomputation) and only a subset of generated values is kept.

In 2003, Oechslin introduced the trade-off based on rainbow tables and demonstrated the efficiency of his technique by recovering Windows passwords. In collaboration with Philippe Oechslin (Objectif Sécurité) and Pascal Junod (HEIG-Vd), we provided a formal analysis of rainbow tables and improved them using a new concept called checkpoints. We still work on the improvement of the time-memory trade-off using new approaches.

| 30/07/2009

Source from http://www.uclouvain.be/281592.html
2010-1-28 23:28
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
5
2010-1-28 23:33
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
6
A Time-Memory Trade-off Attack to Bit Search Generator and Its Variants
上传的附件:
2010-1-28 23:48
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个不是英文论文啊...
2010-1-29 13:43
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
8
那就看圖說故事囉。
我是沒問題啦。
2010-1-29 14:19
0
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
时空平衡算法。。。。。。
2010-1-29 20:53
0
雪    币: 132
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
时空平衡,用四维思想么
2010-1-30 12:03
0
雪    币: 279
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
在破解密码上面,用空间换取时间,时间和空间的相对平衡
2010-2-1 09:33
0
雪    币: 1753
活跃值: (850)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
12
都是E文的~!~!?????
╮(╯3╰)╭
2010-2-18 21:58
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
确实,虽然这个算法已经出来30年了,而且应用的如火如荼,但是国内绝大多数都是应用,真正研究,优化,改进的非常少。记得能找到的公开发表的中文文章只有一篇... -_-!
2010-2-18 23:56
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
time-memory trade-off通常翻译成“时空折衷”一词吧,时空平衡的叫法很别扭。
2010-2-19 17:31
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
对,也有翻译为"时空折衷"的,通常"时空平衡"、"时空折衷"、"时空权衡"都可以,因为我们这边冯登国,卿斯汉老师通常翻译为"时空权衡"或"时空平衡"所以我就习惯的称为时空平衡,意为“在时间复杂度和空间复杂度之间取一个最佳的平衡点”。
2010-2-20 14:23
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
LZ是中科院的吗?本人中科大的学生,有个同学写了一篇关于TMTO的博士论文,跟你提出的研究主题倒是比较接近。
2010-2-20 20:31
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
我是软件所的。这个属于强力攻击的一个分支,剑走偏锋,博士论文写这个还不错,有点新意。
能否跟你同学说说,某个时间后共享一下博士论文?嘿嘿,让大家也学习下~
2010-2-21 23:11
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
那个同学是部。队。上的,我大概看了一下他的论文,但是没法提供论文资料,抱歉。
2010-2-22 19:55
0
雪    币: 232
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
19
以前看过一点Rainbow Table的相关东西,感觉最大的不方便就是表的生成,太耗时了。
用GPU同时计算多个chain,应该可以很大程度的提升表的生成速度,这方面rainbowcrack就有个cuda的版本,其他的还没见到过。

原理方面感觉看一遍rainbowcrack-1.2的实现就差不多了,wiki上解释原理还附了图:
http://en.wikipedia.org/wiki/Rainbow_table

唯一的遗憾是对于reduction function R(x)到现在我还是没有弄明白,rainbowcrack里是将哈希值对明文空间取余得到一个数,然后对照字符集转成明文内容。但是我自己写了个测试的哈希函数,用这种方式查表确只有5成不到的成功率(感觉是哈希函数不均匀导致的)
2010-3-1 16:53
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
20
Security evaluation of certain broadcast encryption schemes employing a generalized time-memory-data trade-off.pdf (89.8 KB)
上传的附件:
2010-3-3 00:30
0
雪    币: 420
活跃值: (77)
能力值: ( LV13,RANK:500 )
在线值:
发帖
回帖
粉丝
21
2010-4-7 15:30
0
雪    币: 1270
活跃值: (109)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
22
上次讨论的求素数方法也提到了“时空折衷”。
2010-4-8 09:05
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
你已经明白reduction 函数的大概意思了,就是这样的。它得到一个hash对应明文空间映射的index。
reduction函数非常重要,如果作出更好的reduction函数,则可以提高整个算法的效率,通用性的,无论具体解密算法是什么。
2010-4-8 12:03
0
雪    币: 328
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
[QUOTE=kanghtta;787358]还有篇:
http://kestas.kuliukas.com/RainbowTables/[/QUOTE]

这个虽然不是正式论文,但是图文并茂,对于理解基本含义来说很不错!多谢提供~
2010-4-8 12:04
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
请问要怎么样确定链表的长度以及链的个数呢?
2010-5-19 15:31
0
游客
登录 | 注册 方可回帖
返回
//