DES Encryption

This is a Javascript implementation of DES (the Data Encryption Standard), an encryption algorithm which works on bits. It supports Electronic Codebook (ECB) and Cipher Block Chaining (CBC) and also includes Triple DES. It does not require any additional libraries and it has been translated into Perl and PHP as well.

The code here was developed by reading several very good articles about DES and by following a C algorithm to understand how it works. The C algorithm came with a Perl encryption package and was written by Eric Young as part of his SSL implementation. Many thanks also to Michael Hayworth of www.netdealing.com for his very good tips on speeding up the algorithm. And thanks to Frank Zammetti of www.omnytex.com for finding a problem with triple CBC, which has now been fixed.

The following pages are provided:

Portuguese translation provided by Artur Weber in March 2018. Greek translation provided by Zsolt Boros in August 2016. Russian translation provided by Rauan Akhmetov in March 2017. Belarusian translation provided by Sergey Ivanov (Сергей Иванов) in November 2015.

DES took a long time to create and maintain. If you use DES, I would be grateful if you made a donation: