I have a question regarding encryption and whether to use symmetric or asymmetric encryption.
The idea is to implement a form of data encryption in a variety of software. This data will be exchanged with third parties, who will verify it. The main objective is to ensure the integrity and authenticity of data. Exchanging keys securely is not an issue.
The question is: Is it best to use RSA (along with a hash function such as SHA-1) or AES encryption to protect the integrity of the data? What are the pros and cons with regards to the following factors:
- Difficulty of implementation. Is there any difference in how difficult it is for a developer to implement (code) RSA and AES?
- Computing power. Does RSA or AES require more in terms of computing power and speed in order to encrypt/sign the data?
- What are good key sizes? 1024 bit RSA / 128 bit AES?
- Any other factors to should consider when choosing the type of encryption?