Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® Integrated Performance Primitives
- Difference between IPP's elliptic curve cryptography "Functions based on GF(p)" and "Functions for the Elliptic Curve over GF(p)"

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted
I'm working in the area of elliptic curve cryptography, and I'm trying to figure out the difference between two families of IPP cryptography functions. Under the section "Elliptic Curve Cryptography Functions" is a subsection titled **"Functions based on GF(p)"**. How are these different from the subsection of "Arithmetic of the Group of Elliptic Curve Points" called **"Functions for the Elliptic Curve over GF(p)"**?

From what I can tell, the functions are all the same with the exception that the former works with IppsBigNumState contexts, while the latter works with IppsGFPElement contexts. Is this the only difference? I haven't experimented with them yet, but I was wondering if one set of functions would be faster than the other? Can anyone offer some insight?

kleboeuf

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-30-2012
01:12 PM

28 Views

From what I can tell, the functions are all the same with the exception that the former works with IppsBigNumState contexts, while the latter works with IppsGFPElement contexts. Is this the only difference? I haven't experimented with them yet, but I was wondering if one set of functions would be faster than the other? Can anyone offer some insight?

Accepted Solutions

Highlighted

Ying_H_Intel

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-31-2012
10:55 PM

28 Views

Andrzej, Thanks you for the explanation. I add some comments from IPP developer.

Right, their basic functionalityare the same because of both represent the same math group.

The less formal difference is the following:

-ECCP"Functions based on GF(p)" areover prime field only

-**GFp**EC supports EC over prime GF(p) as well as over it extensions GF(p^m) and its tower extensions.

The key problem isthat ECCP*was designedforpublic cryptographic functions, such asthe functionalityis enhanced (signing/verifying, DH support)whilethe **GFp**ECwas designed forinternal product and we planed to dropp them in the future release.

So I'd like tosuggest you touse the first one ECCp(based on BN). and ignore the seond oneas **GFp**ECwill not be supported in the future IPP versions.

Best Regards,

Ying

4 Replies

Highlighted
Hello kleboeuf

You can compare the example from section 17.5

and the second example from section 21.3

of our guide

http://software.intel.com/en-us/articles/ipp-crypto-guide/

(you can easily modify one of these examples to obtain the same curve

and check the efficiency)

Notice that

only in ECCP* functions (based on BigNums) you can find such cryptographic

functions as digital signature or Diffie-Hellman scheme.

in GFPEC* (based on GF(p)) you have only arithmetic -no cryptographic functions

Source codes in GFPEC* case look more complicated but it is possible

to consider for example the extension fields G(p^m) in an analogous manner (impossible in ECCP* aopproach)

Andrzej Chrzeszczyk

Andrzej_Chrzeszczyk

New Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-31-2012
01:43 PM

28 Views

You can compare the example from section 17.5

and the second example from section 21.3

of our guide

http://software.intel.com/en-us/articles/ipp-crypto-guide/

(you can easily modify one of these examples to obtain the same curve

and check the efficiency)

Notice that

only in ECCP* functions (based on BigNums) you can find such cryptographic

functions as digital signature or Diffie-Hellman scheme.

in GFPEC* (based on GF(p)) you have only arithmetic -no cryptographic functions

Source codes in GFPEC* case look more complicated but it is possible

to consider for example the extension fields G(p^m) in an analogous manner (impossible in ECCP* aopproach)

Andrzej Chrzeszczyk

Highlighted

Ying_H_Intel

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-31-2012
10:55 PM

29 Views

Andrzej, Thanks you for the explanation. I add some comments from IPP developer.

Right, their basic functionalityare the same because of both represent the same math group.

The less formal difference is the following:

-ECCP"Functions based on GF(p)" areover prime field only

-**GFp**EC supports EC over prime GF(p) as well as over it extensions GF(p^m) and its tower extensions.

The key problem isthat ECCP*was designedforpublic cryptographic functions, such asthe functionalityis enhanced (signing/verifying, DH support)whilethe **GFp**ECwas designed forinternal product and we planed to dropp them in the future release.

So I'd like tosuggest you touse the first one ECCp(based on BN). and ignore the seond oneas **GFp**ECwill not be supported in the future IPP versions.

Best Regards,

Ying

Highlighted
Thanks Ying, that's exactly what I was trying to figure out. Since a lot of the functionality is reproduced I had a feeling that one set would get dropped sometime in the future.

kleboeuf

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-01-2012
06:50 AM

28 Views

Highlighted
Thanks Andrzej, I use your cryptoguide all the time, it's a wonderful resource. I was mainly curious to hear if there was a recommended set of functions to go with in the case that whatever you're trying to do can be done using either the ECCP or GFPEC functions.

Thanks again for that great guide; it's saved me a lot of headaches getting things up and running, and I still refer to it whenever I get stuck.

kleboeuf

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-01-2012
06:53 AM

28 Views

Thanks again for that great guide; it's saved me a lot of headaches getting things up and running, and I still refer to it whenever I get stuck.

For more complete information about compiler optimizations, see our Optimization Notice.