Algorithm Sundays: Encrypting and Decrypting the Vigenère Cipher

We're back for another Algorithm Challenge. Today we will be looking at a cipher that was considered to be unbreakable for over three centuries. It was only in the middle of the 19th century, that the code breakers finally caught up with this ingenious method of encryption. The Vigenère Cipher originated at a time when cryptography was flourishing. Encrypting sensitive messages had not only become an important part of military and diplomatic communication but found its way into private households as well. Talented cryptanalysts were sought out across nations to decipher encrypted messages of enemies. More and more ciphers were broken by those cryptanalysts and in consequence, did not offer the security that was needed to ensure safe communication anymore.… read more »

Algorithm Sundays: Fibonacci Number Sequence and Recursive Functions

Welcome back to our weekly algorithm challenge. After having previously discussed Roman Numerals and the Caesar Cipher, today's post will travel even further back in time. The first occurrences of Fibonacci numbers were found in Indian mathematic transcripts in 700AD. However, their first appearance in the western civilization was much later. It was an Italian mathematician and merchant named Leonardo Bonacci, who introduced the western world to these foreign arithmetics. Consequently, the Fibonacci Pattern was named after him and not after Indian mathematicians such as Virahanka. The idea of Fibonacci numbers is simple. It's a sequence in which the sum of the two previous numbers will define the next upcoming number. Let's take a look at a set of Fibonacci… read more »

Read this to learn about Algorithms

Algorithm Sundays: Converting Roman Numerals

After looking at Caesars very own encryption cipher last Sunday, Roman numerals were the obvious choice for today's post. Roman numerals were the standard way of writing numbers for over a thousand years in our history. Even after the decline of the Roman Empire, they remained in use for many centuries. Eventually they were replaced by the Arabic numbers that we are still using today. Converting Roman numerals to their more legible decimal counterparts is a beginner-friendly algorithm challenge you will find on many exercise websites. Do you remember how to count to 1000 using Roman numerals? Just in case that it's been a while since you've encountered Medieval Latin literature, have a look at the table of numbers below.… read more »

Read this to learn about Algorithms

Algorithm Sundays: Decrypting a ROT-13 Caesar Cipher

Is there anything better than starting your Sunday with a steaming hot mug of coffee and an algorithm challenge to get your brain juices flowing? I don't think so. Writing algorithms is a perfect way for you to stay sharp and be prepared for all kinds of challenges life (or your boss) is throwing at you. Please keep in mind that for most problems there are many ways to solve them and it's difficult to decide for a best solution. The one that runs quickest? The one that takes the least lines of code? The one that can be read easiest by your colleagues? I highly encourage you to take some time and think about the presented problem first. Try… read more »