This guide is a short tutorial on how to 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 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 :
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.