Introduction to Cryptology

Cryptology

Cryptology is the practice and study of constructing and analyzing codes for secure communication

Cryptography

Cryptography is the study of the design of mathematical systems that allowing secure communication that aims to protect privacy and authenticity.

Cryptanalysis

Cryptanalysis, the reverse function of cryptography, is the study of breaking encrypted codes without access to secret information (i.e. the key) required for decryption.

NIST Standards for Security Categorization of Federal Information and Information Systems

The NIST standard FIPS 199 (Standards for Security Categorization of Federal Information and Information Systems ) lists confidentiality, integrity, and availability as the three security objectives for information and for information systems.

Confidentiality

Confidentiality involves preserving authorized restrictions on information access and disclosure, including means for protecting personal privacy and proprietary information. A loss of confidentiality is the unauthorized disclosure of information.

Integrity

Integrity involves guarding against improper information modification or destruction, including ensuring information nonrepudiation and authenticity. A loss of integrity is the unauthorized modification or destruction of information.

Availability

Availability involves ensuring timely and reliable access to and use of information. A loss of availability is the disruption of access to or use of information or an information system.

Block & Stream Ciphers

A block cipher breaks down plaintext messages into fixed-size blocks before converting them into ciphertext using a key. This is usually a permutation algorithm that maps n bits to n bits.

A stream cipher breaks a plaintext message down into single bits, which then are converted individually into ciphertext using key bits.

Symmetric & Asymmetric Key Encryptions

Symmetric encryption is a widely used data encryption technique whereby data is encrypted and decrypted using a single, secret cryptographic key.

Asymmetric encryption, also known as public-key cryptography or public-key encryption, uses mathematically linked public-key and private-key pairs to encrypt and decrypt senders' and recipients' sensitive data.

Kerckhoffs' Principle

Perfect Secrecy

An encryption scheme over message space M is perfectly secret if for every probability distribution over M, every message mM, and every ciphertext cC for which Pr[M=m]>0 and Pr[C=c]>0,

Pr[M=m|C=c]=Pr[M=m]

or equivalently,

Pr[C=c|M=m]=Pr[C=c]

Perfect secrecy implies that there must be, for any message and cipher pair, at least one key that connects them. Hence,

|K||C||M|

Negligible Functions

A function μ is negligible if for every polynomial p(x) there exists an integer N such that, for all integers n>N,

μ(n)<1p(n)

Properties

Given two negligible functions μ1 and μ2,

One-way Functions

A function f:{0,1}{0,1} is a one-way function if the following conditions hold:

Ease of Computation

There exists a (deterministic) polynomial-time algorithm A such that on input x, algorithm A outputs f(x)

Difficulty of Inversion

The probability of successfully inverting f is negligible. Specifically, for every probabilistic polynomial-time algorithm A, every polynomial p(x), and all sufficiently large n,

Pr[A(f(Xn),1n)f1(f(Xn))]<1p(n)

where Xn is a random variable uniformly distributed over {0,1}n and 1n is called the auxiliary input which is used to specify the length of the output of A.

Semantic Security

A symmetric key encryption scheme is semantically secure in the presence of an eavesdropper if the probability that it distinguishes the ciphertext from a random string using any probabilistic polynomial time algorithms is negligible.