Cryptography (Revised Edition)
-
Upload
somaditya-basak -
Category
Technology
-
view
117 -
download
3
Transcript of Cryptography (Revised Edition)
What is Cryptography?
The term cryptography comes from the Greek term kryptoswhich means "hidden, secret"; and gráphō, which means "writing".
Cryptography is the practice and study of hiding information, i.e. means of converting information from its normal, comprehensible form into an incomprehensible format, rendering it unreadable without secret knowledge.
Modern cryptography intersects the disciplines of mathematics, computer science, and engineering.
2
Terminology
Plaintext: The information a sender wishes to transmit to a receiver. It is the input fed into an encryption algorithm.
3
Terminology (contd.)
Cipher: An algorithm for performing encryption or decryption — a series of well-defined steps that can be followed as a procedure.
4
Terminology (contd.)
Cipher text: The unintelligible gibberish obtained as a
result after applying a cipher on a plaintext.
5
Terminology (contd.)
Encryption: The process of transforming information (plaintext) using an algorithm (cipher) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key. The result of the process is encrypted information (cipher text).
6
Terminology (contd.)
Decryption: The reverse of encryption, to make the encrypted information readable again (i.e. to make it unencrypted).
Key: A piece of information which is generated at the time of encryption and is required to decrypt the encrypted data.
7
Applications of Cryptography
Defense forces: To ensure secrecy of communication.
Intelligence Agencies: To decrypt intercepted communication among terrorist outfits and other countries.
E-Commerce (online shopping, net banking): To ensure secrecy of confidential information like credit card numbers during transactions.
8
Classical Ciphers
Substitution: A substitution cipher is a method of
encryption by which units of plaintext are replaced with
cipher text according to a sequential order. Caesar’s shift cipher
Atbash
ROT13
Affine
Transposition: The units of the plaintext are rearranged
in a different and usually quite complex order. Caesar’s Box Cipher
Columnar transposition
10
Substitution: Caesar’s Shift Cipher
Caesar’s shift cipher is one of the simplest substitution cipher.
It is a type of substitution cipher in which each letter in the plaintext is replaced by a
letter some fixed number of positions down the alphabet.
For example, with a shift of 3, A would be replaced by D, B would become E, and so on.
Plain: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Cipher: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
(the shift parameter is +3)
11
Substitution: Atbash Cipher
Atbash is another simple substitution cipher .
It consists in substituting the first letter for the last, the second for
the one before last, and so on, therefore reversing the alphabet.
Plain: abcdefghijklmnopqrstuvwxyz
Cipher: ZYXWVUTSRQPONMLKJIHGFEDCBA
First 13 letters: A|B|C|D|E|F|G|H|I|J|K|L|M
Last 13 Letters: Z|Y|X|W|V|U|T|S|R|Q|P|O|N
12
Substitution: ROT13 Cipher
ROT13: Applying ROT13 to a piece of text merely requires
examining its alphabetic characters and replacing each one by the
letter 13 places further along in the alphabet, wrapping back to the
beginning if necessary.
13
Substitution: ROT13 Cipher
ROT13 is its own inverse; that is, to undo ROT13, the same algorithm is applied, so the same action can be used for encoding and decoding.
Only those letters which occur in the English alphabet are affected; numbers, symbols, whitespace, and all other characters are left unchanged.
Because there are 26 letters in the English alphabet and 26 = 2 × 13, the ROT13 function is its own inverse:
ROT13(ROT13(x)) = ROT26(x) = x for any text x.
In other words, two successive applications of ROT13 restore the original text (in mathematics, this is sometimes called an involution; in cryptography, a reciprocal cipher).
14
Substitution: Affine Cipher
In Affine cipher, each letter in an alphabet is mapped to
its numeric equivalent and then encrypted using a
simple mathematical function.
The encryption function for this example will be
y = E(x) = (5x + 8) mod 26
15
Transposition: Caesar’s Box Cipher
This cipher requires the encoder to omit any spaces and then rewrite the plaintext in a square column-wise and read row-wise to get the cipher text.
So for example to encode the phrase 'What an unusual box', first omit the spaces to get 'WHATANUNUSUALBOX' and then write them in a box as follows:
To write this in code, you would then print 'WAULHNSBAUUOTNAX'
16
Columnar Transposition Cipher
In a columnar transposition, the message is written out in rows of a fixed length, and then read out column by column, and the columns are chosen in some scrambled order.
Both the width of the rows and the permutation of the columns are usually defined by a keyword.
For example, the word ZEBRAS is of length 6 (so the rows are of length 6), and the permutation is defined by the alphabetical order of the letters in the keyword.
In this case, the order would be "6 3 2 4 1 5".
17
Columnar Transposition Cipher
For example, suppose we use the keyword ZEBRAS and the
message WE ARE DISCOVERED. FLEE AT ONCE.
In a columnar transposition, we write this into the grid as:Z E B R A S
6 3 2 4 1 5
W E A R E D
I S C O V E
R E D F L E
E A T O N C
E
This results in the following ciphertext:EVLN ACDT ESEA ROFO DEEC WIREE
18
Rotor Machine
A rotor machine is an electro-mechanical device used for encrypting and decrypting secret messages.
The primary component is a set of rotors which are rotating disks with an array of electrical contacts on either side. The wiring between the contacts implements a fixed substitution of letters, scrambling them in some complex fashion.
The most widely known rotor cipher device is the German Enigmamachine used during World War II. It was broken by Alan Turing.
19
Modern Ciphers
Private Key ciphers are a class of algorithms for
cryptography that use identical cryptographic keys
for both decryption and encryption.
A single secret key shared by sender and receiver
(which must also be kept private)
The sender and receiver must securely share a key
in advance.
20
Private Key Ciphers
Stream Ciphers: A stream cipher is a private key
cipher where plaintext bits are combined with a
pseudorandom cipher bit stream (key stream),
typically by an exclusive-or (XOR) operation.
E.g. A5/1 is a stream cipher used to provide over-the-air
communication (mainly voice) privacy in the GSM cellular
telephone standard
Turing is a stream cipher developed at Qualcomm for CDMA.
21
Private Key Ciphers
Block Ciphers: A block cipher is a private key cipher operating on
fixed-length groups of bits, called blocks. A block cipher
encryption algorithm might take (for example) a 128-bit block of
plaintext as input, and output a corresponding 128-bit block of
cipher text. The exact transformation is controlled using a second
input — the secret key.
E.g. DES, AES
22
Public Key Encryption
The distinguishing technique used in public key cryptography is
the use of asymmetric key algorithms, where the key used to
encrypt a message is not the same as the key used to decrypt it.
The asymmetric key algorithms are used to create a
mathematically related key pair: a secret private key and a
published public key.
23
Public Key Encryption
Unlike symmetric key algorithms, it does not require
a secure initial exchange of one or more secret keys
to both sender and receiver.
Each user has a pair of cryptographic keys — a
public key and a private key.
The private key is kept secret, whilst the public key
may be widely distributed.
The keys are related mathematically, but the private
key cannot be feasibly (i.e. in actual or projected
practice) derived from the public key.
24
Public Key Encryption
Messages are encrypted with the recipient's public
key and can only be decrypted only with the
corresponding private key.
25
Public Key Encryption
It was the discovery of such algorithms which
revolutionized the practice of cryptography beginning
in the middle 1970s.
E.g. RSA (which stands for Rivest, Shamir and
Adleman, who first publicly described it), PGP (short
for Pretty Good Privacy)
26
Decryption Techniques
Brute force attack is a strategy used to break the encryption of data which involves traversing all possible keys until the correct key is found.
The selection of an appropriate key length depends on the practical feasibility of performing a brute force attack.
The resources required for a brute force attack scale exponentially with increasing key size, not linearly.
As a result, doubling the key size for an algorithm does not simply double the required number of operations, but rather squares them.
27
Decryption Techniques
Dictionary attack is a technique for defeating a cipher or authentication mechanism by trying to determine its decryption key or passphrase by searching likely possibilities.
Dictionary attack uses a brute-force technique of successively trying all the words in an exhaustive list called a dictionary (from a pre-arranged list of values).
In contrast with a normal brute force attack, where a large proportion key space is searched systematically, a dictionary attack tries only those possibilities which are most likely to succeed, typically derived from a list of words like a dictionary (hence the phase dictionary attack), or easily-predicted variations on words, such as appending a digit.
28
Conclusion
Cryptography is a very important field of study in
today’s world whether in our daily lives or in national
security.
It is evolving at a rapid pace.
Theoretically, no cipher can provide absolute
secrecy. Given enough time and computational
power, any encrypted data can be deciphered.
Only practical limitations (time and computing
resources) makes an encryption technique
sufficiently secure.
29