0% found this document useful (0 votes)
481 views41 pages

Maths Project

Maths project on cryptography

Uploaded by

mranonymous11211
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
481 views41 pages

Maths Project

Maths project on cryptography

Uploaded by

mranonymous11211
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

A Study on the Mathematical Foundations of

Cryptography and Cryptosystems

A project report submitted in partial fulfillment of the requirements


for the award of the Degree of Bachelor of Sciences in Mathematics
by
Arsha P Reg. no. 210021032757
S Sivahari Reg. no. 210021032764
Revathy S Reg. no. 210021032768

Department of Mathematics
NSS Hindu College
Changanacherry , Kottayam
Kerala – 686 102
Certificate

This is to certify that Arsha P [Reg. no. 210021032757] , S Sivahari

[Reg. no. 210021032764] and Revathy S [Reg. no. 210021032768] are

final year BSc students in the Department of Mathematics in this

college and the project entitled ‘A Study on the Mathematical

Foundations of Cryptography and Cryptosystems’ is the outcome

of their original work at this centre. Ms. Parvathy Haridas has been

their guide for this project work.

The Principal
NSS Hindu College
Changanacherry

Changanacherry
Certificate

This is to certify that the project report entitled ‘A Study on the

Mathematical Foundations of Cryptography and Cryptosystems’

is a genuine record of the original work carried out by Arsha P

[Reg. no. 210021032757], S Sivahari [Reg. no. 210021032764] and

Revathy S [Reg. no. 210021032768] in the Department of

Mathematics, NSS Hindu College, Changanacherry.

Dr. Preethi K Pillai


The Head of the Department of Mathematics
NSS Hindu College
Changanacherry

Changanacherry
Certificate

This is to certify that this project entitled ‘A Study on the

Mathematical Foundations of Cryptography and Cryptosystems’

is an original work carried out by Arsha P [Reg. no. 210021032757],

S Sivahari [Reg. no. 210021032764] and Revathy S [Reg. no.

210021032768] under my guidance in the Department of Mathematics,

NSS Hindu College, Changanacherry in partial fulfillment of the

requirement of the BSc Degree in Mathematics at Mahatma Gandhi

University.

Ms. Parvathy Haridas


Assistant Professor
Department of Mathematics
NSS Hindu College
Changanacherry
Changanacherry
Declaration

We hereby declare that this project entitled ‘A Study on the


Mathematical Foundations of Cryptography and Cryptosystems’
submitted by us to Mahatma Gandhi University is a record of
the original work carried out by us under the guidance of Ms.
Parvathy Haridas, Assistant Professor, NSS Hindu College,
Changanacherry. This has been submitted for the partial fulfillment of
the requirement for the award of the BSc degree in Mathematics. We
also declare that this work has not been submitted partially or fully to
any other University or Institute for any other degree or diploma.

Arsha P Reg. no. 210021032757

S Sivahari Reg. no. 210021032764

Revathy S Reg. no. 210021032768

Changanacherry

i
Acknowledgement

We would like to express our sincerest thanks to our project guide Ms.
Parvathy Haridas, for her valuable guidance that has greatly helped in
the completion of this work. We also cordially thank Dr. Sujatha S , the
Principal of NSS Hindu College, Changanacherry and Dr. Preethi K
Pillai, the Head of the Department of Mathematics for providing the
necessary facilities for the research associated with the project. Finally,
we extend our heartfelt gratitude to all the mathematicians who have
contributed considerably to the subject. Their works have served as the
resources for our research work without which we could not have
completed this project.

Arsha P
S Sivahari
Revathy S

Changanacherry

ii
Abstract

We live in an era marked by the extensive exchange of sensitive


information over digital channels. Cryptography stands as the vanguard
in the realm of securing data transmission and its storage. Modern
cryptography has its roots in mathematics, which include concepts that
has been developed for cryptographic applications as well as those
taken from the classical mathematical canon.
In this project entitled ‘The Mathematical Foundations of
Cryptography and Cryptosystems’, explores some of the core concepts
and techniques that underpin modern cryptography. It introduces the
foundational topics such as number theory, modular arithmetic, abstract
algebra etc. and then proceeds to the basics of cryptography and
explores some classical symmetric ciphers. It also studies the methods
for breaking cryptosystems and explains the public key cryptography
which is a pivotal development in the field. Finally, it addresses the
discrete logarithm problem and examines the cryptosystem associated
with it.
The project aims to provide an overall understanding of the key
mathematical principles that foster modern cryptography and
cryptosystems. The insights gained for this exploration can help us
appreciate the complexities of cryptographic security and also inspire
further research and development in this continually evolving field.

iii
Contents

Declaration i
Acknowledgement ii
Abstract iii
Contents iv

Introduction 1
Chapter 1 : Preliminaries 3
Chapter 2 : The Basics of Cryptography 8
Chapter 3 : Symmetric Encryption 12
Chapter 4 : Cryptanalysis 18
Chapter 5 : Public Key Cryptography 23
Chapter 6 : The Discrete Logarithm Problem 29

Conclusion 32
References 33

iv
Introduction

The necessity of exchanging confidential information securely has been around


for centuries. There has been messages that need to be communicated without a
third party listening in. In such cases, the communication has to be made
unsusceptible to eavesdropping or interception. There are two major types of
secret communication – steganography and cryptography. In steganography, the
sender of a message hides the existence of the message. An example of
steganography is when people would use invisible ink between the visible lines
of a private letter that could only be read when heated. On the other hand,
cryptography is when the message is disguised instead of hidden. The original
message, also known as the plaintext, is encrypted and sent away as the
ciphertext. This is then decrypted by the recipient. A cipher or cryptosystem is
what used to encrypt and decrypt the messages. There are two types of cipher
systems : symmetric or private key and asymmetric or public key. In symmetric
key systems, the sender and the recipient know the know the key while in in
public key systems, the encryption key is known but it is computationally
infeasible to determine the decryption key if it is not already known. The
symmetric key systems are older and there is a wider variety.
The advantages of public key cryptosystem are multiple. For example, a person
can send the recipient an encrypted message even if they have never previously
been in direct contact. It turns out that the public key cryptosystems can be based
on hard mathematical problems. To be more precise, one looks for a mathematical
problem that can be hard to solve theoretically but that becomes easy to solve if
one knows some extra piece of information. Nevertheless, the private key
cryptosystems are more important than ever, since they tend to be significantly
more effective than public key cryptosystems. In practice, if somebody wants to
send a long message, he first uses a public key cryptosystem to send the recipient
the key for a private key cryptosystem and then he uses the private key
cryptosystem to encrypt the message. The most efficient modern private key
cryptosystems such as DES and AES rely for their security on repeated
application of various mixing operations that are hard to unmix without the
private key. The most widely used asymmetric encryption algorithm is RSA
which relies on the difficulty of factoring large prime numbers.

1
Digital signatures play a crucial role in verifying the authenticity and integrity of
digital messages or documents. They are generated using asymmetric-key
cryptography, where the sender signs a message with their private key and the
recipient can verify the signature using the sender’s public key. Key exchange
protocols are another critical aspect of mathematical cryptography, enabling two
parties to establish a shared secret key over an insecure communication channel.
One widely used key exchange protocol is the Diffie-Hellman key exchange,
which allows two parties to negotiate a shared secret key without ever
transmitting the key itself. In addition to encryption and key exchange,
mathematical cryptography encompasses various cryptographic protocols and
algorithms designed to address specific security requirements such as secure
multiparty computation, homomorphic encryption and zero-knowledge proofs.
Overall, mathematical cryptography plays a crucial role in securing modern
communication systems, financial transactions and sensitive data. By leveraging
mathematical concepts and principles, cryptographic techniques provide robust
protection against unauthorised access, tampering and forgery, ensuring the
confidentiality, integrity and authenticity of digital information.
In this project, we particularly focus on the mathematical underpinnings of
cryptography which intersect several fields of mathematics including number
theory, linear algebra, abstract algebra, etc. We try to unravel the seemingly
convoluted concepts of various cryptosystems by exploring the underlying
mathematical foundation and the necessary concepts associated with it.

2
CHAPTER 1
PRELIMINARIES

Definition 1.1 (a divides b)


If a and b are integers, a ≠ 0 and if there is an integer c such that b = ac, then we
say that a divides b, and write a|b .
Lemma 1.1
Suppose we have two integers a and b with d ≠ 0 such that d|a and d|b then we
will have d | (ra+sb) for any integers r and s.
Theorem 1.1 (Division algorithm)
Let a and b be integers with b > 0. Then there exist unique integers q and r with
property that a = bq + r, where 0 ≤ r < b.
Definition 1.2 (Greatest Common Divisor)
The greatest common divisor of two non-zero integers a and b is the largest of all
common divisors of a and b. It is denoted as gcd (a,b).
Definition 1.3 (Relatively Prime)
Two integers a and b, not both of which are zero, are said to be relatively prime
whenever gcd (a, b) = 1.
Definition 1.4 (Prime and Composite)
An integer greater than one whose only positive divisors are itself and one is
called a prime number. An integer greater than one which is not a prime number
is said to be composite.
Lemma 1.2 (Euclid’s Lemma)
If p is a prime that divides ab, then p divides a or p divides b.
Theorem 1.2 (The Fundamental theorem of arithmetic)
Every positive integer >1 is either a prime or a product of primes. This
representation is unique, apart from the order in which the factors occur.
Definition 1.5 (Least Common Multiple)
The least common multiple of two non-zero integers a and b is the smallest
positive integer that is a multiple of both a and b. It is denoted as lcm (a,b)

3
Definition 1.6 (The Euclidean Algorithm)
Let a and b be two integers
a = q1b + r1 0 < r1 < b
b = q2r1 + r2 0 < r 2 < rl
rl = q3r2 + r3 0 < r3 < r 2

rn-2 = qnrn-1 + rn 0 < rn < rn-1


rn-1 = qn+lrn + 0
rn, the last nonzero remainder that appears in this manner, is equal to gcd(a, b)
Definition 1.7 (congruent modulo n)
Let a and b be integers and n , a positive integer. If n | (a - b), then we say that a
is congruent to b modulo n and write
a  b (mod n)
Theorem 1.3 (The Properties of Congruence)
Let n > 1 be fixed and a, b, c, d be arbitrary integers. Then the following properties
hold:
(a) a  a (mod n).
(b) If a  b (mod n), then b  a (mod n).
(c) If a  b (mod n) and b  c (mod n), then a  c (mod n).
(d) If a  b (mod n) and c  d (mod n), then a + c  b + d (mod n) and ac  bd (mod n).
(e) If a  b (mod n), then a + c  b + c (mod n) and ac  bc (mod n).
(f) If a  b (mod n), then ak  bk (mod n) for any positive integer k.

Theorem 1.4 (Chinese Remainder Theorem)


Let n1, n2, ... , nr be positive integers such that gcd(ni, nj) = 1 for i  j. Then the
system of linear congruences
x = a1 (mod n1)
x = a2 (mod n2)
x = ar (mod nr)
has a simultaneous solution, which is unique modulo the integer n1n2 · · · nr

4
Definition 1.8 (Euler’s phi function)
For n  1, the Euler’s phi function (n) denote the number of positive integers not
exceeding n that are relatively prime to n.
Theorem 1.5 (Euler’s theorem)
If n  1 and gcd(a, n) = 1, then a(n)  1 (mod n)
Theorem 1.6 (Fermat’s theorem)
Let p be a prime and suppose that p does not divide a. Then ap - l  1 (mod p).
Theorem 1.7
(n) is multiplicative
Theorem 1.8
If the integer n > 1 has the prime factorization n = p1k1 p2k2 ... prkr, then
(n) = (p1k1 – p1k1 – 1) (p2k2 – p2k2 – 1) ... (prkr – prkr – 1)
= n (1 – 1/p1) (1 – 1/p2) ... (1 – 1/pr)
Definition 1.9 (Order of a(mod n))
Suppose that gcd(a,n) = 1. We define the order of a(mod n) to be the smallest
positive integer b such that
ab  1 (mod n)
and write b = ordn (a)
Definition 1.10 (Primitive root)
If gcd(a,n) = 1 and ordn(a) =  (n) then we say that a is a primitive root of n.
Definition 1.11 (Multiplicative inverse modulo n)
A multiplicative inverse of a modulo n is an integer b such that ab  1(mod n).
Definition 1.12 (Group)
Let G be a set together with a binary operation that assigns to each ordered pair
(a, b) of elements of G an element in G denoted by ab. We say G is a group under
this operation if the following three properties are satisfied :
1. Associativity. The operation is associative; that is, (ab)c =a(bc) for all a, b, c in
G.

5
2. Identity. There is an element e (called the identity) in G such that ae = ea = a
for all a in G.
3. Inverses. For each element a in G, there is an element b in G, (called an inverse
of a) such that ab = ba= e
Definition 1.13 (Abelian group)
If a group has the property that ab = ba for every pair of elements a and b, we say
the group is Abelian.
Definition 1.14 (Additive group modulo n)
The Additive Group of Integers Modulo n is the group with domain{0 , 1, 2 , … ,
n-1} and with the operation of mod n addition. It is denoted as ℤn.
Definition 1.15 (Cyclic Group)
A group G is called cyclic if there is an element a in G such that G = {an | n  ℤ}.
Such an element a is called a generator of G.
Definition 1.16 (Ring)
A ring R is a set with two binary operations, addition (denoted by a + b) and
multiplication (denoted by ab), such that for all a, b, c in R
1. a + b = b + a
2. (a + b) + c = a + (b + c)
3. There is an additive identity 0, i.e., there exits an element 0 in R such that
a + 0 = a for all a in R
4. There is an element -a in R such that a + (- a) = 0
5. a(bc) = (ab)c
6. a(b+c) = ab + bc and (b+c)a = ba + ca
Definition 1.17 (Commutative ring)
A ring is said to be commutative when multiplication is commutative.
Definition 1.18 (Unity and Unit of a ring)
A unity in a ring is a nonzero element that is an identity under multiplication.
A non-zero element of a commutative ring with unity that has a multiplicative
inverse is called a unit of the ring. Thus, a is a unit if a -1 exists.
Definition 1.19 (Field)
A field is a commutative ring with unity in which every nonzero element is a unit.

6
Theorem 1.9
For every prime p , ℤp is a field.
Definition 1.20 (Quadratic residue modulo p)
Suppose p is an odd prime and a is an integer. a is defined to be a quadratic
residue modulo p if
a ≡ 0 (mod p) and the congruence y2 ≡ a (mod p) has a solution y ∈ ℤp.
a is defined to be a quadratic non-residue modulo p if a ≡ 0 (mod p) and a is not
a quadratic residue modulo p.
Theorem 1.10 (Euler’s Criterion)
Let p be an odd prime. Then a is a quadratic residue modulo p if and only if
a(p−1)/2 ≡ 1 (mod p).

7
CHAPTER 2
THE BASICS OF CRYPTOGRAPHY

2.1 Introduction

The primary objective of cryptography is to enable two people often


referred to as Alice (the sender) and Bob (the recipient) to communicate
over an insecure channel in such a way that their eavesdropping adversary
Eve cannot understand what is being said. The information that Alice wants
to send Bob is called the plaintext. It can be an English text, a numerical
data or anything with completely arbitrary structure. Alice encrypts the
plaintext using a predetermined key, yielding the ciphertext. Bob, who
knows the encryption key, decrypts the ciphertext and reconstructs the
plaintext while Eve cannot determine what the plaintext is.

Definition 2.1 (Cryptosystem)


A cryptosystem is a five-tuple (P , C , K , E , D) where the following
conditions are satisfied :
1. P is a finite set of possible plaintexts
2. C is a finite set of possible ciphertexts
3. K is the keyspace which is a finite set of possible keys.
4. For each k  K , there is an encryption rule ek  E and corresponding
decryption rule dk  D. Each ek : P C and dk : C P are functions
such that dk (ek (x)) = x for any plaintext element x  P

2.2 Basic Model of a Cryptosystem

The basic cryptographic communication model is as shown below.


(interceptor)
Eve

(sender) (receiver)

8
The various components of the model are explained as follows :

1. The plaintext is the original data that has to be protected during transmission
from sender to receiver. This is also often referred to as the message. The
intention is to make the disguise the plaintext so that only the sender and the
receiver can read it. In particular, an interceptor cannot determine the
plaintext.
2. The encryption algorithm is a cryptographic algorithm that takes as input a
plaintext and an encryption key, and outputs a ciphertext. The choice of
encryption algorithm must be agreed between sender and receiver.
3. The ciphertext is the encrypted version of the plaintext. It is sometimes
referred to as the cryptogram. The ciphertext is not a secret and can be
obtained by anyone who has access to the communication channel.
4. The decryption algorithm is the set of rules that determines, for any given
ciphertext and decryption key, a unique plaintext. It reverses an encryption
algorithm.
5. The encryption key is a value that is known to the sender. The sender inputs
the encryption key into the encryption algorithm along with the plaintext in
order to compute the ciphertext. The receiver also usually knows the
encryption key.
6. The decryption key is a value that is known to the receiver. The decryption
key is related to the encryption key, but is not always identical to it. The
receiver inputs the decryption key into the decryption algorithm along with
the ciphertext in order to compute the plaintext. The interceptor must not know
the decryption key. It may or may not be known by the sender. The collection
of all possible decryption keys is called the keyspace.
7. An interceptor (an adversary or an attacker) is an entity other than the sender
or receiver who attempts to determine the plaintext. The interceptor will be
able to see the ciphertext. He may or may not know the encryption algorithm,
the decryption algorithm and the encryption key. However the one piece of
information that the interceptor must never know is the decryption key.

9
2.3 Two Types of Cryptosystem
There are two different types of cryptosystem – the symmetric or private-key
cryptosystem and the asymmetric or the public-key cryptosystem.

2.3.1 Symmetric Cryptosystem


In symmetric cryptosystems the encryption key and the decryption key are the
same. Mathematically, a symmetric cipher uses a key k chosen from the keyspace
K to encrypt a plaintext message m chosen from a space of possible messages M,
and the result of the encryption process is a ciphertext c belonging to a space of
possible ciphertexts C.
Thus the encryption may be viewed as a function
e:K×M→C
whose domain K × M is the set of pairs (k,m) consisting of a key k and a
plaintext m and whose range is the space of ciphertexts C. Similarly, decryption
is a function
d : K × C → M.
Then for each key k, we get a pair of functions
ek : M → C and dk : C → M
satisfying the decryption property dk(ek(m))= m for all m ∈ M.

ek must be one-to-one, since


if ek(m1) = ek(m2) , then m1 = dk(ek(m1)) = dk(ek(mk)) = m2

2.3.2 Asymmetric Cryptosystem


In asymmetric (or public-key) cryptosystems, the encryption key and the
decryption key are fundamentally different.
Unlike in the symmetric cryptosystem, here an element k of the keyspace is really
a pair of keys, k = (kpriv , kpub)
called the private key and the public key, respectively.

10
For each public key kpub there is a corresponding encryption function
ek pub : M → C , and for each private key kpriv there is a corresponding decryption
function dk priv : C → M.
These have the property that if the pair (kpriv , kpub) is in the key space K , then dk
priv (ek pub (m)) = m for all m ∈ M.

2.4 Cryptosystem Security Assumptions

Identifying assumptions about the capabilities of attackers is standard practice in


all areas of information security and forms part of the larger process of risk
assessment. In cryptography there are three standard assumptions that are
normally made concerning an attacker’s ability.
1. All ciphertexts sent using the cryptosystem : It is reasonable to assume that
an attacker has access to all the ciphertexts sent using the cryptosystem.
2. Some corresponding pairs of plaintexts and ciphertexts : There are many
circumstances where an attacker could have access to corresponding pairs of
plaintexts and ciphertexts like the receiver failing to keep the decryption key
secret, the attacker being able to influence the choice of plaintexts encrypted
by the sender etc.
3. The details of the encryption algorithm : There are two different approaches
to designing encryption algorithms, which result in most encryption
algorithms being classified as either : (i) publicly known algorithms where the
full details of the algorithm are in the public domain and can be studied by
anyone and (ii) proprietary algorithms where the details of the algorithm are
only known by the designers and perhaps a few selected parties.
In the case of publicly known encryption algorithms, an attacker knows the
encryption algorithm. In the case of proprietary encryption algorithms, an
attacker may well know the name of the encryption algorithm and certain basic
properties, but it is not intended that they know any of the details of how it
performs the encryption and decryption processes.

11
CHAPTER 3

SYMMETRIC ENCRYPTION

Symmetric Algorithms are what many people assume cryptography is about: two
parties have an encryption and decryption method for which they share a secret
key. All cryptography from ancient times until 1976 was exclusively based on
symmetric methods. Symmetric ciphers are still in widespread use, especially for
data encryption and integrity check of messages. Here we discuss some of the
symmetric ciphers in detail.
3.1 The Shift Cipher
The concept of shift cipher itself is simple : we simply shift every plaintext letter
by a fixed number of positions in the alphabet. For instance, if we shift by 3
positions, a would be substituted by d, b by e, etc. (this three-position shift is
called the Caesar cipher). We would use the Shift Cipher (with a modulus of 26)
to encrypt ordinary English text by setting up a correspondence between
alphabetic characters and residues modulo 26 as follows :

a b c d e f g h i j k l m
0 1 2 3 4 5 6 7 8 9 10 11 12

n o p q r s t u v w x y z
13 14 15 16 17 18 19 20 21 22 23 24 25

Definition 3.1 (The Shift Cipher)


Let P = C = K = ℤ26. For 0 ≤ K ≤ 25, define
ek(x) = y = (x + K) mod 26 and
dk(y) = (y − K) mod 26 (x, y ∈ ℤ26).

Example 3.1
Let the key for the shift cipher be K = 16 and the plaintext be ‘rhythm’
The encryption is as follows.

12
Plaintext r h y t h m
x 17 7 24 19 7 12
x + 16 33 23 40 35 23 28
ek(x) = x+16 (mod 26) 7 23 14 9 23 2
Ciphertext h x o j x c

Thus the message ‘rhythm’ gets encrypted as ‘hxojxc’ before being sent to the
recipient. It can be decrypted back to ‘rhythm’ as follows.

Ciphertext h x o j x c
y 7 23 14 9 23 2
y – 16 -9 7 -2 -7 7 -14
dk(y) = y – 16 (mod 26) 17 7 24 19 7 12
Plaintext r h y t h m

3.2 The Substitution Cipher


The main problem with the shift cipher is that the number of keys is too small,
we only have 26 possible keys. To increase the number of keys a substitution
cipher was invented.
Definition 3.2 (The Substitution Cipher)
Let P = C = ℤ26. K consists of all possible permutations of the 26 symbols
0,1,...,25. For each permutation π ∈ K , define
eπ(x) = π(x), and define dπ(y) = π−1 (y),
where π−1 is the inverse permutation to π.

Example 3.2
Here is an example of a random permutation 
a b c d e f g h i j k l m
Y V W F D B E U A T C O G

13
n o p q r s t u v w x y z
J H K S X Z L N Q I R P M

The decryption function is the inverse permutation. This is formed by writing the
second lines first, and then sorting in alphabetical order. The following is obtained

A B C D E F G H I J K L M
i f k e g d m o w n p t z

N O P Q R S T U V W X Y Z
u l y v x q j h b c r a s

3.3 The Affine Cipher


We saw in section 3.1 that the actual encryption of the shift cipher was the
addition of the key yi = xi + k mod 26. The affine cipher encrypts by multiplying
the plaintext by one part of the key followed by addition of another part of the
key.

Definition 3.3 (The Affine Cipher)


Let P = C = ℤ26 for x , y , a , b ∈ ℤ26 , let
K = {(a, b) ∈ ℤ26 × ℤ26 : gcd(a, 26) = 1}. For K = (a, b) ∈ K , define
eK(x) = (ax + b) mod 26 and
dK(y) = a−1(y − b) mod 26

We can verify that dK(eK(x)) = x by observing that


dK(eK(x)) = dK(ax + b)
= a-1((ax + b) – b) mod 26
= a-1(ax) mod 26
=x

14
Example 3.3
Let us encrypt the message ‘hello’ using the key K = (7, 2)

Plaintext h e l l o
x 7 4 11 11 14
7x + 2 51 30 79 79 100
ek(x) = 7x + 2 (mod 26) 25 4 1 1 22
Ciphertext z e b b w

We have 7  15 = 105  1 (mod 26)


 7-1 = 15
The decryption of ‘zebbw’ is done as follows.
Ciphertext z e b b w
y 25 4 1 1 22
7-1(y – 2) 345 30 -15 -15 300
dk(x) = 7-1(y – 2)(mod 26) 7 4 11 11 14
Plaintext h e l l o

In both the Shift Cipher and the Substitution Cipher, once a key is chosen, each
alphabetic character is mapped to a unique alphabetic character. For this reason,
these cryptosystems are called monoalphabetic cryptosystems.

3.4 The Vigenère Cipher


We now discuss a cryptosystem that is not monoalphabetic - the Vigenère Cipher
which is named after Blaise de Vigenère, who lived in the sixteenth century.
Definition 3.4 (The Vigenère Cipher)
Let m be a positive integer. Define P = C = K = (ℤ26)m. For a key K = (k1, k2, . . . ,
km), we define
eK(xi) = (xi + ki) mod 26 and
dK(yi) = (yi – ki) mod 26, i = 1, 2, ... , m
where all operations are performed in ℤ26.

15
Example 3.4
Let us encrypt the plaintext ‘math is fun’ using the keyword ‘jim’. Here m = 3
and the corresponding numerical equivalent K = (9, 8, 12)
Plaintext m a t h i s f u n
xi 12 0 19 7 8 18 5 20 13
Keyword j i m j i m j i m
ki 9 8 12 9 8 12 9 8 12
xi + ki (mod 26) 21 8 5 16 16 4 14 2 25
Ciphertext v i f q q e o c z

The decryption is done as shown.

Ciphertext v i f q q e o c z
yi 21 8 5 16 16 4 14 2 25
Keyword j i m j i m j i m
ki 9 8 12 9 8 12 9 8 12
yi - ki (mod 26) 12 0 19 7 8 18 5 20 13
Plaintext m a t h i s f u n

3.5 The Permutation Cipher


All of the cryptosystems we have discussed so far involve substitution: plaintext
characters are replaced by different ciphertext characters. The idea of a
permutation cipher is to keep the plaintext characters unchanged, but to alter their
positions by rearranging them using a permutation.
Definition 3.5 (The Permutation Cipher)
Let m be a positive integer. Let P = C = (ℤ26)m and let K consist of all
permutations of {1, . . . , m}.
For a key (i.e., a permutation) π, we define
eπ(xi) = (xπ(i)) and
dπ(yi) = (yπ(i)) , where π−1 is the inverse permutation to π ; i = 1, 2, ..., m

16
Example 3.5
Suppose m = 6 and the key is the following permutation π
x 1 2 3 4 5 6
π 4 5 1 6 3 2

We shall encrypt the plaintext ‘cryptosystem’ using the given key.


To do that, we arrange the given plaintext into groups of six letters and then
rearrange according to the permutation .
Plaintext : crypto | system
Encryption : ptcoyr | tesmsy
Thus the text ‘cryptosystem’ gets encrypted as the cipher text ‘ptcoyrtesmsy’
To decrypt the cipher text, we consider the inverse permutation  -1
x 1 2 3 4 5 6

 -1 3 6 5 1 2 4

Ciphertext : ptcoyr | tesmy


Decryption : crypto | system

The permutation cipher is also known as the Transposition Cipher. This


cryptosystem has been in use for hundreds of years. In fact, the distinction
between the Permutation Cipher and the Substitution Cipher was pointed out as
early as 1563 by Giovanni Porta.

17
CHAPTER 4
CRYPTANALYSIS

Cryptanalysis is the art and science of deciphering encrypted messages without


access to the original encryption key. It requires a strong understanding of both
the encryption methods and the mathematical principles underlying them. In this
chapter, we explore the cryptanalysis of the affine cipher and the Vigenère cipher.
By examining their structures and weaknesses, we can understand how early
cryptanalysts broke these codes and why certain ciphers are more vulnerable to
attack. An attacker always looks for the weakest link in the cryptosystem. That
means that we have to choose strong algorithms and we have to make sure that
social engineering and implementation attacks are not practical .
A critical concept guiding the analysis of such ciphers is the Kerckhoff’s
principle postulated by Auguste Kerckhoffs in 1883. It underscores that the
security of a cryptosystem should rely solely on the secrecy of the key, not the
algorithm itself. Solid cryptosystems should adhere to Kerckhoffs’ Principle.

Definition 4.1 (Kerckhoff’s principle)


A cryptosystem should be secure even if the attacker (Eve) knows all details
about the system, with the exception of the secret key. In particular, the
system should be secure when the attacker knows the encryption and
decryption algorithms.

4.1 Attack Models on Cryptosystem


Simple attacks on cryptosystems have historically been classified using the
following terminology :
(i) ciphertext-only attacks require the attacker to know the encryption
algorithm and some ciphertext

(ii) known-plaintext attacks require the attacker to know the encryption


algorithm and some plaintext/ciphertext pairs

18
(iii) chosen-plaintext attacks require the attacker to know the encryption
algorithm and some plaintext/ciphertext pairs that correspond to
plaintexts chosen by the attacker

(iv) chosen ciphertext attack where the opponent has obtained temporary
access to the decryption machinery

These are increasingly powerful attacks, since an attacker who can choose which
plaintext/ciphertext pairs to examine is clearly in a better position than an attacker
who can only see arbitrary plaintext/ciphertext pairs.

4.2 Cryptanalysis of the Affine Cipher


The distribution of English letter frequencies is described in Table 4.1
Letter Percentage Letter Percentage
A 8.2 N 6.7
B 1.5 O 7.5
C 2.8 P 1.9
D 4.2 Q 0.1
E 12.7 R 6.0
F 2.2 S 6.3
G 2.0 T 9.0
H 6.1 U 2.8
I 7.0 V 1.0
J 0.1 W 2.4
K 0.8 X 0.1
L 4.0 Y 2.1
M 2.4 Z 0.1
Table 4.1
We can see that the most common letters are E and T. It often helps to know
second order statistics about the underlying language.

Example 4.1 Consider the following ciphertext obtained from an affine cipher
FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHRH

19
Letter Frequency Letter Frequency
A 2 N 1
B 1 O 1
C 0 P 2
D 7 Q 0
E 5 R 8
F 4 S 3
G 0 T 0
H 5 U 2
I 0 V 4
J 0 W 0
K 5 X 2
L 2 Y 1
M 2 Z 0
Table 4.2

The frequency analysis of this ciphertext is given in Table 4.2. The most frequent
ciphertext characters are: R (8 occurrences), D (7 occurrences), E, H, K (5
occurrences each), and F, S, V (4 occurrences each). As a first guess, we might
hypothesize that R is the encryption of e and D is the encryption of t, since e and
t are (respectively) the two most common letters . Expressed numerically, we have
eK(4) = 17 and eK(19) = 3. In Chapter 3, we have seen that the encryption is of
the form eK(x) = ax + b (mod 26), where a and b are unknowns. So we get two
linear equations in two unknowns:
4a + b = 17 (mod 26) (1)
19a + b = 3 (mod 26) (2)
Solving them, we get
-15a = 14 (mod 26)  11a = 14 (mod 26)
 19  11a = 19  14 (mod 26)
 a = 266 (mod 26)
 We get a = 6. Substituting in equation (1), we get
b = - 7 (mod 26)  b = 19
But gcd(6, 26) = 2  1. So our hypothesis is incorrect.
Our next guess might be that R is the encryption of e and E is the encryption of t.
Proceeding as above, we obtain a = 13, which is again illegal. So we try the next
possibility, that R is the encryption of e and H is the encryption of t. This yields
a = 8, again impossible. Continuing, we suppose that R is the encryption of e and
K is the encryption of t. This produces a = 3, b = 5, which is at least a legal key.

20
It remains to compute the decryption function corresponding to K = (3, 5), and
then to decrypt the ciphertext to see if we get a meaningful string of English, or
nonsense. This will confirm the validity of (3, 5).
Hence, dK(y) = a−1(y − b) mod 26  dK(y) = 9y – 19
The decryption yields the plaintext as follows :
ALGORITHMSAREQUITEGENERALDEFINITIONSOFARITHMETICPROCESSES

4.3 Cryptanalysis of the Vigenère Cipher


In section 3.4 of chapter 4, we have seen that the Vigenère Cipher uses a key of
length m for the encryption of the plaintext. Here we discuss to methods to
determine the key length. The first of these is the Kasiski test.
4.3.1 The Kasiski Test
The Kasiski test was described by Friedrich Kasiski in 1863 though it was
apparently discovered earlier, around 1854, by Charles Babbage. It is based on
the observation that two identical segments of plaintext will be encrypted to the
same ciphertext whenever their occurrence in the plaintext is δ positions apart,
where δ ≡ 0 (mod m). Conversely, if we observe two identical segments of
ciphertext, each of length at least three, say, then there is a good chance that they
correspond to identical segments of plaintext.
The Kasiski test works as follows. We search the ciphertext for pairs of
identical segments of length at least three, and record the distance between the
starting positions of the two segments. If we obtain several such distances, say δ1,
δ2, . . . , then we would conjecture that m divides all of the δi’s, and hence m
divides the greatest common divisor of the δi’s.

Example 4.2 Consider the ciphertext obtained from a Vigenère Cipher :


CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBWRVXUOAKXAOSX
XWEAHBWGJMMQMNKGRFVGXWTRZXWIAKLXFPSKAUTEMNDCMGTSXMXBT
UIADNGMGPSRELXNJELXVRVPRTULHDNQWTWDTYGBPHXTFALJHASVBFXNG
LLCHRZBWELEKMSJIKNBHWRJGNMGJSGLXFEYPHAGNRBIEQJTAMRVLCRREM
NDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBIPEEWEVKAKOEWADREMXMTBH
HCHRTKDNVRZCHRCLQOHPWQAIIWXNRMGWOIIFKEE

21
The ciphertext string CHR occurs in five places in the ciphertext, beginning at
positions 1, 166, 236, 276 and 286. The distances from the first occurrence to the
other four occurrences are (respectively) 165, 235, 275 and 285. The greatest
common divisor of these four integers is 5. So by the Kasiski test, that is very
likely the keyword length.

4.3.2 The Index of Coincidence


Further evidence for the value of m can be obtained by the index of coincidence.
This concept was defined by William Friedman in 1920.
Definition 4.2 (The Index of Coincidence)
Suppose x = x1x2 · · · xn is a string of n alphabetic characters. The index of
coincidence of x, denoted Ic(x), is defined to be the probability that two random
elements of x are identical.
Suppose we denote the frequencies of A, B, C, . . . , Z in x by f 0, f1, . . . , f25
(respectively). We can choose two elements of x in nC2 ways.
For each i, 0 ≤ i ≤ 25, there are fiC2 ways of choosing both elements to be i. Hence
we have the formula ,

Suppose x is a string of English language text. Denote the expected probabilities


of occurrence of the letters A, B, . . . , Z in Table 4.1 by p0, . . . , p25, respectively.
Then, we would expect that

since the probability that two random elements both are A is p02 , the probability
that both are B is p12 , etc.
Also, a completely random string will have

The two values 0.065 and 0.038 are sufficiently far apart that we will often be
able to determine the correct keyword length by this method.

22
CHAPTER 5
PUBLIC KEY CRYPTOGRAPHY

5.1 Introduction
The idea behind a public-key cryptosystem is that it might be possible to find a
cryptosystem where it is computationally infeasible to determine dK given eK. If
so, then the encryption rule eK is a public key, the value of which can be made
known to everyone (hence the term public-key system). The advantage of a public
key system is that Alice (or anyone else) can send an encrypted message to Bob
(without the prior communication of a shared secret key) by using the public
encryption rule eK. Bob will be the only person that can decrypt the ciphertext,
using the decryption rule dK, which is called the private key. It can be understood
with the following analogy :
Alice places an object in a metal box, and then locks it with a combination lock
left there by Bob. Bob is the only person who can open the box since only he
knows the combination. When Alice wants to encrypt a message to send to Bob,
it is essential that the public encryption key that Alice is using is actually Bob’s
public key. In practice, public keys are authenticated using certificates.
Most asymmetric schemes of practical relevance are based on the principle of a
one way function :

Definition 5.1 (One way function)


A function f() is a one-way function if :
1. y = f(x) is computationally easy, and
2. x = f −1(y) is computationally infeasible.
There are two popular one-way functions which are used in practical public-key
schemes. The first is the integer factorization problem, on which RSA is based.
The other one-way function that is used widely is the discrete logarithm problem
which will be dealt with in chapter 6. We will now discuss the RSA cryptosystem.

23
5.2 The RSA Cryptosystem
The Rivest-Shamir-Adleman (RSA) cryptosystem uses computations in ℤn,
where n is the product of two distinct odd primes p and q. For such an integer n,
we have φ(n) = (p − 1)(q − 1)

Definition 5.2 (The RSA Cryptosystem)


Let n = pq, where p and q are primes. Let P = C = ℤn, and define
K = {(n, p, q, a, b) : ab ≡ 1 (mod φ(n))}.
For K = (n, p, q, a, b), define
eK(x) = xb mod n and
dK(y) = ya mod n (x, y ∈ ℤn).
The values n and b comprise the public key, and the values p, q, and a form the
private key
Example 5.2
Suppose Bob chooses p = 101 and q = 113. Then n = 11413 and φ(n) = 100 × 112
= 11200. Since 11200 = 26527, an integer b can be used as an encryption exponent
if and only if b is not divisible by 2, 5, or 7. (In practice, however, Bob will not
factor φ(n). He will verify that gcd(φ(n),b) = 1 using Algorithm. If this is the case,
then he will compute b−1 at the same time.) Suppose Bob chooses b = 3533. Then
b−1 mod 11200 = 6597.
Hence, Bob’s secret decryption exponent is a = 6597.
Bob publishes n = 11413 and b = 3533 in a directory. Now, suppose Alice wants
to encrypt the plaintext 9726 to send to Bob. She will compute
97263533 mod 11413 = 5761
and send the ciphertext 5761 over the channel. When Bob receives the ciphertext
5761, he uses his secret decryption exponent to compute
57616597 mod 11413 = 9726.
The security of the RSA Cryptosystem is based on the belief that the encryption
function eK(x) = xb mod n is a one-way function, so it will be computationally
infeasible for an opponent to decrypt a ciphertext. The trapdoor that allows Bob
to decrypt a ciphertext is the knowledge of the factorization n = pq. Since Bob

24
knows this factorization, he can compute φ(n) = (p − 1)(q − 1), and then compute
the decryption exponent a using the extended Euclidean algorithm

5.3 Primality Tests


In setting up the RSA Cryptosystem, it is necessary to generate large random
primes. The way this is done is to generate large random numbers, and then test
them for primality. in practice, primality testing is still done mainly by using a
randomized polynomial time Monte Carlo algorithm such as the Solovay-
Strassen Algorithm or the Miller-Rabin Algorithm.
A randomized algorithm is any algorithm that uses random numbers while an
algorithm that does not use random numbers is called a deterministic algorithm.
A decision problem is a problem in which a question is to be answered “yes” or
“no.” Now we define a yes-based Monte Carlo algorithm.

Definition 5.3 (Yes-based Monte Carlo Algorithm)


A yes-biased Monte Carlo algorithm is a randomized algorithm for a decision
problem in which a “yes” answer is (always) correct, but a “no” answer may be
incorrect. We say that a yes-biased Monte Carlo algorithm has error probability
equal to  if, for any instance in which the answer is “yes,” the algorithm will
give the (incorrect) answer “no” with probability at most .

Definition 5.4 (Legendre Symbol)


𝑎
Suppose p is an odd prime. For any integer a, define the Legendre symbol (−)
𝑝
as follows
𝑎 0 if a  0 (mod p)
(−) = { 1 if a is a quadratic residue modulo p
𝑝 -1 if a is a quadratic non residue modulo p
Now we define a generalisation of the Legendre symbol which is the Jacobi
symbol.

25
Definition 5.5 (Jacobi symbol)
Suppose n is an odd positive integer, and the prime power factorization of n is

𝑎
Let a be an integer. The Jacobi symbol (−) is defined to be
𝑛

5.3.1 The Solovay-Strassen Algorithm


Definition 5.6 (The Solovay-Strassen Algorithm)
Choose a random integer a such that 1 ≤ a ≤ n − 1
x←
if x = 0
then return (“n is composite”)
y ← a(n−1)/2 (mod n)
if x ≡ y (mod n)
then return (“n may be prime”)
else return (“n is composite”)
We can evaluate a Jacobi symbol without factoring n by using some results from
number theory :
1. If n is a positive odd integer and m1 ≡ m2 (mod n), then

2. If n is a positive odd integer, then

In particular, if m = 2kt and t is odd, then

26
3. Suppose m and n are positive odd integers. Then

5.3.2 The Miller-Rabin Algorithm


Definition 5.7 (The Miller-Rabin Algorithm)

We shall prove that the Miller-Robin Algorithm is a yes-based Monte Carlo


Algorithm, i.e., we shall show that this algorithm cannot answer “n is composite”
if n is prime.
We will prove this by assuming that the Algorithm answers “n is
composite” for some prime integer n, and obtain a contradiction. Since the
algorithm answers “n is composite” it must be the case that . .Now
consider the sequence of values b tested in the algorithm. Since b is squared in
each iteration of the for loop, we are testing the values . Since
the algorithm answers “n is composite”, we conclude that
for 0 ≤ i ≤ k − 1. (1)
Now, using the assumption that n is prime, Fermat’s theorem tells us that
since n − 1 = 2km
Since n is prime, there are only two square roots of 1 modulo n, namely, ±1
mod n. Considering (1), it follows that

By the same argument,

27
Repeating this argument, we eventually obtain

which is a contradiction, since the algorithm would have answered “n is prime”


in this case.

5.4 Mathematical Attack on RSA Cryptosystem by


Learning the Value of  (n)

If n and φ(n) are known, and n is the product of two primes p, q, then n can be
easily factored, by solving the two equations
n = pq (1)
φ(n) = (p − 1)(q − 1) (2)
for the two unknowns p and q. If we substitute q = n/p from equation (1) into the
equation (2), we obtain a quadratic equation in the unknown value p:
p2 − (n − φ(n) + 1)p + n = 0 (3)
The two roots of equation (6.1) will be p and q, the factors of n. Hence, if a
cryptanalyst can learn the value of φ(n), then he can factor n and break the system.
Also computing φ(n) is no easier than factoring n. Thus it is important that φ(n)
is kept secret.

28
CHAPTER 6
THE DISCRETE LOGARITHM PROBLEM

6.1 The Discrete Logarithm Problem


The discrete logarithm problem is a mathematical problem that arises in many
settings. The first published public key construction, due to Diffie and Hellman
is based on the discrete logarithm problem in a finite field 𝔽p , where 𝔽p is a field
with a prime number of elements.
Definition 6.1 (The Discrete Logarithm Problem)
Let g be a primitive root for 𝔽p and let h be a nonzero element of 𝔽p. The Discrete
Logarithm Problem (DLP) is the problem of finding an exponent x such that
gx ≡ h (mod p)
The number x is called the discrete logarithm of h to the base g and is denoted by
logg(h).

6.2 Diffie and Hellman Key Exchange


Suppose that Alice and Bob want to share a secret key for use in a symmetric
cipher, but their only means of communication is insecure. Every piece of
information that they exchange is observed by their adversary Eve. How is it
possible for Alice and Bob to share a key without making it available to Eve? At
first glance it appears that Alice and Bob face an impossible task. However, The
Diffie–Hellman key exchange algorithm solves the following dilemma.
Alice and Bob should first agree on a large prime p and a nonzero integer g
modulo p. They make the values of g and p public, so Eve knows them too. The
next step is for Alice to pick a secret integer a that she does not reveal to anyone,
while at the same time Bob picks an integer b that he keeps secret. Then,
Alice computes A ≡ ga (mod p) and
Bob computes B ≡ gb (mod p)
Alice sends A to Bob and Bob sends B to Alice. Note that Eve gets to see the
values of A and B, since they are sent over the insecure communication channel.
Finally, using the secret integers
Alice computes A* ≡ Ba (mod p) and
Bob computes B* ≡ Ab (mod p)

29
The values that they compute, A* and B* respectively, are actually the same, since
A* ≡ Ba ≡ (gb )a ≡ gab ≡ (ga)b ≡ Ab ≡ B* (mod p)

Example 6.1
Alice and Bob agree to use the prime p = 941 and the primitive root g = 627. Alice
chooses the secret key a = 347 and computes
A = 390 ≡ 627347 (mod 941).
Similarly, Bob chooses the secret key b = 781 and computes
B = 691 ≡ 627781 (mod 941).
Alice sends Bob the number 390 and Bob sends Alice the number 691. Both of
these transmissions are done over an insecure channel, so both A = 390 and B =
691 should be considered public knowledge. The numbers a = 347 and b = 781
are not transmitted and remain secret. Then Alice and Bob are both able to
compute the number
470 ≡ 627347·781 ≡ Ab ≡ Ba (mod 941)
So 470 is their shared secret.
Suppose that Eve sees this entire exchange. She can reconstitute Alice’s and Bob’s
shared secret if she can solve either of the congruences
627a ≡ 390 (mod 941) or 627b ≡ 691 (mod 941),
since then she will know one of their secret exponents. As far as is known, this is
the only way for Eve to find the secret shared value without Alice’s or Bob’s
assistance. Current guidelines suggest that Alice and Bob choose a prime p having
approximately 1000 bits (i.e., p ≈ 21000) and an element g whose order is prime
and approximately p/2. Then Eve will face a truly difficult task.

Definition 6.2 (The Diffie–Hellman Problem)


Let p be a prime number and g an integer. The Diffie–Hellman Problem (DHP) is
the problem of computing the value of gab(mod p) from the known values of
ga(mod p) and gb(mod p).

30
6.3 ElGamal Cipher
Alice needs a large prime number p for which the discrete logarithm problem in
𝔽*p is difficult, and she needs an element g modulo p of large (prime) order. She
may choose p and g herself, or they may have been preselected by some trusted
party such as an industry panel or government agency.
Alice chooses a secret number a to act as her private key, and she computes the
quantity A ≡ ga (mod p). Now suppose that Bob wants to encrypt a message m
using Alice’s public key A. If m ≥ p then he will break up m into smaller blocks
each of which is less than p and encrypt them individually. For now we will
assume 0 < m < p. In order to encrypt m, Bob first randomly chooses another
number k modulo p. Bob uses k to encrypt one, and only one, message, and then
he discards it. The number k is called an ephemeral key, since it exists only for
the purposes of encrypting a single message.
Bob takes his plaintext message m, his chosen random ephemeral key k, and
Alice’s public key A and uses them to compute the two quantities
c1 ≡ gk (mod p) and c2 ≡ mAk (mod p).
Bob’s ciphertext, i.e., his encryption of m, is the pair of numbers (c1,c2), which
he sends to Alice.
Since Alice knows a, she can compute the quantity x ≡ c1a (mod p) and hence also
x−1 (mod p).
Alice next multiplies c2 by x−1 and the resulting value is the plaintext m since
x−1 · c2 ≡ (c1a)−1·c2 (mod p) [since x ≡ ca 1 (mod p)]
≡ (gak)−1·(mAk) (mod p) [since c1 ≡ gk, c2 ≡ mAk (mod p)]
≡ (gak)−1·(m(ga)k) (mod p) [since A ≡ ga (mod p)]
≡ m (mod p)
Example 6.2
Alice uses the prime p = 467 and the primitive root g = 2. She chooses a = 153 to
be her private key and computes her public key
A ≡ ga ≡ 2153 ≡ 224 (mod 467)
Bob decides to send Alice the message m = 331. He chooses an ephemeral key at
random, say he chooses k = 197, and he computes the two quantities
c1 ≡ 2197 ≡ 87 (mod 467) and c2 ≡ 331 · 224197 ≡ 57 (mod 467)
Finally, she computes c2 x−1 ≡ 57 · 14 ≡ 331 (mod 467) and recovers the plaintext
message m = 331

31
CONCLUSION

In this project, we explored the critical mathematical principles that form the
foundation of modern cryptography, providing an overview of how these
principles are applied in various cryptosystems. We delved into key concepts like
number theory, modular arithmetic, group theory etc. associated with various
classical and asymmetric ciphers. The examination of these cryptosystems
underscored the importance of mathematical rigour and the evolving nature of
cryptographic challenges.
The symmetric ciphers characterised by the use of a single key for both
encryption and decryption represent one of the oldest forms of cryptography. The
importance of key management and the inherent vulnerabilities in symmetric
systems were highlighted. We learnt about cryptanalysis – the breaking of
cryptographic systems – which emphasized the need for continuous improvement
in cryptographic algorithms and implementation techniques to stay ahead of
potential threats. Transitioning to public key cryptography, we explored the
fundamental shift introduced by the asymmetric encryption. The RSA algorithm,
based on the mathematical challenge of factoring large numbers and the Diffie-
Hellman key exchange, founded on the discrete logarithm problem, were
discussed. These systems allow for secure communication over insecure
channels, enabling modern secure communications and e-commerce. We
examined the mathematical principles that make these algorithms secure and the
implications of quantum computing, which could potentially undermine their
strength.
Our study concludes that mathematics is both the backbone and the driving force
behind cryptographic advancements. The project underscored the interplay
between mathematical complexity and cryptographic security. The future of
cryptography will depend on ongoing research in mathematics, computer science
and cybersecurity to develop new techniques and strengthen existing ones. As
technology progresses, cryptographers must remain vigilant to anticipate and
mitigate emerging threats, ensuring the continued confidentiality, integrity and
authenticity of data. Ultimately our exploration reinforces the notion that
cryptography is a dynamic and ever-evolving field, with mathematics serving as
its guiding light. Cryptography’s future relies on both deep mathematical insight
and practical implementation, with each advance building on a robust
mathematical foundation.

32
REFERENCES

[1] Christof Paar and Jan Pelzl. Understanding Cryptography. Springer,


Heidelberg, New York, 2010.

[2] David M Burton. Elementary Number Theory, Seventh Edition. McGraw-Hill


Companies, New York, 2011.

[3] Dawson Shores. The Evolution of Cryptography Through Number Theory.


Georgia College & State University, 2020.

[4] Douglas R Stinson and Maura B Peterson. Cryptography Theory and


Practice. CRC Press, Taylor & Francis Group, Boca Raton, 2018.

[5] Harold M Stark. An Introduction to Number Theory. The MIT Press,


Cambridge, 1998.

[6] Jeffrey Hoffstein, Jill Pipher and Joseph H Silverman. An Introduction to


Mathematical Cryptography. Springer Science + Business Media, LLC,
New York, 2008.

[7] Joseph A Gallian. Contemporary Abstract Algebra, Seventh Edition.


Brooks/Cole, Belmont, USA, 2010.

[8] Keith M Martin. Everyday Cryptography Fundamental Principles and


Applications. Oxford University Press Inc., New York, 2012.

[9] Nigel Smart. Cryptography : an Introduction, Third Edition. McGraw-Hill


Education, Europe, 2002.

33

You might also like