DES / 3DES Calculator
Encrypt and decrypt data using Single DES and Triple DES (2-key and 3-key) in ECB and CBC modes. Essential for ARQC derivation, PIN block encryption, and legacy key management in payment systems.
Follows FIPS 46-3 / FIPS 81 / NIST SP 800-67 Rev. 2DES, 2-key and 3-key TDEA, ECB and CBC, no padding·verified Oct 2026· double-checked Oct 2026— FIPS 81, SP 800-20 and SP 800-67 known answers; 600 random cases match Python cryptography; Python, Java and Rust snippets run against the tool
Use test data only. All calculations run locally in your browser — PayProbe never sees, transmits, or stores your PAN, CVV, keys, PINs, or cryptographic inputs. How we handle data →
Inputs
Code examples
# pip install pycryptodome
from Crypto.Cipher import DES3
import binascii
key = binascii.unhexlify('YOUR_KEY_HEX')
data = binascii.unhexlify('YOUR_DATA_HEX')
cipher = DES3.new(key, DES3.MODE_ECB)
result = cipher.encrypt(data)
print(binascii.hexlify(result).decode().upper())About DES / 3DES
Single DES
Data Encryption Standard (FIPS 46-3, withdrawn 2005). 64-bit block cipher with a 56-bit key (8 bytes stored, the low bit of each byte is a parity bit and is ignored). Exhaustive key search is practical, so single DES survives only in legacy systems and as a building block of TDES.
Triple DES (3DES / TDEA)
Applies DES three times: Encrypt(K1) → Decrypt(K2) → Encrypt(K3) (EDE, NIST SP 800-67). The 2-key variant sets K3 = K1: 112 bits of key material, but only about 80 bits of security (SP 800-57). The 3-key variant has 168 bits of key material and 112-bit security. K1 = K2 = K3 is single DES. NIST no longer approves TDEA for new encryption (SP 800-131A Rev. 2), but it remains widespread in EMV, HSMs, PIN translation and DUKPT.
ECB mode
Electronic Codebook — each 8-byte block is encrypted independently. Identical plaintext blocks produce identical ciphertext. Used in payment single-block operations: KCV computation, PIN block encryption, ARQC step functions.
CBC mode
Cipher Block Chaining — each plaintext block is XORed with the previous ciphertext block (the IV for the first block) before encryption. For confidentiality the IV should be unpredictable (SP 800-38A); payment protocols often fix it at zero. The ISO 9797-1 CBC-MACs are built on it.