# ENCRYPTION

## Contents

## Symmetric encryption

### DES and 3DES

DES: FIPS 81, DES/3DES FIPS 46-3
### AES

### Asymmetric encryption of symmetric keys

- RFC 3766 Determining Strengths For Public Keys Used For Exchanging Symmetric Keys

## Asymmetric encryption

### RSA encryption

Based on the difficulty of factorisation.
### XTR encryption

XTR is an algorithm for public-key encryption, relying on the difficulty of the DLP.
XTR stands for 'ECSTR', which is an abbreviation for Efficient and Compact Subgroup Trace Representation.
It relies on the difficulty of solving Discrete Logarithm related problems in the full multiplicative group of a
finite field. Unlike many cryptographic protocols that are based on the generator of the full multiplicative group of a
finite field, XTR uses the generator g of a relatively small subgroup of some prime order q of a subgroup.
## Authenticated encryption

Authenticated encryption (AE) and authenticated encryption with associated data (AEAD) are forms
of encryption which simultaneously assure the confidentiality and authenticity of data.
Six different authenticated encryption modes (namely OCB 2.0, Key Wrap, CCM, EAX, Encrypt-then-MAC (EtM), and GCM)
have been standardized in ISO/IEC 19772:2009. More authenticated encryption methods were developed in response to
NIST solicitation.
### Basics

## Homomorphic encryption

Homomorphic encryption is a form of encryption that allows computation on ciphertexts, generating an encrypted result which,
when decrypted, matches the result of the operations as if they had been performed on the plaintext.
### Basics

### Systems

- Paillier - Wikipedia
- Invented by and named after Pascal Paillier in 1999
- Is a probabilistic asymmetric algorithm for public key cryptography
- Based on the problem of computing n-th residue classes, i.e. the decisional composite residuosity assumption
- Is an additive homomorphic cryptosystem; this means that, given only the public key and the encryption
of m
_{1} and m_{2} , one can compute the encryption of m_{1} + m_{2}.

## MPC

Secure multi-party computation (also known as secure computation, multi-party computation (MPC),
or privacy-preserving computation) is a subfield of cryptography with the goal of creating methods for parties
to jointly compute a function over their inputs while keeping those inputs private.
Unlike traditional cryptographic tasks, where cryptography assures security and integrity of communication or storage
and the adversary is outside the system of participants (an eavesdropper on the sender and receiver),
the cryptography in this model protects participants' privacy from each other.
### Basics

See also Nigel Smart Yehuda Lindell