Skip to content

This project explores and implements various techniques and protocols using SageMath. It covers topics such as Elliptic Curve Diffie-Hellman (ECDH) key exchange, homomorphic encryption, secure multi-party computation (MPC), queueing theory analysis, and RSA cryptanalysis.

Notifications You must be signed in to change notification settings

performant23/sage-against-the-machine

Repository files navigation

sage-against-the-machine

This project explores various techniques and protocols using SageMath, a powerful open-source mathematics software system. It covers topics such as Elliptic Curve Diffie-Hellman (ECDH) key exchange, homomorphic encryption, secure multi-party computation (MPC), queueing theory analysis, and RSA cryptanalysis.

Overview

1. Elliptic Curve Diffie-Hellman Key Exchange (ECDH)

The ECDH implementation allows two parties to establish a shared secret over an insecure channel using elliptic curve cryptography. The key exchange process involves defining the curve, selecting secret keys, computing public keys, exchanging keys, and validating the shared secret.

2. Homomorphic Encryption and Secure Multi-party Computation (MPC)

This part of the project focuses on homomorphic encryption, which enables computations on encrypted data, and secure multi-party computation (MPC), which allows multiple parties to jointly compute a function while keeping their inputs private. It covers RSA key generation, encryption, decryption, homomorphic operations, and secure computation protocols.

3. Queueing Theory Analysis

Using SageMath, the project analyzes queueing systems based on M/M/1 queueing theory. It calculates the probability distribution of the number of customers in the system, the expected number of customers, and the expected waiting time. The analysis provides insights into system performance under various traffic intensities.

4. RSA Cryptanalysis

The RSA cryptanalysis component investigates the security of RSA encryption with different key sizes and encryption exponents. It includes techniques such as low-exponent attack and Wiener's attack to assess the vulnerability of RSA to attacks. The security analysis evaluates the effectiveness of these attacks against RSA key pairs of varying parameters.

About

This project explores and implements various techniques and protocols using SageMath. It covers topics such as Elliptic Curve Diffie-Hellman (ECDH) key exchange, homomorphic encryption, secure multi-party computation (MPC), queueing theory analysis, and RSA cryptanalysis.

Topics

Resources

Stars

Watchers

Forks

Languages