Just Cryptography

Learn Cryptography and Information Security

# Category: Symmetric Cryptography

• ## One-Time Pad cipher in Python

The One-Time Pad cipher was proposed by Joseph Mauborgne. In this post, I’ll show you a Python implementation of this cipher. This cipher is the same as the Vernam cipher. The only difference is that every key is used only once. So, we need to generate a random key every time we encrypt a new…

• ## Vernam cipher in Python

Vernam cipher was introduced by Gilbert Vernam in 1918. In this post, I’ll explain the algorithm and show the implementation in Python. Vernam cipher is the ultimate defense against the cryptanalysis used to break the Vigenère cipher. The mentioned attack relies on the fact that the key and the plain text share the same frequency…

Read more: Vernam cipher in Python
• ## How to implement the Vigenère cipher in python

Another substitution cipher is the Vigenère cipher. In this post, I give you an explanation of the cipher and a python implementation. The Vigenère cipher is categorized under polyalphabetic substitution ciphers. This type of cipher works as follows[1]: The Vigenère cipher This cipher is quite easy to understand. We apply the Caesar cipher to each…

Read more: How to implement the Vigenère cipher in python
• ## How to implement the Hill Cipher in Python?

The Hill cipher is a multi-letter cipher. It is based on Linear Algebra operations, specifically matrix operations. It was created in 1929 by the mathematician Lester Hill. Some concepts you might want to revisit are matrix multiplication and inversion. The Hill cipher To encrypt a text with the Hill cipher, we have to encrypt three…

Read more: How to implement the Hill Cipher in Python?
• ## How to create secure keys for symmetric encryption?

Secure keys creation is a topic of utmost importance in Cryptography and Network Security. The stronger the keys the better, the more secure your data will be. But, how to create strong keys/passwords? In classic cryptography, we were expected to create the keys used for encryption. For instance, Caesar Shift Cipher uses an integer number…

Read more: How to create secure keys for symmetric encryption?
• ## What is key length in cryptography and why is important?

In cryptography, we secure a message by encrypting the message with a certain key and then sending it over the network. The security of the encryption usually depends on the key length. In this article, I’ll show why key length is a very important topic in cryptography. Key length (a.k.a. key size) is the number…

Read more: What is key length in cryptography and why is important?
• ## How to implement the Playfair cipher in python?

The Playfair cipher is a multiple letter encryption cipher that uses a substitution technique. The steps to implement it are as follows: Create a 5×5 matrix using the secrete key. In this matrix, I and J are in the same cell. you start filling the matrix with the key, then you use the alphabet. Letters…

Read more: How to implement the Playfair cipher in python?
• ## Python implementation of the Caesar cipher

The Caesar cipher is an encryption technique used by Julius Caesar to send communications that had military importance for his empire. Today is a technique that is studied in Cryptography under the classification of substitution ciphers, a topic that at the same time is under classic cryptography. It is also known as a shift cipher,…

Read more: Python implementation of the Caesar cipher
• ## OpenPGP: Encryption and digital signature using GpgFrontend

This article explains what is OpenPGP and how to use it to encrypt and sign documents. You will understand how this standard works and the foundations of the security of hybrid cryptography systems. What is PGP, OpenPGP and GPG? Pretty Good Privacy (PGP) is an encryption system that combines symmetric and asymmetric algorithms for encryption…

Read more: OpenPGP: Encryption and digital signature using GpgFrontend
• ## Understanding symmetric cryptography through the study of several ciphers

Symmetric cryptography is about algorithms that use the same keyword to encrypt and decrypt information. These algorithms, also called ciphers, are efficient to encrypt high volumes of data. The goal of this type of algorithm is to achieve confusion and diffusion in the encrypted text. In this way, the results seem to be random. Cryptographic…

Read more: Understanding symmetric cryptography through the study of several ciphers