Skip to content

EllipticCurvePoint.SignECDSA k is not cryptographically secure #3

@Javantea

Description

@Javantea

I found a vulnerability in EllipticCurvePoint.SignECDSA. You use random.randint to generate k. random.randint is not a cryptographically secure random number generator.

From Wikipedia:
3. Select a cryptographically secure random integer k from [1, n-1].

Using a weak PRNG for k can result in the compromise of the private key d. For example: "Such failure of RNG caused users of Android Bitcoin Wallet to lose their funds in August 2013."
https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions