Code Monkey home page Code Monkey logo

crypto-lib's Introduction

SmoothCryptoLib (SCL)

A Cryptographic Library for Smooth Blockchain uses.

Compilation

Clone the repository, then type forge test. (Some troubles are solved running foundryup and forge init --force)

Deployment

Run deploy.sh to deploy the code on a target chain. The values $RPC and $CHAINID shall be set to the chain ones. The toy private and public key shall be replaced and funded (current can be used for testnet).

Benchmarks

Forge results

The benchmarks are performed by averaging forge results over a loop of 100 tests. Be sure to avoid the use of -via-IR and set foundry.toml correctly to reproduce correct measurements.

curve Function gas Comment File
P256 SCL_ECDSAB4.verify 159K ECDSA using RIP7696 (second opcode) libSCL_ECDSAb4.sol

Onchain results

PR # Create2 Mainnets Testnets
N/A 0x05eFAC4C53Ec12F11f144d0a0D18Df6dfDf83409 Sepolia ,Optimism

Audits

Team branch Target status
CryptoExperts CryptoExperts P256 In Progress

Curves implementation status

curve status branch Comment File
P256 OK main ECDSA using RIP7696 (first opcode) libSCL_7212.sol
P256 OK main ECDSA using RIP7696 (second opcode) libSCL_ECDSAb4.sol
Ed25519 OK main EDDSA using RIP7696 (first opcode) with isogenies libSCL_RIP6565.sol

Acknowledments

The following work has been half-funded by the Ethereum Fundation grant number FY24-1386:

  • ed25519 solidity (libSCL_RIP6565.sol )

SCL is build by the same team of the previous FCL. As such all previous contributors are credited.

License

License: This software is licensed under MIT License (see LICENSE FILE at root directory of project).

crypto-lib's People

Contributors

rdubois-crypto avatar tw7613781 avatar qd-qd 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.