I'm new to programming and I'm getting ready to design a proof of concept for an app that I'm thinking of building. Problem is I'm a complete noob to cryptography and need a little nudge to point me in the right direction.
I would like to design a method by which data sent to my application on a cloud server is processed securely.
Here is a scenario:
1. Company A publishes XML file on their server and makes it available via SFTP.
2. A process on Cloud Server uses SFTP to fetch the data from Company A's server.
3. Cloud Server parses the XML based on a defined format, but it must do so securely so that even the server admin cannot see the processed data.
4. Cloud Server rebundles the parsed XML data into emails that are transmitted via SSL to Company B.
Step 3 is what I need some help with. SFTP and SSL are good enough for the pull and transmit side of things. I'm just wondering how to secure the XML such that my app can do what it needs to do given the right keys - but I don't want to know the keys. The keys would need to be known only by Company A (publisher) and the recipient (Company B). And if there was a problem, Company B could login to Cloud Server via a web page and view their data unencrypted given they have their key.
I've seen businesses in the email archiving and file storing space that can blindly encrypt data so that they cannot ever view your data. (Proofpoint, SecureSend are examples) If you lose your key, they cannot decrypt your data. I'm thinking my process would use something similar.
Would anyone know the method or process that can do this? Thank you.