Comments (2)
Thanks @roadicing.
I got to thinking about things... I don't think we should try to fix things for the user, like sorting exponents in descending order. The problem is, we can 'fix' the PolynomialMod2
objects, but then there's GP2NT
, GP2NPP
and friends. Also see gf2n.cpp:
GF2NT::GF2NT(unsigned int c0, unsigned int c1, unsigned int c2)
: GF2NP(PolynomialMod2::Trinomial(c0, c1, c2))
, t0(c0), t1(c1)
, result((word)0, m)
{
// Asserts and checks due to Bing Shi
CRYPTOPP_ASSERT(c0 > c1 && c1 > c2 && c2==0);
// The test is relaxed because of ECIES<EC2N>. The high order exponent is t0,
// but the other exponents are not in descending order.
if (c1 > c0 || c2 > c0)
throw InvalidArgument("GF2NT: exponents must be in descending order");
}
What we added was a check to ensure other exponents were less that t0
since t0
drives the degree of the polynomial. If the check fails, then throw an exception. Also see Commit 641ae35258de and Commit 93208e83937a.
from cryptopp.
Yes, and this should be sufficient to fix this issue, thank you for your assistance.
from cryptopp.
Related Issues (20)
- Compile warnings in VS 2022 17.8.0 - stdext::make_checked_array_iterator stdext::make_unchecked_array_iterator beeing deprecated HOT 1
- Memory leak problem!! HOT 2
- Crypto++ needs to support a fixed target HOT 2
- Poly1305 null pointer passed as argument 1 HOT 1
- Django cipher texts not matching Crypto++ cipher texts.
- destructor delete problem with own dialog program with MFC (Unicode/Use MFC in a Shared DLL) VS2015
- Memory leak in signature verification HOT 2
- repo too large, git clone often failed due to rpm connection timeout
- Compilation fails using MSYS2 CLANGARM64 toolchain
- Leak the Secret Key of Elgamal Encryption in Cryptopp via Rowhammer HOT 1
- ld.lld: error: duplicate symbol: CryptoPP::CallNewHandler()
- Add support for Elliptic Curves of Genus n (Hyperelliptic Curves)
- Infinite execution behavior in main branch
- Integer class errors
- ECP::ScalarMultiply() may seemingly miscompute for small scalars when using Ubuntu 20.04.6 LTS on 64-bit Intel CPUs HOT 6
- [x25519] donna function `curve25519_mult` generated different shared key HOT 1
- PGP signing key has expired
- Compilation issue with clang on X86
- Assertion failed: integer.cpp(3049):Integer HOT 1
- Warning in esign.cpp with 8.9.0 and gcc-14.1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cryptopp.