Skip to content

MohamadMansouri/crypto-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crypto Building Blocks

This repo contains the source code of some cryptographic tools which might be useful for researchers to easily and efficiently prototype new security protocols. It mainly uses the GMP library to perform computation on large numbers. We only use OpenSSL to import AES encryption functionality.

It contains:

  • A library for arithmetic field operations
  • A library for elliptic curve cryptography: We currently support two curves secp256r1 and bn254 (pairing is not yet implemented).
  • Implementation of Shamir's Secret Sharing.
  • Implementation of an Oblivious Transfer Protocol based on Dual-Mode Encryption. The protocol is presented in crypto'08.
  • Implementation of PUDA Unforgeable Secure Aggregation protocol. The protocol is presented in CANS'15.
  • Implementation of an Oblivious Programable Pseudo Random Function. The protocol is presented in sacmat'22.
  • More protocol prototypes and functionalities will be added regularly

Requirements

  • GMP library (install from here)
  • OpenSSL (we only use AES for the implementation of OPPRF)

Building

mkdir build
cd build && cmake ..
make
ctest --verbose

About

Crypto Building Blocks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published