# Learn Blockchain | Part 6 #1 | Implementing Multiple Encryption Algorithms Using Python | DES

# DES (Data Encryption Standard)

The DES (Data Encryption Standard) algorithm is an algorithm that can be used to encrypt data so that the original data can only be read by someone who has the encryption key. DES used to be a popular encryption algorithm, but due to its size of only 56 bits, it is considered less and less secure to use.

Okay in this tutorial I will use a cryptographic library called pycryptodome, this is a low-level cryptography library that has many encryption algorithm functions.

For how to install it, you can use pip.

pip install pycryptodome

**DES (Data Encryption Standard)** is a data encryption standard that uses a symmetric encryption algorithm. In this algorithm, the key only has a fixed data block size of 8 bytes. However, the Secret Key used for encryption and decryption is 64 bytes. 56 bytes are generated randomly, and 8 bytes are used for error checking.

Ok, I will show you how to encrypt DES using a python programming language

**encryption**

*from *Crypto.Cipher *import *DES

*from *Crypto.Util.Padding *import *pad

key = b'th1sK3ys'

data = b'this key will be encrypted'

BLOK_SIZE = 32

des = DES.new(key, DES.MODE_ECB)

padded_text = pad(data, BLOK_SIZE)

encrypt = des.encrypt(padded_text)

print(encrypt)

Value in data will be encrypted as below

b’\x06\xc01kP\x80\xfa\x02wZe\xa8\x96@\x11G:\xd7]$&\x1d\xbbJ\xeeP\x1f\xcco\xc7)\x7f’

**Then how do we decrypt it?**

The most important thing is that you have the key to decrypt the encrypted data. Decrypting can be likened to opening a locked door, we need a key to open it.

for code like below

`key = b'th1sK3ys'`

des = DES.new(key, DES.MODE_ECB)

descrypt = des.decrypt(encrypt)

print(descrypt)

the result is like this, for data that has been encrypted it is returned to its original

**Encryption**

b’\x06\xc01kP\x80\xfa\x02wZe\xa8\x96@\x11G:\xd7]$&\x1d\xbbJ\xeeP\x1f\xcco\xc7)\x7f’

**Descryption**

b’this key will be encrypted\x06\x06\x06\x06\x06\x06'