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

plume_arkworks

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

4 releases

0.0.4 Jun 6, 2025
0.0.3 Jun 5, 2025
0.0.2 May 28, 2025
0.0.1 Dec 15, 2024

#3 in #nullifier

MIT license

75KB
1.5K 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::{
    PlumeSignaturePublic, PlumeSignaturePrivate, PlumeVersion, sign, SWCurveConfig, CurveGroup,
    secp256k1::{Fr, Config},
    rand::rngs::OsRng
};

    let message_the = b"ZK nullifier signature";
    // you should get the real secret key you for signing
    let sk = <Fr as ark_ff::UniformRand>::rand(&mut OsRng);

    let sig = sign(
        &mut OsRng, (
            &(Config::GENERATOR * sk).into_affine(),
            &sk,
        ), message_the.as_slice(), PlumeVersion::V1
    );

Dependencies

~5.5MB
~102K SLoC