Cryptography and Steganography
Cryptography and Steganography
Steganography
Discussion Goals
• Cryptography – Definition.
• History of Cryptography.
• Basic Terminologies.
• Importance of Cryptography.
• Types of Cryptography.
• Cryptography Algorithms.
• RSA (Public Key)
• DES (Symmetric)
• Hash Functions
• Digital Signatures
• Watermarking
Cryptography
Definition, History, Types
What is Cryptography ?
“Cryptography is an art of Secret writing”
Or
“Cryptography -- from the Greek for “secret writing” (Kryptos
means ‘HIdden’, graphein means ‘writing’) -- is the mathematical
“scrambling” of data into unreadable form to preserve
confidentiality. ”
Or
“Cryptography is the process of converting plaintext into
ciphertext”
Friends & Foes : Juvia, Gray,
Lyon
• Juvia and Gray wants to communicate securely.
• Lyon (Intruder) may intercept and tamper the communication.
Data, control
Juvia Channel Gray
messages
Lyon
Base Cryptography Mechanism
Key A Key B
Juvia
Gray
Encryption Ciphertext Decryption plaintext
plaintext Algorithm Algorithm
Lyon
Cryptography Issues
CIA Traid
..contd.
Confidentiality: only sender, intended receiver should
“understand” message contents.
sender encrypts message.
receiver decrypts message.
• Manual era refers to Pen and Paper Cryptography and dates back to
2000 B.C.eg : Scytale, Atbash , Caesar, Vigenere.
9
• There are infinite permutations of cryptography available using
computers. E.g.: Lucifer, Rijndael , RSA , ElGamal.
BASIC TERMINOLOGIES
Some must known Terms
Basic Terms
13
Cryptosystem Services or
Security Goals
Authentication
• Ensures that whoever supplies or accesses sensitive
data is an authorized party.
Confidentiality
• Assures that only authorized parties are able to
understand the data.
..contd.
Integrity
• Ensures that when a message is sent over a network,
the message that arrives is the same as the message
that was originally sent.
Nonrepudiation
• Ensuring that the intended recipient actually received
the message & ensuring that the sender actually sent
the message.
Importance of
Cryptography
Need for Cryptography
• Establishing a Secure communication.
• Fulfil the security goals.
• Preservation of Authentic information.
• Secure Transaction.
• Privacy.
Attributes of Strong Encryption
• Confusion
• Change key values each round
• Performed through substitution
• Complicates plaintext/key relationship
• Diffusion
• Change location of plaintext in ciphertext
• Done through transposition
18
Types of
Cryptography
Encryption Systems
• Substitution Cipher
• Convert one letter to another
• Cryptoquip
• Transposition Cipher
• Change position of letter in text
• Word Jumble
• Monoalphabetic Cipher
• Caesar
20
Encryption Systems
• Polyalphabetic Cipher
• Vigenère
• Modular Mathematics
• Running Key Cipher
• One-time Pads
• Randomly generated keys
21
Categories of Cryptography
• Cryptography in its early days
Trad
ition • Ex :- Caesar Cipher, Playfair, Rain fence
al
• Shared Key
Sym
met • Ex :- DES, AES etc.
ric
Scheme
A B C D E …..
D E F G H …..
Example :-
Plaintext = “DAD”
Ciphertext = “GDG”
Rail Fence Cipher
• Plaintext is written in successive ‘rails’ diagonally.
• No. of rails is predefined, say 3.
• After the message exhausts on rails the message is read row-
wise and it becomes the cipher text.
For example, if we have 3 "rails" and a message of 'WE ARE
DISCOVERED. FLEE AT ONCE', the cipher writes out:
Principle
The key is the permutation of the alphabet. The plaintext and
the ciphertext alphabet are the same. The alphabet is divided in
two halves to pair the letters:
F Y M Q G V O P D J R A K
C I E U B X T S Z W N L H
The letter “F” becomes the letter “C” and “B” is replaced by “G”.
The word "EXAMPLE" would be encoded by: "MVLESAM".
Enigma
• Used by the Germans
during World War II
• Replaced letters as
they were typed
• Substitutions were
computed using a key
and a set of switches
or rotors.
27
Symmetric Key
Cryptography
Symmetric Key Scheme
• Same key for encryption and decryption
• Key distribution problem
30
..contd.
• Disadvantages
• Symmetric keys must remain secret
• Difficult to deliver keys (key distribution)
• Symmetric algorithms don’t support
authenticity or nonrepudiation
• You can’t know for sure who sent the message,
since two people have the same key
31
Symmetric Cryptography
Algorithms
• Types of symmetric algorithms
• Stream ciphers
• Operate on plaintext one bit at a time
• Block ciphers
• Operate on blocks of plaintext
32
Symmetric Algorithms
• DES
• Modes: ECB, CBC, CFB, OFB, CM
• 3DES
• AES
• IDEA
• Blowfish
33
..contd.
• RC4
• RC5
• CAST
• SAFER
• Twofish
34
Key Distribution
• Symmetric schemes require both parties to share a
common secret key
• issue is how to securely distribute this key
• often secure system failure due to a break in the key
distribution scheme
Key Distribution methods
• Given parties A and B have various key distribution
alternatives:
1. A can select key and physically deliver to B
Not suitable
2. third party can select & physically deliver key to A &
for large
systems
B
3. if A & B have communicated previously can use
previous key to encrypt a new key
Initial 4. if A & B have secure communications with a third
distribution? party C, C can relay key between A & B
Scale of key distribution problem
• A network with N
hosts => N(N-1)/2
pairs
• Node-level
encryption N(N-1)/2
• Application-level
encryption
• 10 applications/node
Key distribution center (KDC)
KDC shares a unique key (master key) with each user to distribute
secret key (session key) between a pair of users:
scale of key distribution problem reduces to N
Key distribution
center (KDC)
EMK1 (Secret key) EMK2 (Secret key)
KDC KDC
… …
a b
Design Principles of
DES
To achieve high degree of diffusion and confusion.
Diffusion: making each plaintext bit affect as many ciphertext bits as possible.
Confusion: making the relationship between the encryption key and the ciphertext as complex as
possible.
1
DES: The Data Encryption Standard
f ( RI–1, KI ) KI
Swapper
LI RI
32 bits 32 bits
Each round
43
Initial Permutation IP
• IP: the first step of the encryption.
• It reorders the input data bits.
• The last step of encryption is the inverse of IP.
Round Keys Generation
• Main key: 64 bits.
• 56-bits are selected and permuted using Permuted
Choice One (PC1); and then divided into two 28-bit
halves.
• In each round:
• Left-rotate each half separately by either 1 or 2 bits according to
a rotation schedule.
• Select 24-bits from each half, and permute the combined 48 bits.
• This forms a round key.
Permuted Choice One (PC1)
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
46
Round i
Li-1 Ri-1
32
ki
F 48
32 32
+
Li Ri
TCP/IP Protocol Suite
48
The F function of DES
The L and R each have 32 bits, and the round key K 48 bits.
F ( R, K ) P S E ( R ) K
49
Public Key
Cryptography
Public-Key Cryptography
• probably most significant advance in the 3000
year history of cryptography
• uses two keys – a public key and a private key
• asymmetric since parties are not equal
• uses clever application of number theory
concepts to function
• complements rather than replaces private key
cryptography
..contd.
• public-key/two-key/asymmetric cryptography
involves the use of two keys:
• a public-key, which may be known by anybody, and
can be used to encrypt messages, and verify
signatures
• a private-key, known only to the recipient, used to
decrypt messages, and sign (create) signatures
• is asymmetric because
• those who encrypt messages or verify signatures
cannot decrypt messages or create signatures
..contd.
Comparison between symmetric and
public-key encryption
Requirement for public-key
cryptography
• Diffie and Hellman (1976) proposed the system
without the algorithm for E and D. They laid out
the requirement:
• It is computationally easy to generate a pair of keys
• Y = EKU (X)
It is computationally easy for a sender to encrypt b
• It is computationally easy for a receiver to decrypt X = DKR (Y)
b
57
Public-Key Cryptosystems
Public-Key Applications
• can classify uses into 3 categories:
• encryption/decryption (provide secrecy)
• digital signatures (provide authentication)
• key exchange (of session keys)
• some algorithms are suitable for all uses, others
are specific to one
Security of Public Key Schemes
• like private key schemes brute force exhaustive
search attack is always theoretically possible
• but keys used are too large (>512bits)
• security relies on a large enough difference in
difficulty between easy (en/decrypt) and hard
(cryptanalyse) problems
• more generally the hard problem is known, its
just made too hard to do in practise
• requires the use of very large numbers
• hence is slow compared to private key schemes
RSA
• by Rivest, Shamir & Adleman of MIT in 1977
• best known & widely used public-key scheme
• based on exponentiation in a finite (Galois) field
over integers modulo a prime
• nb. exponentiation takes O((log n)3) operations (easy)
• uses large integers (eg. 1024 bits)
• security due to cost of factoring large numbers
• nb. factorization takes O(e log n log log n) operations (hard)
RSA Key Setup
• each user generates a public/private key pair by:
• selecting two large primes at random - p, q
• computing their system modulus N=p.q
• note ø(N)=(p-1)(q-1)
• selecting at random the encryption key e
• where 1<e<ø(N), gcd(e,ø(N))=1
• solve following equation to find decryption key d
• e.d=1 mod ø(N) and 0≤d≤N
• publish their public encryption key: KU={e,N}
• keep secret private decryption key: KR={d,p,q}
RSA Use
• to encrypt a message M the sender:
• obtains public key of recipient KU={e,N}
• computes: C=Me mod N, where 0≤M<N
• to decrypt the ciphertext C the owner:
• uses their private key KR={d,p,q}
• computes: M=Cd mod N
• note that the message M must be smaller than the
modulus N (block if needed)
Why RSA Works
• because of Euler's Theorem:
• aø(n)mod N = 1
• where gcd(a,N)=1
• in RSA have:
• N=p.q
• ø(N)=(p-1)(q-1)
• carefully chosen e & d to be inverses mod ø(N)
• hence e.d=1+k.ø(N) for some k
• hence :
Cd = (Me)d = M1+k.ø(N) = M1.(Mø(N))q = M1.(1)q = M1
= M mod N
RSA Example
1. Select primes: p=17 & q=11
2. Compute n = pq =17×11=187
3. Compute ø(n)=(p–1)(q-
1)=16×10=160
4. Select e : gcd(e,160)=1; choose e=7
5. Determine d: de=1 mod 160 and d < 160
Value is d=23 since 23×7=161= 10×160+1
6. Publish public key KU={7,187}
7. Keep secret private key KR={23,17,11}
RSA Example cont
• sample RSA encryption/decryption is:
• given message M = 88 (nb. 88<187)
• encryption:
C = 887 mod 187 = 11
• decryption:
M = 1123 mod 187 = 88
Exponentiation
• can use the Square and Multiply Algorithm
• a fast, efficient algorithm for exponentiation
• concept is based on repeatedly squaring base
• and multiplying in the ones that are needed to
compute the result
• look at binary representation of exponent
• only takes O(log2 n) multiples for number n
• eg. 75 = 74.71 = 3.7 = 10 mod 11
• eg. 3129 = 3128.31 = 5.3 = 4 mod 11
Exponentiation
RSA Key Generation
• users of RSA must:
• determine two primes at random - p, q
• select either e or d and compute the other
• primes p,q must not be easily derived from
modulus N=p.q
• means must be sufficiently large
• typically guess and use probabilistic test
• exponents e, d are inverses, so use Inverse
algorithm to compute the other
RSA Security
• three approaches to attacking RSA:
• brute force key search (infeasible given size of numbers)
• mathematical attacks (based on difficulty of computing ø(N), by
factoring modulus N)
• timing attacks (on running of decryption)
Factoring Problem
• mathematical approach takes 3 forms:
• factor N=p.q, hence find ø(N) and then d
• determine ø(N) directly and find d
• find d directly
• currently believe all equivalent to factoring
• have seen slow improvements over the years
• as of Aug-99 best is 130 decimal digits (512) bit with GNFS
• biggest improvement comes from improved
algorithm
• cf “Quadratic Sieve” to “Generalized Number Field Sieve”
• barring dramatic breakthrough 1024+ bit RSA secure
• ensure p, q of similar size and matching other constraints
Hashing Algorithms
• HAVAL
• Computes between 128 and 256 bit hash
• Between 3 and 5 rounds
• RIPEMD-160
• Developed in Europe published in 1996
• Patent-free
72
Digital Signatures
• Digital signatures can be permanently tied to the content
of the message being signed. They cannot then be
'moved' from one document to another, for any attempt
will be detectable.
DIGITAL TECHNIQUES:
• Concealing data within encrypted data or within random data (an
unbreakable cipher like the one-time pad generates cipher texts that
look perfectly random if one does not have the private key).
• Concealed messages in tampered executable files, exploiting
redundancy in the targeted instruction set.
• Pictures embedded in video material (optionally played at slower or
faster speed).
Basic Steganography Model
Secret Stego
Message Encoder
Communication channel
Cover
Key Cover
Medium
Estimate
Original
of
Cover
Message
Stego
Decoder
Steganography Terms
• Carrier or Cover File - A Original message or a
file in which hidden information will be stored
inside of it .
• Stego-Medium - The medium in which the
information is hidden.
• Embedded or Payload - The information which is
to be hidden or concealed.
• Steganalysis - The process of detecting hidden
information inside a file.
Types Of Stegosystems and
Steganography
STEGOSYSTEM TYPES:
• Pure stegosystems - no key is used.
• Secret-key stegosystems - secret key is used.
• Public-key stegosystems - public key is used.
STEGANOGRAPHY TYPES:
•Text Steganography.
•Image Steganography.
•Audio Steganography.
•Video Steganography.
•Protocol Steganography.
Text Steganography
• Text steganography can be applied in the digital makeup
format such as PDF, digital watermark or information hiding
• It is more difficult to realize the information hiding based on
text. The simplest method of information hiding is to select
the cover first, adopt rules to add the phraseological or
spelling mistakes, or replace with synonymy words.
Digital
Signatures
Steganograp
hy
Combined Crypto-
Steganography
Encryptio Cipher Cover
Plain Text
n Text Image
Stego
Image
Decrypti Cipher
Plain Text
on Text
Applications
• Confidential communication and secret data storing
• Steganography provides us with:
• Potential capability to hide the existence of confidential
data
• Hardness of detecting the hidden (i.e., embedded) data
• Strengthening of the secrecy of the encrypted data
• Protection of data alteration
• Access control system for digital content distribution
• Media Database systems
• Usage in modern printers
• Alleged use by intelligence services
Steganography Tools
• Steganos
• S-Tools (GIF, JPEG)
• StegHide (WAV, BMP)
• Invisible Secrets (JPEG)
• JPHide
• Camouflage
• Hiderman
Future Scope
• Steganography, though is still a fairly new idea. There
are constant advancements in the computer field,
suggesting advancements in the field of steganography
as well.
• It is likely that there will soon be more efficient and
more advanced techniques for Steganalysis.
• What is scary is that such a small file of only one or two
sentences may be all that is needed to commence a
terrorist attack. In the future, it is hoped that the
technique of Steganalysis will advance such that it will
become much easier to detect even small messages
within an image.
Conclusion
• Interest in the use of steganography in our current digital
age can be attributed to both the desire of individuals to
hide communication through a medium rife with
potential listeners, or in the case of digital watermarking,
the absolute necessity of maintaining control over one’s
ownership and the integrity of data as it passes through
this medium. This increased interest is evidenced in the
sheer number of available tools to provide easy
steganographic techniques to the end user, as well as the
proliferation of research and press on the topic.
Questions ?
Arigatou!