Intel® Software Guard Extensions (Intel® SGX)
Discussion board focused on hardware-based isolation and memory encryption to provide extended code protection in solutions.
1453 Discussions

Is it possible to perform curve operations directly in SGX?

Terry_Chen
Beginner
956 Views

Hi community!

sgx_tcypto provides many cryptographic primitives. But what if I just want to directly perform some curve operations like ECadd or point multiplication in enclave?

They should be basic operations in those cryptographic primitives, but not included in sgx_tcypto.h.

0 Kudos
1 Solution
Sahira_Intel
Moderator
859 Views

Hi Terry,

Apologies for the late response. The cryptographic primitives are not exposed by sgx_tcrypto.h but are supported by the IPP Crypto library, so they can be used within an enclave.


This might be useful to you: https://www.intel.com/content/www/us/en/develop/documentation/ipp-crypto-reference/top/public-key-cryptography-functions/elliptic-curve-cryptography-functions/arithmetic-of-the-group-of-elliptic-curve-points.html


Sincerely,

Sahira


View solution in original post

0 Kudos
2 Replies
Sahira_Intel
Moderator
860 Views

Hi Terry,

Apologies for the late response. The cryptographic primitives are not exposed by sgx_tcrypto.h but are supported by the IPP Crypto library, so they can be used within an enclave.


This might be useful to you: https://www.intel.com/content/www/us/en/develop/documentation/ipp-crypto-reference/top/public-key-cryptography-functions/elliptic-curve-cryptography-functions/arithmetic-of-the-group-of-elliptic-curve-points.html


Sincerely,

Sahira


0 Kudos
ElioB
Novice
413 Views

Hi @Terry_Chen thank you for the post.

I am not a domain expert, however, I have a few suggestions. I have encountered the same issue while working for a leading ai development services provider. If you are really looking for specific elliptic curve operations like ECadd or point multiplication and can't find these operations readily available, you have few options,

Either go for custom implementation, where you can implement them manually within the GSX enclave.

Or depend on external libraries

Or look for documentation and forums & communities

0 Kudos
Reply