solcrypto icon indicating copy to clipboard operation
solcrypto copied to clipboard

Solidity crypto libraries, ring signatures, proof of knowledge, packed signatures etc. with matching Python implementations for secp256k1 and (alt)BN-256

Results 11 solcrypto issues
Sort by recently updated
recently updated
newest added

I want to use schnnor to realize anonymous transfer on ethereum how do i do

`aosring.py` doesn't work due to an updated version of [py_ecc](https://pypi.org/project/py-ecc/#history). It is necessary to rewrite code for the latest version or clarify the old version with which pysolcrypto works in...

I read the implementation of the uaosring.py and I see that returned tag is the result of multiplying the message, and not the public key list hash (like pointed in...

This roughly matches the BLS paper, with signatures on G1 and keys on G2. There is an IETF working group writing a spec for BLS signatures: https://github.com/pairingwg/bls_standard We should aim...

This might be also super useful to be implemented in Solidity. The original paper by Lan Nguyen: https://eprint.iacr.org/2005/123.pdf which is already implemented in this library. This construction can also support...

Quite similar to [Schnorr ZKP](https://github.com/HarryR/solcrypto/blob/master/contracts/Schnorr.sol)s, so would be quite easy to implement and add it. A prover can convince a verifier that she indeed knows the committed value in zero-knowledge....

Travis CI is failing: https://travis-ci.org/HarryR/solcrypto/builds/506729930?utm_source=github_status&utm_medium=notification

https://eprint.iacr.org/2019/196 This could be an improvement upon linkable ring signatures, but looks expensive (pairings, encryption, extra signatures etc.)

From: https://ethresear.ch/t/precompiled-snark-pairing-for-bls-signatures/3196/8 ------- One problem you're may run into with pairing equalty checks on-chain is the `ECPAIRING` operation doesn't allow you to directly compare arbitrary pairings without some (potentially dangerous)...

The linkable ring signature requires two additional point multiplications and a point addition per round. ```python a = add(sbmul(t), multiply(y, c)) b = add(multiply(M, t), multiply(tag, c)) ``` The problem...