On Dec 21, 10:58 pm, "Andrew B." <[email protected]> wrote:
> Thanks for the info.  I've been going through the ecctest.zip example at
> the bottom ofhttp://www.cryptopp.com/wiki/Elliptic_Curve_Cryptography
>
> I need to do something pretty similar for sending packets containing
> encrypted values in a simulation.  But I couldn't find anywhere where the
> key size was specified.  It needs to be reasonably secure for the
> simulation to be accurate, of course, and I was trying to find out of there
> was a way to have fixed sizes for the ciphertexts.
A quick and dirty sample was added at
http://www.cryptopp.com/wiki/Elliptic_Curve_Integrated_Encryption_Scheme#Sample_Code.

Printing the private key was more trouble than I expected. There was
no simple Element = GetBase() (for the base point); nor was there a
simple Element = GetPublicElement() (I just did the exponentiation (or
multiplication, if you prefer)).

// Base (odd way to retrieve)
const ECPPoint& base = bpc.GetBase(params.GetGroupPrecomputation());
// Public Key (just do the exponentiation)
const ECPPoint point =
bpc.Exponentiate(params.GetGroupPrecomputation(),
key.GetPrivateExponent());

Also, something looks broken here:

// This crashes due to NotImplemented exception, but it should work.
We are trying to generate a key,
// and the call is being made on a DL_PrivateKeyImpl<...>.
NotImplemented is thrown
// when generating curves since Crypto++ does not do it (point
counting is tricky business).
// 
http://sourceforge.net/tracker/?func=detail&aid=3598113&group_id=6152&atid=356152
//ECIES<ECP>::Decryptor decryptor;
//
decryptor.AccessKey().AccessGroupParameters().Initialize(ASN1::secp256r1());
//decryptor.AccessKey().GenerateRandom(prng, g_nullNameValuePairs);

Jeff

> On Friday, December 21, 2012 7:03:00 PM UTC-6, Jeffrey Walton wrote:
>
> > On Dec 20, 5:58 pm, "Andrew B." <[email protected]> wrote:
> > > What is the default key size for ECIES keys? I'm following the ecctest
> > > example from the wiki, which doesn't specify a key size anywhere, and I
> > > can't find any information about a default value or a function for
> > finding
> > > the size of a key.
> > ECIES is part of a family of encryption systems based on Diffie-
> > Hellman called DHAES. Abdalla, Bellare, and Rogaway's paper:
> >http://www.cs.ucdavis.edu/research/tech-reports/1998/CSE-98-13.pdf.
>
> > The ECIES structure is declared in eccrypto.h (http://www.cryptopp.com/
> > docs/ref/struct_e_c_i_e_s.html<http://www.cryptopp.com/docs/ref/struct_e_c_i_e_s.html>).
> > Comments in the header indicate the
> > best security and efficiency is obtained with
> > IncompatibleCofactorMultiplication and DHAES_MODE = true.
>
> > To see how the library uses ECIES, take a look at validat2.cpp,
> > ValidateECP() and ValidateEC2N():
>
> >     ECIES<ECP>::Decryptor cpriv(GlobalRNG(), ASN1::secp192r1());
> >     ECIES<ECP>::Encryptor cpub(cpriv);
> >     ....
>
> > and
>
> >     ECIES<EC2N>::Decryptor cpriv(GlobalRNG(), ASN1::sect193r1());
> >     ECIES<EC2N>::Encryptor cpub(cpriv);
> >     ...
>
> > I'll try to get an example up on the wiki soon. Its been on my TODO
> > list for too long.

-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.

Reply via email to