Question seems to be closed. secp256r1 Cryptopp representation not allows 
scalar multiplication for not-odd modulus. And from standard it is not-odd!

Some code if anybody wants to test for self. Params from 
here: http://www.secg.org/SEC2-Ver-1.0.pdf .

CryptoPP::Integer m, a, b;
CryptoPP::byte m_str[] = 
"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF";
CryptoPP::byte a_str[] = 
"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC";
CryptoPP::byte b_str[] = 
"5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B";


m.Decode(&(m_str[0]), sizeof(m_str) / sizeof(m_str[0]),CryptoPP::Integer::
UNSIGNED);
a.Decode(&(a_str[0]), sizeof(a_str) / sizeof(a_str[0]), CryptoPP::Integer::
UNSIGNED);
b.Decode(&(b_str[0]), sizeof(b_str) / sizeof(b_str[0]), CryptoPP::Integer::
UNSIGNED);
bool is_odd = m.IsOdd();
CryptoPP::ECP field(m,a,b);
//CryptoPP::DL_GroupPrecomputation<CryptoPP::ECP>::Element group(field);
//multiplying over this field
CryptoPP::ECPPoint p_result = field.ScalarMultiply(p_eph, priv_int);

Why so? it is a standart curve, why not allowing scalar multiplication?!

-- 
You received this message because you are subscribed to "Crypto++ Users". More 
information about Crypto++ and this group is available at 
http://www.cryptopp.com and 
http://groups.google.com/forum/#!forum/cryptopp-users.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to