Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Implementation of Data Encryption Standard (DES) in C

License

NotificationsYou must be signed in to change notification settings

tarequeh/DES

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C implementation of Data Encryption Standard algorithm.

Overview

The Data Encryption Standard (DES) is a block cipher (a form of shared secret encryption) that was selected by the NationalBureau of Standards as an official Federal Information Processing Standard (FIPS) for the United States in 1976 and whichhas subsequently enjoyed widespread use internationally. It is based on a symmetric-key algorithm that uses a 56-bit key.

This implementation of DES is not optimized in any way. The code has been written to provide readability and easyunderstanding of the algorithm. Padding scheme used in this implementation is [PKCS5]

Compilation & Installation

This implementation has only been tested on Unix platform. But you may be able to compile/ run it on Windows.

  1. Make sure des.c, des.h and run_des.c are in the same directory
  2. Compile using: gcc -O3 des.c run_des.c -o run_des.o

Usage

Say we want to encrypt/ decrypt a file named /home/user/sample.txt

  1. Generate a keyfile using:

    run_des.o -g /tmp/keyfile.key
  2. Encrypt sample.txt using:

    run_des.o -e /tmp/keyfile.key /home/user/sample.txt /home/user/sample.enc
  3. Decrypt sample.txt using:

    run_des.o -d /tmp/keyfile.key /home/user/sample.enc /home/user/sample_decrypted.txt

Don't lose the key file! you won't be able to decrypt an encrypted if you lose the keyfile.

More

DES is provided for educational purposes only. Do not use for any other reason.It has been implemented afterJ. Orlin Grabbe's DES Algorithm Illustrated

It is possible to use this implementation to facilitate TripleDES encryption process:

  1. Generate keys using:

    run_des.o -g /tmp/keyfile1.keyrun_des.o -g /tmp/keyfile2.keyrun_des.o -g /tmp/keyfile3.key
  2. Encrypt using:

    run_des.o -e /tmp/keyfile1.key /home/user/sample.txt /home/user/sample.enc1run_des.o -e /tmp/keyfile2.key /home/user/sample.enc1 /home/user/sample.enc2run_des.o -e /tmp/keyfile3.key /home/user/sample.enc2 /home/user/sample.enc3
  3. Decrypt using:

    run_des.o -d /tmp/keyfile3.key /home/user/sample.enc3 /home/user/sample.dec3run_des.o -d /tmp/keyfile2.key /home/user/sample.dec3 /home/user/sample.dec2run_des.o -d /tmp/keyfile1.key /home/user/sample.dec2 /home/user/sample_decrypted.txt

The primary repository for DES is located at:http://github.com/tarequeh/DES/ The blog postdiscussing the implementation can be found at:CodeXNThis implementation of DES was written byTareque Hossain

About

Implementation of Data Encryption Standard (DES) in C

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp