Vous êtes sur la page 1sur 38

Encryption and Decryption

Speaker:Tsung Ray Wang


Advisor:Prof.Li-Chun Wang
Contents

MODELS,GOALS,AND EARLY
CIPHER SYSTEMS

THE SECRECY OF A CIPHER
SYSTEM

PRACTICAL SECURITY

STREAM ENCRYPTION

PUBLIC KEY CRYPTOSYSTEMS
Model of a cryptographic channel
Cryptanalyst
Plaintext
Plaintext
Encipher C  E k (M ) Public Decipher
M channel M  Dk (C )
K Ciphertext
K

Key Secure channel


The two primary reasons for using
cryptosystems in communications


(1)privacy,to prevent unauthorized
persons from exacting information
from the channel

(2)authentication,to prevent
unauthorized persons from
injecting information into the
channel
System Goals
The major requirements for a cryptosystem
1.To provide an easy and inexpensive means of
encryption and decryption to authorized users in
possession of the appropriate key
2.To ensure that the cryptanalyst’s task of producing an
estimate of the plaintext without benefit of the key is
made difficult and expensive
Classic Threats

Ciphertext-Only Attack

Known-Plaintext Attack

Chosen-Text Attack
Classic Ciphers

Caesar Cipher
ex. Plaintext : NOWI S TH ETIME
: Ciphertext : Q R Z L V
WKHWLPH

Polybius square .
Plaintext : NOWI S T H E T I M E
Ciphertext: 33 43 25 42 34 44 32 51 44 42 23 51

Polyalphabetic cipher .
Plaintext: NOWI S T H E T I M E
Ciphertext: OQZMXZ O M CS X Q
Caesar’s alphabet with a shift of 3

Plaintext: ABCDEFGHIJKLMNOPQRSTUVWXYZ
CHIPHERTEXT: DEFGHIJKLMNOPQRSTUVWXYZABC

Polybius square

1 2 3 4 5
ABCDE
1 2 3 4 5

F G H IJ K
LMNOP
QR S TU
VWXYZ
Trithemius progressive key
THE SECRECY OF A CIPHER SYSTEM
•What is Perfect Secrecy??

• Entropy and Equivocation

• Rate of a language and Redunancy

• Unicity Distance and Ideal Secrecy


Example of perfect secrecy Key
P(Mo)=1/4 M0 0 C0
1

P(M1)=1/4 2 C1
M1

P(M2)=1/4
M2 3 C2

P(M3)=1/4 M
3 C3

Plaintext Ciphertext

Cs=Tkj(Mi)

S=( i  j ) modulo-N
PRACTICAL SECURITY


Substitution

Permutation

Product Cipher System

The Data Encryption Standard
Substitution box
2n=8 2n=8
n=3 0 0
0 1 1
1
2

output
2
input

3 3
1 4 1
4
5 5
6 0
1 6
7
7

input 000 001 010 011 100 101 110 111

output 011 111 000 110 010 100 101 001


Permutation box
0
1

0 1

input output
0 0

1 0

0 1
Individual keying capability

Example of binary key


1010001011111011010111010
Initial Permutation (IP)

58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4 6
2 54 46 38 30 22 14 6 6
4 56 48 40 32 24 16 8 5
7 49 41 33 25 17 9 1 5
9 51 43 35 27 19 11 3 6
1 55 45 37 29 21 13 5 6
3 55 47 39 31 23 15 7
E-Table Bit Selection

32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
P-Table Permutation

16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
Final Permutation (IP-1)

40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
Key Permutation PC-1

57 49 41 33 25 17 9
1 58 50 42 34 26 18 1
0 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
Key Schedule of Left Shifts
Iteration Number of left shifts
i
1 1
2 1
3 2
4 2
5 2
6 2
7 2
8 2
9 1
10 2
11 2
12 2
13 2
14 2
15 2
16 1
Key Permutation PC-2

14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 45 33 48
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
STREAM ENCRYPTION


Key Generation Using a Linear
Feedback Shift Register

Vulnerabilities of Linear Feedback Shift
Registers
Linear feedback shift register example

output
x4 x3 x2 x1

Modulo-2
feedback  adder
PUBLIC KEY CRYPTOSYSTEMS


Signature Authentication Using a Public Key
Cryptosystem

A Trapdoor One-Way Function

The Rivest-Shamir-Adelman Scheme

The Knapsack Problem

A Public Key Cryptosystem Based on a Trapdoor
Knapsack
The important features of a public key
cryptosystem

 E
The encryption algorithm, k ,and the
decryption algorithm, D k
,are invertible
transformations on the plaintext ,M,or the
ciphertext ,C,defined by the key K. That is,for

each K and M, C  E k ( M ), M  Dk (C )  Dk E k ( M ) 

D E
For each K, k and k are easy to compute.

For each K,the computation of
computa-tionally intractable.
k D
from k is E
Public Key cryptosystem

Subscriber A Subscriber B
M
C E B
(M )
Crypto M
Crypto
machine machine

Directory
E B
A- E A
B- E B
D B

C- EC
. .
. .
Signature authenticaton using a public key cryptosystem
A 1
A 1
C  E B ( E A ( M ))
Crypto S  E A ( M ) Crypto Public channel
M machine machine
Date
DA EB
Directory
C
1
E B ( E A (M )) B 1

Crypto
S E A
(M ) B
Crypto
machine M
machine
Signature
storage
DB
E A

Directory
The Rivest-Shamir-Adelman Scheme RSA

1.Each user chooses his own value of n and another pair of positive
integers (e,d) ,and n=pq, (n) =(p-1)(q-1),gcd[ (n),d]=1,
ed modulo- (n) =1,and p,q are prime numbers.
2..The user places his encryption key the number pair (n,e),in the
public directory.
3. The decryption key consists of the number pair (n,d),of which d is
kept secret.
4.messages are first represented as integers in the range (0,n-1)
5.Encryption: M  D(C )  (C ) d modulo-n
Decryption: C  E ( M )  ( M ) e
modulo-n
How to Compute e

A variation of Euclid’s algorithm for computing the


gcd of (n) and d is to compute e

1.First,compute a series x0 , x1 , x 2 ,.....,…... where x0 = (n)


, x1 =d ,and xi 1 = xi 1 modulo- xi ,until an x k =0 is found.
than the gcd ((n) , d )= x k 1
2.For each xi compute numbers ai and bi such that
xi = ai x 0
bi x1
+
3.If x k 1 =1,then bk 1 is the multiplicative inverse of
modulo-x .If bk 1 is a negative number, the solution is
0

bk 1 + (n)
The Knapsack problem

1.Let us express the knapsack problem in terms of a knapsack


vector ‘a’ and a data vector ’ x’.
a  a1 , a 2 ,........, a n
x  x1 , x 2 ,........., x n
2.The knapsack,S,is the sum of a subset of the components of the
n
knapsack vector S  a x i i where xi  0,1
i 1

= ax
Super-increasing and how to slove “x”

ai   j 1 a j
i 1
1.super-increasing is i  2,3,......, n

2.When a is super-incresing,the solution of x is found by starting


with x n  1 if S  a n (otherwise x n  0 ) ,and continuing
n

 1 if S  j
as follows: x j a j  ai
xi =
i 1

0 otherwise

where i  n  1, n  2,...........,1
A Public key Cryptosystem Based on a Trapdoor Knapsack

-this scheme,also known as the Merkle-Hellman scheme


method:
1.we form a super-increasing
n
n-tuple a’,and select a prime number

M   ai
M such that i 1
,also select a random number,W, where
1<W<M,and we form W 1 to satisfy the following relationship:
1 1
W W modulo -M =1,note:the vector a’ and the number M,W, W
are all kept hidden.

2.we form a with the elements from a’ as: a i  Wa i modulo-M
3.When a data vector x is to be transmitted ,we multiply x by a,
yielding the number S,which is sent on the public channel.
n n

S  ax   ai xi   (Wa i mod ulo  M ) xi
i 1 i 1

4.The authorized user receives S and converts it to S’ :


n

S   W S mod ulo  M  W
1 1
 (Wa
i 1
i mod ulo  M ) xi mod ulo  M
n n
 
=  (W
i 1
1
Wa i mod ulo  M ) xi mod ulo  M =  i xi mod ulo  M
a
i 1

n

  ai xi
i 1

5.Since the authorized user knowns the secretly held super-increasing


vector a’ ,he can use S’ to find x.
CONCLUSION

1.We have presented the basic models and goals of the cryptographic
process,and looked at some early cipher systems.
2.We defined a system that can exhibit perfect secrecy .
3.We outlined the DES algorithm in detail,and we also considered
the use of linear feedback shift registers(LFSR) for stream
encryption systems.
4.RSA scheme ,based on the product of two large prime numbers,
and the Merkle-Hellman scheme,based on the classical knapsack
problem.

Vous aimerez peut-être aussi