# What Are We Going to Learn Today?

- 1.What is Cryptography
- 2.Applications Of Cryptography
- 3.Categories in Cryptography
- 4.Historical Significance

### What is Cryptography??

Cryptography is the practice and study of techniques for secure communication in the presence of third parties, known as adversaries. It involves the use of mathematical algorithms to encode and decode messages. Ensuring that only the intended recipient can read the message. Including computer science, engineering, and finance, to secure data and protect against unauthorized access and theft.

### How Does Cryptography Work?

Ensuring the confidentiality and integrity of the information being transmitted. There are two main types of cryptography: symmetric cryptography and asymmetric cryptography.

In symmetric cryptography, the same key is used for both encryption and decryption of the message. This means that both the sender and the receiver must have access to the same key.

In asymmetric cryptography, also known as public-key cryptography. A pair of keys is used: a public key for encryption and a private key for decryption. The public key can be freely shared with others, while the private key is kept secret. When a message is encrypted using the recipient’s public key, it can only be decrypted using their private key.

Cryptography also often involves the use of digital signatures, which provide authentication and non-repudiation for a message. He sender’s private key is used to generate a signature for the message. Which can then be verified by anyone who has the sender’s public key.

Overall, cryptography provides a secure means of communication and helps protect against unauthorized access and theft of sensitive information.

**Ciphers and Ciphertext**

Ciphers are algorithms used for encrypting and decrypting messages in cryptography. The process of encryption involves converting the original message, or plaintext, into an unreadable form, known as ciphertext. The ciphertext can only be converted back into the original message through decryption. Using the same algorithm and an appropriate key. There are many types of ciphers, including substitution ciphers, transposition ciphers.

AES (Advanced Encryption Standard) and RSA (Rivest-Shamir-Adleman).

Ciphertext is the encrypted version of a message, which appears as a random sequence of characters. It is important to keep the ciphertext confidential. The message can be easily decrypted by an attacker. If they have access to the key or if they can break the encryption algorithm. In cryptography, the goal is to make the ciphertext as difficult as possible to decrypt. It remains confidential even if intercepted by an attacker. This can be achieved through the use of strong encryption algorithms and keeping the key confidential.

### Applications of Cryptography?

- Secure Communication: Cryptography is used to secure communication between parties over a network such as the Internet. To ensure that the information being transmitted is kept confidential and protected from unauthorized access.
- Data Privacy: Protect sensitive information, such as credit card numbers, social security numbers, and personal information, from unauthorized access and theft.
- Digital Signatures: Provide authentication and non-repudiation for electronic documents and messages. Ensuring that the recipient knows who sent the message and that the message has not been altered in transit.
- Secure Storage of Data: Secure data storage, such as encryption of data stored on hard drives or in the cloud, to protect against unauthorized access.
- E-commerce: E-commerce to secure online transactions and protect sensitive information, such as credit card numbers and shipping addresses.
- Banking and Finance: Banking and finance to secure online transactions, protect against fraud and ensure the confidentiality of sensitive financial information.

Overall, cryptography plays a critical role in providing secure communication and protecting sensitive information in today’s digital age.

### Categories of Cryptography?

- Symmetric Cryptography: In symmetric cryptography, the same key is used for both encryption and decryption of a message. Examples of symmetric ciphers include AES, DES, and Blowfish.
- Asymmetric Cryptography: In asymmetric cryptography, also known as public-key cryptography, two different keys are used for encryption and decryption. A public key is used for encryption and a private key is used for decryption. Examples of asymmetric ciphers include RSA, DSA, and Elliptic Curve Cryptography.
- Hash Functions: Hash functions are mathematical algorithms used to map data of any size to a fixed-size output, known as a hash. Hash functions are used for digital signatures, message integrity checks, and indexing data in hash tables. Examples of hash functions include SHA-256, SHA-3, and MD5.
- Steganography: Steganography is the practice of hiding a message within another message or within an image. It can be used to hide sensitive information in a seemingly innocent message or image.
- Block Ciphers: Block ciphers encrypt data in fixed-size blocks. Whereas stream ciphers encrypt data one bit or byte at a time. Block ciphers are widely used in symmetric cryptography.
- Stream Ciphers: Stream ciphers encrypt data one bit or byte at a time. Making them well-suited for real-time communications and for encrypting data that is generated continuously, such as audio or video streams.

Overall, these categories represent different approaches to solving the problem of secure communication in the presence of adversaries. The choice of cryptography category and algorithm depends on the specific security requirements of the application.

**Symmetric Encryption**

Symmetric encryption, also known as shared secret encryption. Is a type of encryption where the same key is used for both encryption and decryption of a message. In symmetric encryption, the same key is shared by the sender and the receiver. Who use the key to encrypt and decrypt the messages being transmitted.

Symmetric encryption algorithms are generally faster and more efficient than asymmetric encryption algorithms. Making them well-suited for encrypting large amounts of data. However, the major disadvantage of symmetric encryption is the key management problem. The same key must be securely shared between the sender and the receiver. Which can be challenging, especially in large or dynamic groups.

Examples of symmetric encryption algorithms include AES (Advanced Encryption Standard), DES (Data Encryption Standard), and Blowfish. These algorithms are widely used for secure communication and for storing encrypted data.

## Symmetric Encryption

Symmetric encryption is a type of encryption where the same key is used for both encryption and decryption of a message. In symmetric encryption, the same key is shared by the sender and the receiver, who use the key to encrypt and decrypt the messages being transmitted.

Symmetric encryption algorithms are generally faster and more efficient than asymmetric encryption algorithms, making them well-suited for encrypting large amounts of data. However, the major disadvantage of symmetric encryption is the key management problem. The same key must be securely shared between the sender and the receiver, which can be challenging, especially in large or dynamic groups.

Examples of symmetric encryption algorithms include AES (Advanced Encryption Standard), DES (Data Encryption Standard), and Blowfish. These algorithms are widely used for secure communication and for storing encrypted data.

**Block Ciphers**

A block cipher is a type of symmetric encryption algorithm that encrypts data in fixed-size blocks. Block ciphers work by dividing the plaintext message into fixed-size blocks and then encrypting each block individually. The encrypted blocks are then combined to form the ciphertext.

The block size in a block cipher determines the maximum size of the plaintext message that can be encrypted. For example, if the block size is 64 bits, then the plaintext message must be divided into blocks of 64 bits each, and each block will be encrypted individually.

Block ciphers are widely used in symmetric cryptography and are typically faster and more efficient than stream ciphers for encrypting large amounts of data. Some well-known block ciphers include AES (Advanced Encryption Standard), DES (Data Encryption Standard), and Blowfish.

Block ciphers can be used in various modes of operation, such as Electronic Codebook (ECB) mode, Cipher Block Chaining (CBC) mode, and Counter (CTR) mode, which determine how the ciphertext blocks are combined and how the encryption of each block depends on the previous block. The choice of mode of operation depends on the specific security requirements of the application.

**Stream Ciphers**

A stream cipher is a type of symmetric encryption algorithm that encrypts data one bit or byte at a time. Unlike block ciphers, which encrypt data in fixed-size blocks, stream ciphers encrypt data continuously, making them well-suited for real-time communications and for encrypting data that is generated continuously, such as audio or video streams.

Stream ciphers work by generating a stream of random numbers, known as a keystream, which is combined with the plaintext data to produce the ciphertext. The keystream is generated using a pseudorandom number generator, which is initialized with a secret key.

Some well-known stream ciphers include RC4 (Rivest Cipher 4), Salsa20, and ChaCha. Stream ciphers are widely used for secure communication over networks, such as in Wi-Fi and VPN connections, and for encrypting data stored on disk or transmitted over the internet.

The security of a stream cipher depends on the quality of the pseudorandom number generator and the strength of the secret key. If the key is compromised, the security of the encrypted data is also compromised. As with other types of cryptography, it is important to choose a secure and reliable stream cipher and to use it properly in order to ensure the confidentiality and integrity of the encrypted data.

## Asymmetric Encryption

Asymmetric encryption, also known as public-key cryptography, is a type of encryption that uses two different keys for encryption and decryption. One key, known as the public key, is used for encrypting the message, and the other key, known as the private key, is used for decrypting the message.

In asymmetric encryption, the sender encrypts the message with the recipient’s public key. Only the recipient, who has the corresponding private key, can decrypt the message. As a result, asymmetric encryption provides a secure way to exchange confidential messages without the need to securely share a secret key between the sender and the recipient.

Asymmetric encryption algorithms are more complex and slower than symmetric encryption algorithms, and are typically used to encrypt only small amounts of data, such as a key or a message authentication code (MAC). The encrypted data is then encrypted with a symmetric encryption algorithm, which is faster and more efficient for encrypting large amounts of data.

Examples of asymmetric encryption algorithms include RSA (Rivest-Shamir-Adleman), Elliptic Curve Cryptography (ECC), and Diffie-Hellman. These algorithms are widely used for secure communication and for implementing secure protocols, such as digital signatures, key exchange, and certificate-based authentication.

## Hashing Cryptography

Hashing is a type of cryptography that is used to convert an input message into a fixed-size output called a hash or digest. The hash is generated using a hash function, which is a mathematical algorithm designed to be one-way and collision-resistant.

A one-way hash function is designed so that it is computationally infeasible to go from the hash back to the original message. In other words, it is not possible to reverse the hash and obtain the original message. This makes hashing useful for verifying the integrity of data, as any changes to the input message will result in a different hash.

A collision-resistant hash function is designed so that it is computationally infeasible to find two different messages that produce the same hash. This is important because two different messages with the same hash would cause a security breach, as the recipient would not be able to determine which message was intended.

Hashing is widely used in cryptography for various purposes, such as message authentication, password storage, digital signatures, and indexing data in databases. Some well-known hash functions include SHA-256 (Secure Hash Algorithm), MD5 (Message-Digest Algorithm 5), and BLAKE2.

It is important to choose a secure and reliable hash function and to use it properly in order to ensure the integrity and security of the data. The security of a hash function is determined by its collision resistance and its ability to resist attacks, such as preimage attacks and collision attacks.

## Historical Significance

Cryptography has a rich and long history, with roots dating back to ancient civilizations. The earliest known use of cryptography was by the Egyptians, who used simple substitution ciphers to encode secret messages.

Over the centuries, cryptography has been used for various purposes, including military communications, diplomacy, and commerce. During World War II, cryptography played a crucial role in the outcome of the war, with both the Allies and the Axis powers using advanced encryption techniques to protect their communications.

The advent of computers and the internet in the 20th century brought about significant changes in cryptography. The rise of electronic communication led to an increased demand for secure communication, and cryptography was used to protect sensitive information, such as financial transactions and government secrets.

The introduction of public-key cryptography in the 1970s revolutionized cryptography and paved the way for secure communication over the internet. This new type of cryptography allowed for secure communication without the need to securely share a secret key, which was a major limitation of symmetric encryption.

Today, cryptography is widely used in various fields, including computer science, engineering, finance, and security. It is a critical component of modern communication and security systems, and it continues to play an important role in ensuring the privacy, security, and authenticity of electronic communication and data.

## The Enigma Machine

The Enigma is probably the most famous cryptographic cipher device used in ancient.

history. It was used by the Nazi German armies in the world was they were used to put it.

confidential political, military, and administrative information, and it consisted of three or

more rotors that scrambled the original message. Depending on the machine state at that

time, the decryption is similar, but it needs both machines to stay in the same state before.

passing the ciphertext, so that we received the same plane text message.