|
|
About ::
TODO ::
Blog ::
RSS ::
Old blog ::
Projects ::
GIT ::
Gallery ::
Notes
Mon, 06 Aug 2007
Climbing evening.
That was quite good training, but since I did not have a rest aquite for a while
already, I quickly tired and was not able to climb as usual, so failed even on
quite simple traces, which would be completed without problems otherwise.
After number of new traces on the vertical wall I recalled some simple old ones
and eventually even completed one trace on the negative slope.
Although I was too tired to do that good, it was a good training.
/life :: Link / Comments (0)
Breaking Enigma code or cracking SHA1 hash for fun.
Do you recall my intention to crack this hash.
Well, it is first 20 rounds of the most widely used cryptographic digest called SHA1.
SHA1 contains 80 rounds.
I found a simple way to form a workspace, which, after being processed, results
in the given hash value, i.e. algorithm takes needed hash value as parameter and
creates something used as input, hash of which is exactly the same as requested.
This is not a complete crack of the reduced SHA1 algorithm yet, since
workspace (80 bytes for the first 20 rounds) must be turned into 64 bytes of input,
but it is not that complex task.
I do not know if this algorithm will work with full sized SHA1 (80 rounds instead of 20),
but right now I do not see any problems with it.
Here is an example workspace data:
Input data:
5e ca 9b e6 38 cf cd 33 41 cf 61 b3 fb cd 39 df 65 87 61 b8 2c 1e 56 ac 69 d7 d0 18 7f 9b 0f a3
9c 13 99 4c c0 08 c2 de 2d ed c2 d5 99 f8 94 57 d7 a1 e2 35 93 73 0c 11 5a 80 5e 80 ff a8 54 fe
digest: 136be2b1 e949ef99 b85caa61 c97e39cc 7c53ccc5
Cracked data:
workspace (substitute W in sha_transform() with this data):
a57d8667 a57d8667 a57d8667 a57d8667 a57d8667 a57d8667 a57d8667 a57d8667
a57d8667 a57d8667 a57d8667 a57d8667 a57d8667 a57d8667 a57d8667 96ccb97c
a1900adc c7d34989 3c218123 b2380816
digest: 136be2b1 e949ef99 b85caa61 c97e39cc 7c53ccc5
So, the last task in breaking reduced SHA1 is to find input 64 bytes,
which after processed by this method:
W[i] = rol32(W[i-3] ^ W[i-8] ^ W[i-14] ^ W[i-16], 1);
results in found above workspace.
I do not know, if this can be considered as SHA1 crack, my goal was to complete
it upto exactly this point, i.e. break reduced to 20 rounds SHA1 algo.
Although I will ask Bruce Schneier tomorrow if it is.
Stay tuned, but I will go climbing now.
/devel/math/hash :: Link / Comments (0)
High scalability.
I've found a very interesting resource, http://highscalability.com,
where different scalable systems are described in couple of words with
short note on problems they faced and solutions implemented.
Interesting reading.
/devel/other :: Link / Comments (0)
Mnotify.
Al Boldy requested
an introduction of the new notification system used for delivering
meta information changes (like access time).
He says that although it is possible to use inotify for that, it is too expensive
and unconvenient.
Thinking, how long it will take for someone to introduce new generic enough
event delivery mechanism...
/devel/other :: Link / Comments (0)
|