Atualmente, os ransomwares criptovirais mais perigosos utilizam tanto técnicas de criptografia simétrica, quanto assimétrica.
A criptografia simétrica utiliza uma única chave para criptografar e descriptografar dados. A chave utilizada geralmente tem 256 bits de tamanho, pois realiza a criptografia de forma mais rápida e eficiente quando comparado com outros tamanhos [12].
A criptografia assimétrica envolve a utilização de dois tipos diferentes de chave, uma pública e outra privada. Como exemplo o ransomware WannaCry gera uma chave simétrica aleatória com o padrão AES 256-bits para criptografar os arquivos do usuário, depois gera um par de chaves assimétricas RSA, onde a chave pública RSA servirá para criptografar a chave simétrica AES. Para descriptografar é necessária a chave privada.
Para demonstrar como os arquivos são criptografados e descriptografados, apresentamos os Algoritmos 1 e 2, respectivamente (na linguagem de programação Python). Estes algoritmos são apenas Prova de Conceito, ou seja, não se preocupam com a execução exata das linhas de código neles dispostas, mas buscam exemplificar o conceito geral de um Crypto Ransomware.
Uma implementação mais detalhada e funcional destes algoritmos, como parte de um todo, encontra-se neste endereço:

Figura 6 - Esquematização simplificada da utilização das chaves
No Algoritmo 1, Inicialmente, temos a presença de um par de chaves correspondente ao atacante, chamamos a chave pública e privada de Server-publicKey e Server-privateKey, respectivamente. Estas chaves são inicialmente criadas e armazenadas em um servidor, que em um momento seguinte será requisitado.
Quando o sistema alvo é infectado com o malware, apenas a chave pública do servidor atacante é conhecida. Nos Crypto Ransomwares mais atuais, também é utilizado um par de chave para a vítima, esse par de chaves é gerado no momento que o processo malicioso é executado.
Chamaremos a chave pública e privada da vítima de Client-publicKey e Client-privateKey, respectivamente. A Server-publicKey será utilizada para criptografar a Client-privateKey, já a Client-publicKey será utilizada para criptografar as chaves AES simétricas, geradas aleatoriamente com o objetivo de criptografar os arquivos da vítima.
A figura 6 representa a sequência de ações relacionadas a criptografia, sendo que as etapas 1, 2 e 3 ocorrem durante o período de criptografia dos arquivos. As etapas 4, 5, e 6 são relacionadas à descriptografia (Algoritmo 2), após a realização do pagamento.
O Algoritmo 2 descreve a fase de descriptografia, após o pagamento. Quando o Algoritmo 1 finaliza, percebemos que a vítima se torna incapaz de recuperar seus dados, por que a chave privada está criptografada, mas é necessária para descriptografar as chaves simétricas. Para recuperar o conteúdo original necessita-se da chave privada do servidor do ransomware. Assim como dito anteriormente, nessas fase se concretizam as etapas 4, 5, 6 da Figura 6.