Skip to main content

Posts

Showing posts from October, 2017

Vigenere decipher process

In an earlier post we discussed a method to encrypt a string using Vigenere Cipher, in this post we see the method to decrypt the encrypted message. The  Vigenère cipher  is a method of  encrypting   alphabetic  text by using a series of interwoven  Caesar ciphers  based on the letters of a keyword.  It is a form of  polyalphabetic substitution . Even though the vigenere cipher is easy to understand and implement, for three centuries it resisted all attempts to break it. In order to encrypt a given message, a table of alphabets can be used, termed a  tabula recta , The following is the image of the Table. the above table   consists of the alphabet written out 26 times in different rows, each alphabet shifted cyclically to the left compared to the previous alphabet.  At different points in the encryption process, the cipher uses a different alphabet from one of the rows. The alphabet used at each point depends on a repeating keyword. Now let us consider an example to

Encrypt files using Vigenere Cipher

In this post we discuss a method to encrypt your files using  Vigenère Cipher . The  Vigenère cipher  is a method of  encrypting   alphabetic  text by using a series of interwoven  Caesar ciphers  based on the letters of a keyword.  It is a form of  polyalphabetic substitution . Even though the vigenere cipher is easy to understand and implement, for three centuries it resisted all attempts to break it. In order to encrypt a given message, a table of alphabets can be used, termed a  tabula recta , The following is the image of the Table. the above table   consists of the alphabet written out 26 times in different rows, each alphabet shifted cyclically to the left compared to the previous alphabet.  At different points in the encryption process, the cipher uses a different alphabet from one of the rows. The alphabet used at each point depends on a repeating keyword. Now let us consider an example to understand the process of encryption, For example, suppose that the 

Counting sort Algorithm

 Want to sort numbers in a given range? Use Counting sort algorithm. Counting sort is a integer sorting algorithm, It is a non-comparison sorting algorithm as it does not compare different elements rather it uses index of elements and their count while sorting them. Counting sort is a linear sorting algorithm and must be used when elements are in a given range and variation in the elements is not much. It simply operates by counting the number of occurrences of  different elements in a given range, as it is a linear sorting technique it has time complexity of   O(n + k) where 'n' is the number of elements in the array and 'k' is the number of elements between max and min elements. let us consider the below example,  let the array of numbers to be sorted be  arr = {1,3,2,1,3,3,2} here, n = 7, min = 1, max = 3 hence k = 3 now we create a array that holds counts of all the elements, 1 has occurred 2 times, 2 has occurred 2 times and 3 has occurred 3 tim