I would like to encrypt and decrypt data using public/private key pairs in a native Java app for Android. I am having trouble wading through old posts / documentation.
From my understanding:
Early versions of Android used a crippled version of the bouncy castle encryption libraries. In particular it did not include the elliptic curve methods.
Elliptic curve cryptography is the way to go on mobile devices because smaller key size means less computation and/or more secure.
People suggested including your own copy of the bouncy castle libraries to get full functionality except rename the packages (or use spongy castle which is bouncy castle with renamed packages)
Later versions of Android changed in a way that allow one to use bouncy castle without renaming packages
Even later versions of Android began including bouncy castle with full functionality.
So the question is- as of June 2014 how should one encrypt data on Android?
Are there any simple projects on github doing things the "right way"?