O WhatCripto é uma ferramenta desenvolvida em Python cujo objetivo é descobrir e/ou decifrar vários tipos de cifras criptográficas que têm como base um “HashID”. Através dela, é possível decifrar Binários, Hexadecimal, Base64, Bacon, Caesar e Vigenère.
Para testar como funciona, vamos instalar esta ferramenta na distribuição Linux, Kali Linux.
1) No terminal, execute o comando:
git clone https://github.com/vandalvnl/whatcripto
2) Em seguida, aceda à diretoria da ferramenta, e liste-a para confirmar que está tudo em conformidade.
cd whatcripto/
ls -l
A cifra de César (Caesar cipher), também conhecida como cifra de troca, é uma das formas mais básicas e simples de criptografia. Essencialmente, cada letra é substituída por outra de acordo com a chave utilizada, podendo ser uma das 26 do abecedário. A chave utilizada é aquela que usamos para substituir a letra “A”, por exemplo, a palavra “PPLWARE” cifrada daria “MMITXOB” (shift up 3, ou seja, nesta caso andaríamos 3 posições para trás – podem experimentar aqui), cuja chave seria “E”. Esta criptografia é simétrica, ou seja, a chave utilizada para criptografar é a mesma para descriptografar.
3) Execute o Whatcripto e decifre algo encriptado pela cifra de César.
./whatcripto texto criptografado
A cifragem Base64 utiliza caracteres US-ASCII (não acentuados). É comumente utilizado no envio de documentos binários (áudio, vídeo, etc.) por meios de transmissão que lidam apenas com texto, como por exemplo, anexos de um e-mail.
O conjunto de 64 caracteres é composto por letras maiúsculas (ABCDEFGHIJKLMNOPQRSTUVWXYZ), minúsculas (abcdefghijklmnopqrstuvwxyz), números (0123456789) e (+/). Eles são escolhidos de forma a não perturbarem os principais protocolos de serviço de mensagens como o SMTP (Simple Mail Transfer Protocol).
Esta codificação transforma grupos de 24 bits de dados (3×8=3 Bytes) em 4 carateres ASCII, 0-25 de A-Z, 26-51 de a-z, 52-61 de 0-9, 63 / e 64 +. A saída é representada por linhas até 76 caracteres. Caso exista um grupo com menos de 24 bits, adicionam-se bits 0 à direita. Além disso, os carateres de saída que não representam dados de entrada são representados por igual (=).
4) Decifre agora algo em Base64.
./whatcripto texto criptografado
A cifra de Vigenère é idêntica à codificação César, com a diferença de que utiliza uma chave mais longa. A cifragem é realizada através de uma tabela com o abecedário escrito 26 vezes em linhas diferentes, e deslocado uma letra para a esquerda em relação ao anterior.
Olhe para a tabela como uma matriz. Cifre a palavra “PPLWARE” (procure as letras na vertical) com a chave “SAPOSAP” (na horizontal) e faça corresponder letra a letra.
- P P L W A R E – Vertical
- S A P O S A P – Horizontal
- H P A K S R T – Cifrado
5) Por último decifre algo baseado na cifra de Vigenère.
-k: Chave escolhida para a cifragem, que neste exemplo foi apenas a letra “P”
./whatcripto -k “chave” texto criptografado
Existem muitas outras técnicas para cifrar e decifrar texto, estas foram talvez as mais simples e comuns. Conheça um pouco sobre a história da criptografia e também a diferença entre criptografia simétrica e assimétrica.