Skip to content

Official Repository for SWE 4304 (SPL1) Team-Project CipherShield

License

Notifications You must be signed in to change notification settings

saadmansakib47/Project-CipherShield-

Repository files navigation

Project-CipherShield

CipherShield

Introduction

Welcome to CipherShield, a security based console application developed in C# using Visual Studio. This application allows users to generate passwords according to their requirement, assess the strength of their password, encrypt and decrypt passwords/texts using different encryption algorithms and finally hash their passwords/texts using different hashing algorithms that have been implemented from scratch.

Motivation Behind the Project

CipherShield was created out of our passion for CyberSecurity and Cryptogrphic functions. We wanted to learn about Password salting and implement various Encryption and Hashing algorithms from scratch following the OOP concepts and SOLID principles. This project can serve as an educational tool to help users understand password security best practices.

Getting Started

Installation & Running the application

To run the Project-CipherShiled on your local machine, follow these steps:

  1. Ensure you have Git installed. If not, download and install it from https://git-scm.com/downloads.

  2. Clone the GitHub repository to your local machine.

    git clone https://github.com/saadmansakib47/Project-CipherShield-.git
  3. Navigate to the project directory.

    cd Project-CipherShield-
  4. Install the project dependencies.

     nuget restore

    Note: Make sure you have NuGet installed. The nuget restore command fetches the necessary dependencies for the project.

  5. Make sure you have Visual Studio installed, if not then install it from https://visualstudio.microsoft.com/downloads/

  6. Open Visual Studio. In Visual Studio, click on File > Open > Project/Solution

  7. Navigate to the directory where you cloned the Project-CipherShield- repository, select the solution file (.sln), and click Open.

  8. Once the project is open in Visual Studio, locate the Run button (usually a green play button) in the toolbar or press F5 to build and run the application.

Usage

Choose one of the 3 main features of our project-

Main Page

Password Toolbox

Password Generator

Generates password based on user inputs such as if the user wants to include uppercase or lowercase characters, numbers, special symbols and the length of the password etc.

image

Strength Checker

Checks the strenth of the password that the user inputs and shows 4 types of feedback which are:

  • Randomness
  • Pattern Detection
  • Repetition
  • Length

It also shows an overall strenth score and strenth feedback which is calculated based on the above 4 metrics.

image

Encryption

Encrypts and Decrypts the text/password that the user inputs using common encryption algorithms.

Substitution Cipher (Vignere Cipher)

  1. Encrypt: Users have to input a message along with a key

image

  1. Decrypt: Users have to input the encrypted text along with the key

image

Transposition Cipher (RailFence Cipher)

  1. Encrypt: Users have to input a message(in capital form) along with the number of rails

image

  1. Decrypt: Users have to input the encrypted text along with the number of rails

image

Block Cipher (DES)

  1. Encrypt: Users have to input a 16 character key in hexadecimal format along with the message

image

  1. Decrypt: Users have to input the 16 character key in hexadecimal format along with the encrypted text

image

RSA

  1. Encrypt: The program generates a private key(d, n) and a public key(e, n). The user have to input the message and gets the ciphertext back based on those keys.

image

  1. Decrypt: Users have to input the public exponent(e), private exponent(d), modulus(n) and the ciphertext to get the original message back.

image

Hashing

Hashes the text/password that the user inputs using common hashing algorithms.

MD5 & SHA-256

  • The user enters a palintext and gets the hashed message back.

image

image

Developers

This project was developed by us for the Software Project Lab 1 (SWE 4301) during the 3rd semester at the Islamic University of Technology(IUT).

About

Official Repository for SWE 4304 (SPL1) Team-Project CipherShield

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages