What I understood is that you want to
1) Encrypt the data(dont want anybody to know its contents)
2) Give an assurance,i.e. a proof that it came from you.
Answer for 1) For encryption your data, you can use any symmetric or asymmetric algorithm. RSA obviously would be harder to break, at the same time it shall take more computing power to encrypt the data.
Answer for 2) For assurance, you can use ant asymmetric algorithm, again RSA would be best, BUT, the encryption has to be done by your PRIVATE key(not public key, since anybody can use your public key and it would not establish the fact that it was encrypted by you).
Combining both: You can use two rounds of encryption using different key pairs. First round (by asymmetric or symmetric) to ensure confidentiality and second round(by asymmetric) to ensure assurance.
Using RSA is good for both rounds, but to reduce the computation overhead you can use other encryption tools as well.
You can calculate HMAC, append it to your data and encrypt it using the public key of any asymmetric encryption technique(like RSA) or either key of any symmetric encryption technique. Asymmetric one would be more secured. HMAC will ensure the integrity and assurance that it came from you and the encrypted data would ensure its confidentiality.
Which approach of the above to be followed, depends totally upon your application and computation resources.