fplll
ExprTK
fplll | ExprTK | |
---|---|---|
2 | 10 | |
292 | 577 | |
1.4% | - | |
5.4 | 0.0 | |
about 1 month ago | 4 months ago | |
C++ | C++ | |
GNU Lesser General Public License v3.0 only | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fplll
-
Schnorr confirms paper is his, claims it “destroys RSA cryptosystem”
It's using the FPLLL lattice reduction library.
-
Did Schnorr destroy RSA? Show me the factors
where ~= means "approximately equal to".
u is chosen as the product of primes of all a_i > 0 and v is chosen to be the product of all primes where a_i < 0. The hope is that (u - v*N) is also p_{n-1}-smooth, which, as far as I understand, most of the math in the paper is trying to justify.
The main innovation here, as far as I can tell, is that Schnorr is fiddling with the 'weighting' of the main diagonal when constructing the lattice basis. I interpret this as basically trying to randomize the initial lattice basis so that the chances of getting a different integer relation (for eventual construction of u,v) is more probable.
I've been confused about this for over a decade as variants of this algorithm, and Schnorr's work in general, have been well published. For example, there's a paper from 2010 on "A Note on Integer Factorization Using Lattices" by Antonio Vera which discusses Schnorr's [3] construction.
Is Schnorr trying to shout louder so people will listen or is there something else fundamentally flawed with this type of algorithm?
Just a word of warning, LLL solves polynomial factorization in polynomial time (given a polynomial with integer coefficients, find it's factor polynomials also with integer coefficients) [4] and has been used to break other (now very old) cryptosystems [5]. If there's a candidate algorithm to solve integer factoring, lattice reduction (LLL, PSLQ, etc.) are it.
I know of fplll that's a stand alone (FOSS) implementation of LLL and some extensions (BKZ, etc.) [6].
[0] https://en.wikipedia.org/wiki/Lattice_reduction
[1] https://en.wikipedia.org/wiki/Lenstra%E2%80%93Lenstra%E2%80%...
[2] https://www.newton.ac.uk/files/seminar/20140509093009501-202...
[3] https://arxiv.org/pdf/1003.5461.pdf
[4] https://en.wikipedia.org/wiki/Factorization_of_polynomials#F...
[5] https://web.eecs.umich.edu/~cpeikert/lic13/lec05.pdf
[6] https://github.com/fplll/fplll
ExprTK
-
A Cpp library to evaluate mathematical literal expressions dynamically
I have found many libraries that can evaluate mathematical expressions, e.g. this one: https://www.partow.net/programming/exprtk/index.html
-
Better library for evaluating math expressions stored on a String
I have used https://github.com/ArashPartow/exprtk for this task, since it is cpp we also used on IOS, however in android we changed to exp4j since it requires less space and did the same job.
-
What do I do if a repo only has a make file and I'm on windows?
For the specific example repo you cited, the project website also offers some preconfigured example MSVC solutions. You may find this much easier to get set up and running if using a Makefile is not a hard requirement.
- What are some projects that taught you a lot?
-
How to calculate an expression that is stored in a string in C++
This ExprTk library looks promising: https://www.partow.net/programming/exprtk/index.html
-
A boolean logic simulator written in c++ & opengl 3.3. This is a toy project I'm currently developing to help me learn c++ & opengl. No libraries used, apart from stb_image and glad.
Now there are lots of libraries out there for expression processing as well. I would recommend exprtk: https://github.com/ArashPartow/exprtk
- library for solving equations from string?
-
Regular language input math operations
If your actual goal isn't to implement it yourself and you need it for something else, take a look at this library: https://github.com/ArashPartow/exprtk