Coder Social home page Coder Social logo

cryptobenchmark's Introduction

CryptoBenchmark 🔏

CryptoBenchmark es un proyecto desarrollo dentro de la asignatura de Criptografía de la FI UNAM. Consiste en la implementación de los siguientes algoritmos de cifrado, descifrado, hasheo y firma digital:

  • Cifrado/Descifrado
Algoritmo Tamaño
Chacha20 256 bits
AES-EBC 256 bits
AES-GCM 256 bits
RSA-OAEP 2048 bits
  • Hasheo
Algoritmo Tamaño
SHA-2 512 bits
SHA-3 512 bits
Scrypt Output 32 bits
  • Firmado
Algoritmo Tamaño
RSA-PSS 2048 bits
ECDSA P521 521 Bits (secp521r1)
EdDSA 32 Bits (Ed25519)

📋 Requerimientos

  • Python 3.6 o superior
  • matplotlib
  • Crypto
  • pycryptodome
  • cryptography
  • rsa

🚀 Funcionamiento

# Ejecutar el archivo main.py. Este script instalará las dependencias necesarias y ejecutará automáticamente el benchmark.
python main.py

Se consideran 3 vectores de prueba consistentes en un archivo.txt, un pdf y una imagen en formato .png, qque se encuentran en la carpeta TestVectors. Estos archivos pueden ser modificables por otros archivos, siempre y cuando contengan el mismo nombre.

archivoTXT = 'TestVectors/text.txt'
archivoPDF = 'TestVectors/file.pdf'
archivoIMG = 'TestVectors/img.png'

Adicionalmente, el proyecto puede ejecutarse por medio de Google Colab. En este caso, ejecute el comando !git clone y la celda:

# Ejecuta el benchmark. Guarda las gráficas en el directo /content/, actualizar.
!python CryptoBenchmark/Linux/main.py

Enlace: https://colab.research.google.com/drive/15XAsx_5nkcKkQgp1e9qRT4wmdo6X4fn7?usp=sharing

Las gráficas se guardarán en el directorio /content/ como se observa a continuación:

image

Si desea añadir otros archivos de distinta naturaleza, modifique la ruta del archivo en los scripts run_Benchmark y run_Signature.

Autores

cryptobenchmark's People

Contributors

jtglez avatar derek533z avatar chow-chow avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.