This document discusses the core principles of modern cryptography: formal definitions, clear assumptions, and proofs of security. It emphasizes the importance of having precise definitions of what security means for a given cryptographic scheme. This allows meaningful analysis of schemes and understanding of their security guarantees. The document then discusses the definition of a secure private-key encryption scheme and introduces the notion of perfect secrecy. It proves that the one-time pad encryption scheme satisfies the definition of perfect secrecy.
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.
This document provides an overview and introduction to a cryptography course. It discusses how cryptography has evolved from a historical focus on secret codes to a modern scientific field. The document outlines the course goals of understanding theoretical foundations and applying a "crypto mindset". It also discusses necessary administrative details like the textbook, assignments, exams, and contact information for the professor and TAs.
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.
This document provides an overview of cryptography and its applications. It discusses the history of cryptography beginning in ancient Egypt. It defines basic cryptography terminology like plaintext, ciphertext, cipher, key, encryption, decryption, cryptography, and cryptanalysis. It describes classical ciphers like the Caesar cipher and substitution ciphers. It also discusses cryptanalysis techniques, transposition ciphers, modern symmetric ciphers, public key cryptography including RSA, key distribution methods, and hybrid encryption.
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.
Probability theory provides a framework for quantifying and manipulating uncertainty. It allows optimal predictions given incomplete information. The document outlines key probability concepts like sample spaces, events, axioms of probability, joint/conditional probabilities, and Bayes' rule. It also covers important probability distributions like binomial, Gaussian, and multivariate Gaussian. Finally, it discusses optimization concepts for machine learning like functions, derivatives, and using derivatives to find optima like maxima and minima.
This document provides an overview of classical encryption techniques, including symmetric encryption and cryptanalysis. It discusses the basic components of encryption (plaintext, ciphertext, cipher, key) and encryption mappings. Specifically, it examines the requirements for secure symmetric encryption using a strong algorithm and secret key known only to the sender and receiver. It also covers cryptanalytic attacks, the strength of encryption algorithms, and basic techniques like brute force search and classical substitution ciphers.
Public key cryptography uses two keys: a public key to encrypt messages and a private key to decrypt them. The RSA algorithm is based on the difficulty of factoring large prime numbers. It works by having users generate a public/private key pair and publishing their public key. To encrypt a message, the sender uses the recipient's public key. Only the recipient can decrypt with their private key. The security of RSA relies on the computational difficulty of factoring the modulus used to generate the keys.
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.
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. RSA is a widely used public-key cryptosystem that relies on the difficulty of factoring large prime numbers. It works by having users generate a public/private key pair using prime numbers, then allows encryption with the public key and decryption with the private key. The security of RSA depends on the computational difficulty of factoring the modulus used or determining the private key by other means.
This document discusses public key cryptography and the RSA algorithm. It begins by explaining the limitations of private key cryptography and how public key cryptography addresses issues like key distribution and digital signatures. It then describes how RSA works, using two keys - a public key for encryption and a private key for decryption. It explains the key generation process, how messages are encrypted and decrypted, and discusses the mathematical principles and security of the RSA algorithm.
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.
Introduction to cryptography part2-finalTaymoor Nazmy
油
This document provides an overview of symmetric and public key cryptography systems. It discusses how symmetric key cryptography uses a shared private key for encryption and decryption, while public key cryptography uses separate public and private keys. Symmetric systems are simpler and faster but require secure key exchange, while public key systems avoid this problem by allowing public distribution of public keys. The document then covers specific symmetric and public key algorithms as well as how digital signatures and certificates work with public key encryption.
This document provides definitions and explanations of key concepts in information security and cryptography. It discusses symmetric and asymmetric cryptographic techniques such as stream ciphers, block ciphers, digital signatures, hash functions, and the use of random numbers for security applications. It also covers concepts like confidentiality, integrity, availability, cryptanalysis, plain text, cipher text, and the differences between symmetric and public key cryptography.
This document discusses cryptography and its role in information security. It describes different types of security attacks like interception, modification, and fabrication. It also summarizes common security services like confidentiality, authentication, integrity, and different encryption techniques like symmetric key cryptography, public key cryptography, Caesar cipher and RSA algorithm. The document concludes with explanations of firewalls and their technical working as a security measure to monitor and control access between networks.
The document discusses security issues related to the RSA cryptosystem. It outlines four approaches to attacking RSA: brute force, mathematical attacks, timing attacks, and chosen ciphertext attacks. It then focuses on mathematical attacks, explaining that the primary mathematical attack is factoring the product of the two primes used to generate the public and private keys. It also discusses timing attacks and defenses against them, as well as chosen ciphertext attacks and defenses through padding.
This document discusses cryptographic security. It defines informational and computational security, and explains how security is quantified in bits based on the difficulty of cracking a cipher. The document also covers achieving security through provable security via mathematical proofs or heuristic evidence from failed attacks. Additionally, it discusses generating keys randomly or from passwords, and protecting keys through wrapping or hardware tokens. Potential issues like incorrect security proofs, legacy support with short keys, and implementation flaws are also noted.
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.
The document discusses research approaches in cryptography. It outlines objectives to analytically study existing cryptographic systems and algorithms, compare their time and space complexity, and simulate vulnerabilities to cryptanalytic attacks. Common network attacks like wiretapping and denial of service are described along with solutions like encryption, authentication, and integrity checking. The RSA and Caesar ciphers are explained along with their encryption/decryption steps. MATLAB was used to implement RSA and Caesar and compare their time complexity.
For a college course -- CNIT 140: "Cryptography for Computer Networks" at City College San Francisco
Instructor: Sam Bowne
More info: https://samsclass.info/141/141_S19.shtml
Based on "Serious Cryptography: A Practical Introduction to Modern Encryption", by Jean-Philippe Aumasson, No Starch Press (November 6, 2017), ISBN-10: 1593278268 ISBN-13: 978-1593278267
This document describes a byte-wise shift cipher and Vigen竪re cipher. It discusses attacks that can be used to decrypt ciphertexts encrypted with these ciphers without knowing the key. For the byte-wise shift cipher, it is noted that the key space is too small at 256 keys to be secure. For the Vigen竪re cipher, frequency analysis of letters in different positions of the ciphertext can be used to determine the key length and individual bytes of the key. The same techniques can be applied to a byte-wise variant of the Vigen竪re cipher by analyzing frequencies of bytes in different ciphertext streams.
Probability theory provides a framework for quantifying and manipulating uncertainty. It allows optimal predictions given incomplete information. The document outlines key probability concepts like sample spaces, events, axioms of probability, joint/conditional probabilities, and Bayes' rule. It also covers important probability distributions like binomial, Gaussian, and multivariate Gaussian. Finally, it discusses optimization concepts for machine learning like functions, derivatives, and using derivatives to find optima like maxima and minima.
This document provides an overview of classical encryption techniques, including symmetric encryption and cryptanalysis. It discusses the basic components of encryption (plaintext, ciphertext, cipher, key) and encryption mappings. Specifically, it examines the requirements for secure symmetric encryption using a strong algorithm and secret key known only to the sender and receiver. It also covers cryptanalytic attacks, the strength of encryption algorithms, and basic techniques like brute force search and classical substitution ciphers.
Public key cryptography uses two keys: a public key to encrypt messages and a private key to decrypt them. The RSA algorithm is based on the difficulty of factoring large prime numbers. It works by having users generate a public/private key pair and publishing their public key. To encrypt a message, the sender uses the recipient's public key. Only the recipient can decrypt with their private key. The security of RSA relies on the computational difficulty of factoring the modulus used to generate the keys.
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.
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. RSA is a widely used public-key cryptosystem that relies on the difficulty of factoring large prime numbers. It works by having users generate a public/private key pair using prime numbers, then allows encryption with the public key and decryption with the private key. The security of RSA depends on the computational difficulty of factoring the modulus used or determining the private key by other means.
This document discusses public key cryptography and the RSA algorithm. It begins by explaining the limitations of private key cryptography and how public key cryptography addresses issues like key distribution and digital signatures. It then describes how RSA works, using two keys - a public key for encryption and a private key for decryption. It explains the key generation process, how messages are encrypted and decrypted, and discusses the mathematical principles and security of the RSA algorithm.
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.
Introduction to cryptography part2-finalTaymoor Nazmy
油
This document provides an overview of symmetric and public key cryptography systems. It discusses how symmetric key cryptography uses a shared private key for encryption and decryption, while public key cryptography uses separate public and private keys. Symmetric systems are simpler and faster but require secure key exchange, while public key systems avoid this problem by allowing public distribution of public keys. The document then covers specific symmetric and public key algorithms as well as how digital signatures and certificates work with public key encryption.
This document provides definitions and explanations of key concepts in information security and cryptography. It discusses symmetric and asymmetric cryptographic techniques such as stream ciphers, block ciphers, digital signatures, hash functions, and the use of random numbers for security applications. It also covers concepts like confidentiality, integrity, availability, cryptanalysis, plain text, cipher text, and the differences between symmetric and public key cryptography.
This document discusses cryptography and its role in information security. It describes different types of security attacks like interception, modification, and fabrication. It also summarizes common security services like confidentiality, authentication, integrity, and different encryption techniques like symmetric key cryptography, public key cryptography, Caesar cipher and RSA algorithm. The document concludes with explanations of firewalls and their technical working as a security measure to monitor and control access between networks.
The document discusses security issues related to the RSA cryptosystem. It outlines four approaches to attacking RSA: brute force, mathematical attacks, timing attacks, and chosen ciphertext attacks. It then focuses on mathematical attacks, explaining that the primary mathematical attack is factoring the product of the two primes used to generate the public and private keys. It also discusses timing attacks and defenses against them, as well as chosen ciphertext attacks and defenses through padding.
This document discusses cryptographic security. It defines informational and computational security, and explains how security is quantified in bits based on the difficulty of cracking a cipher. The document also covers achieving security through provable security via mathematical proofs or heuristic evidence from failed attacks. Additionally, it discusses generating keys randomly or from passwords, and protecting keys through wrapping or hardware tokens. Potential issues like incorrect security proofs, legacy support with short keys, and implementation flaws are also noted.
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.
The document discusses research approaches in cryptography. It outlines objectives to analytically study existing cryptographic systems and algorithms, compare their time and space complexity, and simulate vulnerabilities to cryptanalytic attacks. Common network attacks like wiretapping and denial of service are described along with solutions like encryption, authentication, and integrity checking. The RSA and Caesar ciphers are explained along with their encryption/decryption steps. MATLAB was used to implement RSA and Caesar and compare their time complexity.
For a college course -- CNIT 140: "Cryptography for Computer Networks" at City College San Francisco
Instructor: Sam Bowne
More info: https://samsclass.info/141/141_S19.shtml
Based on "Serious Cryptography: A Practical Introduction to Modern Encryption", by Jean-Philippe Aumasson, No Starch Press (November 6, 2017), ISBN-10: 1593278268 ISBN-13: 978-1593278267
This document describes a byte-wise shift cipher and Vigen竪re cipher. It discusses attacks that can be used to decrypt ciphertexts encrypted with these ciphers without knowing the key. For the byte-wise shift cipher, it is noted that the key space is too small at 256 keys to be secure. For the Vigen竪re cipher, frequency analysis of letters in different positions of the ciphertext can be used to determine the key length and individual bytes of the key. The same techniques can be applied to a byte-wise variant of the Vigen竪re cipher by analyzing frequencies of bytes in different ciphertext streams.
This document proposes a new protocol called SNARKBLOCK for anonymous blocklisting using zero-knowledge proofs. SNARKBLOCK allows users to prove they are not on a blocklist without revealing their identity. It improves on prior work by having verification that is logarithmic in the size of the blocklist, rather than linear. It also allows for "federated anonymous blocklisting" where websites can combine blocklists from different sources and choose which identity providers they trust. The core technical contribution is a new type of zero-knowledge proof called HICIAP that can aggregate multiple proofs over a common hidden input into a single short proof. This addresses issues with unlinkability in repeated interactions that require recomputing proofs.
This document discusses methods for finding the period of a periodic function using discrete Fourier transforms (DFT). It presents two algorithms:
1. Algorithm I handles the special case where the period s divides the number of sample points N. It uses DFT to obtain frequencies that reveal the period.
2. Algorithm II handles the general case where s does not necessarily divide N. It uses continued fractions to approximate measured frequencies as rational numbers, whose denominators likely equal the period s.
The document also discusses applications to integer factorization by finding the period of functions over finite fields, and limitations of the classical approach that motivate the use of quantum computing.
The document discusses off-path attacks against public key infrastructures. It describes how an off-path attacker can leverage IP defragmentation cache poisoning to achieve DNS cache poisoning and exploit domain validation procedures to obtain fraudulent SSL certificates. This undermines the security of the web PKI by allowing attackers to spoof domains without direct access to traffic. The document also analyzes the impact on victims and potential mitigation techniques, concluding that domain validation needs to be strengthened to be resilient against man-in-the-middle attacks.
The document discusses discrepancies in how different software parse the Portable Executable (PE) file format used in Windows programs. It presents a systematic approach to model the constraints imposed by PE parsers in different software. This involves (1) modeling the parsing operations, (2) generating valid and differential test cases to explore differences, and (3) finding real malware exploiting discrepancies. The analysis found differences between Windows versions and other parsers that could allow malware evasion. Developing clearer specifications and modeling multiple parsers is important for security tools.
The document discusses new security risks emerging from the exposure function in 4G and 5G mobile networks. It summarizes that the exposure function creates a new front door for attacks by providing access to network APIs. The document outlines how attackers could potentially access these APIs by forging business credentials with mobile operators or IoT platforms. It then analyzes security issues found across nine commercial IoT platforms, finding vulnerabilities in API configuration, authentication, and access control that could allow attackers to obtain sensitive user data or compromise devices. Responsible disclosure of these issues is recommended to improve the security of network exposure functions.
The Sense Organs: Structure and Function of the Eye and Skin | IGCSE BiologyBlessing Ndazie
油
This detailed presentation covers the structure and function of the sense organs, focusing on the eye and skin as part of the Cambridge IGCSE Biology syllabus. Learn about the anatomy of the eye, how vision works, adaptations for focusing, and common eye defects. Explore the role of the skin in temperature regulation, protection, and sensory reception. Perfect for students preparing for exams!
Simple Phenomena of Magnetism | IGCSE PhysicsBlessing Ndazie
油
This extensive slide deck provides a detailed exploration of the simple phenomena of magnetism for IGCSE Physics. It covers key concepts such as magnetic materials, properties of magnets, magnetic field patterns, the Earth's magnetism, electromagnets, the motor effect, and the principles of electromagnetic induction. The presentation also explains magnetization and demagnetization, methods of making magnets, applications of magnets in real life, and experimental demonstrations. Featuring illustrative diagrams, worked examples, and exam-style questions, this resource is ideal for IGCSE students, teachers, and independent learners preparing for exams.
Improving the Perturbation-Based Explanation of Deepfake Detectors Through th...VasileiosMezaris
油
Presentation of our paper, "Improving the Perturbation-Based Explanation of Deepfake Detectors Through the Use of Adversarially-Generated Samples", by K. Tsigos, E. Apostolidis and V. Mezaris. Presented at the AI4MFDD Workshop of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV 2025), Tucson, AZ, USA, Feb. 2025. Preprint and software available at http://arxiv.org/abs/2502.03957 https://github.com/IDT-ITI/Adv-XAI-Deepfakes
Cell Structure & Function | Cambridge IGCSE BiologyBlessing Ndazie
油
This IGCSE Biology presentation provides a detailed look at cell structure and function, covering the differences between animal and plant cells, the roles of organelles (nucleus, mitochondria, ribosomes, etc.), specialized cells, and levels of organization. Learn about diffusion, osmosis, and active transport in cells, with clear diagrams and explanations to support exam preparation. A must-have resource for Cambridge IGCSE students!
How could modern LA research address data-related ethics issues in informal and situated professional learning? I will identify in this talk three relevant insights based on field studies around workplace LA interventions: Firstly, in informal and situated learning, data isnt just about the learners. Secondly, the affordances of manual and automatic data tracking for learning are very different, with manual tracking allowing a high degree of learner control over data. Thirdly, learning is not necessarily a shared goal in workplaces. These can be translated into seeing a potential for systems endowed with sufficient natural-language-processing capability (now seemingly at our fingertips with LLMs), and socio-technical design and scenario-based data collection analysis as design and research methods.
The Arctic through the lens of data visualizationZachary Labe
油
26 February 2025
Rider University, Global Biogeochemistry Class Visit (Presentation): Arctic climate change through the lens of data visualization, NOAA GFDL, Princeton, USA.
Variation and Natural Selection | IGCSE BiologyBlessing Ndazie
油
This extensive slide deck provides a detailed exploration of variation and natural selection for IGCSE Biology. It covers key concepts such as genetic and environmental variation, types of variation (continuous and discontinuous), mutation, evolution, and the principles of natural selection. The presentation also explains Darwins theory of evolution, adaptation, survival of the fittest, selective breeding, antibiotic resistance in bacteria, and speciation. With illustrative diagrams, real-life examples, and exam-style questions, this resource is ideal for IGCSE students, teachers, and independent learners preparing for exams.
The Solar Systems passage through the Radcliffe wave during the middle MioceneS辿rgio Sacani
油
As the Solar System orbits the Milky Way, it encounters various Galactic environments, including dense regions of the
interstellar medium (ISM). These encounters can compress the heliosphere, exposing parts of the Solar System to the ISM, while also
increasing the influx of interstellar dust into the Solar System and Earths atmosphere. The discovery of new Galactic structures, such
as the Radcliffe wave, raises the question of whether the Sun has encountered any of them.
Aims. The present study investigates the potential passage of the Solar System through the Radcliffe wave gas structure over the past
30 million years (Myr).
Methods. We used a sample of 56 high-quality, young (30 Myr) open clusters associated with a region of interest of the Radcliffe
wave to trace its motion back and investigate a potential crossing with the Solar Systems past orbit.
Results. We find that the Solar Systems trajectory intersected the Radcliffe wave in the Orion region. We have constrained the timing
of this event to between 18.2 and 11.5 Myr ago, with the closest approach occurring between 14.8 and 12.4 Myr ago. Notably, this
period coincides with the Middle Miocene climate transition on Earth, providing an interdisciplinary link with paleoclimatology. The
potential impact of the crossing of the Radcliffe wave on the climate on Earth is estimated. This crossing could also lead to anomalies
in radionuclide abundances, which is an important research topic in the field of geology and nuclear astrophysics.
Coordination and Response: The Nervous System | IGCSE BiologyBlessing Ndazie
油
This comprehensive IGCSE Biology presentation explains the nervous system, focusing on how the body coordinates and responds to stimuli. Learn about the central and peripheral nervous systems, reflex actions, neurons, synapses, and the role of neurotransmitters. Understand the differences between voluntary and involuntary responses and how the nervous system interacts with other body systems. Ideal for Cambridge IGCSE students preparing for exams!
(February 25th, 2025) Real-Time Insights into Cardiothoracic Research with In...Scintica Instrumentation
油
s a major gap - these methods can't fully capture how cells behave in a living, breathing system.
That's where Intravital Microscopy (IVM) comes in. This powerful imaging technology allows researchers to see cellular activity in real-time, with incredible clarity and precision.
But imaging the heart and lungs presents a unique challenge. These organs are constantly in motion, making real-time visualization tricky. Thankfully, groundbreaking advances - like vacuum-based stabilization and motion compensation algorithms - are making high-resolution imaging of these moving structures a reality.
What You'll Gain from This Webinar:
- New Scientific Insights See how IVM is transforming our understanding of immune cell movement in the lungs, cellular changes in heart disease, and more.
- Advanced Imaging Solutions Discover the latest stabilization techniques that make it possible to capture clear, detailed images of beating hearts and expanding lungs.
- Real-World Applications Learn how these innovations are driving major breakthroughs in cardiovascular and pulmonary research, with direct implications for disease treatment and drug development.
- Live Expert Discussion Connect with experts and get answers to your biggest questions about in vivo imaging.
This is your chance to explore how cutting-edge imaging is revolutionizing cardiothoracic research - shedding light on disease mechanisms, immune responses, and new therapeutic possibilities.
- Register now and stay ahead of the curve in in vivo imaging!
Energ and Energy Forms, Work, and Power | IGCSE PhysicsBlessing Ndazie
油
This extensive slide deck provides a detailed exploration of energy, work, and power for IGCSE Physics. It covers fundamental concepts such as the definition of work done, kinetic energy, potential energy, mechanical energy, conservation of energy, efficiency, and power. The presentation also includes energy transfer, renewable and non-renewable energy sources, calculation of work done, power output, and real-life applications of energy principles. Featuring illustrative diagrams, worked examples, and exam-style questions, this resource is ideal for IGCSE students, teachers, and independent learners preparing for exams.
2. So far
Heuristic constructions; build, break, repeat,
This isnt very satisfying
Can we prove that some encryption scheme
is secure?
First need to define what we mean by
secure in the first place
3. Modern cryptography
Historically, cryptography was an art
Heuristic design and analysis
Starting in the early 80s,
cryptography began to develop into
more of a science
Based on three principles that
underpin most real-world
cryptography today
4. Core principles of modern
crypto
Formal definitions
Precise, mathematical model and definition
of what security means
Assumptions
Clearly stated and unambiguous
Proofs of security
Move away from design-break-patch cycle
5. Importance of definitions
Definitions are essential for the
design, analysis, and sound usage of
crypto
6. Importance of definitions --
design
Developing a precise definition forces
the designer to think about what
they really want
What is essential and (sometimes more
important) what is not
Often reveals subtleties of the problem
7. Importance of definitions --
design
If you dont understand what you want
to achieve, how can you possibly know
when (or if) you have achieved it?
8. Importance of definitions -- analysis
Definitions enable meaningful
analysis, evaluation, and comparison
of schemes
Does a scheme satisfy the definition?
What definition does it satisfy?
Note: there may be multiple meaningful
definitions!
One scheme may be less efficient than
another, yet satisfy a stronger security
definition
9. Importance of definitions --
usage
Definitions allow others to
understand the security guarantees
provided by a scheme
Enables schemes to be used as
components of a larger system
(modularity)
Enables one scheme to be
substituted for another if they satisfy
the same definition
10. Assumptions
With few exceptions, cryptography
currently requires computational
assumptions
At least until we prove P
NP (and even
that would not be enough)
Principle: any such assumptions must
be made explicit
11. Importance of clear
assumptions
Allow researchers to (attempt to) validate
assumptions by studying them
Allow meaningful comparison between
schemes based on different assumptions
Useful to understand minimal assumptions
needed
Practical implications if assumptions are
wrong
Enable proofs of security
12. Proofs of security
Provide a rigorous proof that a
construction satisfies a given definition
under certain specified assumptions
Provides an iron-clad guarantee (relative
to your definition and assumptions!)
Proofs are crucial in cryptography,
where there is a malicious attacker
trying to break the scheme
13. Limitations?
Cryptography still remains partly an art as well
Proofs given an iron-clad guarantee of security
relative to the definition and assumptions!
Provably secure schemes can be broken!
If the definition does not correspond to the real-world
threat model
I.e., if attacker can go outside the assumed security model
This happens a lot in practice
If the assumption is invalid
If the implementation is flawed
This happens a lot in practice
14. Nevertheless
This does not detract from the
importance of having formal
definitions in place and giving proofs
of security
16. Crypto definitions
(generally)
Security guarantee/goal
What we want to achieve (or what we
want to prevent the attacker from
achieving)
Threat model
What (real-world) capabilities the
attacker is assumed to have
17. Recall
A private-key encryption scheme is defined
by a message space M and algorithms
(Gen, Enc, Dec):
Gen (key-generation algorithm): generates k
Enc (encryption algorithm): takes key k and
message
m M as input; outputs ciphertext c
c Enck(m)
Dec (decryption algorithm): takes key k and
ciphertext c as input; outputs m.
m := Deck(c)
19. Threat models for
encryption
Ciphertext-only attack
One ciphertext or many?
Known-plaintext attack
Chosen-plaintext attack
Chosen-ciphertext attack
20. Goal of secure encryption?
How would you define what it means
for encryption scheme (Gen, Enc,
Dec) over message space M to be
secure?
Against a (single) ciphertext-only attack
21. Secure encryption?
Impossible for the attacker to learn
the key
The key is a means to an end, not the end
itself
Necessary (to some extent) but not
sufficient
Easy to design an encryption scheme that
hides the key completely, but is insecure
Can design schemes where most of the
key is leaked, but the scheme is still secure
22. Secure encryption?
Impossible for the attacker to learn
the plaintext from the ciphertext
What if the attacker learns 90% of the
plaintext?
23. Secure encryption?
Impossible for the attacker to learn
any character of the plaintext from
the ciphertext
What if the attacker is able to learn
(other)
partial information about the plaintext?
E.g., salary is greater than $75K
What if the attacker guesses a character
correctly, or happens to know it?
24. The right definition
Regardless of any prior information
the attacker has about the plaintext,
the ciphertext should leak no
additional information about the
plaintext
How to formalize?
26. Probability review
Random variable: variable that takes on
(discrete) values with certain probabilities
Probability distribution for a random
variable gives the probabilities with which
the variable takes on each possible value
Each probability must be between 0 and 1
The probabilities must sum to 1
27. Probability review
Event: a particular occurrence in some experiment
E.g., the event that random variable X takes value x
Pr[E]: probability of event E
Conditional probability: probability that one event
occurs, given that some other event occurred
Pr[A | B] = Pr[A and B]/Pr[B]
Two random variables X, Y are independent if
for all x, y: Pr[X=x | Y=y] = Pr[X=x]
28. Probability review
Law of total probability: say E1, , En are a
partition of all possibilities. Then for any A:
Pr[A] = i Pr[A and Ei] = i Pr[A | Ei] 揃
Pr[Ei]
29. Notation
K (key space) set of all possible
keys
C (ciphertext space) set of all
possible ciphertexts
30. Probability distributions
Let M be the random variable denoting
the value of the message
M ranges over M
Context dependent!
Reflects the likelihood of different
messages being sent, given the attackers
prior knowledge
E.g.,
Pr[M = attack today] = 0.7
Pr[M = dont attack] = 0.3
31. Probability distributions
Let K be a random variable denoting
the key
K ranges over K
Fix some encryption scheme (Gen,
Enc, Dec)
Gen defines a probability distribution for
K:
Pr[K = k] = Pr[Gen outputs key k]
Generally the uniform distribution, but
32. Probability distributions
Assume random variables M and K
are independent
I.e., parties dont pick the key based on
the message, or the message based on
the key
In general, this assumption holds
If it doesnt hold, can cause problems
33. Probability distributions
Fix some encryption scheme (Gen, Enc, Dec),
and some distribution for M
Consider the following (randomized)
experiment:
1. Generate a key k using Gen
2. Choose a message m, according to the given
distribution
3. Compute c Enck(m)
This defines a distribution on the ciphertext!
Let C be a random variable denoting the value
of the ciphertext in this experiment
34. Example 1
Consider the shift cipher
So for all k {0, , 25}, Pr[K = k] = 1/26
Say Pr[M = a] = 0.7, Pr[M = z] = 0.3
What is Pr[C = b] ?
Either M = a and K = 1, or M = z and K = 2
Pr[C=b] = Pr[M=a]揃Pr[K=1] + Pr[M=z] 揃Pr[K=2]
Pr[C=b] = 0.7 揃 (1/26) + 0.3 揃 (1/26)
Pr[C=b] = 1/26
35. Example 2
Consider the shift cipher, and the
distribution on M given by
Pr[M = one] = 遜, Pr[M = ten]
= 遜
Pr[C = rqh] = ?
= Pr[C = rqh | M = one] 揃 Pr[M = one]
+ Pr[ C = rqh | M = ten] 揃 Pr[M = ten]
= 1/26 揃 遜 + 0 揃 遜 = 1/52
36. Perfect secrecy (informal)
Regardless of any prior information
the attacker has about the plaintext,
the ciphertext should leak no
additional information about the
plaintext
37. Perfect secrecy (informal)
Attackers information about the
plaintext = attacker knows the
distribution of M
Perfect secrecy: observing the
ciphertext should not change the
attackers knowledge about the
distribution of M
38. Perfect secrecy (formal)
Encryption scheme (Gen, Enc, Dec) with
message space M and ciphertext space C is
perfectly secret if for every distribution over
M, every m M, and every c C with
Pr[C=c] > 0, it holds that
Pr[M = m | C = c] = Pr[M = m].
I.e., the distribution of M does not change,
even conditioned on observing the ciphertext
39. Example 3
Consider the shift cipher, and the
distribution Pr[M = one] = 遜, Pr[M
= ten] = 遜
Take m = ten and c = rqh
Pr[M = ten | C = rqh] = ?
= 0
Pr[M = ten]
43. Example 4, continued
Pr[M = hi | C = xy] = ?
= Pr[C = xy | M = hi] 揃 Pr[M = hi]/Pr[C = xy]
= (1/26) 揃 0.3/(1/52)
= 0.6
Pr[M = hi]
44. Conclusion
The shift cipher is not perfectly
secret!
At least not for 2-character messages
How to construct a perfectly secret
scheme?
45. One-time pad
Patented in 1917 by Vernam
Recent historical research indicates it
was invented (at least) 35 years earlier
Proven perfectly secret by Shannon
(1949)
46. One-time pad
Let M = {0,1}n
Gen: choose a uniform key k {0,1}n
Enck(m) = k m
Deck(c) = k c
Correctness:
Deck( Enck(m) ) = k (k m)
= (k k) m = m
48. Perfect secrecy of one-time
pad
Note that any observed ciphertext
can correspond to any message
(why?)
(This is necessary, but not sufficient, for
perfect secrecy)
So, having observed a ciphertext, the
attacker cannot conclude for certain
which message was sent
49. Perfect secrecy of one-time
pad
Fix arbitrary distribution over M = {0,1}n
,
and
arbitrary m, c {0,1}n
Pr[M = m | C = c] = ?
= Pr[C = c | M = m] 揃 Pr[M = m]/Pr[C = c]
Pr[C = c]
= m Pr[C = c | M = m] 揃 Pr[M = m]
= m Pr[K = m c | M = m] 揃 Pr[M = m]
= m 2-n
揃 Pr[M = m]
= 2-n
50. Perfect secrecy of one-time
pad
Fix arbitrary distribution over M =
{0,1}n
, and arbitrary m, c {0,1}n
Pr[M = m | C = c] = ?
= Pr[C = c | M = m] 揃 Pr[M = m]/Pr[C = c]
= Pr[K = m c | M = m] 揃 Pr[M = m] / 2-n
= 2-n
揃 Pr[M = m] / 2-n
= Pr[M = m]