1. A system, comprising: at least one memory to store at least one key associated to a first client of a plurality of clients; a first computing device configured as an encryption gateway to communicate with the first client using a client-side transport protocol, and to communicate with a remote cloud storage or server using a remote-side transport protocol, the first computing device comprising at least one processor, and the first computing device further configured to: authenticate the first client using at least one authentication factor, receive data in a payload from the first client, decrypt the received data using the client-side transport protocol to provide first decrypted data, encrypt the first decrypted data using the at least one key to provide first encrypted data, encrypt the first encrypted data using the remote-side transport protocol to provide second encrypted data, and send the second encrypted data to the remote cloud storage or server; and a key manager configured to provide the at least one key to the encryption gateway for storage in the at least one memory.