des_PurePy.des module¶
Module providing a DES class for a DES implementation
- class des_PurePy.des.DES(key)¶
Bases:
objectImplements the Data Encryption Standard (DES).
A DES object is initialized with a 64-bit key and can be used repeatedly to encrypt or decrypt data.
- Parameters:
key (str or bytes) – The DES key. May be given as a hexadecimal string (with or without a
0xprefix) or as a bytes object.
Methods
decrypt(ciphertext)Decrypts the input ciphertext by key according to DES
encrypt(plaintext)Encrypts the input plaintext by key according to DES
- decrypt(ciphertext) str¶
Decrypts the input ciphertext by key according to DES
- Parameters:
ciphertext (hex string or bytes object) – Ciphertext to be encrypted. Can be a string representing a hex number or a bytes object. Hex strings can have a leading ‘0x’ and are case-insensitive. ciphertext length should be a multiple of the block size (64 bits)
- Returns:
cleartext – Decrypted cleartext as a hex number. Has a leading ‘0x’.
- Return type:
str
- encrypt(plaintext) str¶
Encrypts the input plaintext by key according to DES
- Parameters:
plaintext (hex string or bytes object) – Plaintext to be encrypted. Can be a string representing a hex number or a bytes object. Hex strings can have a leading ‘0x’ and are case-insensitive. plaintext can be any length.
- Returns:
ciphertext – Encrypted ciphertext as a hex number. Has a leading ‘0x’. Length can vary according to length of input. Will always be a multiple of the block size.
- Return type:
str
- key¶
Key to be used for encrypting or decrypting. Can be a string representing a hex number or a bytes object. Hex strings can have a leading ‘0x’ and are case-insensitive. key should be exactly the key size for DES (64 bits)