#ecdsa #signature-scheme #zero-knowledge #plume #nullifier

plume_arkworks

Implementation of PLUME: nullifier friendly signature scheme on ECDSA; using the arkworks-rs libraries

1 unstable release

0.0.1 Dec 15, 2024

#66 in #ecdsa

Download history 113/week @ 2024-12-12 7/week @ 2024-12-19

120 downloads per month

MIT license

74KB
1K SLoC

https://github.com/plume-sig/zk-nullifier-sig/blob/main/README.md


lib.rs:

This crate provides the PLUME signature scheme.

See https://blog.aayushg.com/nullifier for more information.

Find the crate to use with RustCrypto as plume_rustcrypto.

Examples

use plume_arkworks::{PlumeSignature, PlumeVersion, SWCurveConfig};
use rand_core::OsRng;

    let message_the = b"ZK nullifier signature";
    let sk = PlumeSignature::keygen(&mut OsRng);

    let sig = PlumeSignature::sign(
        &mut OsRng, (&sk.0, &sk.1), message_the.as_slice(), PlumeVersion::V1
    );

    assert!(
        sig.unwrap()
        .verify_non_zk(
            &plume_arkworks::Parameters{
                g_point: plume_arkworks::secp256k1::Config::GENERATOR
            },
            &sk.0,
            message_the,
            PlumeVersion::V1
        ).unwrap()
    );

Dependencies

~7.5MB
~139K SLoC