Skip to content
/ DES Public

Java-based implementation of the DES encryption algorithm using 64-bit key and block size for secure symmetric communication.

Notifications You must be signed in to change notification settings

shaina-gh/DES

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” DES Encryption & Decryption in Java

A full Java implementation of the DES (Data Encryption Standard) algorithm for secure communication using symmetric encryption.


πŸ“Œ Author

Shaina


🧠 What is DES?

The Data Encryption Standard (DES) is a symmetric-key algorithm that operates on 64-bit blocks using a 64-bit key. It performs 16 rounds of transformation using substitution, permutation, and XOR operations on the plaintext and key to ensure confidentiality.


🎯 Objective

To implement DES encryption and decryption from scratch using:

  • A 64-bit input block
  • A 64-bit key
  • Manually defined permutation tables and S-boxes
  • No external cryptographic libraries

▢️ How to Compile & Run

javac DESCommunication.java
java DESCommunication

πŸ§ͺ Sample Input/Output

πŸ”‘ Input

Plaintext: ABCDEFGH  
Key:       133457799BBCDFF1 (in hexadecimal)

πŸ”’ Encrypted Output

Binary Input:     0100000101000010010000110100010001000101010001100100011101001000  
Encrypted Bits:   110100111000111000100101001011101001001011111010101001100100

πŸ”“ Decrypted Output

Decrypted: ABCDEFGH

βœ… Result

The DES algorithm was successfully implemented. The encryption transformed the original message into an unreadable binary format, and the decryption process restored the original plaintext, proving the correctness of the implementation.


⚠️ Disclaimer

This implementation is designed for educational purposes only. It lacks padding, block chaining modes, and other security mechanisms necessary for real-world deployment.


🍴 How to Fork This Repository

Want to use or build upon this project? Follow these steps to fork and work with your own copy:

πŸ”— Repository URL

https://github.com/shaina-gh/DES

πŸ”„ Step-by-Step Guide

  1. Go to https://github.com/shaina-gh/DES

  2. Click the "Fork" button in the top-right corner.

  3. GitHub will create a copy under your account.


πŸ§ͺ After Forking – Get Started Locally

# 1. Clone your forked repository
git clone https://github.com/YOUR-USERNAME/DES.git

# 2. Navigate into the project directory
cd DES

# 3. Compile and run
javac DESCommunication.java
java DESCommunication

About

Java-based implementation of the DES encryption algorithm using 64-bit key and block size for secure symmetric communication.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages