Skip to content

Latest commit

 

History

History
165 lines (117 loc) · 6.1 KB

README.md

File metadata and controls

165 lines (117 loc) · 6.1 KB

Encryption on 4th School period

Encryption symmetric, asymmetric, and encoding.

Description

This solution contains all the assignment we did in the encryption course on ZBC Ringsted DK. The concept is to create cSharp libraries for each domain logic, to reuse or the quickly remember how the specific encryption/encoding works.

Assignments

  1. Hashing, simple, salty and secret!
  2. Caeser, only a true roman can read it!
  3. Secure Password uses hashing lib, data lib and MVC as UI
  4. Symmetric Algorithm
  5. Asymmetric Algorithm
  6. Hybrid Encryption

(back to top)


Encoding Decoding Hashing Library

  • Hashing Repo
    In this project you will find 3 types of encoding.
    • Simple Hashing
    • Hashing with salt (and pepper)
    • Hashing with key (HMAC)

Key Generator Library

  • Random Key Repo
    This class library is pretty simple, it contains a RandomNumberGenerator used to generate keys in specific size (byte size)

Ceaser Cipher Library

  • Caesar Repo
    Fun little assignment that uses the idea of how the romans encrypted there messages

Symmetric Encryption Library

  • Summetric Repo
    In the libraries we de two different types of symmetric algorithms, TripleDES and AES encryption.
    • TripleDES (used by visa card etc.)
    • AES

Currently no UI for this, look in console Application and Unit tests

Asymmetric Encryption Library

  • Summetric Repo
    This project uses the RSA Algorithm.
    • Generate Keysets
    • Encrypt
    • Decrypt

Currently no UI for this, look in console Application and Unit tests

(back to top)


Unit Test

  • Test Repo
    Doing more test, needs to be practice, was fun to play with for testing the domain libraries
  • Hashing
  • Key Gen
  • Symmetric
  • Asymmetric
  • Caeser

Console Application

  • Console Repo
    The primary ide is to quickly test code, and debug. This is used as a "playground" Here are some examples of symmetric and asymmetric libraries in use.

ASP.NET Core 6 MVC

  • MVC Repo
    This project is used as the UI, currently Hash Encoding, Caeser and login site(secure login) is implemented. Sadly I didn't have time to implement symmetric and asymmetric encryption.

Entity Framework Core Data Project

  • EF Core Repo
    This project is used for login/user information in the Secure Password Assignment

Hybrid Encryption

This project shows how hybrid encryption works en real, this is a mix of to project .NET 6 Webproject running SignalR Hub, and a .NET 6 MAUI running as client. You can also find a PoC done in simple websocket running client/server from 2 .NET 6 Webproject. The combination of Asymmetric and symmetric encryption is top of the pop.

WebSocket Server/Client PoC

  • Server PoC
  • Client PoC
    This project is a PoC on hybrid encryption, this is the combination of asymmetric and symmetric encryption, and will simulate a real world example on how hybrid encryption wokrs. Uses symmetric and asymmetric encryption.

.NET 6 Core Web Project SignalR /server

  • Server SignalR Repo
    Server running signalR, look in chathub. It would have been nice to implement a login function using hashing, like the login site in .NET MVC project Uses symmetric and asymmetric encryption

.NET 6 Maui Project SignalR /client

  • Client Maui SignalR Repo
    Client running signal. First time looking at .NET Maui, surely not the last, fun project. Would have like to play a lot more on this one, but had no time. Uses symmetric and asymmetric encryption

(back to top)