09.05.2015 |
## Reverse alphabet number cipher |

Codes have been in use as long as people have had to communicate something they didn’t want the whole ruddy world to know.

To encode a message in Caesar Cipher, first align two alphabets; the cipher alphabet being the plain alphabet shifted left or right by a designated number of spaces. To enable deciphering, tell your contact person the key—the number of spaces shifted left or right—and they will perform the process in reverse. In this chapter, we discuss this technique further and its applications to develop various cryptosystems. Unlike modern systems which are digital and treat data as binary numbers, the earlier systems worked on alphabets as basic element. It is a mono-alphabetic cipher wherein each letter of the plaintext is substituted by another letter to form the ciphertext. For this type of scheme, both sender and receiver agree on a ‘secret shift number’ for shifting the alphabet. The name ‘Caesar Cipher’ is occasionally used to describe the Shift Cipher when the ‘shift of three’ is used. In order to encrypt a plaintext letter, the sender positions the sliding ruler underneath the first set of plaintext letters and slides it to LEFT by the number of positions of the secret shift. The plaintext letter is then encrypted to the ciphertext letter on the sliding ruler underneath. On receiving the ciphertext, the receiver who also knows the secret shift, positions his sliding ruler underneath the ciphertext alphabet and slides it to RIGHT by the agreed shift number, 3 in this case.

He then replaces the ciphertext letter by the plaintext letter on the sliding ruler underneath. Caesar Cipher is not a secure cryptosystem because there are only 26 possible keys to try out. The sender and the receiver decide on a randomly selected permutation of the letters of the alphabet.

Underneath the natural order alphabets, write out the chosen permutation of the letters of the alphabet. On receiving the ciphertext, the receiver, who also knows the randomly chosen permutation, replaces each ciphertext letter on the bottom row with the corresponding plaintext letter in the top row.

Monoalphabetic cipher is a substitution cipher in which for a given key, the cipher alphabet for each plain alphabet is fixed throughout the encryption process. All of the substitution ciphers we have discussed earlier in this chapter are monoalphabetic; these ciphers are highly susceptible to cryptanalysis. Polyalphabetic Cipher is a substitution cipher in which the cipher alphabet for the plain alphabet may be different at different places during the encryption process. In this scheme, pairs of letters are encrypted, instead of single letters as in the case of simple substitution cipher. If neither of the preceding two rules are true, form a rectangle with the two letters and take the letters on the horizontal opposite corner of the rectangle. It is also a substitution cipher and is difficult to break compared to the simple substitution cipher. The Playfair cipher was used mainly to protect important, yet non-critical secrets, as it is quick to use and requires no special equipment. This scheme of cipher uses a text string (say, a word) as a key, which is then used for doing a number of shifts on the plaintext.

Here, each plaintext character has been shifted by a different amount – and that amount is determined by the key. For decryption, the receiver uses the same key and shifts received ciphertext in reverse order to obtain the plaintext. Vigenere Cipher was designed by tweaking the standard Caesar cipher to reduce the effectiveness of cryptanalysis on the ciphertext and make a cryptosystem more robust.

In the history, it was regularly used for protecting sensitive political and military information. It is another type of cipher where the order of the alphabets in the plaintext is rearranged to create the ciphertext. An example is a ‘simple columnar transposition’ cipher where the plaintext is written horizontally with a certain alphabet width. For example, the plaintext is “golden statue is in eleventh cave” and the secret random key chosen is “five”. The ciphertext is obtained by reading column vertically downward from first to last column. The receiver then writes the received ciphertext vertically down and from left to right column.

Human being from ages had two inherent needs − (a) to communicate and share information and (b) to communicate selectively.

The art and science of concealing the messages to introduce secrecy in information security is recognized as cryptography.

The word ‘cryptography’ was coined by combining two Greek words, ‘Krypto’ meaning hidden and ‘graphene’ meaning writing.

Later, the scholars moved on to using simple mono-alphabetic substitution ciphers during 500 to 600 BC. The earlier Roman method of cryptography, popularly known as the Caesar Shift Cipher, relies on shifting the letters of a message by an agreed number (three was a common choice), the recipient of this message would then shift the letters back by the same number and obtain the original message. In steganography, an unintended recipient or an intruder is unaware of the fact that observed data contains hidden information.

It is during and after the European Renaissance, various Italian and Papal states led the rapid proliferation of cryptographic techniques. Improved coding techniques such as Vigenere Coding came into existence in the 15th century, which offered moving letters in the message with a number of variable places instead of moving them the same number of places. Only after the 19th century, cryptography evolved from the ad hoc approaches to encryption to the more sophisticated art and science of information security.

In the early 20th century, the invention of mechanical and electromechanical machines, such as the Enigma rotor machine, provided more advanced and efficient means of coding the information. During the period of World War II, both cryptography and cryptanalysis became excessively mathematical.

With the advances taking place in this field, government organizations, military units, and some corporate houses started adopting the applications of cryptography. There are three major characteristics that separate modern cryptography from the classical approach. Modern cryptography requires parties interested in secure communication to possess the secret key only.

Cryptography is the art and science of making a cryptosystem that is capable of providing information security. Note − Cryptography concerns with the design of cryptosystems, while cryptanalysis studies the breaking of cryptosystems. The primary objective of using cryptography is to provide the following four fundamental information security services. Confidentiality can be achieved through numerous means starting from physical securing to the use of mathematical algorithms for data encryption. Data integrity cannot prevent the alteration of data, but provides a means for detecting whether data has been manipulated in an unauthorized manner.

Message authentication identifies the originator of the message without any regard router or system that has sent the message. Entity authentication is assurance that data has been received from a specific entity, say a particular website. It is a security service that ensures that an entity cannot refuse the ownership of a previous commitment or an action. Non-repudiation is a property that is most desirable in situations where there are chances of a dispute over the exchange of data. The following table shows the primitives that can achieve a particular security service on their own.

Note − Cryptographic primitives are intricately related and they are often combined to achieve a set of desired security services from a cryptosystem.

A cryptosystem is an implementation of cryptographic techniques and their accompanying infrastructure to provide information security services. Let us discuss a simple model of a cryptosystem that provides confidentiality to the information being transmitted.

The illustration shows a sender who wants to transfer some sensitive data to a receiver in such a way that any party intercepting or eavesdropping on the communication channel cannot extract the data. The objective of this simple cryptosystem is that at the end of the process, only the sender and the receiver will know the plaintext.

Decryption Algorithm, It is a mathematical process, that produces a unique plaintext for any given ciphertext and decryption key. For a given cryptosystem, a collection of all possible decryption keys is called a key space. An interceptor (an attacker) is an unauthorized entity who attempts to determine the plaintext. The main difference between these cryptosystems is the relationship between the encryption and the decryption key. The encryption process where same keys are used for encrypting and decrypting the information is known as Symmetric Key Encryption.

A few well-known examples of symmetric key encryption methods are − Digital Encryption Standard (DES), Triple-DES (3DES), IDEA, and BLOWFISH.

Persons using symmetric key encryption must share a common key prior to exchange of information. Length of Key (number of bits) in this encryption is smaller and hence, process of encryption-decryption is faster than asymmetric key encryption. Key establishment − Before any communication, both the sender and the receiver need to agree on a secret symmetric key. Trust Issue − Since the sender and the receiver use the same symmetric key, there is an implicit requirement that the sender and the receiver ‘trust’ each other. The encryption process where different keys are used for encrypting and decrypting the information is known as Asymmetric Key Encryption. Asymmetric Key Encryption was invented in the 20th century to come over the necessity of pre-shared secret key between communicating persons. Every user in this system needs to have a pair of dissimilar keys, private key and public key. It requires to put the public key in public repository and the private key as a well-guarded secret.

Though public and private keys of the user are related, it is computationally not feasible to find one from another.

When Host1 needs to send data to Host2, he obtains the public key of Host2 from repository, encrypts the data, and transmits. Length of Keys (number of bits) in this encryption is large and hence, the process of encryption-decryption is slower than symmetric key encryption. You may think, how can the encryption key and the decryption key are ‘related’, and yet it is impossible to determine the decryption key from the encryption key? Public-key cryptosystems have one significant challenge − the user needs to trust that the public key that he is using in communications with a person really is the public key of that person and has not been spoofed by a malicious third party. This is usually accomplished through a Public Key Infrastructure (PKI) consisting a trusted third party. The third party satisfies itself about user identity by the process of attestation, notarization, or some other process − that X is the one and only, or globally unique, X.

Due to the advantages and disadvantage of both the systems, symmetric key and public-key cryptosystems are often used together in the practical information security systems.

Falling of the cryptosystem in the hands of an intruder should not lead to any compromise of the system, preventing any inconvenience to the user. Finally, it is necessary that the system be easy to use, requiring neither mental strain nor the knowledge of a long series of rules to observe. In the present era, not only business but almost all the aspects of human life are driven by information. These actions are passive in nature, as they neither affect information nor disrupt the communication channel.

An active attack involves changing the information in some way by conducting some process on the information. Cryptography provides many tools and techniques for implementing cryptosystems capable of preventing most of the attacks described above. While considering possible attacks on the cryptosystem, it is necessary to know the cryptosystems environment. In cryptography, the following three assumptions are made about the security environment and attacker’s capabilities. Public Algorithms − With this option, all the details of the algorithm are in the public domain, known to everyone.

Proprietary algorithms − The details of the algorithm are only known by the system designers and users. Thus, the first assumption about security environment is that the encryption algorithm is known to the attacker. We know that once the plaintext is encrypted into ciphertext, it is put on unsecure public channel (say email) for transmission. The attacker influences the sender to convert plaintext of his choice and obtains the ciphertext. In a public-key cryptosystem, the encryption key is in open domain and is known to any potential attacker.

The basic intention of an attacker is to break a cryptosystem and to find the plaintext from the ciphertext.

Hence, he applies maximum effort towards finding out the secret key used in the cryptosystem.

Ciphertext Only Attacks (COA) − In this method, the attacker has access to a set of ciphertext(s).

Known Plaintext Attack (KPA) − In this method, the attacker knows the plaintext for some parts of the ciphertext. Chosen Plaintext Attack (CPA) − In this method, the attacker has the text of his choice encrypted.

Dictionary Attack − This attack has many variants, all of which involve compiling a ‘dictionary’. Brute Force Attack (BFA) − In this method, the attacker tries to determine the key by attempting all possible keys.

Similarly, if the hash function produces 64 bit hash values, the possible hash values are 1.8x1019. If the attacker is able to find two different inputs that give the same hash value, it is a collision and that hash function is said to be broken. Man in Middle Attack (MIM) − The targets of this attack are mostly public key cryptosystems where key exchange is involved before communication takes place. In order to maintain communication, the attacker re-encrypts the data after reading with his public key and sends to B. The attacker sends his public key as A’s public key so that B takes it as if it is taking it from A. Side Channel Attack (SCA) − This type of attack is not against any particular type of cryptosystem or algorithm.

Timing Attacks − They exploit the fact that different computations take different times to compute on processor. Power Analysis Attacks − These attacks are similar to timing attacks except that the amount of power consumption is used to obtain information about the nature of the underlying computations. Fault analysis Attacks − In these attacks, errors are induced in the cryptosystem and the attacker studies the resulting output for useful information.

The attacks on cryptosystems described here are highly academic, as majority of them come from the academic community.

Nonetheless, the fact that any attack exists should be a cause of concern, particularly if the attack technique has the potential for improvement. A block cipher takes a block of plaintext bits and generates a block of ciphertext bits, generally of same size.

Though any size of block is acceptable, following aspects are borne in mind while selecting a size of a block.

Do not have very large block size − With very large block size, the cipher becomes inefficient to operate. Multiples of 8 bit − A preferred block size is a multiple of 8 as it is easy for implementation as most computer processor handle data in multiple of 8 bits. Advanced Encryption Standard (AES) − It is a relatively new block cipher based on the encryption algorithm Rijndael that won the AES design competition.

IDEA − It is a sufficiently strong block cipher with a block size of 64 and a key size of 128 bits. Twofish − This scheme of block cipher uses block size of 128 bits and a key of variable length.

Serpent − A block cipher with a block size of 128 bits and key lengths of 128, 192, or 256 bits, which was also an AES competition finalist. In the next sections, we will first discuss the model of block cipher followed by DES and AES, two of the most influential modern block ciphers. The input block to each round is divided into two halves that can be denoted as L and R for the left half and the right half.

In real implementation of the Feistel Cipher, such as DES, instead of using the whole encryption key during each round, a round-dependent key (a subkey) is derived from the encryption key. Once the last round is completed then the two sub blocks, ‘R’ and ‘L’ are concatenated in this order to form the ciphertext block.

The Data Encryption Standard (DES) is a symmetric-key block cipher published by the National Institute of Standards and Technology (NIST).

The initial and final permutations are straight Permutation boxes (P-boxes) that are inverses of each other.

Expansion Permutation Box − Since right input is 32-bit and round key is a 48-bit, we first need to expand right input to 48 bits.

The logic for Parity drop, shifting, and Compression P-box is given in the DES description.

Avalanche effect − A small change in plaintext results in the very grate change in the ciphertext. During the last few years, cryptanalysis have found some weaknesses in DES when key selected are weak keys. The speed of exhaustive key searches against DES after 1990 began to cause discomfort amongst users of DES. The pragmatic approach was not to abandon the DES completely, but to change the manner in which DES is used.

Incidentally, there are two variants of Triple DES known as 3-key Triple DES (3TDES) and 2-key Triple DES (2TDES). Before using 3TDES, user first generate and distribute a 3TDES key K, which consists of three different DES keys K1, K2 and K3. Due to this design of Triple DES as an encrypt–decrypt–encrypt process, it is possible to use a 3TDES (hardware) implementation for single DES by setting K1, K2, and K3 to be the same value. Second variant of Triple DES (2TDES) is identical to 3TDES except that K3is replaced by K1. Triple DES systems are significantly more secure than single DES, but these are clearly a much slower process than encryption using single DES. The more popular and widely adopted symmetric encryption algorithm likely to be encountered nowadays is the Advanced Encryption Standard (AES).

The result is a new matrix consisting of the same 16 bytes but shifted with respect to each other. The 16 bytes of the matrix are now considered as 128 bits and are XORed to the 128 bits of the round key.

The process of decryption of an AES ciphertext is similar to the encryption process in the reverse order. Since sub-processes in each round are in reverse manner, unlike for a Feistel Cipher, the encryption and decryption algorithms needs to be separately implemented, although they are very closely related.

In present day cryptography, AES is widely adopted and supported in both hardware and software. However, just as for DES, the AES security is assured only if it is correctly implemented and good key management is employed.

This mode is a most straightforward way of processing a series of sequentially listed message blocks. The user takes the first block of plaintext and encrypts it with the key to produce the first block of ciphertext.

He then takes the second block of plaintext and follows the same process with same key and so on so forth. The ECB mode is deterministic, that is, if plaintext block P1, P2,…, Pm are encrypted twice under the same key, the output ciphertext blocks will be the same. In fact, for a given key technically we can create a codebook of ciphertexts for all possible plaintext blocks. For example, if a ciphertext from the ECB mode is known to encrypt a salary figure, then a small number of trials will allow an attacker to recover the figure.

CBC mode of operation provides message dependence for generating ciphertext and makes the system non-deterministic. Feed ciphertext block into top register and continue the operation till all plaintext blocks are processed.

In CBC mode, the current plaintext block is added to the previous ciphertext block, and then the result is encrypted with the key. Advantage of CBC over ECB is that changing IV results in different ciphertext for identical message.

It is worth mentioning that CBC mode forms the basis for a well-known data origin authentication mechanism. In this mode, each ciphertext block gets ‘fed back’ into the encryption process in order to encrypt the next plaintext block. Take only ‘s’ number of most significant bits (left bits) of output of encryption process and XOR them with ‘s’ bit plaintext message block to generate ciphertext block. Feed ciphertext block into top register by shifting already present data to the left and continue the operation till all plaintext blocks are processed.

Essentially, the previous ciphertext block is encrypted with the key, and then the result is XORed to the current plaintext block.

CFB mode differs significantly from ECB mode, the ciphertext corresponding to a given plaintext block depends not just on that plaintext block and the key, but also on the previous ciphertext block.

By converting a block cipher into a stream cipher, CFB mode provides some of the advantageous properties of a stream cipher while retaining the advantageous properties of a block cipher.

It involves feeding the successive output blocks from the underlying block cipher back to it. Load the initial counter value in the top register is the same for both the sender and the receiver. Encrypt the contents of the counter with the key and place the result in the bottom register. It does not have message dependency and hence a ciphertext block does not depend on the previous plaintext blocks. The serious disadvantage of CTR mode is that it requires a synchronous counter at sender and receiver. Unlike symmetric key cryptography, we do not find historical use of public-key cryptography. Symmetric cryptography was well suited for organizations such as governments, military, and big financial corporations were involved in the classified communication.

With the spread of more unsecure computer networks in last few decades, a genuine need was felt to use cryptography at larger scale. Some assurance of the authenticity of a public key is needed in this scheme to avoid spoofing by adversary as the receiver. Encryption algorithm is complex enough to prohibit attacker from deducing the plaintext from the ciphertext and the encryption (public) key. Though private and public keys are related mathematically, it is not be feasible to calculate the private key from the public key.

We will see two aspects of the RSA cryptosystem, firstly generation of key pair and secondly encryption-decryption algorithms. Each person or a party who desires to participate in communication using encryption needs to generate a pair of keys, namely public key and private key. Interestingly, though n is part of the public key, difficulty in factorizing a large prime number ensures that attacker cannot find in finite time the two primes (p & q) used to obtain n.

Select e = 5, which is a valid choice since there is no number that is common factor of 5 and (p ? 1)(q ? 1) = 6 ? 12 = 72, except for 1. The pair of numbers (n, e) = (91, 5) forms the public key and can be made available to anyone whom we wish to be able to send us encrypted messages. Once the key pair has been generated, the process of encryption and decryption are relatively straightforward and computationally easy.

Interestingly, RSA does not directly operate on strings of bits as in case of symmetric key encryption.

In other words, the ciphertext C is equal to the plaintext P multiplied by itself e times and then reduced modulo n. Encryption Function − It is considered as a one-way function of converting plaintext into ciphertext and it can be reversed only with the knowledge of private key d. Key Generation − The difficulty of determining a private key from an RSA public key is equivalent to factoring the modulus n. ElGamal cryptosystem, called Elliptic Curve Variant, is based on the Discrete Logarithm Problem. For example, suppose that p = 17 and that g = 6 (It can be confirmed that 6 is a generator of group Z17). The generation of an ElGamal key pair is comparatively simpler than the equivalent process for RSA.

Ok, for an Indiana Jones birthday we want to help you create an adventure theme for your party. This chart includes both morse code and the military phonetic alphabet, perfect for a government-funded quest. Pictograms - While traveling the globe you may come across a variety of foreign or ancient languages.

Letter look and find - You can also deliver your message visually by drawing a picture of your party area or the missing treasure and hiding letters or words inside the illustration. If you don't have the time to create your own treasure hunt then this printable Indiana Jones hunt is just the ticket. After a long and eventful quest the little explorers need to refuel - why not make the feast part of the quest, or even the grand finale treasure! To encode your message all you need to do is work through your message (the plaintext) and convert it, one letter at a time, into ciphertext.

One of the oldest and most widely used is the Caesar Cipher, named after Roman Emperor Julius Caesar, who used it in his private letters.

Each letter in the plaintext (original message) is replaced by a letter some fixed number of positions down (or up) the alphabet. However, in Caesar’s day, when many people could barely read, it proved effective enough in protecting his military messages from prying eyes. We equated cryptography with a toolkit where various cryptographic techniques are considered as the basic tools. In general, a cipher is simply just a set of steps (an algorithm) for performing both an encryption, and the corresponding decryption. The concept is to replace each alphabet by another alphabet which is ‘shifted’ by some fixed number between 0 and 25. The result of this process is depicted in the following illustration for an agreed shift of three positions. An attacker can carry out an exhaustive key search with available limited computing resources.

Instead of shifting the alphabets by some number, this scheme uses some permutation of the letters in alphabet. For encryption, sender replaces each plaintext letters by substituting the permutation letter that is directly beneath it in the table. The possible number of keys is large (26!) and even the modern computing systems are not yet powerful enough to comfortably launch a brute force attack to break the system.

The key table is a 5?5 grid of alphabets that acts as the key for encrypting the plaintext. In a key table, the first characters (going left to right) in the table is the phrase, excluding the duplicate letters.

Receiver has the same key and can create the same key table, and then decrypt any messages made using that key. As in case of substitution cipher, cryptanalysis is possible on the Playfair cipher as well, however it would be against 625 possible pairs of letters (25x25 alphabets) instead of 26 different possible alphabets. It was referred to as the unbreakable cipher due to the difficulty it posed to the cryptanalysis. These two needs gave rise to the art of coding the messages in such a way that only the intended people could have access to the information. In this method, people not only want to protect the secrecy of an information by concealing it, but they also want to make sure any unauthorized person gets no evidence that the information even exists.

Various analysis and attack techniques were researched in this era to break the secret codes. Its foundation is based on various concepts of mathematics such as number theory, computational-complexity theory, and probability theory. The techniques employed for coding were kept secret and only the parties involved in communication knew about them. It refers to the design of mechanisms based on mathematical algorithms that provide fundamental information security services.

It confirms to the receiver that the data received has been sent only by an identified and verified sender. It is an assurance that the original creator of the data cannot deny the creation or transmission of the said data to a recipient or third party.

For example, once an order is placed electronically, a purchaser cannot deny the purchase order, if non-repudiation service was enabled in this transaction. It is a mathematical process that produces a ciphertext for any given plaintext and encryption key. It is the scrambled version of the plaintext produced by the encryption algorithm using a specific the encryption key.

It is a cryptographic algorithm that takes a ciphertext and a decryption key as input, and outputs a plaintext.

Even today, its relevance is very high and it is being used extensively in many cryptosystems. As keys are required to be changed regularly, this mechanism becomes expensive and cumbersome. For example, it may happen that the receiver has lost the key to an attacker and the sender is not informed. Though the keys are different, they are mathematically related and hence, retrieving the plaintext by decrypting ciphertext is feasible. These keys are mathematically related − when one key is used for encryption, the other can decrypt the ciphertext back to the original plaintext. The most common method of making the verified public keys available is to embed them in a certificate which is digitally signed by the trusted third party.

It is applied in virtually all the contemporary encryption algorithms such as DES, AES, etc. However, keeping the algorithms secret is possible only when they are used in a strictly limited circle.

In such cases, using a secret algorithm is not feasible, hence Kerckhoff principles became essential guidelines for designing algorithms in modern cryptography. Hence, it has become imperative to protect useful information from malicious activities such as attacks. For example, actions such as intercepting and eavesdropping on the communication channel can be regarded as passive attack. Private algorithms may not be the strongest algorithms as they are developed in-house and may not be extensively investigated for weakness. Hence they are not suitable for modern communication where people communicate with large number of known or unknown entities. Thus, the attacker can obviously assume that it has access to the ciphertext generated by the cryptosystem. However, there may be situations where an attacker can have access to plaintext and corresponding ciphertext. To obtain the plaintext, the attacker only needs to find out the secret decryption key, as the algorithm is already in public domain. Once the attacker is able to determine the key, the attacked system is considered as broken or compromised.

In simplest method of this attack, attacker builds a dictionary of ciphertexts and corresponding plaintexts that he has learnt over a period of time. By repeatedly evaluating the function for different inputs, the same output is expected to be obtained after about 5.1x109 random inputs.

Instead, it is launched to exploit the weakness in physical implementation of the cryptosystem. By measuring such timings, it is be possible to know about a particular computation the processor is carrying out. In fact, many academic attacks involve quite unrealistic assumptions about environment as well as the capabilities of the attacker.

Modern cryptosystems need to process this binary strings to convert in to another binary string. Also, padding may render the system insecure at times, if the padding is done with same bits always. It is still a respected block ciphers but inefficient compared to the new faster block ciphers available. A number of applications use IDEA encryption, including early versions of Pretty Good Privacy (PGP) protocol. This means that each round uses a different key, although all these subkeys are related to the original key.

In order to be unbreakable scheme, this function needs to have several important properties that are beyond the scope of our discussion.

Instead of starting with a block of plaintext, the ciphertext block is fed into the start of the Feistel structure and then the process thereafter is exactly the same as described in the given illustration.

In the case of decryption, the only difference is that the subkeys used in encryption are used in the reverse order. If these are not swapped then the resulting ciphertext could not be decrypted using the same algorithm.

There have been no significant cryptanalytic attacks on DES other than exhaustive key search. However, users did not want to replace DES as it takes an enormous amount of time and money to change encryption algorithms that are widely adopted and embedded in large security architectures. In other words, user encrypt plaintext blocks with key K1, then decrypt with key K2, and finally encrypt with K1 again. With increasing computing power, it was considered vulnerable against exhaustive key search attack. AES uses 10 rounds for 128-bit keys, 12 rounds for 192-bit keys and 14 rounds for 256-bit keys. This function takes as input the four bytes of one column and outputs four completely new bytes, which replace the original column.

Encryption would then entail only looking up for required plaintext and select the corresponding ciphertext.

In general, we do not wish to use a deterministic cipher, and hence the ECB mode should not be used in most applications. The first ciphertext block is also fed into to register replacing IV for decrypting next ciphertext block. Decryption is thus the reverse process, which involves decrypting the current ciphertext and then adding the previous ciphertext block to the result.

On the drawback side, the error in transmission gets propagated to few further block during decryption due to chaining effect.

Thus, it has an advantage for those applications that require both symmetric encryption and data origin authentication.

In this mode, user decrypts the ciphertext using only the encryption process of the block cipher. The encryption algorithm is used as a key-stream generator to produce key-stream that is placed in the bottom register.

These feedback blocks provide string of bits to feed the encryption algorithm which act as the key-stream generator as in case of CFB mode. In this mode, both the sender and receiver need to access to a reliable counter, which computes a new shared value each time a ciphertext block is exchanged.

This is because the CTR mode is really using the block cipher to generate a key-stream, which is encrypted using the XOR function.

The symmetric key was found to be non-practical due to challenges it faced for key management. Generally, this type of cryptosystem involves trusted third party which certifies that a particular public key belongs to a specific person or entity only. In fact, intelligent part of any public-key cryptosystem is in designing a relationship between two keys. For strong unbreakable encryption, let n be a large number, typically a minimum of 512 bits. This means that d is the number less than (p - 1)(q - 1) such that when multiplied by e, it is equal to 1 modulo (p - 1)(q - 1). The RSA cryptosystem is most popular public-key cryptosystem strength of which is based on the practical difficulty of factoring the very large numbers. An attacker thus cannot use knowledge of an RSA public key to determine an RSA private key unless he can factor n. In fact, if a technique for factoring efficiently is developed then RSA will no longer be safe. It derives the strength from the assumption that the discrete logarithms cannot be found in practical time frame for a given number, while the inverse operation of the power can be computed efficiently. Satchels can be store-bought gift bags, paper lunch sacks with construction paper carry straps or easy sew felt.

Decide what your message will be (perhaps the mission goal or the location of the map or next clue). Adventurers must spot the letters and unscramble the message.Map Scraps - You could also draw out the obstacle course for kids on some "old" tea-stained paper and then tear it into large pieces which guests must puzzle back together before they can begin the course. If you don't have one, squares can be cut from poster board, drawn on a driveway in chalk or spray painted right into the grass.

The explorers must arm themselves with water pistols or rocks (water balloons) and attack the bandits.

Seal an assortment of plastic treasures (rings, bracelets, beaded necklaces) in Ziploc baggies. Challenges using the 26 letter english alphabet based on the cipher systems described in this section.

Part 2Excel VBA Using text boxes, command buttons and VBA programming to make and break mono-alphabetic substitution ciphers. This is an excellent cipher for the beginner to start building his or her experience of cryptology. One of these tools is the Symmetric Key Encryption where the key used for encryption and decryption is the same.

The sender and the receiver may choose any one of these possible permutation as a ciphertext alphabet. However, the Simple Substitution Cipher has a simple design and it is prone to design flaws, say choosing obvious permutation, this cryptosystem can be easily broken. Each of the 25 alphabets must be unique and one letter of the alphabet (usually J) is omitted from the table as we need only 25 alphabets instead of 26. The rest of the table will be filled with the remaining letters of the alphabet, in natural order.

However, with each character now having its own individual shift between 1 and 26, the possible keys grow exponentially for the message. To break the ciphertext by brute force, you need to try all possibilities of keys and conduct computation for (26 x 26 x 26 x 26 x 26) = 265 = 11881376 times. The number of rows is obtained by dividing number of total ciphertext alphabets by key value and rounding of the quotient to next integer value. Unauthorized people could not extract any information, even if the scrambled messages fell in their hand.

This code was the secret known only to the scribes who used to transmit messages on behalf of the kings. Now, the arrival of computers and the Internet has brought effective cryptography within the reach of common people. The computational difficulty of algorithms, absence of secret key, etc., make it impossible for an attacker to obtain the original information even if he knows the algorithm used for coding. You can think of cryptography as the establishment of a large toolkit containing different techniques in security applications. Integrity service confirms that whether data is intact or not since it was last created, transmitted, or stored by an authorized user. It is a cryptographic algorithm that takes plaintext and an encryption key as input and produces a ciphertext. The decryption algorithm essentially reverses the encryption algorithm and is thus closely related to it. The sender inputs the encryption key into the encryption algorithm along with the plaintext in order to compute the ciphertext. It is practically impossible to decrypt the ciphertext with the key that is unrelated to the encryption key.

It is very unlikely that this encryption will fade away, as it has certain advantages over asymmetric key encryption. When the third party is requested to provide the public key for any communicating person X, they are trusted to provide the correct public key. Kerckhoff stated that a cryptographic system should be secure even if everything about the system, except the key, is public knowledge. The only difference in stealing physical goods and stealing information is that theft of data still leaves the owner in possession of that data.

Also, according to Kerckhoff’s principle, the algorithm is preferred to be public with strength of encryption lying in the key.

COA is said to be successful when the corresponding plaintext can be determined from a given set of ciphertext. In future, when an attacker gets the ciphertext, he refers the dictionary to find the corresponding plaintext.

The attacker knows the ciphertext and the algorithm, now he attempts all the 256 keys one by one for decryption.

When students in a class are asked about their birthdays, the answer is one of the possible 365 dates.

For example, if the encryption takes a longer time, it indicates that the secret key is long. For example, in chosen-ciphertext attack, the attacker requires an impractical number of deliberately chosen plaintext-ciphertext pairs.

For example, a 150-bit plaintext provides two blocks of 64 bits each with third block of balance 22 bits. But at the same time, more rounds mean the inefficient slow encryption and decryption processes. It comprises of a series of linked operations, some of which involve replacing inputs by specific outputs (substitutions) and others involve shuffling bits around (permutations). Each of these rounds uses a different 128-bit round key, which is calculated from the original AES key. Otherwise, the resulting 128 bits are interpreted as 16 bytes and we begin another similar round. Additionally, AES has built-in flexibility of key length, which allows a degree of ‘future-proofing’ against progress in the ability to perform exhaustive key searches. Interestingly, the different modes result in different properties being achieved which add to the security of the underlying block cipher. Hence, the long message is divided into a series of sequential message blocks, and the cipher operates on these blocks one at a time. Thus, the operation is analogous to the assignment of code words in a codebook, and hence gets an official name − Electronic Codebook mode of operation (ECB). A ciphertext from ECB can allow an attacker to guess the plaintext by trial-and-error if the plaintext message is within predictable.

The CFB mode requires an initialization vector (IV) as the initial random n-bit input block.

This shared counter is not necessarily a secret value, but challenge is that both sides must keep the counter synchronized. The system was invented by three scholars Ron Rivest, Adi Shamir, and Len Adleman and hence, it is termed as RSA cryptosystem. It is also a one way function, going from p & q values to modulus n is easy but reverse is not possible.

She also has a really cool idea for how to turn a dollar store cowboy hat into Indiana's trademark hat and whip. Encode it using one of the methods below and provide a key or decoder for guests to solve.The picture on the right is a simple number for letter cipher.

Build cardboard box temples or pyramids or turn playground equipment or furniture into exotic destinations.

Using string or fake spider webs left over from Halloween, LOOSELY attach critters to the top and walls of a narrow tunnel. These ideas further fueled the natural need of people to communicate secretly with selective recipient which in turn ensured the continuous evolution of cryptography as well. Cryptanalysis is also used during the design of the new cryptographic techniques to test their security strengths. The receiver inputs the decryption key into the decryption algorithm along with the ciphertext in order to compute the plaintext.

These limitations of symmetric key encryption gave rise to asymmetric key encryption schemes.

The security of the encrypted message depends solely on the security of the secret encryption key. Passive information attack is thus more dangerous than stealing of goods, as information theft may go unnoticed by the owner. An example of this attack is differential cryptanalysis applied against block ciphers as well as hash functions. The last block of bits needs to be padded up with redundant information so that the length of the final block equal to block size of the scheme. A cryptographic system based on Feistel cipher structure uses the same algorithm for both encryption and decryption.

Though, key length is 64-bit, DES has an effective key length of 56 bits, since 8 of the 64 bits of the key are not used by the encryption algorithm (function as check bits only).

Try serving Spaghetti Snakes (roll lasagna noodles lengthwise around cheese sticks and bake in spaghetti sauce) or Golden Tarantulas (Chicken tenders with carrot stick legs). Thus, for a longer message, the computation grows exponentially with every additional alphabet.

It can be intercepted or compromised by anyone who has access to the communication channel.

In our example, the remaining 22 bits need to have additional 42 redundant bits added to provide a complete block.

Choose one or more to give guests moments to catch their breath and cool down between more energetic activities. One of the best parts about this hunt is that you can play it ANYWHERE because you decide the hiding locations.For complete details click on picture on left. For an added twist, toss a few more bugs, spider webs or pieces of yarn into the cups for a creepy surprise. When you say go, children will have to run to the cold water and try to find a treasure bag amidst the fish. Were you sent to investigate by the government or the university? Think about the end goal when setting up the beginning. Children will crawl through the tunnel single file to the other side, likely pulling bugs loose as they go.

When all the switches have been pulled the wall should slide out of the way with a loud groan. Use snack-size Twix for fallen logs, twirl Pretzel rods in green frosting and stick into cake for trees, roll Laffy Taffy into flowers or jewels, and blue sprinkles become a river. Wherever you decide to take your guests, here are some adaptable game challenge ideas to get you started.

Treasure logs to keep track of the journey can be Dollar store mini-composition books or some folded printer paper with a brown construction paper cover. Then build a party plan with a mix of mental and physical challenges, some crafts they can keep and of course a buffet spread to beat an adventurer's appetite.Let's talk about some games you can use to add the mystery and adventure to your quest!

Get gold and silver cups from Dollar Tree and let guests a€?engravea€? with markers and decorate with sticky-backed crafts jewels. You may also want to give each guest a passport which you can stamp at each obstacle or leg of the journey. Cut a couple sheets of printer paper in half (hamburger fold) then fold in half again and staple into a folded half-sheet of dark construction paper.

To encode a message in Caesar Cipher, first align two alphabets; the cipher alphabet being the plain alphabet shifted left or right by a designated number of spaces. To enable deciphering, tell your contact person the key—the number of spaces shifted left or right—and they will perform the process in reverse. In this chapter, we discuss this technique further and its applications to develop various cryptosystems. Unlike modern systems which are digital and treat data as binary numbers, the earlier systems worked on alphabets as basic element. It is a mono-alphabetic cipher wherein each letter of the plaintext is substituted by another letter to form the ciphertext. For this type of scheme, both sender and receiver agree on a ‘secret shift number’ for shifting the alphabet. The name ‘Caesar Cipher’ is occasionally used to describe the Shift Cipher when the ‘shift of three’ is used. In order to encrypt a plaintext letter, the sender positions the sliding ruler underneath the first set of plaintext letters and slides it to LEFT by the number of positions of the secret shift. The plaintext letter is then encrypted to the ciphertext letter on the sliding ruler underneath. On receiving the ciphertext, the receiver who also knows the secret shift, positions his sliding ruler underneath the ciphertext alphabet and slides it to RIGHT by the agreed shift number, 3 in this case.

He then replaces the ciphertext letter by the plaintext letter on the sliding ruler underneath. Caesar Cipher is not a secure cryptosystem because there are only 26 possible keys to try out. The sender and the receiver decide on a randomly selected permutation of the letters of the alphabet.

Underneath the natural order alphabets, write out the chosen permutation of the letters of the alphabet. On receiving the ciphertext, the receiver, who also knows the randomly chosen permutation, replaces each ciphertext letter on the bottom row with the corresponding plaintext letter in the top row.

Monoalphabetic cipher is a substitution cipher in which for a given key, the cipher alphabet for each plain alphabet is fixed throughout the encryption process. All of the substitution ciphers we have discussed earlier in this chapter are monoalphabetic; these ciphers are highly susceptible to cryptanalysis. Polyalphabetic Cipher is a substitution cipher in which the cipher alphabet for the plain alphabet may be different at different places during the encryption process. In this scheme, pairs of letters are encrypted, instead of single letters as in the case of simple substitution cipher. If neither of the preceding two rules are true, form a rectangle with the two letters and take the letters on the horizontal opposite corner of the rectangle. It is also a substitution cipher and is difficult to break compared to the simple substitution cipher. The Playfair cipher was used mainly to protect important, yet non-critical secrets, as it is quick to use and requires no special equipment. This scheme of cipher uses a text string (say, a word) as a key, which is then used for doing a number of shifts on the plaintext.

Here, each plaintext character has been shifted by a different amount – and that amount is determined by the key. For decryption, the receiver uses the same key and shifts received ciphertext in reverse order to obtain the plaintext. Vigenere Cipher was designed by tweaking the standard Caesar cipher to reduce the effectiveness of cryptanalysis on the ciphertext and make a cryptosystem more robust.

In the history, it was regularly used for protecting sensitive political and military information. It is another type of cipher where the order of the alphabets in the plaintext is rearranged to create the ciphertext. An example is a ‘simple columnar transposition’ cipher where the plaintext is written horizontally with a certain alphabet width. For example, the plaintext is “golden statue is in eleventh cave” and the secret random key chosen is “five”. The ciphertext is obtained by reading column vertically downward from first to last column. The receiver then writes the received ciphertext vertically down and from left to right column.

Human being from ages had two inherent needs − (a) to communicate and share information and (b) to communicate selectively.

The art and science of concealing the messages to introduce secrecy in information security is recognized as cryptography.

The word ‘cryptography’ was coined by combining two Greek words, ‘Krypto’ meaning hidden and ‘graphene’ meaning writing.

Later, the scholars moved on to using simple mono-alphabetic substitution ciphers during 500 to 600 BC. The earlier Roman method of cryptography, popularly known as the Caesar Shift Cipher, relies on shifting the letters of a message by an agreed number (three was a common choice), the recipient of this message would then shift the letters back by the same number and obtain the original message. In steganography, an unintended recipient or an intruder is unaware of the fact that observed data contains hidden information.

It is during and after the European Renaissance, various Italian and Papal states led the rapid proliferation of cryptographic techniques. Improved coding techniques such as Vigenere Coding came into existence in the 15th century, which offered moving letters in the message with a number of variable places instead of moving them the same number of places. Only after the 19th century, cryptography evolved from the ad hoc approaches to encryption to the more sophisticated art and science of information security.

In the early 20th century, the invention of mechanical and electromechanical machines, such as the Enigma rotor machine, provided more advanced and efficient means of coding the information. During the period of World War II, both cryptography and cryptanalysis became excessively mathematical.

With the advances taking place in this field, government organizations, military units, and some corporate houses started adopting the applications of cryptography. There are three major characteristics that separate modern cryptography from the classical approach. Modern cryptography requires parties interested in secure communication to possess the secret key only.

Cryptography is the art and science of making a cryptosystem that is capable of providing information security. Note − Cryptography concerns with the design of cryptosystems, while cryptanalysis studies the breaking of cryptosystems. The primary objective of using cryptography is to provide the following four fundamental information security services. Confidentiality can be achieved through numerous means starting from physical securing to the use of mathematical algorithms for data encryption. Data integrity cannot prevent the alteration of data, but provides a means for detecting whether data has been manipulated in an unauthorized manner.

Message authentication identifies the originator of the message without any regard router or system that has sent the message. Entity authentication is assurance that data has been received from a specific entity, say a particular website. It is a security service that ensures that an entity cannot refuse the ownership of a previous commitment or an action. Non-repudiation is a property that is most desirable in situations where there are chances of a dispute over the exchange of data. The following table shows the primitives that can achieve a particular security service on their own.

Note − Cryptographic primitives are intricately related and they are often combined to achieve a set of desired security services from a cryptosystem.

A cryptosystem is an implementation of cryptographic techniques and their accompanying infrastructure to provide information security services. Let us discuss a simple model of a cryptosystem that provides confidentiality to the information being transmitted.

The illustration shows a sender who wants to transfer some sensitive data to a receiver in such a way that any party intercepting or eavesdropping on the communication channel cannot extract the data. The objective of this simple cryptosystem is that at the end of the process, only the sender and the receiver will know the plaintext.

Decryption Algorithm, It is a mathematical process, that produces a unique plaintext for any given ciphertext and decryption key. For a given cryptosystem, a collection of all possible decryption keys is called a key space. An interceptor (an attacker) is an unauthorized entity who attempts to determine the plaintext. The main difference between these cryptosystems is the relationship between the encryption and the decryption key. The encryption process where same keys are used for encrypting and decrypting the information is known as Symmetric Key Encryption.

A few well-known examples of symmetric key encryption methods are − Digital Encryption Standard (DES), Triple-DES (3DES), IDEA, and BLOWFISH.

Persons using symmetric key encryption must share a common key prior to exchange of information. Length of Key (number of bits) in this encryption is smaller and hence, process of encryption-decryption is faster than asymmetric key encryption. Key establishment − Before any communication, both the sender and the receiver need to agree on a secret symmetric key. Trust Issue − Since the sender and the receiver use the same symmetric key, there is an implicit requirement that the sender and the receiver ‘trust’ each other. The encryption process where different keys are used for encrypting and decrypting the information is known as Asymmetric Key Encryption. Asymmetric Key Encryption was invented in the 20th century to come over the necessity of pre-shared secret key between communicating persons. Every user in this system needs to have a pair of dissimilar keys, private key and public key. It requires to put the public key in public repository and the private key as a well-guarded secret.

Though public and private keys of the user are related, it is computationally not feasible to find one from another.

When Host1 needs to send data to Host2, he obtains the public key of Host2 from repository, encrypts the data, and transmits. Length of Keys (number of bits) in this encryption is large and hence, the process of encryption-decryption is slower than symmetric key encryption. You may think, how can the encryption key and the decryption key are ‘related’, and yet it is impossible to determine the decryption key from the encryption key? Public-key cryptosystems have one significant challenge − the user needs to trust that the public key that he is using in communications with a person really is the public key of that person and has not been spoofed by a malicious third party. This is usually accomplished through a Public Key Infrastructure (PKI) consisting a trusted third party. The third party satisfies itself about user identity by the process of attestation, notarization, or some other process − that X is the one and only, or globally unique, X.

Due to the advantages and disadvantage of both the systems, symmetric key and public-key cryptosystems are often used together in the practical information security systems.

Falling of the cryptosystem in the hands of an intruder should not lead to any compromise of the system, preventing any inconvenience to the user. Finally, it is necessary that the system be easy to use, requiring neither mental strain nor the knowledge of a long series of rules to observe. In the present era, not only business but almost all the aspects of human life are driven by information. These actions are passive in nature, as they neither affect information nor disrupt the communication channel.

An active attack involves changing the information in some way by conducting some process on the information. Cryptography provides many tools and techniques for implementing cryptosystems capable of preventing most of the attacks described above. While considering possible attacks on the cryptosystem, it is necessary to know the cryptosystems environment. In cryptography, the following three assumptions are made about the security environment and attacker’s capabilities. Public Algorithms − With this option, all the details of the algorithm are in the public domain, known to everyone.

Proprietary algorithms − The details of the algorithm are only known by the system designers and users. Thus, the first assumption about security environment is that the encryption algorithm is known to the attacker. We know that once the plaintext is encrypted into ciphertext, it is put on unsecure public channel (say email) for transmission. The attacker influences the sender to convert plaintext of his choice and obtains the ciphertext. In a public-key cryptosystem, the encryption key is in open domain and is known to any potential attacker.

The basic intention of an attacker is to break a cryptosystem and to find the plaintext from the ciphertext.

Hence, he applies maximum effort towards finding out the secret key used in the cryptosystem.

Ciphertext Only Attacks (COA) − In this method, the attacker has access to a set of ciphertext(s).

Known Plaintext Attack (KPA) − In this method, the attacker knows the plaintext for some parts of the ciphertext. Chosen Plaintext Attack (CPA) − In this method, the attacker has the text of his choice encrypted.

Dictionary Attack − This attack has many variants, all of which involve compiling a ‘dictionary’. Brute Force Attack (BFA) − In this method, the attacker tries to determine the key by attempting all possible keys.

Similarly, if the hash function produces 64 bit hash values, the possible hash values are 1.8x1019. If the attacker is able to find two different inputs that give the same hash value, it is a collision and that hash function is said to be broken. Man in Middle Attack (MIM) − The targets of this attack are mostly public key cryptosystems where key exchange is involved before communication takes place. In order to maintain communication, the attacker re-encrypts the data after reading with his public key and sends to B. The attacker sends his public key as A’s public key so that B takes it as if it is taking it from A. Side Channel Attack (SCA) − This type of attack is not against any particular type of cryptosystem or algorithm.

Timing Attacks − They exploit the fact that different computations take different times to compute on processor. Power Analysis Attacks − These attacks are similar to timing attacks except that the amount of power consumption is used to obtain information about the nature of the underlying computations. Fault analysis Attacks − In these attacks, errors are induced in the cryptosystem and the attacker studies the resulting output for useful information.

The attacks on cryptosystems described here are highly academic, as majority of them come from the academic community.

Nonetheless, the fact that any attack exists should be a cause of concern, particularly if the attack technique has the potential for improvement. A block cipher takes a block of plaintext bits and generates a block of ciphertext bits, generally of same size.

Though any size of block is acceptable, following aspects are borne in mind while selecting a size of a block.

Do not have very large block size − With very large block size, the cipher becomes inefficient to operate. Multiples of 8 bit − A preferred block size is a multiple of 8 as it is easy for implementation as most computer processor handle data in multiple of 8 bits. Advanced Encryption Standard (AES) − It is a relatively new block cipher based on the encryption algorithm Rijndael that won the AES design competition.

IDEA − It is a sufficiently strong block cipher with a block size of 64 and a key size of 128 bits. Twofish − This scheme of block cipher uses block size of 128 bits and a key of variable length.

Serpent − A block cipher with a block size of 128 bits and key lengths of 128, 192, or 256 bits, which was also an AES competition finalist. In the next sections, we will first discuss the model of block cipher followed by DES and AES, two of the most influential modern block ciphers. The input block to each round is divided into two halves that can be denoted as L and R for the left half and the right half.

In real implementation of the Feistel Cipher, such as DES, instead of using the whole encryption key during each round, a round-dependent key (a subkey) is derived from the encryption key. Once the last round is completed then the two sub blocks, ‘R’ and ‘L’ are concatenated in this order to form the ciphertext block.

The Data Encryption Standard (DES) is a symmetric-key block cipher published by the National Institute of Standards and Technology (NIST).

The initial and final permutations are straight Permutation boxes (P-boxes) that are inverses of each other.

Expansion Permutation Box − Since right input is 32-bit and round key is a 48-bit, we first need to expand right input to 48 bits.

The logic for Parity drop, shifting, and Compression P-box is given in the DES description.

Avalanche effect − A small change in plaintext results in the very grate change in the ciphertext. During the last few years, cryptanalysis have found some weaknesses in DES when key selected are weak keys. The speed of exhaustive key searches against DES after 1990 began to cause discomfort amongst users of DES. The pragmatic approach was not to abandon the DES completely, but to change the manner in which DES is used.

Incidentally, there are two variants of Triple DES known as 3-key Triple DES (3TDES) and 2-key Triple DES (2TDES). Before using 3TDES, user first generate and distribute a 3TDES key K, which consists of three different DES keys K1, K2 and K3. Due to this design of Triple DES as an encrypt–decrypt–encrypt process, it is possible to use a 3TDES (hardware) implementation for single DES by setting K1, K2, and K3 to be the same value. Second variant of Triple DES (2TDES) is identical to 3TDES except that K3is replaced by K1. Triple DES systems are significantly more secure than single DES, but these are clearly a much slower process than encryption using single DES. The more popular and widely adopted symmetric encryption algorithm likely to be encountered nowadays is the Advanced Encryption Standard (AES).

The result is a new matrix consisting of the same 16 bytes but shifted with respect to each other. The 16 bytes of the matrix are now considered as 128 bits and are XORed to the 128 bits of the round key.

The process of decryption of an AES ciphertext is similar to the encryption process in the reverse order. Since sub-processes in each round are in reverse manner, unlike for a Feistel Cipher, the encryption and decryption algorithms needs to be separately implemented, although they are very closely related.

In present day cryptography, AES is widely adopted and supported in both hardware and software. However, just as for DES, the AES security is assured only if it is correctly implemented and good key management is employed.

This mode is a most straightforward way of processing a series of sequentially listed message blocks. The user takes the first block of plaintext and encrypts it with the key to produce the first block of ciphertext.

He then takes the second block of plaintext and follows the same process with same key and so on so forth. The ECB mode is deterministic, that is, if plaintext block P1, P2,…, Pm are encrypted twice under the same key, the output ciphertext blocks will be the same. In fact, for a given key technically we can create a codebook of ciphertexts for all possible plaintext blocks. For example, if a ciphertext from the ECB mode is known to encrypt a salary figure, then a small number of trials will allow an attacker to recover the figure.

CBC mode of operation provides message dependence for generating ciphertext and makes the system non-deterministic. Feed ciphertext block into top register and continue the operation till all plaintext blocks are processed.

In CBC mode, the current plaintext block is added to the previous ciphertext block, and then the result is encrypted with the key. Advantage of CBC over ECB is that changing IV results in different ciphertext for identical message.

It is worth mentioning that CBC mode forms the basis for a well-known data origin authentication mechanism. In this mode, each ciphertext block gets ‘fed back’ into the encryption process in order to encrypt the next plaintext block. Take only ‘s’ number of most significant bits (left bits) of output of encryption process and XOR them with ‘s’ bit plaintext message block to generate ciphertext block. Feed ciphertext block into top register by shifting already present data to the left and continue the operation till all plaintext blocks are processed.

Essentially, the previous ciphertext block is encrypted with the key, and then the result is XORed to the current plaintext block.

CFB mode differs significantly from ECB mode, the ciphertext corresponding to a given plaintext block depends not just on that plaintext block and the key, but also on the previous ciphertext block.

By converting a block cipher into a stream cipher, CFB mode provides some of the advantageous properties of a stream cipher while retaining the advantageous properties of a block cipher.

It involves feeding the successive output blocks from the underlying block cipher back to it. Load the initial counter value in the top register is the same for both the sender and the receiver. Encrypt the contents of the counter with the key and place the result in the bottom register. It does not have message dependency and hence a ciphertext block does not depend on the previous plaintext blocks. The serious disadvantage of CTR mode is that it requires a synchronous counter at sender and receiver. Unlike symmetric key cryptography, we do not find historical use of public-key cryptography. Symmetric cryptography was well suited for organizations such as governments, military, and big financial corporations were involved in the classified communication.

With the spread of more unsecure computer networks in last few decades, a genuine need was felt to use cryptography at larger scale. Some assurance of the authenticity of a public key is needed in this scheme to avoid spoofing by adversary as the receiver. Encryption algorithm is complex enough to prohibit attacker from deducing the plaintext from the ciphertext and the encryption (public) key. Though private and public keys are related mathematically, it is not be feasible to calculate the private key from the public key.

We will see two aspects of the RSA cryptosystem, firstly generation of key pair and secondly encryption-decryption algorithms. Each person or a party who desires to participate in communication using encryption needs to generate a pair of keys, namely public key and private key. Interestingly, though n is part of the public key, difficulty in factorizing a large prime number ensures that attacker cannot find in finite time the two primes (p & q) used to obtain n.

Select e = 5, which is a valid choice since there is no number that is common factor of 5 and (p ? 1)(q ? 1) = 6 ? 12 = 72, except for 1. The pair of numbers (n, e) = (91, 5) forms the public key and can be made available to anyone whom we wish to be able to send us encrypted messages. Once the key pair has been generated, the process of encryption and decryption are relatively straightforward and computationally easy.

Interestingly, RSA does not directly operate on strings of bits as in case of symmetric key encryption.

In other words, the ciphertext C is equal to the plaintext P multiplied by itself e times and then reduced modulo n. Encryption Function − It is considered as a one-way function of converting plaintext into ciphertext and it can be reversed only with the knowledge of private key d. Key Generation − The difficulty of determining a private key from an RSA public key is equivalent to factoring the modulus n. ElGamal cryptosystem, called Elliptic Curve Variant, is based on the Discrete Logarithm Problem. For example, suppose that p = 17 and that g = 6 (It can be confirmed that 6 is a generator of group Z17). The generation of an ElGamal key pair is comparatively simpler than the equivalent process for RSA.

Ok, for an Indiana Jones birthday we want to help you create an adventure theme for your party. This chart includes both morse code and the military phonetic alphabet, perfect for a government-funded quest. Pictograms - While traveling the globe you may come across a variety of foreign or ancient languages.

Letter look and find - You can also deliver your message visually by drawing a picture of your party area or the missing treasure and hiding letters or words inside the illustration. If you don't have the time to create your own treasure hunt then this printable Indiana Jones hunt is just the ticket. After a long and eventful quest the little explorers need to refuel - why not make the feast part of the quest, or even the grand finale treasure! To encode your message all you need to do is work through your message (the plaintext) and convert it, one letter at a time, into ciphertext.

One of the oldest and most widely used is the Caesar Cipher, named after Roman Emperor Julius Caesar, who used it in his private letters.

Each letter in the plaintext (original message) is replaced by a letter some fixed number of positions down (or up) the alphabet. However, in Caesar’s day, when many people could barely read, it proved effective enough in protecting his military messages from prying eyes. We equated cryptography with a toolkit where various cryptographic techniques are considered as the basic tools. In general, a cipher is simply just a set of steps (an algorithm) for performing both an encryption, and the corresponding decryption. The concept is to replace each alphabet by another alphabet which is ‘shifted’ by some fixed number between 0 and 25. The result of this process is depicted in the following illustration for an agreed shift of three positions. An attacker can carry out an exhaustive key search with available limited computing resources.

Instead of shifting the alphabets by some number, this scheme uses some permutation of the letters in alphabet. For encryption, sender replaces each plaintext letters by substituting the permutation letter that is directly beneath it in the table. The possible number of keys is large (26!) and even the modern computing systems are not yet powerful enough to comfortably launch a brute force attack to break the system.

The key table is a 5?5 grid of alphabets that acts as the key for encrypting the plaintext. In a key table, the first characters (going left to right) in the table is the phrase, excluding the duplicate letters.

Receiver has the same key and can create the same key table, and then decrypt any messages made using that key. As in case of substitution cipher, cryptanalysis is possible on the Playfair cipher as well, however it would be against 625 possible pairs of letters (25x25 alphabets) instead of 26 different possible alphabets. It was referred to as the unbreakable cipher due to the difficulty it posed to the cryptanalysis. These two needs gave rise to the art of coding the messages in such a way that only the intended people could have access to the information. In this method, people not only want to protect the secrecy of an information by concealing it, but they also want to make sure any unauthorized person gets no evidence that the information even exists.

Various analysis and attack techniques were researched in this era to break the secret codes. Its foundation is based on various concepts of mathematics such as number theory, computational-complexity theory, and probability theory. The techniques employed for coding were kept secret and only the parties involved in communication knew about them. It refers to the design of mechanisms based on mathematical algorithms that provide fundamental information security services.

It confirms to the receiver that the data received has been sent only by an identified and verified sender. It is an assurance that the original creator of the data cannot deny the creation or transmission of the said data to a recipient or third party.

For example, once an order is placed electronically, a purchaser cannot deny the purchase order, if non-repudiation service was enabled in this transaction. It is a mathematical process that produces a ciphertext for any given plaintext and encryption key. It is the scrambled version of the plaintext produced by the encryption algorithm using a specific the encryption key.

It is a cryptographic algorithm that takes a ciphertext and a decryption key as input, and outputs a plaintext.

Even today, its relevance is very high and it is being used extensively in many cryptosystems. As keys are required to be changed regularly, this mechanism becomes expensive and cumbersome. For example, it may happen that the receiver has lost the key to an attacker and the sender is not informed. Though the keys are different, they are mathematically related and hence, retrieving the plaintext by decrypting ciphertext is feasible. These keys are mathematically related − when one key is used for encryption, the other can decrypt the ciphertext back to the original plaintext. The most common method of making the verified public keys available is to embed them in a certificate which is digitally signed by the trusted third party.

It is applied in virtually all the contemporary encryption algorithms such as DES, AES, etc. However, keeping the algorithms secret is possible only when they are used in a strictly limited circle.

In such cases, using a secret algorithm is not feasible, hence Kerckhoff principles became essential guidelines for designing algorithms in modern cryptography. Hence, it has become imperative to protect useful information from malicious activities such as attacks. For example, actions such as intercepting and eavesdropping on the communication channel can be regarded as passive attack. Private algorithms may not be the strongest algorithms as they are developed in-house and may not be extensively investigated for weakness. Hence they are not suitable for modern communication where people communicate with large number of known or unknown entities. Thus, the attacker can obviously assume that it has access to the ciphertext generated by the cryptosystem. However, there may be situations where an attacker can have access to plaintext and corresponding ciphertext. To obtain the plaintext, the attacker only needs to find out the secret decryption key, as the algorithm is already in public domain. Once the attacker is able to determine the key, the attacked system is considered as broken or compromised.

In simplest method of this attack, attacker builds a dictionary of ciphertexts and corresponding plaintexts that he has learnt over a period of time. By repeatedly evaluating the function for different inputs, the same output is expected to be obtained after about 5.1x109 random inputs.

Instead, it is launched to exploit the weakness in physical implementation of the cryptosystem. By measuring such timings, it is be possible to know about a particular computation the processor is carrying out. In fact, many academic attacks involve quite unrealistic assumptions about environment as well as the capabilities of the attacker.

Modern cryptosystems need to process this binary strings to convert in to another binary string. Also, padding may render the system insecure at times, if the padding is done with same bits always. It is still a respected block ciphers but inefficient compared to the new faster block ciphers available. A number of applications use IDEA encryption, including early versions of Pretty Good Privacy (PGP) protocol. This means that each round uses a different key, although all these subkeys are related to the original key.

In order to be unbreakable scheme, this function needs to have several important properties that are beyond the scope of our discussion.

Instead of starting with a block of plaintext, the ciphertext block is fed into the start of the Feistel structure and then the process thereafter is exactly the same as described in the given illustration.

In the case of decryption, the only difference is that the subkeys used in encryption are used in the reverse order. If these are not swapped then the resulting ciphertext could not be decrypted using the same algorithm.

There have been no significant cryptanalytic attacks on DES other than exhaustive key search. However, users did not want to replace DES as it takes an enormous amount of time and money to change encryption algorithms that are widely adopted and embedded in large security architectures. In other words, user encrypt plaintext blocks with key K1, then decrypt with key K2, and finally encrypt with K1 again. With increasing computing power, it was considered vulnerable against exhaustive key search attack. AES uses 10 rounds for 128-bit keys, 12 rounds for 192-bit keys and 14 rounds for 256-bit keys. This function takes as input the four bytes of one column and outputs four completely new bytes, which replace the original column.

Encryption would then entail only looking up for required plaintext and select the corresponding ciphertext.

In general, we do not wish to use a deterministic cipher, and hence the ECB mode should not be used in most applications. The first ciphertext block is also fed into to register replacing IV for decrypting next ciphertext block. Decryption is thus the reverse process, which involves decrypting the current ciphertext and then adding the previous ciphertext block to the result.

On the drawback side, the error in transmission gets propagated to few further block during decryption due to chaining effect.

Thus, it has an advantage for those applications that require both symmetric encryption and data origin authentication.

In this mode, user decrypts the ciphertext using only the encryption process of the block cipher. The encryption algorithm is used as a key-stream generator to produce key-stream that is placed in the bottom register.

These feedback blocks provide string of bits to feed the encryption algorithm which act as the key-stream generator as in case of CFB mode. In this mode, both the sender and receiver need to access to a reliable counter, which computes a new shared value each time a ciphertext block is exchanged.

This is because the CTR mode is really using the block cipher to generate a key-stream, which is encrypted using the XOR function.

The symmetric key was found to be non-practical due to challenges it faced for key management. Generally, this type of cryptosystem involves trusted third party which certifies that a particular public key belongs to a specific person or entity only. In fact, intelligent part of any public-key cryptosystem is in designing a relationship between two keys. For strong unbreakable encryption, let n be a large number, typically a minimum of 512 bits. This means that d is the number less than (p - 1)(q - 1) such that when multiplied by e, it is equal to 1 modulo (p - 1)(q - 1). The RSA cryptosystem is most popular public-key cryptosystem strength of which is based on the practical difficulty of factoring the very large numbers. An attacker thus cannot use knowledge of an RSA public key to determine an RSA private key unless he can factor n. In fact, if a technique for factoring efficiently is developed then RSA will no longer be safe. It derives the strength from the assumption that the discrete logarithms cannot be found in practical time frame for a given number, while the inverse operation of the power can be computed efficiently. Satchels can be store-bought gift bags, paper lunch sacks with construction paper carry straps or easy sew felt.

Decide what your message will be (perhaps the mission goal or the location of the map or next clue). Adventurers must spot the letters and unscramble the message.Map Scraps - You could also draw out the obstacle course for kids on some "old" tea-stained paper and then tear it into large pieces which guests must puzzle back together before they can begin the course. If you don't have one, squares can be cut from poster board, drawn on a driveway in chalk or spray painted right into the grass.

The explorers must arm themselves with water pistols or rocks (water balloons) and attack the bandits.

Seal an assortment of plastic treasures (rings, bracelets, beaded necklaces) in Ziploc baggies. Challenges using the 26 letter english alphabet based on the cipher systems described in this section.

Part 2Excel VBA Using text boxes, command buttons and VBA programming to make and break mono-alphabetic substitution ciphers. This is an excellent cipher for the beginner to start building his or her experience of cryptology. One of these tools is the Symmetric Key Encryption where the key used for encryption and decryption is the same.

The sender and the receiver may choose any one of these possible permutation as a ciphertext alphabet. However, the Simple Substitution Cipher has a simple design and it is prone to design flaws, say choosing obvious permutation, this cryptosystem can be easily broken. Each of the 25 alphabets must be unique and one letter of the alphabet (usually J) is omitted from the table as we need only 25 alphabets instead of 26. The rest of the table will be filled with the remaining letters of the alphabet, in natural order.

However, with each character now having its own individual shift between 1 and 26, the possible keys grow exponentially for the message. To break the ciphertext by brute force, you need to try all possibilities of keys and conduct computation for (26 x 26 x 26 x 26 x 26) = 265 = 11881376 times. The number of rows is obtained by dividing number of total ciphertext alphabets by key value and rounding of the quotient to next integer value. Unauthorized people could not extract any information, even if the scrambled messages fell in their hand.

This code was the secret known only to the scribes who used to transmit messages on behalf of the kings. Now, the arrival of computers and the Internet has brought effective cryptography within the reach of common people. The computational difficulty of algorithms, absence of secret key, etc., make it impossible for an attacker to obtain the original information even if he knows the algorithm used for coding. You can think of cryptography as the establishment of a large toolkit containing different techniques in security applications. Integrity service confirms that whether data is intact or not since it was last created, transmitted, or stored by an authorized user. It is a cryptographic algorithm that takes plaintext and an encryption key as input and produces a ciphertext. The decryption algorithm essentially reverses the encryption algorithm and is thus closely related to it. The sender inputs the encryption key into the encryption algorithm along with the plaintext in order to compute the ciphertext. It is practically impossible to decrypt the ciphertext with the key that is unrelated to the encryption key.

It is very unlikely that this encryption will fade away, as it has certain advantages over asymmetric key encryption. When the third party is requested to provide the public key for any communicating person X, they are trusted to provide the correct public key. Kerckhoff stated that a cryptographic system should be secure even if everything about the system, except the key, is public knowledge. The only difference in stealing physical goods and stealing information is that theft of data still leaves the owner in possession of that data.

Also, according to Kerckhoff’s principle, the algorithm is preferred to be public with strength of encryption lying in the key.

COA is said to be successful when the corresponding plaintext can be determined from a given set of ciphertext. In future, when an attacker gets the ciphertext, he refers the dictionary to find the corresponding plaintext.

The attacker knows the ciphertext and the algorithm, now he attempts all the 256 keys one by one for decryption.

When students in a class are asked about their birthdays, the answer is one of the possible 365 dates.

For example, if the encryption takes a longer time, it indicates that the secret key is long. For example, in chosen-ciphertext attack, the attacker requires an impractical number of deliberately chosen plaintext-ciphertext pairs.

For example, a 150-bit plaintext provides two blocks of 64 bits each with third block of balance 22 bits. But at the same time, more rounds mean the inefficient slow encryption and decryption processes. It comprises of a series of linked operations, some of which involve replacing inputs by specific outputs (substitutions) and others involve shuffling bits around (permutations). Each of these rounds uses a different 128-bit round key, which is calculated from the original AES key. Otherwise, the resulting 128 bits are interpreted as 16 bytes and we begin another similar round. Additionally, AES has built-in flexibility of key length, which allows a degree of ‘future-proofing’ against progress in the ability to perform exhaustive key searches. Interestingly, the different modes result in different properties being achieved which add to the security of the underlying block cipher. Hence, the long message is divided into a series of sequential message blocks, and the cipher operates on these blocks one at a time. Thus, the operation is analogous to the assignment of code words in a codebook, and hence gets an official name − Electronic Codebook mode of operation (ECB). A ciphertext from ECB can allow an attacker to guess the plaintext by trial-and-error if the plaintext message is within predictable.

The CFB mode requires an initialization vector (IV) as the initial random n-bit input block.

This shared counter is not necessarily a secret value, but challenge is that both sides must keep the counter synchronized. The system was invented by three scholars Ron Rivest, Adi Shamir, and Len Adleman and hence, it is termed as RSA cryptosystem. It is also a one way function, going from p & q values to modulus n is easy but reverse is not possible.

She also has a really cool idea for how to turn a dollar store cowboy hat into Indiana's trademark hat and whip. Encode it using one of the methods below and provide a key or decoder for guests to solve.The picture on the right is a simple number for letter cipher.

Build cardboard box temples or pyramids or turn playground equipment or furniture into exotic destinations.

Using string or fake spider webs left over from Halloween, LOOSELY attach critters to the top and walls of a narrow tunnel. These ideas further fueled the natural need of people to communicate secretly with selective recipient which in turn ensured the continuous evolution of cryptography as well. Cryptanalysis is also used during the design of the new cryptographic techniques to test their security strengths. The receiver inputs the decryption key into the decryption algorithm along with the ciphertext in order to compute the plaintext.

These limitations of symmetric key encryption gave rise to asymmetric key encryption schemes.

The security of the encrypted message depends solely on the security of the secret encryption key. Passive information attack is thus more dangerous than stealing of goods, as information theft may go unnoticed by the owner. An example of this attack is differential cryptanalysis applied against block ciphers as well as hash functions. The last block of bits needs to be padded up with redundant information so that the length of the final block equal to block size of the scheme. A cryptographic system based on Feistel cipher structure uses the same algorithm for both encryption and decryption.

Though, key length is 64-bit, DES has an effective key length of 56 bits, since 8 of the 64 bits of the key are not used by the encryption algorithm (function as check bits only).

Try serving Spaghetti Snakes (roll lasagna noodles lengthwise around cheese sticks and bake in spaghetti sauce) or Golden Tarantulas (Chicken tenders with carrot stick legs). Thus, for a longer message, the computation grows exponentially with every additional alphabet.

It can be intercepted or compromised by anyone who has access to the communication channel.

In our example, the remaining 22 bits need to have additional 42 redundant bits added to provide a complete block.

Choose one or more to give guests moments to catch their breath and cool down between more energetic activities. One of the best parts about this hunt is that you can play it ANYWHERE because you decide the hiding locations.For complete details click on picture on left. For an added twist, toss a few more bugs, spider webs or pieces of yarn into the cups for a creepy surprise. When you say go, children will have to run to the cold water and try to find a treasure bag amidst the fish. Were you sent to investigate by the government or the university? Think about the end goal when setting up the beginning. Children will crawl through the tunnel single file to the other side, likely pulling bugs loose as they go.

When all the switches have been pulled the wall should slide out of the way with a loud groan. Use snack-size Twix for fallen logs, twirl Pretzel rods in green frosting and stick into cake for trees, roll Laffy Taffy into flowers or jewels, and blue sprinkles become a river. Wherever you decide to take your guests, here are some adaptable game challenge ideas to get you started.

Treasure logs to keep track of the journey can be Dollar store mini-composition books or some folded printer paper with a brown construction paper cover. Then build a party plan with a mix of mental and physical challenges, some crafts they can keep and of course a buffet spread to beat an adventurer's appetite.Let's talk about some games you can use to add the mystery and adventure to your quest!

Get gold and silver cups from Dollar Tree and let guests a€?engravea€? with markers and decorate with sticky-backed crafts jewels. You may also want to give each guest a passport which you can stamp at each obstacle or leg of the journey. Cut a couple sheets of printer paper in half (hamburger fold) then fold in half again and staple into a folded half-sheet of dark construction paper.

Horoscope signs march 9 episode Free name correction in numerology year Zodiac movie goofs Zodiac signs libra capricorn |

09.05.2015 at 11:29:57 Start?date have an unusually high lives from the workplace straight to our.

09.05.2015 at 15:16:45 Appearance, we can see the authority and likelihood to achieve nice things in life.

09.05.2015 at 13:37:32 That we're economies choose-up shortly slow, deliberate and orderly manner.?They don't like to

reverse alphabet number cipherbe rushed, and.09.05.2015 at 22:14:50 HAVE A PEN AND enough scores to display a mean a simpler example is waking up on the wrong.