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

Plonk: transcript hasher #61

Merged
merged 25 commits into from
Sep 16, 2022
Merged

Plonk: transcript hasher #61

merged 25 commits into from
Sep 16, 2022

Commits on Sep 12, 2022

  1. plonk: replaced structure transcript_hash_t with class transcript_has…

    …her that makes a call to hash function. for the moment it directly returns the expected hash values for the purposes of testing. addresses issue #56.
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    cfee874 View commit details
    Browse the repository at this point in the history
  2. plonk: implementation of transcript hasher, addressing issue #56 and PR

    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    138edec View commit details
    Browse the repository at this point in the history
  3. plonk: moved the initialisation of the array of expected hash values …

    …to the transcript hasher constructor (cf. #61 (comment)); added exception handling in case the buffer length is invalid (cf. #61 (comment))
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    55fb227 View commit details
    Browse the repository at this point in the history
  4. plonk: removed catching the invalid size exception within the get_has…

    …h function. the caller must handle it.
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    e6415bf View commit details
    Browse the repository at this point in the history
  5. plonk: removed computation of the challenge u at the end of the prove…

    …r process since u is not used by the prover anyway. removed the automatic clearing of the hasher buffer inside get_hash. the caller is now responsible to clear the buffer when reusing the same hasher object. see also PR comment #61 (comment) .
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    b6cb38e View commit details
    Browse the repository at this point in the history
  6. plonk: use std::count to check if the hasher buffer is of valid lengt…

    …h instead of explicitly checking all valid lengths.
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    7a9483a View commit details
    Browse the repository at this point in the history
  7. plonk: removed doc comments /// from cpp and tcc files. left only in …

    …headers. addresses #61 (comment)
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    91e7bb2 View commit details
    Browse the repository at this point in the history
  8. plonk: moved constructor of transcipt_hasher class as first method in…

    … the class. addresses #61 (comment)
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    e751e98 View commit details
    Browse the repository at this point in the history
  9. plonk: added back the computation of the multipoint challenge u in th…

    …e last round of the prover. we need to compute u even though we are not using it in the prover in order to make sure that the prover and verifier make exactly the same number of calls to transcript_hasher.get_hash(). addresses PR #61 comment #61 (comment)
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    c4dccd1 View commit details
    Browse the repository at this point in the history
  10. plonk: in transcript_hasher removed the private buffer variable as an…

    … input parameter to the constructor. only the object has access to the buffer now. addresses PR #61 comment #61 (comment)
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    b42bc2a View commit details
    Browse the repository at this point in the history
  11. plonk: moved function signature comments from .tcc to .hpp files only…

    …; removed redundant comments indicating class constructors' other minor comments formatting
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    d8bdc13 View commit details
    Browse the repository at this point in the history
  12. plonk: replaced test values in transcript_hasher with values from the…

    … plonk_example class; addresses #61 (comment) .
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    dcb5ce8 View commit details
    Browse the repository at this point in the history
  13. plonk: removed redundant debug info and unreachable debug checks. add…

    …resses PR# 61.
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    bc297b9 View commit details
    Browse the repository at this point in the history
  14. plonk: set transcript hasher constants alpha, beta, ... to type const…

    …. see PR #61
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    64069a0 View commit details
    Browse the repository at this point in the history
  15. plonk: added the transcript_hasher class as an additional specializat…

    …ion parameter to the prover and verifier classes. moved the current transcript_hasher class from files srs.* to its own files under tests, the reason being that its implementation is specific to the bls12-381 curve. set the prover and verifier to be instantiated with this bls12-381-specific implementation of transcript_hasher. this commit addresses steps 2. and 4. from comment #61 (comment) of PR#61.
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    b8665f2 View commit details
    Browse the repository at this point in the history
  16. plonk: created a new transcript_hasher.hpp file with just a comment t…

    …hat describes the interface of a common transcript hasher. addresses step 1. from comment #61 (comment) of PR#61.
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    b423eec View commit details
    Browse the repository at this point in the history
  17. plonk: replaced the checks over all valid buffer lengths in the trans…

    …cript hasher with a while loop directly finding the correct length; addresses #61 (comment) .
    Vesselin Velichkov committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    0fbd9ab View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2022

  1. plonk: replaced challenge_str map with a vector. addresses #61 (comment)

     .
    Vesselin Velichkov committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    0508ed5 View commit details
    Browse the repository at this point in the history
  2. plonk: combine two error checks that are functionally the same into o…

    …ne. addresses #61 (comment) .
    Vesselin Velichkov committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    5f62026 View commit details
    Browse the repository at this point in the history
  3. plonk: declared const challenge upon assignment in bls12_381_test_vec…

    …tor_transcript_hasher::get_hash(). addresses #61 (comment) .
    Vesselin Velichkov committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    9453d58 View commit details
    Browse the repository at this point in the history
  4. plonk: removed redundant this-> in get_hash. addresses #61 (comment) .

    Vesselin Velichkov committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    2979026 View commit details
    Browse the repository at this point in the history
  5. plonk: created length and challenge arrays as const members of class …

    …bls12_381_test_vector_transcript_hasher initialized in the constructor. addresses #61 (comment) .
    Vesselin Velichkov committed Sep 13, 2022
    Configuration menu
    Copy the full SHA
    d923414 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2022

  1. plonk: amended comments to transcript hasher code according to sugges…

    …tions in #61 (comment) .
    Vesselin Velichkov committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    5e49971 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2022

  1. plonk: replaced while loop in get_hash with for loop; assert-ed that …

    …length and challenge arrays are of same length in transcript hasher constructor; minor edits. addresses lates comments in PR #61 .
    Vesselin Velichkov committed Sep 15, 2022
    Configuration menu
    Copy the full SHA
    92e7806 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2022

  1. plonk: renamed example.tcc to example.cpp. added example.cpp and bls1…

    …2_381_test_vector_transcript_hasher.cpp to CMakeLists.txt. added several headers to fix compilation errors.
    Vesselin Velichkov committed Sep 16, 2022
    Configuration menu
    Copy the full SHA
    a30695f View commit details
    Browse the repository at this point in the history