this is not exactly a coding question, as the encryption code will depend upon the type chosen. It's known that Google Cloud has different encryptions, like Symmetric Encryption (AES-256 and Galais) and Asymmetric Encryption (Elliptic curve and RSA). Also, KMS (Key management service) may use KEK (key encryption keys) to encrypt data. And there is also hashing, like base64:
import base64
base64.b64encode(b'data to be encoded')
Maybe I am messing hashing with encryption, that's why I'm asking. So, which one of these encryptions can be reversed? I studied Google Cloud documentation but I was unable to find out.
Thanks in advance.
Given sufficient amounts of time, resources, and motivation everything is reversible. That is why new algorithms are developed and old ones are deprecated.
Cryptography is a complex topic that requires books to understand and for most of us, years of study and practice.
Today, encryption is reversible by design and hashing is one-way. In 10 or 20 years we might be able to break almost everything we are using today. Even RSA might be subject to quantum attacks in the near future. Shorter RSA keys have already been broken.
To understand cryptography in Google cloud, you must understand cryptography. Everything is the same. Google Cloud implements existing algorithms and protocols and combines them into services.
Your question mentions three types of schemes:
Symmetric Encryption (AES-256 and Galais) is normally used to encrypt data.
Asymmetric Encryption (Elliptic curve and RSA) is normally used to establish secure communication channels to exchange symmetric encryption keys and is not normally used to encrypt large amounts of data.
KEK (key encryption keys) are symmetric encryption keys. KEK signifies the usage and not the algorithm.
KMS (Key management service) is a management service for securely storing keys.