Module3_Part2
Module3_Part2
Network Security
Module 3
Asymmetric Encryption Algorithm and
Key Exchange
2
Diffie-Hellman Key Exchange
Purpose - to enable two users to securely
exchange a key that can then be used for
subsequent encryption of messages
7
Diffie-Hellman Key Exchange
The security of the Diffie-Hellman key
exchange lies in the fact that, while it is
relatively easy to calculate exponentials
modulo a prime, it is very difficult to calculate
discrete logarithms
8
Diffie-Hellman Key Exchange
It does not protect against replay attacks
9
Man-in-the-middle Attack
10
Man-in-the-middle Attack
11
Distribution of Public keys
12
Public Announcement of Public Keys
Any participant can send his or her public key
to any other participant or broadcast the key
to the community at large
Major weakness - Anyone can forge such a
public announcement
13
Publicly Available Directory
Maintaining a publicly available dynamic directory of
public keys by some trusted entity or organization
The authority maintains a directory with a {name, public
key} entry for each participant
Each participant registers a public key with the directory
authority. Registration would have to be in person or by
some form of secure authenticated communication
A participant may replace the existing key with a new
one at any time
Participants could also access the directory electronically
through secure, authenticated communication
14
Publicly Available Directory
15
Public-Key Authority
16
Public-Key Certificates
17
Elliptic Curve Cryptography
18
Elliptic Curve Arithmetic
The principal attraction of ECC, compared to RSA,
is that it appears to offer equal security for a far
smaller key size, thereby reducing processing
overhead
19
Abelian group
An abelian group G, sometimes denoted by {G, . },
is a set of elements with a binary operation,
denoted by ‘.’ , that associates to each ordered
pair (a, b) of elements in G an element (a . b) in G,
such that the following axioms are obeyed:
(A1) Closure: If a and b belong to G, then a . b is
also in G.
(A2) Associative: a . (b . c) = (a . b) . c for all a, b,
c in G.
(A3) Identity element: There is an element e in G
such that a . e = e . a = a for all a in G.
(A4) Inverse element: For each a in G there is an
element a′ in G such that a . a′ = a′ . a = e.
(A5) Commutative: a . b = b . a for all a, b in G 20
Elliptic Curve Arithmetic
Cubic equations for elliptic curves take the
following form
21
Elliptic Curve Arithmetic
22
Elliptic Curve Arithmetic
To define the group, we must define an operation, called addition and
denoted by +,for the set E(a,b) where a and b satisfy the following
equation
4a3 + 27b2 ≠ 0
In geometric terms, the rules for addition can be stated as follows: If three
points on an elliptic curve lie on a straight line, their sum is O
ECC makes use of elliptic curves in which the variables and coefficients
are all restricted to elements of a finite field
23
Elliptic Curve Arithmetic
Two families of elliptic curves are used
prime curves over Z
p
Binary curves over GF(2m)
25
Rules for addition over Ep(a, b)
26
ECC Diffie-Hellman Key exchange
* The order n of a point G on an elliptic curve is the smallest positive integer n such that nG = 0 27
ECC Diffie-Hellman Key
exchange
28
Elliptic Curve Encryption
An encryption/decryption system requires a
Point G and an elliptic group Eq(a,b) as
parameters
30
Homomorphic Encryption
Homomorphic refers to homomorphism in algebra (a
structure-preserving map between two algebraic
structures of the same type such as two groups, two rings,
or two vector spaces)
The encryption and decryption functions can be thought of
as homomorphisms between plaintext and ciphertext
spaces
Homomorphic encryption is a form of encryption that
allows computations to be performed on encrypted data
without first having to decrypt it
The resulting computations are left in an encrypted form.
When decrypted, result in an output is identical to the
operations been performed on the unencrypted data
31
Homomorphic Encryption
Homomorphic encryption can be either additive or
multiplicative
Enabling an infinite number of additions or multiplications to
encrypted data is difficult. However, homomorphic encryption
can be divided into different types of encryption, depending on
how it's designed
If an algorithm is additively homomorphic, then adding two
ciphertexts together provides the same result as encrypting
the sum of the two plaintexts
Likewise, if an algorithm is multiplicatively homomorphic, then
multiplying two encrypted ciphertexts with the same key is
equivalent to raising the product of plaintexts to the power of a
secret key
32
Types of Homomorphic Encryption
Partially homomorphic encryption - A defined operation can
be performed infinite times on the ciphertext. These
encryption schemes are relatively easy to design
33
Types of Homomorphic Encryption
34
Applications of Homomorphic
Encryption
Homomorphic encryption can be used for
privacy-preserving outsourced storage and
computation
This allows data to be encrypted and out-sourced to
commercial cloud environments for processing
E-cash system
36
Thank you
37