We have had such problem a while ago and decided for AES128 (will update to AES256 at time) as our main encryption/decryption system for content packages. Signed by an RSA Key (yes I know RSA isnt that much safe) this completes our package format. In your case it depends on what do you try to do. Do you want to protect your Asset Data inside the packages or do you want to protect packages against modification?
Solutions
In the first case you need something fast that works on huge data when loading the package where in second case you would only need to encrypt your package header and keep anything else as readable as needed using SHA256 hash to protect package integrity. Any of these fitted well between protection and performance. Anything cross platform!
**As I got know currently Unreal 4 uses AES encryption too
The real problem
The most difficult thing is not to protect your content but to ship a key or something else that enables your game to decrypt the packages. Storing the key inside your App lets your customers find it in the source code or execution runtime what is the reason for such games to go on third party protection interfaces such as Steam or Denuvo that is on the way to get standard currently on AAA games.
The solution here is to think arround the edges. You could for example cipher your content with the original SHA256 hash of your games executable on each platform if you are able to determien that so you could protect your App against modification too (when anything changes in your games code the content will be useless) or you could write an algorithm that calculates a special key under special conditions you use so you wont have any clues in your game code and dont need to ship the key via network.
However, this is an interesting an difficult topic a whole industry works on and will go on work in the future. At end of day you need to decide what is it worth to