CommonCrypto lacks Diffie-Hellman implementation. Make CommonCrypto CommonDH.h header public.

Originator:alex.sporn
Number:rdar://16704478 Date Originated:23-Apr-2014 11:32 PM
Status:Open Resolved:
Product:iOS SDK Product Version:7.1
Classification:Enhancement Reproducible:Always
 
Summary:
CommonCrypto currently lacks a way to generate encryption keys using Diffie-Hellman.

The only available option is to include a statically linked 3rd party library like OpenSSL to be able to generate keys using Diffie-Hellman or to do BigNum math on iOS.

Taking a look at Apple’s open source implementation of CommonCrypto (http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-60049/include/) you can find further headers not yet made public in the official iOS and OS X SDKs.
Headers like CommonDH.h include functions to generate keys using the mentioned algorithms. The annotations behind the CCDH* functions tells us, that the functions were included starting with iOS 5.0 (and OS X 10.8) but were never made public.

Steps to Reproduce:
Look at the public CommonCrypto headers included in the iOS SDK.

Expected Results:
The public CommonCrypto headers shipped with the iOS (and OS X) SDK include CommonDH with the CCDH* functions.

Actual Results:
No functions to generate keys using Diffie-Hellman can be found in the public CommonCrypto headers.

Regression:
-

Notes:
-

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!