Cryptography
Pages
Introduction to cryptography and perfect ciphers
Cryptography is the study of techniques to allow secure communication and data storage in presence of attackers. The features that it aims to provide are: Confidentiality: data can be accessed only…
Computationally secure ciphers and pseudorandom number generators
A modern practical assumption is to build ciphers such that a successful attack is carried only if a computational hard problem is solved. Examples of such hard computational problems are: Solve a…
Chosen Plaintext Attacks (CPAs)
Our attacker knows a set of plaintexts which can be encrypted and he wants to understand which one is being encrypted. Ideal attacker: cannot tell which plaintext was encrypted out of two he chose…
Data integrity and Message Authentication Codes (MAC)
Confidentiality does not means integrity. Changes in the ciphertext are undetected. Message Authentication Codes (MAC) consists of adding a small piece of information (tag) allowing us to test for…
Asymmetric cryptosystems
We would like to have the following features: Agreeing on a short secret over a public channel Confidentially sending a message over a public authenticated channel without sharing a secret with the…
Data authentication and digital signatures
We’d like to be able to verify the authenticity of a piece of data without a pre-shared secret. Using asymmetric encryption we can build digital signatures, which: Provide strong evidence that data…
The public key binding problem and digital certificates
Both in asymmetric encryption and digital signatures, the public key must be bound to the correct user identity. If public keys are not authentic: A MITM attack is possible on asymmetric encryption…
Fundamentals of Information Theory
Shannon’s information theory is a way to quantify information and to mathematically frame communication. A communication takes place between two endpoints: sender: made of an information source and…
Exercises on cryptography
More exercises aviable at overthewire.org . 2021-2022 DEMO Exam exercise 2 (5 points) You have intercepted two ciphertexts: c1 = 1111100101111001110011000001011110000110 c2 =…