Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Elliptic Curve Crypto in iOS

Tags:

I'm trying to incorporate ECC into an iPhone app that is being used for secure communications but I'm having a hard time finding a proper library / tutorial on how to do this in objective-c. I read this post: How to use ECC in iOS But it was posted almost a year ago and there weren't any responses. Any tips / advice would be greatly appreciated

Thanks!

like image 306
jrushing Avatar asked Feb 17 '13 00:02

jrushing


People also ask

Is Elliptic Curve Cryptography used?

What is Elliptic Curve Cryptography Used For? ECC is among the most commonly used implementation techniques for digital signatures in cryptocurrencies. Both Bitcoin and Ethereum apply the Elliptic Curve Digital Signature Algorithm (ECDSA) specifically in signing transactions.

Does Bitcoin use elliptic curve cryptography?

Most cryptocurrencies — Bitcoin and Ethereum included — use elliptic curves, because a 256-bit elliptic curve private key is just as secure as a 3072-bit RSA private key. Smaller keys are easier to manage and work with.

Is SHA256 elliptic curve?

Elliptic Curve Digital Signature Algorithm or ECDSA is a cryptographic algorithm used by Bitcoin to ensure that funds can only be spent by their rightful owners. It is dependent on the curve order and hash function used. For bitcoin these are Secp256k1 and SHA256(SHA256()) respectively.

Can elliptic curve cryptography be trusted?

Despite the significant debate on whether there is a backdoor into elliptic curve random number generators, the algorithm, as a whole, remains fairly secure. Although there are several popular vulnerabilities in side-channel attacks, they are easily mitigated through several techniques.


2 Answers

As my expereince you can use Nacl Library. This library has curve25519 elliptic curve implementation. This is the state of the art and the fastest library.

You can also use crypto++.

like image 70
Dev Avatar answered Oct 03 '22 08:10

Dev


Unfortunately, the Security Transforms [1] (the iOS built-in framework one should go to and the one the post mentioned above uses) does not seem to have support for elliptic curves built in. You'll have to rely on a non-apple implementation of ECC.

[1] http://developer.apple.com/library/mac/#documentation/Security/Conceptual/SecTransformPG/SecurityTransformsBasics/SecurityTransformsBasics.html

like image 24
NSSplendid Avatar answered Oct 03 '22 08:10

NSSplendid