Cryptographic Algorithms
• Course information
• General Concepts
• Introductory examples
• Terminology
• Classical cryptography
• Cryptanalysis
Cryptographic goals
We want to achieve
• Confidentiality (keeping information secret)
• Integrity (preventing alterations)
• Authentication (preventing fraud)
• Non-repudiation (preventing denial of messages sent)
The Importance of Cryptograpy
• Cryptographic techniques are increasingly used to enhance security in
• Data storage and communication• E-commerce• Home banking• Pay TV• Mobile phones• And a multitude of other applications
Course Objectives
• After this course you should• be well oriented in basic cryptographic concepts and
methods• have a sound understanding of theory and
implementation, as well as limitations and vulnerability.• be familiar with a number of examples of the use of
cryptographic tools in common software and hardware products.
• be aware of the engineering difficulties in building secure systems
Course Information
• Course code: CNS2-2
• Lectures and problem sessions: Jens Damgaard Andersen
• Class hours (1. period): Wednesday 13.15-17.00 and Friday 9.00-12.45
• Class hours (2. period): Friday 9.00-12.45
• Classroom: K. 2.01 (usually)
Course literature
• Textbook: Douglas R. Stinson: Cryptography – Theory and Practice, 3rd Edition. Chapham & Hall/CRC 2006
ISBN-10: 1-58488-508-4
ISBN-13: 978-1-58488-508-5
Additional useful resources, available on the net:Handbook of Applied cryptography, CRC Press 2002, 816 pages
Selected papers: see course home page
Classical Cryptography: a gentle introduction
• Model of a Cryptosystem• The Substitution cipher• The Vigenère Cipher• The Permutation Cipher• Cryptanalysis• Types of Attack• Cryptanalysis of the Substitution Cipher• Cryptanalysis of the Vigènere Cipher
Motivation from breaking classical ciphers
• Understanding and using redundancy and side information
• using statistics in the process of breaking ciphers
• Leading up to Shannon’s theory of perfect secrecy (next lecture)
• The notion of a one-time pad
Definition of a cryptosystem
A cryptosystem consists of a finite set of possible plaintexts, ciphertexts, a keyspace (a set of possible keys) and for each key there is an encryption rule and a corresponding decryption rule such that is a plaintext is encrypted with a key it can be recovered by the same (or another) key by the decryption rule.
Block Cipher System
• The message is a string composed of plaintext symbols
• By encryption the string is converted into a string of ciphertext symbols
• The encrypton function is injective
The Shift Cipher
• The Shift Cipher uses modular arithmetic• Each of the 26 English alphabetic characters is
mapped into the integers modulo 26, i.e.
A is mapped into 0, B into 1, ...Z into 26
(see table on page 5). Encryption: A given integer is added to each value modulo 26 and the result is mapped back into characters. Exercise: Find key for example 1.
The Substitution Cipher
• The 26 English characters are mapped into some permutation of the 26 characters.
• The permutation is the key (see example on page 7)
• There are 26! possible permutations, i.e.
26! possible keys
Ciphers not considered here
• The Affine Cipher (page 8-12)
• The Hill Cipher (page 13-19)
• The Permutation Cipher (page 19-21)
• Stream Ciphers (page 21-25)
These are outside the ”Core Curriculum”.
A listing of the core curriculum will be prepared as the course proceeds.
Cryptanalysis
Kerckhoffs’ principle: The adversary knows the cryptosystem being employed, so the entire security of the system resides on keeping the key secret.
Types of attacks
• Ciphertext only attack
• Known plaintext attack
• Chosen plaintext attack
• Chosen ciphertext attack
Attack models
Ciphertext only attack:
The opponent posseses a string of ciphertext y
Known plaintext attack:
The opponent posseses a string of plaintext x and the corresponding ciphertext y
Attack models
Chosen plaintext attack:
The opponent can choose a plaintext x and obtain the corresponding ciphertext y
Chosen ciphertext attack:
The opponent can choose a ciphertext y and obtain the corresponding plaintext x
Cryptanalysis using statistics
Cryptanalysis can be done using statistical properties of the English language. Tabulate frequency of occurrence of single letters, digrams and trigrams.
What is the most frequent letter in English plaintexts ? Most frequent digram, most frequent trigram ?
Cryptanalysis using statistics
Cryptanalysis can be done using statistical properties of the English language. Tabulate frequency of occurrence of single letters, digrams and trigrams.
See engstat.html on the homepage (when it is uploaded)
Useful English Language Statistics
Order and Frequency of Single Letters
E 12.31% L 4.03% B 1.62% T 9.59 D 3.65 G 1.61 A 8.05 C 3.20 V 0.93 O 7.94 U 3.10 K 0.52 N 7.19 P 2.29 Q 0.20 I 7.18 F 2.28 X 0.20 S 6.59 M 2.25 J 0.10 R 6.03 W 2.03 Z 0.09 H 5.14 Y 1.88
Letter Groups Percentages
A E I O U 38.58% L N R S T 33.43% J K Q X Z 1.11% E T A O N 45.08% E T A O N I S R H 70.02%
Order and Frequency of Leading DIGRAMS
TH 3.15% TO 1.11% SA 0.75% MA 0.56% HE 2.51 NT 1.10 HI 0.72 TA 0.56 AN 1.72 ED 1.07 LE 0.72 CE 0.55 IN 1.69 IS 1.06 SO 0.71 IC 0.55 ER 1.54 AR 1.01 AS 0.67 LL 0.55 RE 1.48 OU 0.96 NO 0.65 NA 0.54 ES 1.45 TE 0.94 NE 0.64 RO 0.54 ON 1.45 OF 0.94 EC 0.64 OT 0.53 EA 1.31 IT 0.88 IO 0.63 TT 0.53 TI 1.28 HA 0.84 RT 0.63 VE 0.53 AT 1.24 SE 0.84 CO 0.59 NS 0.51 ST 1.21 ET 0.80 BE 0.58 UR 0.49 EN 1.20 AL 0.77 DI 0.57 ME 0.48 ND 1.18 RI 0.77 LI 0.57 WH 0.48 OR 1.13 NG 0.75 RA 0.57 LY 0.47