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.
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.
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.
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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With