Wednesday, March 4, 2015

Hash Workshop

0


  • Date : 2-3-4 March 2015
  • Time: 4PM - 6PM
  • Workshop Title: Hash Function
  • Location : CIT - UAEU



As the title implies, I've enrolled myself in a 3-fantastic-day workshop. It's a workshop that's related to my major and I couldn't wait to start off with it although it was part of my Cryptography course but I did not really care. It was something I wanted to sign up for mainly because my favourite professor was running it and because it was one of my favourite Cryptography topics. One that is worth knowing actually. Plus the timing was just great, I had just finished 2 of my nerve-wrecking quizzes and thought why not go for it. Anyways, the following summarises the 3 day workshop.

**Day 1**
  • Briefly introducing Hash Function through a real-life example & explaining the importance of it.
  • Going through the properties of Hash Function and what makes it a one-way function
    • The size of the message as in the input is not fixed (i.e. it can be of any size) , however, the size of the output is fixed (128 bits) regardless. That's what makes it facinating.
    • This means that messages of different sizes can have the same hash value H(x) but it's impossible to find these 2 messages though they exist.
  • Explaining - my favourite - hash function example : MD5
    • Our instructor analysed the contents of the MD5 hash as well as provided a very detailed diagram as follows 
    • He carefully explained how to calculate the number of blocks needed given the length of the message:
      • Convert the message given to bits ( let's call this value x ).
      • x (mod512) , then take the digit part of the decimal ( let's call this value y).
      • Number of blocks = y +1
      • Why "y+1"?
        • Because throughout the process we were calculating the number of blocks needed for the message we were given, in order to have space for the padding and the message length of 64-bits we need an extra block for that.
      • What if the message was greater than 2^64?
        • In this case we should call the message M and do the following : M(mod(2^64)).
  • By the end of the day we were able to use Excel to convert the ingredients of the MD5 functions for the next day, we were also able to draw a clear image of the steps we were going to follow to generate the 128-bit output:
    1. Determine the number of blocks
    2. Determine the padding and message length
    3. Append the message length in a 64-bit representation, incase the message was greater then 2^64 then the result is as follows : M(mod(2^64))
    4. We now initialize the MD5 buffer, by using the words A.B.C.D.

**Day 2**


Throughout the second day of the workshop we were able to work our way through the rest of the MD5 steps and perform the message digests, calculate the T's and knowing how to work with the functions needed for the 4 rounds and 16 steps involved in each round. This was possible with Excel, which I never knew would be any handy for me but it really was! I loved how as a security engineer I was able to actually analyse the given bits and divide them respectively as needed! My favourite part of the workshop was the second day because it was "hands-on" with Excel and I was actually working my way through the MD5 function with Excel. During my Crypto course, we had to work out the function on paper which was fun and awful to focus on 1s and 0s but still it was a great experience regardless of the confusion we had to overcome.Doing your work by hand is usually way better than using the computer to do it for you because the main goal of learning is to get your hands dirty..and we got them really dirty! :-)


**Day 3**

Sad to say but the last day of the workshop was filled with mixed emotions. I was enjoying my time so much and I was very ready to do so for a longer period of time ( 3 days weren't enough for the Hash but they were 3 days of great experiences) . Although this was my second time dealing with the Hash function, it felt like I was able to grasp everything I needed to know about this marvellous function in such a short time and to actually work on an example to help me know how things work with the Hash. To wrap this workshop the instructor focused on possible attacks on MD5 that I thought was not prone to attacks, but today was such a shock to me when I was able to actually see how an attack was possible on the MD5 which was kind of creepy but exciting at the same time and I'm blessed to witness it.

I just hope I get the chance to sign-up for a follow up workshop to this one or even for better ones in the near future! :)

Thank you sir!!

Related Posts:

  • Hash Workshop Date : 2-3-4 March 2015 Time: 4PM - 6PM Workshop Title: Hash Function Location : CIT - UAEU As the title implies, I've enrolled myself in a 3-f… Read More

0 comments:

Post a Comment