/NETAssembly-Cryptography

Cryptographic algorithms such as AES, RSA, SHA, and ECDH, implemented in MATLAB with .NET and Python

Primary LanguageJupyter NotebookMIT LicenseMIT

NETAssembly-Cryptography

Overview

This repository provides implementation of cryptographic algorithms in MATLAB, using net.addAssembly function to integrate .NET assemblies. This enables the use of robust encryption and hashing methods such as AES, RSA, and SHA. Python implementation of the aforementioned algoritmhs is also provided within the repository, making it flexible for users of both environments.

Features

  1. Advanced Encryption Standard (AES): Symmetric key encryption algorithm for secure data encryption and decryption
  2. Rivest-Shamir-Adleman (RSA): Asymmetric key encryption algorithm
  3. Secure Hash Algorithms (SHA): Cryptographic hash functions (SHA1, SHA256, SHA384, SHA512, MD5)
  4. Elliptic Curve Diffie-Hellman (ECDH) Key Exchange: A key agreement protocol that allows two parties to establish a shared secret over an insecure channel
  5. Password-Based Encryption (PBE) with PBKDF2: A method of creating strong cryptographic keys using a user-provided password

Use Cases

  1. Data Encryption: Encrypt sensitive data
  2. Secure Communication: Use RSA and ECDH to establish secure key exchanges over an untrusted network
  3. Password Hashing: Use SHA algorithms to create secure hashes for storage

Thank you for checking out this repository. I hope you find it useful and educational. Feel free to contribute.