This guide is a short tutorial on how to decryptDecryption is the reverse to Encryption and allows one to review plaintext via a Virgil Key related to the Public Key responsible for the initial encryption more ... encrypted data with Virgil Security.
Decryption is the reverse operation of encryption. As previously noted, Virgil Security allows you to encrypt data using public-key encryption. It's means that only the owner of the related private Virgil KeyThe Virgil Key is a wrapper of the user's secure Private Key more ... can decrypt the encrypted data.
Set up your project environment before you start to decrypt data, with the getting started guide.
The Data Decryption procedure is shown in the figure below.
In order to decrypt a message, Bob has to have:
Let's review the data decryption process:
- Developers need to initialize the Virgil SDKThe SDK helps take tedious complexity out of coding by providing APIs for all of Virgil Services.:
api, err := virgilapi.New("[YOUR_ACCESS_TOKEN_HERE]")
- Then Bob:
- Loads the Virgil Key from the secure storage provided by default
- Decrypts the message using his own Virgil Key
// load a Virgil Key from device storage
bobKey, err := api.Keys.Load("[KEY_NAME]", "[KEY_PASSWORD]")
// decrypt a ciphertext using loaded Virgil Key
originalMessageBuf, err := bobKey.Decrypt(ciphertext)
originalMessage := originalMessageBuf.ToString()
To load a Virgil Key from a specific storage, developers need to change the storage path during Virgil SDK initialization.
To decrypt data, you will need Bob's stored Virgil Key. See the Storing Keys guide for more details.