Skip to content

yingzhou0212/FeistelCipherJava

Repository files navigation

// # Project 1: DES - based Feistel Cipher Implementation
Team Member: Yuhan Wan & Ying Zhou Date: March/20th/2025

Task Assignment:

  • CharToBin: YW
  • Cipher:
    • encryption: YW
    • decryption: Ying
  • FeistelFunctions: YW
  • KeySchedule: YW && Ying
  • Main: YW && Ying
  • Permutation: Ying
  • ReadFile: Ying
  • SBox: YW

This project implements a basic file encryption and decryption system using a simplified Feistel network. The program reads a plaintext file, encrypts or decrypts the contents using a user-provided 7-character password, and compute the test cases output to a specified file.

Features:

  • Feistel-based Cipher:
  • 10 rounds of Feistel encryption
  • 32-bit subkeys used in each round
  • Includes S-Boxes and P-Box permutation
  • Customizable File I/O:
  • User-specified input and output file names
  • Encryption and decryption options via command line
  • Password Handling:
  • User enters a 7-character password
  • Password is automatically converted into binary for use as the encryption key
  • Bit-level Processing:
  • Input file is processed as binary
  • Encryption is performed bit-by-bit
  • Binary File Output:
  • Encrypted file can be safely stored and later decrypted

About

Basic file encryption and decryption system using a simplified Feistel network

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages