I raised an issue on the swift-crypto Github about this in Februari (2020) but the idea was rejected, but figured I would ask here too.
As I see it, adding support for secp256k1 would greatly benefit Apple's end-users, since cryptocurrencies, especially Bitcoin and Ethereum - which both uses this curve - are getting more and more users and adoption. As an Apple ecosystem developer, especially iOS, I lack a native - or extremely well wrapped - SDK allowing me to use this curve in Swift.
This forces me to resort to some custom wrapper around C lib secp256k1 or to use not-as-safe cryptographic SDKs, e.g. like my own EllipticCurveKit (⚠️not safe to use, but hey, its kind of Swifty...).
I think adding this curve would be very much inline with Apple's core value Privacy, which is a value that Apple has been focusing on a lot lately, including the just finished WWDC20 keynote (which was amazing btw!).
What I'm trying to convey is that I really really think Apple should reconsider any current stand on this topic, since both Bitcoin and Ethereum both have made the curve secp256k1 one of the most important Elliptic Curves out there and as cryptocurrencies rise in popularity, the more iOS "wallet" apps for these currencies we will see on App Store. Searching for "Bitcoin Wallet" only yields hundreds of apps. All of these apps could be made safer for the end-user, if the developers, myself included, could just do import CryptoKit and be able to create secp256k1 key pairs.
Or is it an active choice to exclude the Elliptic Curve secp256k1 also known as "the Bitcoin curve"? For some kind of political reasons? If so, please tell us :)
Best regards
Alexander Cyon
As I see it, adding support for secp256k1 would greatly benefit Apple's end-users, since cryptocurrencies, especially Bitcoin and Ethereum - which both uses this curve - are getting more and more users and adoption. As an Apple ecosystem developer, especially iOS, I lack a native - or extremely well wrapped - SDK allowing me to use this curve in Swift.
This forces me to resort to some custom wrapper around C lib secp256k1 or to use not-as-safe cryptographic SDKs, e.g. like my own EllipticCurveKit (⚠️not safe to use, but hey, its kind of Swifty...).
I think adding this curve would be very much inline with Apple's core value Privacy, which is a value that Apple has been focusing on a lot lately, including the just finished WWDC20 keynote (which was amazing btw!).
What I'm trying to convey is that I really really think Apple should reconsider any current stand on this topic, since both Bitcoin and Ethereum both have made the curve secp256k1 one of the most important Elliptic Curves out there and as cryptocurrencies rise in popularity, the more iOS "wallet" apps for these currencies we will see on App Store. Searching for "Bitcoin Wallet" only yields hundreds of apps. All of these apps could be made safer for the end-user, if the developers, myself included, could just do import CryptoKit and be able to create secp256k1 key pairs.
Or is it an active choice to exclude the Elliptic Curve secp256k1 also known as "the Bitcoin curve"? For some kind of political reasons? If so, please tell us :)
Best regards
Alexander Cyon