# How to implement Data Encryption Algorithms (DES) in C++

I would like to understand how the des(data encryption standard) algorithm run and then to write a program using C++ or C. Can someone help me with this ??
Thank you.
###### Who is Participating?

Commented:
look at:
http://www.aci.net/Kalliste/des.htm
it doesn't have code but it has a very good explanation of the algorithm.
ftp://ftp.funet.fi/pub/crypt/cryptography/symmetric/des/
or
http://www.eskimo.com/~weidai/cryptlib.html (C++)

0

Author Commented:
Edited text of question
0

Commented:
I don't know exactly which algorithm you mean with DES...
Is PGP-encryption / description ok ?? (This is the encryption they use to send data between banks etc..)

Here's how PGP-encrypion /decription algorithm works

- Get 2 big prime numbers (with 100 digits or so)
we calls these p and q
- n = p * q (rember this, we need this value)
phi(p) = p - 1
phi(q) = q - 1
phi(n) = phi(p) * phi(q) = (p-1)*(q-1) (also remember phi(n))
- E is the encryption key,
D is the decryption key..
(E*D) mod phi(n) = 1
- Now we are going to calculate the D (decryption key)

Sorry, I forgot this step, I need to search it in my Mathematics book at home...

- When you get the D, you can calculate the E, by solving this
equation.
E*D = 1 (mod phi(n)) note '=' must have three bars...

- The message(M) can be encoded this way:
E
(M)
It can be decoded with:
D
(M)
The big advantage of this method is that the description(D) can't be calculated (very fast, more then a few hundred years with a LOT of fast computers).

Well I will give you another comment when I've got the book at home...

0

Commented:
That is the DES algorythm.

>>The big advantage of this method is that the description(D) can't be
>> calculated (very fast, more then a few hundred years with a LOT
>> of fast computers).
Techniques have been developed to break this system using multiple computers.  A large key was broken in less than 3 months using 100 computers.  It is still a very good safeguard, but...
0

Author Commented:
Thanks a lot Alex.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.