i created an Android Application that reads data from sensors mounted onto smartphone and sent this data in JSON format to an application server.
I configured server and android app to work over https protocol and to authenticate themselves with a mutual autentication (made up with self-signed certificates).
Now, I was asked to add, in the Android application, the encryption before the client and the server start the authentication process.
In this regard, I want to understand what is the best algorithm between DES and AES from resource consumption point of view.
I don't find anything on web. Can you redirect me to some resource where i can understand more about this argument?
DES is deprecated in almost all legitimate uses of symmetric encryption (it is obsolete and easily brute-forceable). AES (Rijndael with block size of 128 bits) is the standard symmetric encryption solution, while Blowfish, Twofish, RC4 (also not suggested), and 3DES/TDES are other options. AES is universally supported and will be your best solution in this case. Android has support for AES encryption through native Java JCA (formerly JCE) libraries as well as SpongyCastle -- a modified version of BouncyCastle designed for Android).
If you need something more substantial to back this up, there are plenty of resources:
You should use a strong (128 or 256 bit) key generated from a CSPRNG (or securely derived from a strong passphrase via PBKDF2, bcrypt, or scrypt with high work factor/iterations), a unique and non-predictable IV for each encryption operation, and (preferably) an authenticated encryption with associated data (AEAD) cipher block mode of operation like GCM or EAX, or failing that, a HMAC-based message authentication code (MAC) over the cipher text and verify it with a constant-time equality check before performing any decryption.