From: Johannes Baagoe on
Ry Nohryb :

[...]

> var stat= document.getElementById('idStatus') ||
> document.body.appendChild(document.createElement('pre'));

[...]

> stat.innerHTML= [n, "[ "+ vector+ " ]", key];

[...]

Any particular reason why you do it in a browser ? I would have gone
straight to standalone v8.

--
Johannes
From: Ry Nohryb on
On May 13, 5:25 pm, Johannes Baagoe <baa...(a)baagoe.com> wrote:
> Ry Nohryb :
>
> > Coov,***** This, I agree, is no real security :)
>
> Well done !
>
> Now, what about the real password ? Shall I post it, or does anyone want
> more time to try ?

How long is the other pwd :-) ? I can test them @ 180 KHz on a single
Core2, in Chrome. But there's still the question of how to know when
to stop, if you hadn't given me the .substring(0,5) ==== "*****"
hint ?
--
Jorge.
From: Ry Nohryb on
On May 13, 5:40 pm, Johannes Baagoe <baa...(a)baagoe.com> wrote:
> Ry Nohryb :
>
> [...]
>
> >   var stat= document.getElementById('idStatus') ||
> > document.body.appendChild(document.createElement('pre'));
>
> [...]
>
> >     stat.innerHTML= [n, "[ "+ vector+ " ]", key];
>
> [...]
>
> Any particular reason why you do it in a browser ? I would have gone
> straight to standalone v8.

It's easier, much more convenient: you just navigate to the page,
press cmd-I, paste my code and hit enter...

And in Chrome, if you open a second tab and do the same but choosing a
different vector to start from (e.g. [31,31,31,31]), it will run in
parallel in the second core (if on a Core2). And if you've got 4
cores... open 4 tabs, and so on.
--
Jorge.
From: Johannes Baagoe on
Ry Nohryb :
>Johannes Baagoe :

>> Now, what about the real password ? Shall I post it, or does anyone
>> want more time to try ?

> How long is the other pwd :-) ?

8 chars - rather too short for serious use, but probably long enough here,
especially if you crack in javascript. Chrome's v8 is astonishingly
fast, but still much slower than C or asm, of course.

> I can test them @ 180 KHz on a single Core2, in Chrome.

That makes 62^8 / 180000 seconds, more than 38 years. Of course, you may be
lucky and hit the right combination in the first seconds, but I wouldn't
bet on it :)

> But there's still the question of how to know when to
> stop, if you hadn't given me the .substring(0,5) ==== "*****" hint ?

Well, in most real cases, the plaintext contains well-known parts, e.g.
markup. And / or the letters have a frequency that is not too far
from the average for the language. Etc. Those are reasonably safe
assumptions for the enemy, and there is not much you can do about it.

So you don't give much away by acknowledging the obvious in the code, and
it provides a sanity check allowing you to put up a helpful "Wrong password"
message instead of God knows what comes out of a wrong decryption. AES is
supposed to be resistant to any known plaintext attack, anyway.

--
Johannes
From: Johannes Baagoe on
Ry Nohryb :

> there's still the question of how to know when to stop, if you hadn't
> given me the .substring(0,5) ==== "*****" hint ?

Suppose the very worst case : you know absolutely nothing about the
plaintext, except that it is supposed to be read and understood by humans.

What simple property would still quite decisively set it apart from the
decryption with a wrong key ? How could you test that property by program ?

--
Johannes