Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What crypto algorithms does Android support? [closed]

I have been googling for hours and cannot find any solid answers but lots of hearsay.

Does anyone know where the documentation is that defines which encryption/signature/hash algorithms the Android OS supports.

I have heard from forums that not all phones support the same algorithms so I am looking for what common algorithms every Android phone supports.

like image 508
w.donahue Avatar asked Sep 26 '11 20:09

w.donahue


People also ask

What encryption algorithm does Android use?

Android full-disk encryption is based on dm-crypt , which is a kernel feature that works at the block device layer. Because of this, encryption works with Embedded MultiMediaCard (eMMC) and similar flash devices that present themselves to the kernel as block devices.

Is Android filesystem encrypted?

Full-disk encryption was introduced to Android in 4.4, but Android 5.0 introduced these new features: Created fast encryption, which only encrypts used blocks on the data partition to avoid first boot taking a long time. Only ext4 and f2fs filesystems currently support fast encryption.

Which algorithm is most suited for mobile data encryption?

Digital signature. A digital signature algorithm is considered one of the best encryption algorithms for Android applications. It combines hashing and asymmetric encryption. Messages are hashed first and then encrypted with the sender's private key.


1 Answers

Try this to list all security providers:

Provider[] providers = Security.getProviders(); for (Provider provider : providers) {     Log.i("CRYPTO","provider: "+provider.getName());     Set<Provider.Service> services = provider.getServices();     for (Provider.Service service : services) {         Log.i("CRYPTO","  algorithm: "+service.getAlgorithm());     } } 

Update

Here is a list for my Nexus S (OS 2.3.4):

provider: AndroidOpenSSL  algorithm: SHA-384  algorithm: SHA-1  algorithm: SSLv3  algorithm: MD5  algorithm: SSL  algorithm: SHA-256  algorithm: TLS  algorithm: SHA-512  algorithm: TLSv1  algorithm: Default provider: DRLCertFactory  algorithm: X509 provider: BC  algorithm: PKCS12  algorithm: DESEDE  algorithm: DH  algorithm: RC4  algorithm: PBEWITHSHAAND128BITAES-CBC-BC  algorithm: DESEDE  algorithm: Collection  algorithm: SHA-1  algorithm: PBEWITHSHA256AND256BITAES-CBC-BC  algorithm: PBEWITHSHAAND192BITAES-CBC-BC  algorithm: DESEDEWRAP  algorithm: PBEWITHMD5AND128BITAES-CBC-OPENSSL  algorithm: PBEWITHMD5AND256BITAES-CBC-OPENSSL  algorithm: AES  algorithm: HMACSHA256  algorithm: OAEP  algorithm: HMACSHA256  algorithm: HMACSHA384  algorithm: DSA  algorithm: PBEWITHMD5AND192BITAES-CBC-OPENSSL  algorithm: DES  algorithm: PBEWITHMD5ANDDES  algorithm: SHA1withDSA  algorithm: PBEWITHMD5ANDDES  algorithm: BouncyCastle  algorithm: PKIX  algorithm: PKCS12PBE  algorithm: DSA  algorithm: RSA  algorithm: PBEWITHSHA1ANDDES  algorithm: DESEDE  algorithm: PBEWITHSHAAND128BITRC2-CBC  algorithm: PBEWITHSHAAND128BITRC2-CBC  algorithm: PBEWITHSHAAND256BITAES-CBC-BC  algorithm: PBEWITHSHAAND128BITRC4  algorithm: DH  algorithm: PBEWITHSHA256AND192BITAES-CBC-BC  algorithm: PBEWITHSHAAND128BITAES-CBC-BC  algorithm: PBEWITHSHAAND40BITRC2-CBC  algorithm: HMACSHA384  algorithm: AESWRAP  algorithm: PBEWITHSHAAND192BITAES-CBC-BC  algorithm: SHA256WithRSAEncryption  algorithm: DES  algorithm: HMACSHA512  algorithm: HMACSHA1  algorithm: DH  algorithm: PBEWITHSHA256AND128BITAES-CBC-BC  algorithm: PKIX  algorithm: PBEWITHMD5ANDRC2  algorithm: SHA-256  algorithm: PBEWITHSHA1ANDDES  algorithm: HMACSHA512  algorithm: SHA384WithRSAEncryption  algorithm: DES  algorithm: BLOWFISH  algorithm: PBEWITHMD5AND128BITAES-CBC-OPENSSL  algorithm: PBEWITHSHAAND3-KEYTRIPLEDES-CBC  algorithm: PBEWITHSHAAND256BITAES-CBC-BC  algorithm: DSA  algorithm: PBEWITHSHAAND40BITRC2-CBC  algorithm: BLOWFISH  algorithm: PBEWITHSHAAND40BITRC4  algorithm: PBKDF2WithHmacSHA1  algorithm: PBEWITHSHAAND40BITRC4  algorithm: HMACSHA1  algorithm: AES  algorithm: PBEWITHSHA256AND192BITAES-CBC-BC  algorithm: PBEWITHSHAAND2-KEYTRIPLEDES-CBC  algorithm: PBEWITHHMACSHA  algorithm: DH  algorithm: BKS  algorithm: NONEWITHDSA  algorithm: DES  algorithm: PBEWITHMD5ANDRC2  algorithm: DSA  algorithm: PBEWITHSHAANDTWOFISH-CBC  algorithm: SHA512WithRSAEncryption  algorithm: HMACMD5  algorithm: PBEWITHSHAAND3-KEYTRIPLEDES-CBC  algorithm: PBEWITHSHA1ANDRC2  algorithm: ARC4  algorithm: PBEWITHHMACSHA1  algorithm: AES  algorithm: PBEWITHHMACSHA1  algorithm: MD5  algorithm: RSA  algorithm: PBEWITHSHAANDTWOFISH-CBC  algorithm: PBEWITHSHA1ANDRC2  algorithm: PBEWITHSHAAND2-KEYTRIPLEDES-CBC  algorithm: PBEWITHSHAAND128BITRC4  algorithm: SHA-384  algorithm: RSA  algorithm: DESEDE  algorithm: SHA-512  algorithm: X.509  algorithm: PBEWITHMD5AND192BITAES-CBC-OPENSSL  algorithm: MD5WithRSAEncryption  algorithm: PBEWITHMD5AND256BITAES-CBC-OPENSSL  algorithm: PBEWITHSHA256AND256BITAES-CBC-BC  algorithm: BLOWFISH  algorithm: DH  algorithm: SHA1WithRSAEncryption  algorithm: HMACMD5  algorithm: PBEWITHSHA256AND128BITAES-CBC-BC provider: Crypto  algorithm: SHA1withDSA  algorithm: SHA-1  algorithm: DSA  algorithm: SHA1PRNG provider: HarmonyJSSE  algorithm: X509  algorithm: SSLv3  algorithm: TLS  algorithm: TLSv1  algorithm: X509  algorithm: SSL 
like image 110
Peter Knego Avatar answered Sep 22 '22 08:09

Peter Knego