What is Cryptography? – Cryptography is the **conversion of data** into a scrambled code that is decrypted and sent across a private or public network.

Cryptography is used to protect confidential data such as **email messages**, chat sessions, **web transactions**, personal data, **corporate data**, e-commerce applications, etc.

**Objectives**

- Confidentiality

- Authentication

- Integrity

- Non-repudiation

## Types Of Cryptography

**Symmetric Encryption**

Symmetric encryption (secret-key, shared-key, public-key) **uses the same key** for encryption as it does for decryption.

**Asymmetric Encryption**

Asymmetric encryption (public-key) **uses different encryption keys** for encryption and decryption. These keys are known as public and private keys.

## Government Access to Keys (GAK)

Government Access to Keys means that software companies will give **copies of all keys,** (or at least enough of the key that the remainder could be cracked) to the government.

The goverment promises that they will hold on to the keys in a **secure way,** and will only use them when a **court issues a warrant** to do so.

To the government, this issue is similar to the **ability to wiretap phones**.

## Encryption Algorithm

**Ciphers**

A cipher is a set of rules by which we implement encryption. Thousand of cipher algorithms are available on internet. Some of thier are Propriatary while others are open source.

Ciphers are algorithms used to encrypt or decrypt the data.

** There Are Two Types Of Ciphers**:

**Classical Ciphers.**

*Substitution Ciphers*

A block of plaintext is replaced with ciphertext.

*Transposition Ciphers*

The letters of the plaintext are shifted about to form the cryptogram.

**Modern Ciphers**

*Based on the type of key used*

**Private Key**

Same Key is used for encryption and decryption.

**Public Key**

Two diffrent keys are used for encryption and decryption.

*Based on the type of input data*

**Block Cipher**

Encrypts block of data of fixed size.

A type of symmetric key cipher that encrypts the plain text on the fixed length of the group. The transformation of encrypted data does not vary in a block cipher. It encrypts the block of data using the same key on each block. DES and AES are common types of block cipher design.

**Stream Cipher**

Encrypts Continous streams of data.

A type of symmetric key cipher that encrypts the plain text one by one. There are various types of stream cipher such as synchronous, asynchronous. RC4 is the most common type of stream cipher design. The transformation of encrypted output varies during the encryption cycle.

*Data Encryption Standard (DES)*

The algorithm is design to **encipher** and **deciphers** blocks of data consisting of **64 bits** under control of 56-bit key.

DES is the **archetypal block cipher** — an algorithm that takes a fixed length string of plaintext bits and transforms it into a ciphertext bitstring of the same length.

Due to the **inherent weakness** of DES with today’s technologies, some organizations repeat the process three times (3DES) for added strength, untill they can afford to update their equipment to AES capabilities.

**Also Read:** How to hack wifi using kali linux

*Advanced Encryption Standard (AES)*

AES is a **symmetric-key algorithm** for securing sensitive but unclassified material by U.S government agencies.

AES is an **iterated block cipher,** which works by repeating the same operation multiple times.

It has **128-bit** block size, with key sizes of 128, 192, and 256 bits, respectively for AES-128, AES-192, and AES-256.

*RC4 Algorithms*

**RC4**

A variable **key size stram cipher** with byte-oriented operations, and is based on the use of a random permutation.

**RC5**

It is a **parameterized algorithm** with a variable block size, a variable key size, and a variable number of rounds, The key size is **128-bits**.

**RC6**

RC6 is a **symmetric key block cipher** derived from RC5 with two additional features.

Uses Integer multiplication

Uses four 4-bit working registers .

*The DSA and Related Signature Schemes*

**Digital Signature Algorithm**

FIPS 186-2 specifies the Digital Signature Algorithm (DSA) that may be used in the **generation and verification of digital signatures** for sensitive, unclassified applications.

**Digital Signature**

The digital signature is computed using a **set of rules and a set of parametes** such that the identify of the signatory and integrity of the data can be verified.

—————————————————————————————————–