Code Monkey home page Code Monkey logo

ecdsa-polynomial-nonce-recurrence-attack's People

Contributors

amietn avatar sylvainpelissier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ecdsa-polynomial-nonce-recurrence-attack's Issues

The practical impact

Hello,

I read your paper at iacr.org, thank you for detailed explanation, but I have a question: what is a practical impact of your “new attack” if all nonces are generated in a random way?

I mean this is a pretty obvious that if nonces are in a known sequence, secrets might be revealed, just trying to understand the full picture of your method. Are you like trying to understand the relation for given nonces and solve the matrix of equations, or you’re analyzing nonces using known sequences?

Thank you.

But

Nevermind. I misunderstood.

pubkey errors

Hello, my friend!Please look at my correct output in the console, otherwise pubkey errors confuses me
Start time UTC: 2023-09-27 16:19:49.931918
Expected end time and date UTC 2023-09-27 16:26:50.000895
Successful attacks: 0
Total pubkey errors: 0
Lines percentage: 11.41%
Batches processed: 575
Lines count: 4572
Lines/s 101.65
Start time UTC: 2023-09-27 16:19:49.931918
Expected end time and date UTC 2023-09-27 16:27:08.909127
Successful attacks: 0
Total pubkey errors: 0
Lines percentage: 11.41%
Batches processed: 600
Lines count: 4572
Lines/s 97.76
Start time UTC: 2023-09-27 16:19:49.931918
Expected end time and date UTC 2023-09-27 16:27:25.701429
Successful attacks: 0
Total pubkey errors: 0
Lines percentage: 11.41%
Batches processed: 625
Lines count: 4572
Lines/s 94.58
Start time UTC: 2023-09-27 16:19:49.931918
Expected end time and date UTC 2023-09-27 16:27:41.269610
Successful attacks: 0
Total pubkey errors: 0
Lines percentage: 11.41%

Conversion from SageMath to SymPy

I am running some tests on your project with the original attacks. The SageMath environment works perfectly on my Linux desktop, but I am attempting to convert the code from SageMath libraries to SymPy so that I can continue to test on my phone's PyDroid 3 app. The two lines of code that I am having an issue with converting are:

> (dd,) = R._first_ngens(1)

I have converted the original functions preceding the above to:

> dd = symbols('dd')
> Z = GF(usedcurve.order)
> R = PolynomialRing(Z, symbols = ('dd',))

I am trying to build the functions for the PolynomialRing so that calculation of the roots produces accurate results. This brings me to the second line of code that is causing me an issue:

> d_guesses = poly_target.roots()

I have converted this (thus far) using the multivariate roots functions of SymPy without success on evaluating the roots properly. At present this is the converted code snippet:

> d_guesses1 = real_roots(poly_target)
> d_guesses2 = [[int(root.evalf()) % usedcurve.order] for root in d_guesses1]

This is simply resulting in [0][1]. With other functions I am receiving an output of irrational numbers, or the entire roots factorial equation displayed.

Any assitance you are able to provide would be very welcome to assist with testing the original attacks on our mobile devices without using the SageMath environment. Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.