Muhammad Umer Khan (Lead)
Shalina Riaz
Sheeza Aslam
Confidentiality is a fundamental security service that ensures
that information is not disclosed to unauthorized individuals,
entities, or processes.
Choosing confidentiality as a security service was driven by the
mathematical concepts underlying encryption algorithms. The
principles of diffusion, confusion, and elegant Feistel structures
intrigued us more than other security services, inspiring our
focus on safeguarding sensitive information through encryption.
RCN (Rijndael Could Never) is an improvement of the Twofish cipher, implementing a custom Feistel structure with:
- Zigzag transposition for added complexity
- Matrix LU Substitution using key-dependent matrices
- 128-bit encryption with enhanced key scheduling
- 16 rounds of encryption with custom S-box and MDS transformations
- Python 3.x
- Flask (for web interface)
Install required dependencies:
pip install flask numpy- Start the Flask server:
python server.py-
Open
index.htmlin your web browser -
Enter your text and key (up to 32 characters) to encrypt/decrypt
Run the main encryption/decryption script:
python main_file.pyUse the cipher directly in Python:
from rcncipher import encrypt, decrypt
# Your plaintext and key (as hex strings)
plaintext = "your_plaintext_hex"
key = "your_128bit_key_hex"
# Encrypt
ciphertext = encrypt(plaintext, key)
# Decrypt
decrypted = decrypt(ciphertext, key)Run the brute force attack simulation:
python bruteforce.pyThis demonstrates the computational infeasibility of brute-forcing a 128-bit key (approximately 4.53 × 10²⁰ years with standard computing power).
rcncipher.py- Core RCN cipher implementationserver.py- Flask web server for the GUIindex.html/index.css- Web interfacemain_file.py- Command-line encryption/decryption utilitybruteforce.py- Brute force attack demonstration
- 128-bit key length providing 2¹²⁸ possible key combinations
- Feistel structure with 16 rounds
- Key-dependent S-boxes for enhanced security
- Zigzag transposition for additional confusion
- Matrix LU substitution using expanded keys
- Pseudo-Hadamard Transform (PHT) for diffusion
For legal reasons: Rijndael probably could.