large key space in encryption schemes

Hi Guys .. today I will try my best to explain why we need to use larger key space in our encryption schemes ..

Okay so lets get something out of the way first .. key size is a factor among many others to make an encryption scheme secure .. so using large key size will give you a better security but it will not prevent attacking your scheme .. okay to start this let me demonstrate with an example, let suppose we have 3 elements {1,2,3} and we want to arrange them in every possible way, so it will be like this

{1 -> 2 -> 3} , {1 -> 3 -> 2} , { 2 -> 1 -> 3} , {2 -> 3 -> 1} ,  { 3 -> 1 -> 2 } , { 3 -> 2 ->1 }  .. as you can see 3 elements produced 6 different possibilities   “3! factorial” .. but in computers we tend to use binary as a way to represent data and binary system consist only with (0,1)  so if we want to represent 4 bits {0,0,1,1} it will be represented like this  24  and this will produce 24 different possibilities so I think you know got the idea the more permutations you use the more possibilities you have .. some old encryption schemes used small key sizes like “DES” used key size of 56-bit length and this is considered easy to brake by brute force with modern hardware .. but on the other hand modern encryption schemes uses large key sizes starting from 128-bit and this is considered good to use, 2128 = 340282366920938463463374607431768211456 possible keys of 128 bits, that’s a lot and trying all of them will take millions of years.. I know what you think right now! because we are using modern encryption with large keys why we are vulnerable against attacks ? you ready to hear the answer ? it’s because there is a human factor and humans are lazy and will prefer short passwords .. Any decent password cracking software will first try all possible very short passwords less or equal to 6 characters and then it will try meaningful words and if the user is lazy enough his password will be decrypted in a matter of  seconds.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>