The document discusses public key encryption and digital signatures. It begins with an overview of public key encryption, including how each party has a public and private key pair. The document then covers the history of public key cryptography and some common public key encryption algorithms like RSA and ElGamal. It provides details on how the RSA algorithm works for both encryption and digital signatures. Finally, it discusses how digital signatures provide authentication, data integrity, and non-repudiation.
This document provides a summary of public key encryption and digital signatures. It begins by reviewing symmetric cryptography and its limitations in key distribution. It then introduces public key encryption, where each party has a public and private key pair. The document outlines the RSA algorithm and how it uses large prime number factorization problems to encrypt and decrypt messages. It also discusses how digital signatures can provide authentication, integrity, and non-repudiation for electronic messages and contracts using public key techniques like RSA.
Bob and Alice want to securely communicate messages between each other over an insecure channel. Cryptography allows them to encrypt messages using public key encryption so that only the intended recipient can decrypt it. The document discusses the basics of public key cryptography including how it works, the RSA algorithm, key generation process, and approaches to attacking public key cryptography like brute force attacks or mathematical attacks like integer factorization to derive the private key.
Public-key cryptography uses two keys: a public key that can encrypt messages and verify signatures, and a private key known only to the recipient that decrypts messages and signs them. RSA is an example of an asymmetric encryption algorithm that is widely used, using a public and private key pair generated from large prime numbers. It allows easy encryption with the public key but mathematically secure decryption only with the corresponding private key.
Public Key Cryptography uses two keys - a public key that can encrypt messages and verify signatures, and a private key that can decrypt messages and create signatures. The RSA algorithm, the most widely used public key algorithm, is based on the mathematical difficulty of factoring large prime numbers. It works by having users generate a public/private key pair using two large prime numbers and performing modular exponentiation. The security of RSA relies on the fact that it is computationally infeasible to derive the private key from the public key and modulus.
This document discusses public key cryptography and the RSA algorithm. It begins by explaining the differences between symmetric and asymmetric cryptosystems. It then describes the key components of public key cryptography, including public/private key pairs, certificates, and algorithms. The document goes on to explain the mathematical foundations of public key cryptography using concepts like Euler's totient function and the discrete logarithm problem. It provides details on the RSA algorithm, including key generation, encryption, and decryption. It also includes an example of RSA encryption and decryption. Finally, it discusses some attacks on RSA like brute force and timing attacks, as well as countermeasures.
This document discusses common cryptography pitfalls and failures. It begins by explaining that while cryptography is widely used, it is easy to misimplement. It then discusses failures with hashing functions, encryption models like symmetric and asymmetric, modes of operation like ECB and CBC, and real-world cases like Adobe's private key leakage. The document also covers password storage best practices, public-key cryptosystems like RSA and optimal asymmetric encryption padding, and the performance costs of cryptography. It emphasizes that one should avoid rolling their own crypto algorithms or implementations and instead use established libraries.
This document discusses public key cryptography and the RSA algorithm. It begins by outlining some misconceptions about public key encryption. It then provides an overview of the key concepts behind public key cryptosystems, including the use of public and private key pairs to enable encryption, digital signatures, and key exchange. The document goes on to provide detailed explanations of the RSA algorithm, including how it uses large prime numbers and modular arithmetic to encrypt and decrypt messages securely. It discusses the security of the RSA algorithm and analyzes approaches for attacking it, such as brute force key searching and mathematical attacks based on factoring the private key.
Information and network security 33 rsa algorithmVaibhav Khanna
RSA algorithm is asymmetric cryptography algorithm. Asymmetric actually means that it works on two different keys i.e. Public Key and Private Key. As the name describes that the Public Key is given to everyone and Private key is kept private
This document provides a summary of public key encryption and digital signatures. It begins by reviewing symmetric cryptography and its limitations in key distribution. It then introduces public key encryption, where each party has a public and private key pair. The document outlines the RSA algorithm and how it uses large prime number factorization problems to encrypt and decrypt messages. It also discusses how digital signatures can provide authentication, integrity, and non-repudiation for electronic messages and contracts using public key techniques like RSA.
Bob and Alice want to securely communicate messages between each other over an insecure channel. Cryptography allows them to encrypt messages using public key encryption so that only the intended recipient can decrypt it. The document discusses the basics of public key cryptography including how it works, the RSA algorithm, key generation process, and approaches to attacking public key cryptography like brute force attacks or mathematical attacks like integer factorization to derive the private key.
Public-key cryptography uses two keys: a public key that can encrypt messages and verify signatures, and a private key known only to the recipient that decrypts messages and signs them. RSA is an example of an asymmetric encryption algorithm that is widely used, using a public and private key pair generated from large prime numbers. It allows easy encryption with the public key but mathematically secure decryption only with the corresponding private key.
Public Key Cryptography uses two keys - a public key that can encrypt messages and verify signatures, and a private key that can decrypt messages and create signatures. The RSA algorithm, the most widely used public key algorithm, is based on the mathematical difficulty of factoring large prime numbers. It works by having users generate a public/private key pair using two large prime numbers and performing modular exponentiation. The security of RSA relies on the fact that it is computationally infeasible to derive the private key from the public key and modulus.
This document discusses public key cryptography and the RSA algorithm. It begins by explaining the differences between symmetric and asymmetric cryptosystems. It then describes the key components of public key cryptography, including public/private key pairs, certificates, and algorithms. The document goes on to explain the mathematical foundations of public key cryptography using concepts like Euler's totient function and the discrete logarithm problem. It provides details on the RSA algorithm, including key generation, encryption, and decryption. It also includes an example of RSA encryption and decryption. Finally, it discusses some attacks on RSA like brute force and timing attacks, as well as countermeasures.
This document discusses common cryptography pitfalls and failures. It begins by explaining that while cryptography is widely used, it is easy to misimplement. It then discusses failures with hashing functions, encryption models like symmetric and asymmetric, modes of operation like ECB and CBC, and real-world cases like Adobe's private key leakage. The document also covers password storage best practices, public-key cryptosystems like RSA and optimal asymmetric encryption padding, and the performance costs of cryptography. It emphasizes that one should avoid rolling their own crypto algorithms or implementations and instead use established libraries.
This document discusses public key cryptography and the RSA algorithm. It begins by outlining some misconceptions about public key encryption. It then provides an overview of the key concepts behind public key cryptosystems, including the use of public and private key pairs to enable encryption, digital signatures, and key exchange. The document goes on to provide detailed explanations of the RSA algorithm, including how it uses large prime numbers and modular arithmetic to encrypt and decrypt messages securely. It discusses the security of the RSA algorithm and analyzes approaches for attacking it, such as brute force key searching and mathematical attacks based on factoring the private key.
Information and network security 33 rsa algorithmVaibhav Khanna
RSA algorithm is asymmetric cryptography algorithm. Asymmetric actually means that it works on two different keys i.e. Public Key and Private Key. As the name describes that the Public Key is given to everyone and Private key is kept private
1. Cryptography is the broadest security tool available that allows for secure communication over insecure mediums. It provides confidentiality through encryption.
2. Encryption algorithms use a set of keys to encrypt messages into ciphertexts and decrypt ciphertexts back into messages. The encryption and decryption functions must be efficiently computable.
3. Symmetric encryption uses the same key to encrypt and decrypt, while asymmetric encryption uses a public key to encrypt and a private key to decrypt, allowing for secure communication without having to share private keys.
traditional private/secret/single key cryptography uses one key
Key is shared by both sender and receiver
if the key is disclosed communications are compromised
also known as symmetric, both parties are equal
hence does not protect sender from receiver forging a message & claiming is sent by sender
Public-Key Cryptography.pdfWrite the result of the following operation with t...FahmiOlayah
Write the result of the following operation with the correct number of significant figure of 0.248?Write the result of the following operation with the correct number of signi
This presentation is based on the paper :
"A Method for Obtaining Digital Signatures and Public-Key Cryptosystems" by R.L. Rivest, A. Shamir, and L. Adleman
RSA is a public-key cryptography algorithm used for encryption, digital signatures, and key exchange. It uses a public and private key pair based on the difficulty of factoring large prime numbers. To encrypt a message, it is encrypted with the recipient's public key. To decrypt, the recipient uses their private key. The security of RSA relies on the difficulty of determining the prime factors of a large number.
Simple Overview of PKI and Digital signature by Tarek_GaberTarek Gaber
To give a brief overview about Public Key Infrastructure and Digital Signature with simple example
Lecture Outlines
Why En/Dec by itself is NOT enough?
What is PKI and how does it work?
What is Digital Signature and how it is work
This document provides an overview of cryptography concepts including:
- Homework 1 is due on 1/18 and project 1 is due the next day
- It reviews classical ciphers, modern symmetric ciphers like DES, and basic cryptography terminology
- It describes the Feistel cipher structure used in DES, the DES algorithm details like key scheduling and rounds, and strengths and weaknesses of DES versus alternatives like AES and triple DES
Public-key cryptography uses two keys: a public key that can encrypt messages and verify signatures, and a private key that can decrypt messages and create signatures. The RSA algorithm is widely used for public-key cryptography. It works by using large prime numbers to generate the public and private keys, such that it is easy to encrypt with the public key but computationally infeasible to derive the private key and decrypt without knowing the prime numbers. The security of RSA relies on the difficulty of factoring the product of the large prime numbers. Timing attacks aim to break RSA security by analyzing variations in computation times, but countermeasures can prevent leaks of private information.
The document discusses encryption and decryption techniques including symmetric and asymmetric cryptosystems. It describes the goals of cryptography including confidentiality, integrity, authentication, and non-repudiation. The document outlines the RSA cryptosystem including key generation, encryption, and digital signatures. It also discusses hashing, the discrete logarithm problem, and how elliptic curves can be used in cryptography.
Public Key Cryptography and RSA algorithmIndra97065
Public Key Cryptography and RSA algorithm.Explanation and proof of RSA algorithm in details.it also describer the mathematics behind the RSA. Few mathematics theorem are given which are use in the RSA algorithm.
Public key cryptography uses two keys - a public key that can be shared openly and a private key that is kept secret. The RSA algorithm, invented in 1977, is the most widely used public key cryptosystem. It uses a public and private key pair generated from two large prime numbers. The public key is used to encrypt messages, while the private key is used to decrypt messages. The security of RSA relies on the difficulty of factoring the product of the two primes.
Presentation on Cryptography_Based on IEEE_PaperNithin Cv
The document summarizes a seminar report on a hybrid cryptography architecture that uses multiple cryptographic algorithms. It discusses Elliptic Curve Cryptography (ECC), Elliptic Curve Diffie-Hellman (ECDH), Elliptic Curve Digital Signature Algorithm (ECDSA), and Dual-RSA. ECC is used to encrypt data onto an elliptic curve. ECDH generates shared secret keys between two parties for use in symmetric encryption. ECDSA allows digital signatures using elliptic curve parameters. Dual-RSA improves decryption efficiency using the Chinese Remainder Theorem to split computations between prime factors p and q. The hybrid architecture combines the strengths of these algorithms to provide secure encryption, authentication, and key exchange.
This document presents an improved asymmetric key encryption algorithm using MATLAB. It begins with an introduction to asymmetric key cryptography and the RSA cryptosystem. It then describes a modified RSA algorithm using multiple public and private keys to increase security. Next, it explains how to implement RSA using the Chinese Remainder Theorem to reduce computational time. The document implements the original, modified, and CRT-based RSA algorithms in MATLAB and analyzes computation time versus number of prime numbers. It concludes the modified and CRT-based approaches provide more security than the original RSA algorithm with reduced computational time.
This document discusses public-key cryptography and digital signatures. It begins with an introduction to symmetric and asymmetric key cryptography, including the basic concepts and differences between the two approaches. It then provides more details on public-key cryptography principles, including how public/private key pairs are generated and used. The document explains the RSA algorithm for public-key encryption and decryption in detail with examples. It also covers digital signature models and how they provide message authentication, integrity, and non-repudiation using public-key techniques. Diffie-Hellman key exchange is introduced as a method for securely transmitting a symmetric secret key between two parties.
1. The document discusses public-key cryptography and some of its key concepts like asymmetric encryption where each user has a public and private key.
2. It also covers applications like encryption, digital signatures, and key exchange. It notes that while public-key crypto has advantages, symmetric crypto is still important due to public-key crypto's lower speed.
3. The RSA algorithm is presented as one of the first implementations of public-key cryptography based on the difficulty of factoring large integers.
1. The document discusses cryptography and the RSA algorithm. It provides definitions of encryption, decryption, symmetric and asymmetric cryptography.
2. RSA is described as an asymmetric cryptography algorithm invented by Rivest, Adleman and Shamir using the initials of their last names. It uses a public key for encryption and a private key for decryption.
3. An example is provided to demonstrate how RSA works by encrypting a message using a public key and decrypting it with a private key.
Public key cryptography uses two keys - a public key that can encrypt messages but not decrypt them, and a private key that can decrypt messages but not encrypt them. The RSA algorithm is a commonly used public key cryptosystem. It works by having users generate a public/private key pair using large prime numbers, then messages can be encrypted with the public key and decrypted with the private key. The security of RSA relies on the difficulty of factoring large numbers.
Public-key cryptography uses two keys, a public key that can be shared widely, and a private key that is kept secret. It allows for both encryption and digital signatures. The most widely used public-key cryptosystem is RSA, which relies on the difficulty of factoring large prime numbers. Diffie-Hellman key exchange allows two parties to securely exchange a secret key over an insecure channel without any prior secrets.
Public-key cryptography uses two keys: a public key for encryption and digital signatures, and a private key for decryption and signature verification. RSA is the most widely used public-key cryptosystem, using large prime factorization and modular exponentiation. It allows secure communication without prior key exchange. While brute force attacks on RSA are infeasible due to large key sizes, its security relies on the difficulty of factoring large numbers.
Public-key cryptography uses two keys: a public key to encrypt messages and verify signatures, and a private key for decryption and signing. RSA is the most widely used public-key cryptosystem, using large prime factorization and exponentiation modulo n for encryption and decryption. While faster than brute-force, breaking RSA remains computationally infeasible with sufficiently large key sizes over 1024 bits.
How to Make a Field Mandatory in Odoo 17Celine George
In Odoo, making a field required can be done through both Python code and XML views. When you set the required attribute to True in Python code, it makes the field required across all views where it's used. Conversely, when you set the required attribute in XML views, it makes the field required only in the context of that particular view.
1. Cryptography is the broadest security tool available that allows for secure communication over insecure mediums. It provides confidentiality through encryption.
2. Encryption algorithms use a set of keys to encrypt messages into ciphertexts and decrypt ciphertexts back into messages. The encryption and decryption functions must be efficiently computable.
3. Symmetric encryption uses the same key to encrypt and decrypt, while asymmetric encryption uses a public key to encrypt and a private key to decrypt, allowing for secure communication without having to share private keys.
traditional private/secret/single key cryptography uses one key
Key is shared by both sender and receiver
if the key is disclosed communications are compromised
also known as symmetric, both parties are equal
hence does not protect sender from receiver forging a message & claiming is sent by sender
Public-Key Cryptography.pdfWrite the result of the following operation with t...FahmiOlayah
Write the result of the following operation with the correct number of significant figure of 0.248?Write the result of the following operation with the correct number of signi
This presentation is based on the paper :
"A Method for Obtaining Digital Signatures and Public-Key Cryptosystems" by R.L. Rivest, A. Shamir, and L. Adleman
RSA is a public-key cryptography algorithm used for encryption, digital signatures, and key exchange. It uses a public and private key pair based on the difficulty of factoring large prime numbers. To encrypt a message, it is encrypted with the recipient's public key. To decrypt, the recipient uses their private key. The security of RSA relies on the difficulty of determining the prime factors of a large number.
Simple Overview of PKI and Digital signature by Tarek_GaberTarek Gaber
To give a brief overview about Public Key Infrastructure and Digital Signature with simple example
Lecture Outlines
Why En/Dec by itself is NOT enough?
What is PKI and how does it work?
What is Digital Signature and how it is work
This document provides an overview of cryptography concepts including:
- Homework 1 is due on 1/18 and project 1 is due the next day
- It reviews classical ciphers, modern symmetric ciphers like DES, and basic cryptography terminology
- It describes the Feistel cipher structure used in DES, the DES algorithm details like key scheduling and rounds, and strengths and weaknesses of DES versus alternatives like AES and triple DES
Public-key cryptography uses two keys: a public key that can encrypt messages and verify signatures, and a private key that can decrypt messages and create signatures. The RSA algorithm is widely used for public-key cryptography. It works by using large prime numbers to generate the public and private keys, such that it is easy to encrypt with the public key but computationally infeasible to derive the private key and decrypt without knowing the prime numbers. The security of RSA relies on the difficulty of factoring the product of the large prime numbers. Timing attacks aim to break RSA security by analyzing variations in computation times, but countermeasures can prevent leaks of private information.
The document discusses encryption and decryption techniques including symmetric and asymmetric cryptosystems. It describes the goals of cryptography including confidentiality, integrity, authentication, and non-repudiation. The document outlines the RSA cryptosystem including key generation, encryption, and digital signatures. It also discusses hashing, the discrete logarithm problem, and how elliptic curves can be used in cryptography.
Public Key Cryptography and RSA algorithmIndra97065
Public Key Cryptography and RSA algorithm.Explanation and proof of RSA algorithm in details.it also describer the mathematics behind the RSA. Few mathematics theorem are given which are use in the RSA algorithm.
Public key cryptography uses two keys - a public key that can be shared openly and a private key that is kept secret. The RSA algorithm, invented in 1977, is the most widely used public key cryptosystem. It uses a public and private key pair generated from two large prime numbers. The public key is used to encrypt messages, while the private key is used to decrypt messages. The security of RSA relies on the difficulty of factoring the product of the two primes.
Presentation on Cryptography_Based on IEEE_PaperNithin Cv
The document summarizes a seminar report on a hybrid cryptography architecture that uses multiple cryptographic algorithms. It discusses Elliptic Curve Cryptography (ECC), Elliptic Curve Diffie-Hellman (ECDH), Elliptic Curve Digital Signature Algorithm (ECDSA), and Dual-RSA. ECC is used to encrypt data onto an elliptic curve. ECDH generates shared secret keys between two parties for use in symmetric encryption. ECDSA allows digital signatures using elliptic curve parameters. Dual-RSA improves decryption efficiency using the Chinese Remainder Theorem to split computations between prime factors p and q. The hybrid architecture combines the strengths of these algorithms to provide secure encryption, authentication, and key exchange.
This document presents an improved asymmetric key encryption algorithm using MATLAB. It begins with an introduction to asymmetric key cryptography and the RSA cryptosystem. It then describes a modified RSA algorithm using multiple public and private keys to increase security. Next, it explains how to implement RSA using the Chinese Remainder Theorem to reduce computational time. The document implements the original, modified, and CRT-based RSA algorithms in MATLAB and analyzes computation time versus number of prime numbers. It concludes the modified and CRT-based approaches provide more security than the original RSA algorithm with reduced computational time.
This document discusses public-key cryptography and digital signatures. It begins with an introduction to symmetric and asymmetric key cryptography, including the basic concepts and differences between the two approaches. It then provides more details on public-key cryptography principles, including how public/private key pairs are generated and used. The document explains the RSA algorithm for public-key encryption and decryption in detail with examples. It also covers digital signature models and how they provide message authentication, integrity, and non-repudiation using public-key techniques. Diffie-Hellman key exchange is introduced as a method for securely transmitting a symmetric secret key between two parties.
1. The document discusses public-key cryptography and some of its key concepts like asymmetric encryption where each user has a public and private key.
2. It also covers applications like encryption, digital signatures, and key exchange. It notes that while public-key crypto has advantages, symmetric crypto is still important due to public-key crypto's lower speed.
3. The RSA algorithm is presented as one of the first implementations of public-key cryptography based on the difficulty of factoring large integers.
1. The document discusses cryptography and the RSA algorithm. It provides definitions of encryption, decryption, symmetric and asymmetric cryptography.
2. RSA is described as an asymmetric cryptography algorithm invented by Rivest, Adleman and Shamir using the initials of their last names. It uses a public key for encryption and a private key for decryption.
3. An example is provided to demonstrate how RSA works by encrypting a message using a public key and decrypting it with a private key.
Public key cryptography uses two keys - a public key that can encrypt messages but not decrypt them, and a private key that can decrypt messages but not encrypt them. The RSA algorithm is a commonly used public key cryptosystem. It works by having users generate a public/private key pair using large prime numbers, then messages can be encrypted with the public key and decrypted with the private key. The security of RSA relies on the difficulty of factoring large numbers.
Public-key cryptography uses two keys, a public key that can be shared widely, and a private key that is kept secret. It allows for both encryption and digital signatures. The most widely used public-key cryptosystem is RSA, which relies on the difficulty of factoring large prime numbers. Diffie-Hellman key exchange allows two parties to securely exchange a secret key over an insecure channel without any prior secrets.
Public-key cryptography uses two keys: a public key for encryption and digital signatures, and a private key for decryption and signature verification. RSA is the most widely used public-key cryptosystem, using large prime factorization and modular exponentiation. It allows secure communication without prior key exchange. While brute force attacks on RSA are infeasible due to large key sizes, its security relies on the difficulty of factoring large numbers.
Public-key cryptography uses two keys: a public key to encrypt messages and verify signatures, and a private key for decryption and signing. RSA is the most widely used public-key cryptosystem, using large prime factorization and exponentiation modulo n for encryption and decryption. While faster than brute-force, breaking RSA remains computationally infeasible with sufficiently large key sizes over 1024 bits.
How to Make a Field Mandatory in Odoo 17Celine George
In Odoo, making a field required can be done through both Python code and XML views. When you set the required attribute to True in Python code, it makes the field required across all views where it's used. Conversely, when you set the required attribute in XML views, it makes the field required only in the context of that particular view.
How to Setup Warehouse & Location in Odoo 17 InventoryCeline George
In this slide, we'll explore how to set up warehouses and locations in Odoo 17 Inventory. This will help us manage our stock effectively, track inventory levels, and streamline warehouse operations.
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPRAHUL
This Dissertation explores the particular circumstances of Mirzapur, a region located in the
core of India. Mirzapur, with its varied terrains and abundant biodiversity, offers an optimal
environment for investigating the changes in vegetation cover dynamics. Our study utilizes
advanced technologies such as GIS (Geographic Information Systems) and Remote sensing to
analyze the transformations that have taken place over the course of a decade.
The complex relationship between human activities and the environment has been the focus
of extensive research and worry. As the global community grapples with swift urbanization,
population expansion, and economic progress, the effects on natural ecosystems are becoming
more evident. A crucial element of this impact is the alteration of vegetation cover, which plays a
significant role in maintaining the ecological equilibrium of our planet.Land serves as the foundation for all human activities and provides the necessary materials for
these activities. As the most crucial natural resource, its utilization by humans results in different
'Land uses,' which are determined by both human activities and the physical characteristics of the
land.
The utilization of land is impacted by human needs and environmental factors. In countries
like India, rapid population growth and the emphasis on extensive resource exploitation can lead
to significant land degradation, adversely affecting the region's land cover.
Therefore, human intervention has significantly influenced land use patterns over many
centuries, evolving its structure over time and space. In the present era, these changes have
accelerated due to factors such as agriculture and urbanization. Information regarding land use and
cover is essential for various planning and management tasks related to the Earth's surface,
providing crucial environmental data for scientific, resource management, policy purposes, and
diverse human activities.
Accurate understanding of land use and cover is imperative for the development planning
of any area. Consequently, a wide range of professionals, including earth system scientists, land
and water managers, and urban planners, are interested in obtaining data on land use and cover
changes, conversion trends, and other related patterns. The spatial dimensions of land use and
cover support policymakers and scientists in making well-informed decisions, as alterations in
these patterns indicate shifts in economic and social conditions. Monitoring such changes with the
help of Advanced technologies like Remote Sensing and Geographic Information Systems is
crucial for coordinated efforts across different administrative levels. Advanced technologies like
Remote Sensing and Geographic Information Systems
9
Changes in vegetation cover refer to variations in the distribution, composition, and overall
structure of plant communities across different temporal and spatial scales. These changes can
occur natural.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
Gender and Mental Health - Counselling and Family Therapy Applications and In...PsychoTech Services
A proprietary approach developed by bringing together the best of learning theories from Psychology, design principles from the world of visualization, and pedagogical methods from over a decade of training experience, that enables you to: Learn better, faster!
Gender and Mental Health - Counselling and Family Therapy Applications and In...
New ppt.ppt
1. Fall 2010/Lecture 31 1
CS 426 (Fall 2010)
Public Key Encryption and Digital
Signatures
2. Fall 2010/Lecture 31 2
Review of Secret Key (Symmetric)
Cryptography
• Confidentiality
– stream ciphers (uses PRNG)
– block ciphers with encryption modes
• Integrity
– Cryptographic hash functions
– Message authentication code (keyed hash functions)
• Limitation: sender and receiver must share the
same key
– Needs secure channel for key distribution
– Impossible for two parties having no prior relationship
– Needs many keys for n parties to communicate
3. Fall 2010/Lecture 31 3
Public Key Encryption Overview
• Each party has a PAIR (K, K-1) of keys:
– K is the public key, and used for encryption
– K-1 is the private key, and used for decryption
– Satisfies DK-1[EK[M]] = M
• Knowing the public-key K, it is computationally infeasible
to compute the private key K-1
– How to check (K,K-1) is a pair?
– Offers only computational security. PK Encryption impossible
when P=NP, as deriving K-1 from K is in NP.
• The public-key K may be made publicly available, e.g., in
a publicly available directory
– Many can encrypt, only one can decrypt
• Public-key systems aka asymmetric crypto systems
4. Fall 2010/Lecture 31 4
Public Key Cryptography Early
History
• The concept is proposed in Diffie and Hellman
(1976) “New Directions in Cryptography”
– public-key encryption schemes
– public key distribution systems
• Diffie-Hellman key agreement protocol
– digital signature
• Public-key encryption was proposed in 1970 by
James Ellis
– in a classified paper made public in 1997 by the British
Governmental Communications Headquarters
• Concept of digital signature is still originally due
to Diffie & Hellman
5. Fall 2010/Lecture 31 5
Public Key Encryption Algorithms
• Almost all public-key encryption algorithms use
either number theory and modular arithmetic, or
elliptic curves
• RSA
– based on the hardness of factoring large numbers
• El Gamal
– Based on the hardness of solving discrete logarithm
– Basic idea: public key gx, private key x, to encrypt:
[gy, gxy M].
6. Fall 2010/Lecture 31 6
RSA Algorithm
• Invented in 1978 by Ron Rivest, Adi Shamir
and Leonard Adleman
– Published as R L Rivest, A Shamir, L Adleman, "On
Digital Signatures and Public Key Cryptosystems",
Communications of the ACM, vol 21 no 2, pp120-126,
Feb 1978
• Security relies on the difficulty of factoring large
composite numbers
• Essentially the same algorithm was discovered
in 1973 by Clifford Cocks, who works for the
British intelligence
7. Fall 2010/Lecture 31 7
RSA Public Key Crypto System
Key generation:
1. Select 2 large prime numbers of about the same
size, p and q
Typically each p, q has between 512 and 2048 bits
2. Compute n = pq, and (n) = (q-1)(p-1)
3. Select e, 1<e< (n), s.t. gcd(e, (n)) = 1
Typically e=3 or e=65537
4. Compute d, 1< d< (n) s.t. ed 1 mod (n)
Knowing (n), d easy to compute.
Public key: (e, n)
Private key: d
8. Fall 2010/Lecture 31 8
RSA Description (cont.)
Encryption
Given a message M, 0 < M < n M Zn {0}
use public key (e, n)
compute C = Me mod n C Zn {0}
Decryption
Given a ciphertext C, use private key (d)
Compute Cd mod n = (Me mod n)d mod n = Med
mod n = M
9. Fall 2010/Lecture 31 9
Plaintext: M
C = Me mod (n=pq)
Ciphertext: C
Cd mod n
From n, difficult to figure out p,q
From (n,e), difficult to figure d.
From (n,e) and C, difficult to figure out M s.t. C = Me
10. Fall 2010/Lecture 31 10
RSA Example
• p = 11, q = 7, n = 77, (n) = 60
• d = 13, e = 37 (ed = 481; ed mod 60 = 1)
• Let M = 15. Then C Me mod n
– C 1537 (mod 77) = 71
• M Cd mod n
– M 7113 (mod 77) = 15
11. RSA Example 2
• Parameters:
– p = 3, q = 5, q= pq = 15
– (n) = ?
• Let e = 3, what is d?
• Given M=2, what is C?
• How to decrypt?
Fall 2010/Lecture 31 11
12. Fall 2010/Lecture 31 12
RSA Security
• Security depends on the difficulty of factoring n
– Factor n => (n) => compute d from (e, (n))
• The length of n=pq reflects the strength
– 700-bit n factored in 2007
– 768 bit factored in 2009
• 1024 bit for minimal level of security today
– likely to be breakable in near future
• Minimal 2048 bits recommended for current usage
• NIST suggests 15360-bit RSA keys are equivalent in
strength to 256-bit
• RSA speed is quadratic in key length
13. Real World Usage of Public Key
Encryption
• Often used to encrypt a symmetric key
– To encrypt a message M under a public key (n,e), generate a
new AES key K, compute [RSA(n,e,K), AES(K,M)]
• Plain RSA does not satisfy IND requirement.
– How to break it?
• One often needs padding, e.g., Optimal Asymmetric
Encryption Padding (OAEP)
– Roughly, to encrypt M, chooses random r, encode M as
M’ = [X = M H1(r) , Y= r H2(X) ]
where H1 and H2 are cryptographic hash functions, then encrypt
it as (M’) e mod n
– Note that given M’=[X,Y], r = Y H2(X), and M = X H1(r)
Fall 2010/Lecture 31 13
14. Fall 2010/Lecture 31 14
Digital Signatures: The Problem
• Consider the real-life example where a person pays by
credit card and signs a bill; the seller verifies that the
signature on the bill is the same with the signature on
the card
• Contracts, they are valid if they are signed.
• Signatures provide non-repudiation.
– ensuring that a party in a dispute cannot repudiate, or refute the
validity of a statement or contract.
• Can we have a similar service in the electronic world?
– Does Message Authentication Code provide non-repudiation?
Why?
15. Fall 2010/Lecture 31 15
Digital Signatures
• MAC: One party generates MAC, one party verifies
integrity.
• Digital signatures: One party generates signature,
many parties can verify.
• Digital Signature: a data string which associates a
message with some originating entity.
• Digital Signature Scheme:
– a signing algorithm: takes a message and a (private) signing
key, outputs a signature
– a verification algorithm: takes a (public) key verification key, a
message, and a signature
• Provides:
– Authentication, Data integrity, Non-Repudiation
16. Fall 2010/Lecture 31 16
Digital Signatures and Hash
• Very often digital signatures are used
with hash functions, hash of a
message is signed, instead of the
message.
• Hash function must be:
– Pre-image resistant
– Weak collision resistant
– Strong collision resistant
17. Fall 2010/Lecture 31 17
RSA Signatures
Key generation (as in RSA encryption):
• Select 2 large prime numbers of about the
same size, p and q
• Compute n = pq, and = (q - 1)(p - 1)
• Select a random integer e, 1 < e < , s.t.
gcd(e, ) = 1
• Compute d, 1 < d < s.t. ed 1 mod
Public key: (e, n) used for verification
Secret key: d, used for generation
18. Fall 2010/Lecture 31 18
RSA Signatures (cont.)
Signing message M
• Verify 0 < M < n
• Compute S = Md mod n
Verifying signature S
• Use public key (e, n)
• Compute Se mod n = (Md mod n)e mod n = M
Note: in practice, a hash of the message is signed
and not the message itself.
19. Fall 2010/Lecture 31 19
The Big Picture
Secrecy /
Confidentiality
Stream ciphers
Block ciphers +
encryption modes
Public key
encryption: RSA,
El Gamal, etc.
Authenticity /
Integrity
Message
Authentication
Code
Digital Signatures:
RSA, DSA, etc.
Secret Key
Setting
Public Key
Setting
20. Fall 2010/Lecture 31 20
Readings for This Lecture
• Differ & Hellman:
– New Directions in Cryptography