Live data from Hacker News

Passwordle

rsk0315.github.io

181–190 of 263 posts

Re: Passwordle

#181
passWORDLE X/10 5 46 ⬜13 5 46 ⬜13 1 44 ⬜19 4 46 ⬜14 5 42 ⬜17 3 42 ⬜19 6 44 ⬜14 0 45 ⬜19 5 41 ⬜18 3 43 ⬜18

Re: Passwordle

#183
post #82
post #73

Earlier quoted context omitted.

If the debugger is open, Passwordle automatically breaks the execution right where the answer is determined. Now that's service.

TIL there's a "debugger" keyword[0] in JavaScript that auto-sets a breakpoint at that line. [0] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

that is so funny, I learned that today too on a completely different page!!!

Re: Passwordle

#184
post #173
post #164

Earlier quoted context omitted.

> Can you enumerate the remaining 1/256th of the search space? Not with anything other than a brute force search, minus the one password you tried. The exact same brute force search that you would have needed to solve the problem in the first place. Your one password attempt has yielded one password's worth of knowledge. You, a human, don't have eight bits of information. You have almost nothing. Eh, the actual searc…

"Eh, the actual search space for reasonable online guesses is cut down by 10000x." Only in theory . In order to determine which 9999 out of 10000 guesses are no longer relevant, the only known method you have is to compute the hashes of all the 10000 representatives anyhow... which is, again, the exact same problem you started out with at the beginning. You have theoretical information because you've made theoretical…

[deleted]

Re: Passwordle

#187
post #173
post #164

Earlier quoted context omitted.

> Can you enumerate the remaining 1/256th of the search space? Not with anything other than a brute force search, minus the one password you tried. The exact same brute force search that you would have needed to solve the problem in the first place. Your one password attempt has yielded one password's worth of knowledge. You, a human, don't have eight bits of information. You have almost nothing. Eh, the actual searc…

"Eh, the actual search space for reasonable online guesses is cut down by 10000x." Only in theory . In order to determine which 9999 out of 10000 guesses are no longer relevant, the only known method you have is to compute the hashes of all the 10000 representatives anyhow... which is, again, the exact same problem you started out with at the beginning. You have theoretical information because you've made theoretical…

> In fact, we can play that game right now. The SHA256 hash [1] of "mlyle" is "CAD9051E126DA9BC7CB4048C4CA28804CCFEE0E3824F4E63FC151BC5E30B96D0". Using this information, please produce a password with the hash CAD9051E126DA9BC7CB4048C4CA28804CCFEE0E3824F4E63FC151BC5E30B96D1, differing only in the last bit. Ideally the shortest password using letters, numbers, and symbols in US ASCII, but honestly I'll take any binary string.

Just to note: this is not the game.

The game is, given a bunch of bits of the hash output, identify which of a known set of input produces that hash output.

Identifying which word in /usr/share/dict/words has the hash:

0f??????????????????????????????9d??????d2??????????????????????

is trivial.

Yes, enumerating all possible 14 character passwords is impractical... but if it was a 10 character password input, it again would be trivial.

The point is, the hints make it possible to know whether you've got the correct answer. You have an oracle, that tells you whether a given password you're considering is correct. Without this information, you don't have that oracle and cannot complete the search offline.

edit: woops, I didn't narrow the search space quite enough! There's two matching words.

    mlyle@powerbook ~ % time ./meh.py | grep '0f..............................9d......d2......................'
     0feeefd1e67f9c16131f9fa0c581cfef9d7f1fc3d2801f157c18d5dff5db4a53 abdominocystic
    0f6fe3980f4d7d6d642868e125ebb00a17a02cec9d8e9a6cd2cdce137b63735f feminility
    ./meh.py  0.22s user 0.01s system 89% cpu 0.264 total
    grep '0f..............................9d......d2......................'  0.21s user 0.00s system 83% cpu 0.260 total

Re: Passwordle

#188
post #164
post #148

Earlier quoted context omitted.

This is one of those places where it's easy to conflate computer bits with information theory bits. You may have eight computer bits, but in order for you to have eight bits of information , you must have your search space cut down by a factor of 256, not just the abstract concept of a search space cut down. Can you enumerate the remaining 1/256th of the search space? Not with anything other than a brute force search…

> Can you enumerate the remaining 1/256th of the search space? Not with anything other than a brute force search, minus the one password you tried. The exact same brute force search that you would have needed to solve the problem in the first place. Your one password attempt has yielded one password's worth of knowledge. You, a human, don't have eight bits of information. You have almost nothing. Eh, the actual searc…

I can give you the full hash so that you can be done in one guess if you have a giant rainbow table of precomputed hashes. Still, the full hash doesn’t reduce the search space at all, assuming SHA256 is secure. Sure, you can cut down on the number of oracle queries, but that’s not the limiting factor of this game.

Re: Passwordle

#189

Earlier quoted context omitted.

Yeah because the algo is known, it is SHA256. The thing is you don't know the length of the password. It could be more than the number of hydrogen atoms in the universe, or 12. You still have to brute force or look up one possible solution (or collision thereof). The whole thing just shows that a hash makes ZERO applicable inferable assertions about the message (password). Thats the definition of evenly distributed h…

I think for something this checking the source for the generation algorithm is fair game. here it is: function randomInt(n) { return Math.floor(Math.random() * n); } function randomPassword() { let letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; let digits = '0123456789'; let punctuation = '!"#$%&\'()\*+,-./:; ?@[\\]^_`{|}~'; let s = letters.repeat(7) + digits.repeat(4) + punctuation.repeat(3); let…

[deleted]

Re: Passwordle

#190
post #188
post #164

Earlier quoted context omitted.

> Can you enumerate the remaining 1/256th of the search space? Not with anything other than a brute force search, minus the one password you tried. The exact same brute force search that you would have needed to solve the problem in the first place. Your one password attempt has yielded one password's worth of knowledge. You, a human, don't have eight bits of information. You have almost nothing. Eh, the actual searc…

I can give you the full hash so that you can be done in one guess if you have a giant rainbow table of precomputed hashes. Still, the full hash doesn’t reduce the search space at all, assuming SHA256 is secure. Sure, you can cut down on the number of oracle queries, but that’s not the limiting factor of this game.

> Sure, you can cut down on the number of oracle queries, but that’s not the limiting factor of this game.

To win the game, you must make fewer than 10 oracle queries.

You can solve the game in 9 oracle queries + 1 massive (impractically large) offline search. The width of the search is 2^92, because that's the entropy of the input to the hash function.

Without the oracle telling you information about the hash, you have to do 2^91 online attempts.

Post reply on HN