Free Rainbow Tables | Forum

Home of the Distributed Generator and Cracker
It is currently 24 Apr 2014, 17:58

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: Advanced RT Calculator
PostPosted: 20 Aug 2010, 04:54 
Offline
MΩth √G∑∏∫∪≤

Joined: 03 Dec 2007, 11:37
Posts: 1059
This is a Beta release of "Advanced RT Calculator"
http://www.tobtu.com/rtcalc.php

_________________
http://www.tobtu.com/


Top
 Profile  
 
 Post subject:
Posted: 30 Sep 2010, 16:03 


Top
  
 
PostPosted: 30 Sep 2010, 16:03 
Offline
Site Admin

Joined: 11 Oct 2007, 21:17
Posts: 1618
Location: Copenhagen, Denmark
Sc00bz wrote:
This is a Beta release of "Advanced RT Calculator"
http://www.tobtu.com/rtcalc.php


It looks like some decent work. It really works good.
What is the "fix point multiply" you mention as a reduction function? I haven't seen you mention it anywhere else.


Top
 Profile  
 
PostPosted: 30 Sep 2010, 20:01 
Offline
MΩth √G∑∏∫∪≤

Joined: 03 Dec 2007, 11:37
Posts: 1059
The name is new but it's the idea I came up with about 2 years ago. I just always said uses multiply instead of divide, but when I tried coming up with a name to call it I realized I was doing fixed point multiplication. Wait I called it "fix point multiply" is that even proper English?

You take 32 bits from the hash "ffffffff" and pretend there is a fixed point in front so "0.ffffffffh" then multiply by character set length 36 (0x24).
int(0x24 * 0.ffffffffh) = int(23.ffffffdch) = 0x23 (use like 0xffffffff % 36)
frac(0x24 * 0.ffffffffh) = frac(23.ffffffdch) = 0.ffffffdch (use like 0xffffffff / 36)

I'm using 0x... on integers and ...h on fixed point numbers.

_________________
http://www.tobtu.com/


Top
 Profile  
 
PostPosted: 30 Sep 2010, 21:26 
Offline
Site Admin

Joined: 11 Oct 2007, 21:17
Posts: 1618
Location: Copenhagen, Denmark
Sc00bz wrote:
The name is new but it's the idea I came up with about 2 years ago. I just always said uses multiply instead of divide, but when I tried coming up with a name to call it I realized I was doing fixed point multiplication. Wait I called it "fix point multiply" is that even proper English?

You take 32 bits from the hash "ffffffff" and pretend there is a fixed point in front so "0.ffffffffh" then multiply by character set length 36 (0x24).
int(0x24 * 0.ffffffffh) = int(23.ffffffdch) = 0x23 (use like 0xffffffff % 36)
frac(0x24 * 0.ffffffffh) = frac(23.ffffffdch) = 0.ffffffdch (use like 0xffffffff / 36)

I'm using 0x... on integers and ...h on fixed point numbers.


Wow, that's a great idea! (Just like all the other ideas from you)
I must have missed that post from you!
Did you try to do an implementation of it or is it just theoretic so far?
Did you do some math of how many merging chains you get with only using 32 bits compared to the 64 bit rainbow crack use?


Top
 Profile  
 
PostPosted: 01 Oct 2010, 15:17 
Offline
MΩth √G∑∏∫∪≤

Joined: 03 Dec 2007, 11:37
Posts: 1059
PowerBlade wrote:
Did you try to do an implementation of it or is it just theoretic so far?
Did you do some math of how many merging chains you get with only using 32 bits compared to the 64 bit rainbow crack use?

post5758.html#p5758
I implemented it but it was a very specific case password lengths 1-6 and used reversing. The 32 bit version on a 2.5 GHz Core2Quad gets 87.6 million links/sec. I rewrote this to use CUDA, but I hard coded in the Omni-6 through Omni-8 key spaces.

It should be a little worst for chain merges than the current method even though I'm using 128 bits form the hash instead of 64 bits like rcrack. So LM (and variants), MySQL323, and Cisco PIX won't work (without modifications which will/might cause problems). LM could be done with all-space#7-7 nicely if you take 3 characters from each 32 bit integer and then 23 and 3 from each and multiply then the "3" by 23 and add them. MySQL323 (62 bit hash) rainbow tables are pointless anyway. Cisco PIX (96 bit hash) which will cause problems if you want to do more than one key space block like numeric#1-7 which would be 7 key space blocks. Right this method doesn't work well if you do 1-n. You need to do a minimum of 5 (5-n). So that the smallest key space block is not negligible compared to the total key space. With Omni-6 the smallest key space block is 1/49,973 the total key space and 1/348,168 for Omni-7. Since you can just brute force 0-4 in under a second it doesn't really matter.

For a character set length of 95 you'll probably get bad results if you take more than 3 characters from a 32 bit number which limits you to 9 characters which is 2^59.13. You can do a 10 character long password with 95 characters (2^65.70) in a single rainbow table set if you separate the key space into different blocks such as [ -\+][ -~]{9}, [,-7][ -~]{9}, [8-C][ -~]{9}, [D-O][ -~]{9}, [P-\[][ -~]{9}, [\\-g][ -~]{9}, [h-s][ -~]{9}, and [t-~][ -~]{9}. Which is just like having 8 hybrid key spaces blocks combined which is allowed with my method.

_________________
http://www.tobtu.com/


Top
 Profile  
 
PostPosted: 01 Oct 2010, 16:19 
Offline
Site Admin

Joined: 11 Oct 2007, 21:17
Posts: 1618
Location: Copenhagen, Denmark
Ok, I will probably have to read your text 10-20 times before I understand it properly..
My next question:
On your rainbow table calculator, you have a file format called Index Perfect Rainbow Table. What format is that? And which of the listed file formats do you find the most efficient to store rainbow tables in?


Top
 Profile  
 
PostPosted: 02 Oct 2010, 04:06 
Offline
MΩth √G∑∏∫∪≤

Joined: 03 Dec 2007, 11:37
Posts: 1059
PowerBlade wrote:
On your rainbow table calculator, you have a file format called Index Perfect Rainbow Table. What format is that? And which of the listed file formats do you find the most efficient to store rainbow tables in?

IPRT is the best it gets it down to <1/3 *.rt format, but the tables need to be perfect. Also there is some data loss which requires a little extra calculations when cracking but still can be stored so that it is faster and smaller than IRT. IRT gets it down to <1/2 *.rt format. RTI2 gets it down to <1/2 *.rt format, but is a few bits/chain larger than IRT.

The format info tab has more info on each of the formats that I've run across in order of best to worst (IPRT, IRT, RTI2, RTC, Ophcrack, RTI, RT, GRT, "RTard," RTI0). Oh right I still have a â„¢ on RTard. I TMed it because it makes it sound awesomer. It's name came from RT + tard (Latin root meaning slow). I need to update RTI2 from ~1/2 to <1/2 *.rt format and figure out the cases when it's larger than 1/2 *.rt format like I did with IPRT and IRT (well there are the basics such as check points and non sequential start points. I think the only other one is key space >2^50).

_________________
http://www.tobtu.com/


Top
 Profile  
 
PostPosted: 02 Oct 2010, 06:19 
Offline
Site Admin

Joined: 11 Oct 2007, 21:17
Posts: 1618
Location: Copenhagen, Denmark
Haha, I thought you named it like that because you thought it was a retarted file format :D
Did you do an actual implementation of the IPRT file format or do I have to make it myself? :)


Top
 Profile  
 
PostPosted: 04 Oct 2010, 02:25 
Offline
MΩth √G∑∏∫∪≤

Joined: 03 Dec 2007, 11:37
Posts: 1059
PowerBlade wrote:
Did you do an actual implementation of the IPRT file format or do I have to make it myself? :)

It's theoretical until I go through this program that generates the "magic data." The problem with this format is it might take awhile to generate the "magic data."

_________________
http://www.tobtu.com/


Top
 Profile  
 
PostPosted: 04 Oct 2010, 03:57 
Offline
Total Hash Enlightenment

Joined: 15 Jul 2009, 22:38
Posts: 1486
Location: Dallas, TX, USA
Sc00bz wrote:
The name is new but it's the idea I came up with about 2 years ago. I just always said uses multiply instead of divide, but when I tried coming up with a name to call it I realized I was doing fixed point multiplication. Wait I called it "fix point multiply" is that even proper English?

You take 32 bits from the hash "ffffffff" and pretend there is a fixed point in front so "0.ffffffffh" then multiply by character set length 36 (0x24).
int(0x24 * 0.ffffffffh) = int(23.ffffffdch) = 0x23 (use like 0xffffffff % 36)
frac(0x24 * 0.ffffffffh) = frac(23.ffffffdch) = 0.ffffffdch (use like 0xffffffff / 36)

I'm using 0x... on integers and ...h on fixed point numbers.


Switching to multiply instead of divide is a really good idea. I've wasted a lot of time trying to get x86/x86_64 to play nice with divides. The short answer is you convert it to a complicated mix of shifts, multiplies, adds, subtracts, etc. and basically pretend like you're running on an ISA without divide because of how terrible the performance is. 32-bit mode on x86, ia32, or x86-64, you're stuck using EAX and EDX no matter what, or RAX and RDX which negates the whole point of the new 8 GPRs, r8 - r15. So sadly GPR on x86/x86-64 is not the same as a GPR on MIPS or PPC. (Between the Intel and AMD arch books and their optimization recommendations one is left wondering how in 30+ years x86 still lacks a divide worth using and compilers still haven't sorted it out either. The topic was on the gcc mailing list in the last 2 weeks even.) Also, the unsigned divides look like amazing performers compared to the signed divides :(

"fix point multiply" isn't proper English but "fixed point multiply" is.


Top
 Profile  
 
PostPosted: 04 Oct 2010, 04:01 
Offline
Total Hash Enlightenment

Joined: 15 Jul 2009, 22:38
Posts: 1486
Location: Dallas, TX, USA
Sc00bz wrote:
The format info tab has more info on each of the formats that I've run across in order of best to worst (IPRT, IRT, RTI2, RTC, Ophcrack, RTI, RT, GRT, "RTard," RTI0).


Ha and I'm just now merging RTI2 from gitorious into rcracki_mt.


Top
 Profile  
 
PostPosted: 04 Oct 2010, 11:41 
Offline
Site Admin

Joined: 11 Oct 2007, 21:17
Posts: 1618
Location: Copenhagen, Denmark
quel wrote:
Sc00bz wrote:
The format info tab has more info on each of the formats that I've run across in order of best to worst (IPRT, IRT, RTI2, RTC, Ophcrack, RTI, RT, GRT, "RTard," RTI0).


Ha and I'm just now merging RTI2 from gitorious into rcracki_mt.


RTI2 is still the best file format because IPRT is only theoretic. :)


Top
 Profile  
 
PostPosted: 04 Oct 2010, 16:35 
Offline
Total Hash Enlightenment

Joined: 15 Jul 2009, 22:38
Posts: 1486
Location: Dallas, TX, USA
PowerBlade wrote:
RTI2 is still the best file format because IPRT is only theoretic. :)


:)

When I finish merging and testing I will push it to my gitorious clone and send a merge request. I have 6 files to go but in the end will have changes to all or nearly all files as I'm syncing rcracki.sourceforge.net as well. Perhaps our next generate may be RTI2 when this one finishes.


Top
 Profile  
 
PostPosted: 14 Oct 2010, 04:12 
Offline
Shoulder Surfer

Joined: 14 Oct 2010, 03:46
Posts: 1
Sc00bz wrote:
This is a Beta release of "Advanced RT Calculator"
http://www.tobtu.com/rtcalc.php


Such a very amazing link!
Thanks you for the post.

_________________
watch movies online for free


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group