## Theory of Cryptography

### Introduction to Cryptography

Introduction to ciphers, that is a short history of the first encryption means and the basic principles of modern cryptography.

Read More### Kerckhoffs's Principle

The Kerckhoffs's principle is one of the most basic and most important principles of modern cryptography. It was first published in 1883 in France.

Read More### Steganography

Steganography is a way of securing data, by simply hiding it. Learn its history and the various methods that are used at present.

Read More### Protocols

Protocol are sets of actions that should be performed in order to accomplish the goals. They are essential in almost all cryptographic operations.

Read More### TCP/IP Protocols

TCP/IP protocols are probably the most popular protocols used in computer networks. Learn how to build and process TCP/IP messages in different layers of the network.

Read More### Application Protocols

Application layer protocols operate in the highest layer of the network model. They create interfaces available to applications.

Read More### Notation of Numbers

Notation of numbers are ways of representing the numbers. They are necessary for all further mathematical operations.

Read More### Binary Numbers

Binary numbers are used by all computers all around the world. Learn the most popular binary systems and the most common mathematical operations.

Read More### Time Estimation

Time estimation of basic mathematical operations is necessary for assessing and improving the quality of computer algorithms.

Read More### Modular Arithmetic

Modular arithmetic is a system of arithmetic for integers, where values reset to 0 after reaching a certain predefined value. It is necessary to asymmetric encryption algorithms.

Read More### Security of Ciphers

Assessing cipher quality: Perfect Security and Semantic Security definitions, descriptions, and examples.

Read More### Padding

Padding standards are mechanisms for appending some predefined values to messages. They are required by many algorithms, including block symmetric ciphers.

Read More### Block Ciphers Modes

Using various modes of operation of block ciphers allow to operat on large data streams, without the risk of compromising the provided security.

Read More### Pseudorandom Generator

Pseudorandom generators (PRG) are used to create random sequences of numbers in deterministic devices. They are extremely important elements of all cryptosystems.

Read More### Pseudorandom Functions

Pseudorandom functions and permutations produce pseudorandom data indistinguishable from random sequences. They are used in many cryptographic algorithms.

Read More### One-way Function

One-way functions are easy to compute but it is very difficult to compute the value of their inverse functions.

Read More### MAC

Message authentication code (MAC) algorithms are used for authentication and verification of received messages.

Read More### PBE

Password-based encryption (PBE) algorithms are mechanisms that allow users to create strong and secure secret keys.

Read More### Software Signing

Software signing is used for providing application authorization and preventing any unauthorised modifications of their source code.

Read More### Index of Coincidence

The index of coincidence (IC) shows how likely is the situation that during comparing two texts letter by letter, two currently compared letters are the same.

Read More