Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tbls: library for BLS12-381 abstraction #1692

Merged
merged 22 commits into from
Jan 30, 2023
Merged

Commits on Jan 20, 2023

  1. tbls: first iteration of BLS abstraction

    This commit also adds an example implementation of the BLS abstraction for Herumi's BLS library.
    
    This code is not finished (missing testing, and many Godoc comments), and it is pushed as a request for comment from the team.
    gsora committed Jan 20, 2023
    23 Configuration menu
    Copy the full SHA
    aa59047 View commit details
    Browse the repository at this point in the history
  2. tbls: implement BLS abstraction as a thin layer on top of []byte obje…

    …cts.
    
    The `taketwo` package is a placeholder, once we settle on an interface it will be all merged under `tbls`.
    gsora committed Jan 20, 2023
    9 Configuration menu
    Copy the full SHA
    06b7626 View commit details
    Browse the repository at this point in the history
  3. tbls: refactor variable initialization

    use `var x type` form
    gsora committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    4be276b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9a4ac38 View commit details
    Browse the repository at this point in the history
  5. tbls: replace raw []byte with specialized types

    Just a thin wrapper over []byte, to favorite type safety.
    gsora committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    7bd40dc View commit details
    Browse the repository at this point in the history
  6. tbls: pass total and threshold parameters to RecoverSecret

    Needed because Kryptology API requires it.
    gsora committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    e90f9d0 View commit details
    Browse the repository at this point in the history
  7. tbls: partial Kryptology implementation of tbls.Interface

    Missing ThresholdAggregate, Verify and Sign, plus tests.
    gsora committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    5626ff2 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2023

  1. tbls: generalize testing framework

    Since we're trying to abstract library details, it makes sense to have a common set of tests, and something in place that allows us to run it by switching the underlying implementation.
    gsora committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    74178d2 View commit details
    Browse the repository at this point in the history
  2. tbls: complete Kryptology implementation of taketwo.Implementation

    Shared test suite looks alright.
    gsora committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    67ab196 View commit details
    Browse the repository at this point in the history
  3. tbls: add randomized taketwo.Implementation

    This taketwo.Implementation takes a set of taketwo.Implementation's, and whenever one of the interface's method is called it takes one randomly.
    
    This is useful for testing, since it can tell us whether a set of taketwo.Implementation's are compatible among themselves.
    gsora committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    660eadf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1f96967 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5d88381 View commit details
    Browse the repository at this point in the history
  6. tbls: add FuzzRandomImplementations fuzzing target

    Helps with randomization/compatibility testing.
    gsora committed Jan 23, 2023
    Configuration menu
    Copy the full SHA
    2202389 View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2023

  1. Configuration menu
    Copy the full SHA
    4c8f2d7 View commit details
    Browse the repository at this point in the history
  2. tbls: rename taketwo to v2

    Once we migrate away from the original bls abstraction implementation, v2 package content will move to the root tbls package.
    gsora committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    ec3818a View commit details
    Browse the repository at this point in the history
  3. tbls: PublicKey, PrivateKey and Signature are now arrays

    Helps with type safety.
    gsora committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    a196c49 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    012e813 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2023

  1. tbls: fix golangci-lint errors

    gsora committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    7ed71c1 View commit details
    Browse the repository at this point in the history
  2. tbls: fix pre-commit issues

    gsora committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    f18d063 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bd4daee View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ad3cac8 View commit details
    Browse the repository at this point in the history
  5. testutil: remove CGO_ENABLE=0

    herumi uses cgo.
    gsora committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    c5c7160 View commit details
    Browse the repository at this point in the history