Unit 307
Unit 307
UNIT-3
LECTURE-1
It is computationally infeasible to compute the private key based on the public key.
Because of this, public keys can be freely shared, allowing users an easy and
convenient method for encrypting content and verifying digital signatures, and
private keys can be kept secret, ensuring only the owners of the private keys can
decrypt content and create digital signatures.
Since public keys need to be shared but are too big to be easily remembered, they
are stored on digital certificates for secure transport and sharing. Since private keys
are not shared, they are simply stored in the software or operating system you use,
or on hardware (e.g., USB token, hardware security module) containing drivers
that allow it to be used with your software or operating system.
Business Applications
The main business applications for public-key cryptography are:
Digital signatures - content is digitally signed with an individual’s private
key and is verified by the individual’s public key
Encryption - content is encrypted using an individual’s public key and can
only be decrypted with the individual’s private key
LECTURE-2
Individuals who are passionate about research and development activities and wish
to advance their careers in the field can opt to become a university teacher, but this
career choice would require them to have Ph.D. in the field.
What is Cryptanalysis?
You came here with the wish to know how to become a cryptanalyst, so it would
be unfair if we don’t dive into details about what cryptanalysis is in order to help
you better understand what lies ahead – should you choose to become a
cryptanalyst. It the science of decrypting coded data and turn it into plain text that
is easy to understand. Cryptanalysis is usually the best way to transmit data over
insecure networking channels. Cryptanalysis also entails encryption of data into
codes so that unauthorized access to data can be prevented.
These terms can confuse a beginner as they all appear to focus on encryption and
decryption of communication. But, let us explain it to you in a way that their
difference becomes visible to you. Cryptology is the art and science of creating
algorithms to protect confidential information/ data, whereas cryptanalysis deals
with breaking the cryptographic algorithms. The mixture of these two terms is
known as cryptology.
Encrypted messages or data have two aspects one is internals and the other is
externals. It is the responsibility of a cryptanalyst to identify the internals – a
process of identifying how the message has been encrypted and this can be done by
utilizing the externals of the message. A cryptanalyst is considered good if that
person has the knowledge of applying analysis tools to identify externals, extract
the key and subsequently decrypt the message. Once done with this process, the
person should also be able to reconstruct the process of encryption applied to
encrypt that message.
Ciphertext: This term refers to a message that has been encrypted via a code.
Ciphertext in simple words is the coded message or the result you get after
encryption. However, cipher has been used interchangeably with the term
ciphertext, which is inaccurate as it refers to the encryption process, not the
encrypted message.
Hashing: It is another common term you would encounter if you wish to become a
cryptanalyst, which basically refers to the process of changing of a string of
characters into a fixed-length key, which becomes the representation of an actual
string.
Having covered the basics of cryptanalysis, let’s discuss what the responsibilities
of cryptanalysts are. They are generally expected to develop mathematical models
and write encryption codes to protect data from cybercriminals. They are also
tasked to decipher codes and decrypt encrypted data for companies or government
agencies. The job requirements of a cryptanalyst vary from employer to employer,
but the basic responsibilities of encrypting and decrypting data remain the same. In
a data-driven business environment, data protection has become one of the major
concerns of government agencies and private corporations, hence they hire
cryptanalysts to ensure that their networks, computer systems, and data remain safe
and secure.
career. For instance, in the banking industry, a cryptanalyst can develop expertise
in securing the entire banking operations including automatic teller machines
(ATMs), emails, credit cards, online banking, and consumer data. In the banking
industry, cryptanalysts use ciphers to protect all the sensitive data including bank
account numbers and credit card numbers. Cryptanalysts are also required by
certain organizations to write codes and develop programs that secure
communication channels and protect the network from any unauthorized access.
Computational number theories and number schemes are mainly used to write most
of the encryption codes. Cryptanalysts are expected to have excellent command
over mathematics since they have to solve a variety of problems using their
expertise in mathematics.
Educational Requirements
The responsibilities mentioned above make it clear that the job of a cryptanalyst
entails computer science and mathematics. Cryptanalysts mostly have a bachelor’s
degree in computer engineering, computer science or mathematics. However, some
also have a master’s degree in these fields as well.
Design and develop robust computer systems that hackers cannot penetrate
Recommend security protocols that the company should follow to protect
its data
Prepare data charts, tables, & graphs
However, you don’t need any technical degree or certification if you have a degree
in mathematics, computer engineering or computer science along with necessary
experience and training, since this is what employers seek when considering
someone for the position of cryptanalyst. Moreover, there are companies and
government agencies who would consider your profile as a cryptanalyst even if
you don’t have a technical or non-technical degree, since they only need skills,
knowledge, and expertise. However, some organizations would prefer only
graduates with over 5 years of experience to handle the privacy and security of
their sensitive data. To be considered for an entry-level position, you may be
required to demonstrate skills and expertise only along with a bachelor’s or
master’s degree, needless to say, that you may have to compromise on your
expected salary figures initially. If you wish to apply for a mid-level role, you may
need to acquire at least 3 years of experience, otherwise, your profile won’t be
considered. Simply put, where you land a job depends on your hard work 90% of
the times and luck has only 10% shares in it.
with the knowledge you may need to work with a particular employer and may get
the understanding to design and develop systems that are beneficial for the
organization.
QuickStart is one of the leading platforms for getting reliable online certifications
and knowledge to expand your area of expertise.
LECTURE-3
RSA cryptosystem:
RSA Algorithm in Cryptography
RSA (Rivest–Shamir–Adleman) is a public-key cryptosystem that is widely used
for secure data transmission. It is also one of the oldest. The acronym RSA comes
from the surnames of Ron Rivest, Adi Shamir, and Leonard Adleman, who
publicly described the algorithm in 1977. An equivalent system was developed
secretly, in 1973 at GCHQ (the British signals intelligence agency), by the English
mathematician Clifford Cocks. That system was declassified in 1997.[1]
In a public-key cryptosystem, the encryption key is public and distinct from
the decryption key, which is kept secret (private). An RSA user creates and
publishes a public key based on two large prime numbers, along with an auxiliary
value. The prime numbers are kept secret. Messages can be encrypted by anyone,
via the public key, but can only be decoded by someone who knows the prime
numbers.[2]
The security of RSA relies on the practical difficulty of factoring the product of
two large prime numbers, the "factoring problem". Breaking RSA encryption is
known as the RSA problem. Whether it is as difficult as the factoring problem is an
open question.[3] There are no published methods to defeat the system if a large
enough key is used.
RSA is a relatively slow algorithm. Because of this, it is not commonly used to
directly encrypt user data. More often, RSA is used to transmit shared keys
for symmetric key cryptography, which are then used for bulk encryption-
decryption.
The idea! The idea of RSA is based on the fact that it is difficult to factorize a
large integer. The public key consists of two numbers where one number is
multiplication of two large prime numbers. And private key is also derived from
the same two prime numbers. So if somebody can factorize the large number, the
private key is compromised. Therefore encryption strength totally lies on the key
size and if we double or triple the key size, the strength of encryption increases
exponentially. RSA keys can be typically 1024 or 2048 bits long, but experts
believe that 1024 bit keys could be broken in the near future. But till now it seems
to be an infeasible task.
Let us learn the mechanism behind RSA algorithm :
LECTURE-4
Rabin cryptosystem:
The Rabin cryptosystem is an asymmetric cryptographic technique, whose
security, like that of RSA, is related to the difficulty of integer factorization.
However the Rabin cryptosystem has the advantage that it has been mathematically
proven to be computationally secure against a chosen-plaintext attack as long as
the attacker cannot efficiently factor integers, while there is no such proof known
for RSA. It has the disadvantage that each output of the Rabin function can be
generated by any of four possible inputs; if each output is a ciphertext, extra
complexity is required on decryption to identify which of the four possible inputs
was the true plaintext.
LECTURE-5
Elgamal cryptosystem:
"ElGamal" redirects here. For signature algorithm, see ElGamal signature
scheme.
In cryptography, the ElGamal encryption system is an asymmetric key
encryption algorithm for public-key cryptography which is based on the Diffie–
Hellman key exchange. It was described by Taher Elgamal in 1985. ElGamal
encryption is used in the free GNU Privacy Guard software, recent versions
of PGP, and other cryptosystems. The Digital Signature Algorithm (DSA) is a
variant of the ElGamal signature scheme, which should not be confused with
ElGamal encryption.
ElGamal encryption can be defined over any cyclic group , like multiplicative
group of integers modulo n. Its security depends upon the difficulty of a certain
problem in related to computing discrete logarithms.
LECTURE-6
Elliptic curve:
Elliptic curves are curves defined by a certain type of cubic equation in two
variables. The set of rational solutions to this equation has an extremely interesting
structure, including a group law. The theory of elliptic curves was essential in
Andrew Wiles' proof of Fermat's last theorem. Computational problems involving
the group law are also used in many cryptographic applications, and in algorithms
for factoring large integers.
RSA does something similar with prime numbers instead of elliptic curves, but
ECC has gradually been growing in popularity recently due to its smaller key size
and ability to maintain security. This trend will probably continue as the demand
on devices to remain secure increases due to the size of keys growing, drawing on
scarce mobile resources. This is why it is so important to understand elliptic curve
cryptography in context.
In contrast to RSA, ECC bases its approach to public key cryptographic systems on
how elliptic curves are structured algebraically over finite fields. Therefore, ECC
creates keys that are more difficult, mathematically, to crack. For this reason, ECC
is considered to be the next generation implementation of public key cryptography
and more secure than RSA.
It also makes sense to adopt ECC to maintain high levels of both performance and
security. That’s because ECC is increasingly in wider use as websites strive for
greater online security in customer data and greater mobile optimization,
simultaneously. More sites using ECC to secure data means a greater need for this
kind of quick guide to elliptic curve cryptography.
An elliptic curve for current ECC purposes is a plane curve over a finite field
which is made up of the points satisfying the equation:
y²=x³ + ax + b.
In this elliptic curve cryptography example, any point on the curve can be mirrored
over the x-axis and the curve will stay the same. Any non-vertical line will
intersect the curve in three places or fewer.
The difference in size to security yield between RSA and ECC encryption keys is
notable. The table below shows the sizes of keys needed to provide the same level
of security. In other words, an elliptic curve cryptography key of 384 bit achieves
the same level of security as an RSA of 7680 bit.
There is no linear relationship between the sizes of ECC keys and RSA keys. That
is, an RSA key size that is twice as big does not translate into an ECC key size
that’s doubled. This compelling difference shows that ECC key generation and
signing are substantially quicker than for RSA, and also that ECC uses less
memory than does RSA.
Also, unlike in RSA, where both are integers, in ECC the private and public keys
are not equally exchangeable. Instead, in ECC the public key is a point on the
curve, while the private key is still an integer.
ECC features smaller ciphertexts, keys, and signatures, and faster generation of
keys and signatures. Its decryption and encryption speeds are moderately fast. ECC
enables lower latency than inverse throughout by computing signatures in two
stages. ECC features strong protocols for authenticated key exchange and support
for the tech is strong.
However, the disadvantages of RSA catch up with you soon. Key generation is
slow with RSA, and so is decryption and signing, which aren’t always that easy to
implement securely.
Public-key cryptography works using algorithms that are easy to process in one
direction and difficult to process in the reverse direction. For example, RSA relies
on the fact that multiplying prime numbers to get a larger number is easy, while
factoring huge numbers back to the original primes is much more difficult.
However, to remain secure, RSA needs keys that are 2048 bits or longer. This
makes the process slow, and it also means that key size is important.
Using ECC, you can achieve the same security level using smaller keys. In a world
where mobile devices must do more and more cryptography with less
computational power, ECC offers high security with faster, shorter keys compared
to RSA.
Although there are certain ways to attack ECC, the advantages of elliptic curve
cryptography for wireless security mean it remains a more secure option.
LECTURE-7
Cryptosystem:
A cryptosystem is an implementation of cryptographic techniques and their
accompanying infrastructure to provide information security services. A
cryptosystem is also referred to as a cipher system.
Let us discuss a simple model of a cryptosystem that provides confidentiality to the information
The illustration shows a sender who wants to transfer some sensitive data to a receiver in such a
The objective of this simple cryptosystem is that at the end of the process, only the sender and t
Components of a Cryptosystem
The various components of a basic cryptosystem are as follows −
Plaintext. It is the data to be protected during transmission.
Encryption Algorithm. It is a mathematical process that produces a
ciphertext for any given plaintext and encryption key. It is a cryptographic
algorithm that takes plaintext and an encryption key as input and produces a
ciphertext.
Ciphertext. It is the scrambled version of the plaintext produced by the
encryption algorithm using a specific the encryption key. The ciphertext is
not guarded. It flows on public channel. It can be intercepted or
compromised by anyone who has access to the communication channel.
Decryption Algorithm, It is a mathematical process, that produces a unique
plaintext for any given ciphertext and decryption key. It is a cryptographic
algorithm that takes a ciphertext and a decryption key as input, and outputs
a plaintext. The decryption algorithm essentially reverses the encryption
algorithm and is thus closely related to it.
Encryption Key. It 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.
Decryption Key. It 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.
For a given cryptosystem, a collection of all possible decryption keys is called
a key space.
An interceptor (an attacker) is an unauthorized entity who attempts to determine
the plaintext. He can see the ciphertext and may know the decryption algorithm.
He, however, must never know the decryption key.
Types of Cryptosystems
Fundamentally, there are two types of cryptosystems based on the manner in
which encryption-decryption is carried out in the system −
The encryption process where same keys are used for encrypting and
decrypting the information is known as Symmetric Key Encryption.
The study of symmetric cryptosystems is referred to as symmetric cryptography.
Symmetric cryptosystems are also sometimes referred to as secret key
cryptosystems.
A few well-known examples of symmetric key encryption methods are − Digital
Encryption Standard (DES), Triple-DES (3DES), IDEA, and BLOWFISH.
Prior to 1970, all cryptosystems employed symmetric key encryption. Even today,
its relevance is very high and it is being used extensively in many cryptosystems.
It is very unlikely that this encryption will fade away, as it has certain advantages
over asymmetric key encryption.
The salient features of cryptosystem based on symmetric key encryption are −
Persons using symmetric key encryption must share a common key prior to
exchange of information.
Keys are recommended to be changed regularly to prevent any attack on the
system.
A robust mechanism needs to exist to exchange the key between the
communicating parties. As keys are required to be changed regularly, this
mechanism becomes expensive and cumbersome.
In a group of n people, to enable two-party communication between any
two persons, the number of keys required for group is n × (n – 1)/2.
Length of Key (number of bits) in this encryption is smaller and hence,
process of encryption-decryption is faster than asymmetric key encryption.
The encryption process where different keys are used for encrypting and
decrypting the information is known as Asymmetric Key Encryption. Though
the keys are different, they are mathematically related and hence, retrieving the
plaintext by decrypting ciphertext is feasible. The process is depicted in the
following illustration −
Asymmetric Key Encryption was invented in the 20 th century to come over the
necessity of pre-shared secret key between communicating persons. The salient
features of this encryption scheme are as follows −
Every user in this system needs to have a pair of dissimilar keys, private
key and public key. These keys are mathematically related − when one key
is used for encryption, the other can decrypt the ciphertext back to the
original plaintext.
It requires to put the public key in public repository and the private key as a
well-guarded secret. Hence, this scheme of encryption is also called Public
Key Encryption.
Though public and private keys of the user are related, it is computationally
not feasible to find one from another. This is a strength of this scheme.
When Host1 needs to send data to Host2, he obtains the public key
of Host2 from repository, encrypts the data, and transmits.
Host2 uses his private key to extract the plaintext.
Length of Keys (number of bits) in this encryption is large and hence, the
process of encryption-decryption is slower than symmetric key encryption.
Processing power of computer system required to run asymmetric algorithm
is higher.
Symmetric cryptosystems are a natural concept. In contrast, public-key
cryptosystems are quite difficult to comprehend.
You may think, how can the encryption key and the decryption key are ‘related’,
and yet it is impossible to determine the decryption key from the encryption
key? The answer lies in the mathematical concepts. It is possible to design a
cryptosystem whose keys have this property. The concept of public-key
cryptography is relatively new. There are fewer public-key algorithms known than
symmetric algorithms.