Skip to content

A full stack windows form application for sensitive image storing in encrypted format using symmetric key cryptography, and user data storing/securing using hash algorithms.

License

Notifications You must be signed in to change notification settings

saahen-sriyan-mishra/Camouflage-Shield

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Camouflage Shield

Camouflage Shield is a Windows Form application designed for sensitive image storage in an encrypted format. The project employs various encryption and hashing algorithms to ensure secure user authentication and image protection.

Article:

Features

  • User Data Encryption using MD5, SHA-1, SHA-256, SHA-384, and SHA-512
  • Full Frontend functionality to handle user inputs.
  • User signup with OTP verification (for demonstration purposes).
  • Strong password enforcement during user registration.
  • Multi-algorithm image encryption (AES, DES, 3DES, RC2, Rijndael).
  • Image storage in Base64 format with encryption details.
  • Copy and view encrypted image codes.
  • Hash text encrypter supporting all above mentioned Hashes.

Prerequisites

  • Visual Studio (for running the project).

Note:

  • Have .NET framework and attached Database modules downloaded and configured
  • MD5, SHA-1, SHA-256, SHA-384 and SHA-512 are used for encrypting and storing the login credentials data, but for understanding purposes the hash text button is used.
  • (MD5 and SHA1 are low level algorithm for data storing so not used in real world application, but used here for diversity in algorithms)
  • Also for reference, actual error message are kept visible along with implementational error message.
  • While using, create a new database for establishing connection and change the reference of database and in Form1.cs line 76 and Encrypt.cs line 363.

Getting Started

  1. Clone the repository.
  2. Open the project in Visual Studio.
  3. Build and run the application.

Usage

  • Launch the application and sign up for a new account (new user). (Format to enter data is restricted with frontend functions, No data manupulation is possible after confirmation.) SignUp

  • Log in with your credentials. Login

  • Welcome page showing all saved data (Encrypted Data string is not visible but is saved, so user can copy from it and see the image in "View Image" by selecting the correct process and giving the right Key.) Welcome page

  • Encrypt and save images using different algorithms. Encrypt

  • Image is now saved in the data base.

  • Copy the encrypted image code.

  • View encrypted images using the proper algorithm and key after entering the proper image code.

  • Using the hash text encrypter for text-based encryption. Demonstration

EXAMPLE

ACCOUNT: Format specifications are handled while in signup page

IMAGE

Batman Logo

ENCRYPTION

Process 2 Key: BAT

Encrypted Base64 format of the image

  • (Copy this to test out for yourself)

Correct process (encryption algorithms from AES, DES, 3DES, RC2, Rijndael) and Key: It works 1

Incorrect selection and key 2 3

A hash encryption for having encrypting text (To demonstrate what happens in backend)

1 1 1 2 1 3


Limitations (UPDATED): New version do not contain these issues.

  • Avoid high-resolution or very complex images (limited to 1MB). Now high resolution image can also be processed.
  • The application may face challenges with large volumes of data generated while image processing. Now there is no such issue.

Limatations

  • Dynamic updation limitation (need to re-start application to login, encrypted image string is visible only after re-start)
  • User profile may not show any text for encryption but can be copy pasted for decrypting and viewing the image.
  • Takes a long time to process image to text (base64 encrypted).
  • UI is practical but not attractive.
  • The database created is for Development phase use a practical application shall have a DB server hosted instead of the local machine.

Security Considerations

  • Passwords are hashed using MD5, SHA-1, SHA-256, SHA-384, and SHA-512
  • Multi-algorithm image encryption using AES, DES, 3DES, RC2, Rijndael.

Releases

No releases published

Packages

No packages published

Languages