Skip to content

This project includes the design and implementation of custom stream and block ciphers with encryption/decryption demos, naming, workflow diagrams, and usage justification. It also proposes a hybrid cryptography application combining symmetric and asymmetric methods.

sheyhusna/Computer-Security-Cryptography-Design-Application-Assignment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Computer Security: Cryptography Design Application

This project includes the design and implementation of custom stream and block ciphers with encryption/decryption demos, naming, workflow diagrams, and usage justification. It also proposes a hybrid cryptography application combining symmetric and asymmetric methods.

Block Cipher

EDES_zero is a fully commented, step-by-step educational implementation of the Data Encryption Standard (DES) algorithm, written in C++.
It demonstrates how DES operates internally, including key generation, expansion, substitution, and permutation processes.

File Name Description
EDES_zero.cpp Main source file containing the complete DES algorithm and demo program

Compilation & Execution

To compile the program, use the following command:

g++ EDES_zero.cpp -std=c++17 -O2 -o EDES_zero

./EDES_zero

Example Output

EDES_zero. Input plaintext and 8-byte key.
Enter plaintext: HelloDES
Enter 8-character key (will be used as 64-bit key): mysecret

--- ENCRYPTION ---
Padded plaintext (len=8): HelloDES
Binary: 01001000 01100101 01101100 01101100 01101111 01000100 01000101 01010011

Key (64-bit binary): 01101101 01111001 01110011 01100101 01100011 01110010 01100101 01110100
K1: 00011011 00000000 11110000 11101110 11111100 10101010
...
=== Encrypting block 1 ===
  After IP: 11001010 11100001 01010111 ...
  --- Round 1 ---
  Subkey K1: 00011011 ...
  ...
Ciphertext (hex): 8f1a2bce21d4e765

Recovered plaintext: HelloDES

Stream Cipher

Tornado-25 is a fully commented, educational implementation of a noise-based stream cipher, written in C++. It demonstrates how stream ciphers operate using keystream generation, XOR-based encryption, and Base64 encoding for readable output.

File Name Description
Tornado-25.cpp Main source file containing the complete Tornado-25 stream cipher and demo program

Compilation & Execution

To compile the program, use the following command (in Google Colab):

!g++ Tornado-25.cpp -o Tornado-25

./Tornado-25

Example Output

Original Message: THE MANAGER IS HERE
Encrypted (Base64): ks3ZyuWlRpu7AK6sjYZMHEjjFQ==
Decrypted Message: THE MANAGER IS HERE

System Requirements

  • C++17 compatible compiler (e.g., g++, clang++)
  • Operating System: Linux, macOS, or Windows
  • No external libraries required

License

This project is open-source and free to use for educational purposes.

About

This project includes the design and implementation of custom stream and block ciphers with encryption/decryption demos, naming, workflow diagrams, and usage justification. It also proposes a hybrid cryptography application combining symmetric and asymmetric methods.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •