Project Details: 64-Bit Dual-Layer Encryption


Clicking the image brings you to GitHub:
...
GitHub repository through icon:

Summary of Project

A 64-Bit pair of encryption/decryption scripts in a merged console app that utilizes dual-layer encryption for enhanced security. The project demonstrates advanced C++ techniques including memory management, bitwise operations, and algorithmic randomization to ensure robust data protection.

If you download/branch this project, you can expect to see a well-structured codebase with clear documentation and comments explaining the functionality of each component. The encryption algorithm is designed to be both secure and efficient, making use of modern C++ features to optimize performance.

Overall, this project showcases my ability to develop complex software solutions that prioritize security and performance, while also maintaining clean and maintainable code. I am confident that the skills and techniques demonstrated in this project will be valuable in any software development or cybersecurity role.


Technologies Utilized


Techniques Applied

  • Algorithmic seeding of RNG from current time for enhanced security.

  • Dynamic rotating keys generation and a feature I call Active-Security-Table.

  • Cyphering techniques including substitution and transposition methods.

  • C++ memory pointers for Bit-Mask transformations to boost runtime efficiency.

  • Randomization on a line by line and block by block basis of 64-Bit blocks representing 8 characters at a time utilizing a set of key transforms including:
    • Bitwise 64-Bit memory block rotations & transpositions.
    • XOR/XNOR encoding of one half of a byte of data with the other as individual bytes are processed.
    • Simple inverse transforms as individual bytes are processed.

  • Theoretical utilization of Titan-M cryptographic accelerator by Google which utilizes a security key combination algorithm to segment these layers:
    • Service-Layer security key rotation and management.
    • Application-Layer security key rotation and management.
    • Operating-System-Layer security key rotation and management.
    • Hardware-Layer security key rotation and management.

Challenges Faced

  • I struggled with getting both the encryption and decryption to process the files correctly due to some complex processing loops. The algorithm is reading through the file and grabbing chunks of data to process, and it was tricky to ensure that the data was being handled correctly at each step.

Techniques gained or lessons learned from this project...

  • Greatly expanded debugging ability with complex C++ code involving pointers and memory management.
  • Enhanced understanding of cryptographic algorithms and their practical implementations.
  • Improved skills in optimizing code for performance and efficiency.

Contact Me

Contact Me

My Linked-In:

My GitHub:

Please fill out the form below to get in touch with me. This will send me an email with your contact information and message.