Python Forensics - Cracking an Encryption

Neste capítulo, aprenderemos como quebrar os dados de um texto buscados durante a análise e a evidência.

Um texto simples em criptografia é algum texto legível normal, como uma mensagem. Um texto cifrado, por outro lado, é a saída de um algoritmo de criptografia obtido depois que você insere o texto simples.

Um algoritmo simples de como transformamos uma mensagem de texto simples em um texto cifrado é o Caesar cipher, inventado por Júlio César para manter o texto simples em segredo de seus inimigos. Essa cifra envolve o deslocamento de cada letra da mensagem "para a frente" em três casas do alfabeto.

A seguir está uma ilustração de demonstração.

a → D

b → E

c → F

....

w → Z

x → A

y → B

z → C

Exemplo

Uma mensagem inserida quando você executa um script Python fornece todas as possibilidades de caracteres, que são usados ​​para evidência de padrão.

Os tipos de evidências de padrão usados ​​são os seguintes -

  • Trilhas e marcas de pneus
  • Impressions
  • Fingerprints

Todos os dados biométricos são compostos por dados vetoriais, que precisamos quebrar para reunir evidências completas.

O seguinte código Python mostra como você pode produzir um texto cifrado a partir de texto simples -

import sys

def decrypt(k,cipher): 
   plaintext = '' 
   
   for each in cipher: 
      p = (ord(each)-k) % 126 
      
      if p < 32: 
         p+=95 
         plaintext += chr(p) 
         print plaintext 

def main(argv):
   if (len(sys.argv) != 1): 
      sys.exit('Usage: cracking.py') 
      cipher = raw_input('Enter message: ') 
      
      for i in range(1,95,1): 
         decrypt(i,cipher)
         
if __name__ == "__main__": 
   main(sys.argv[1:])

Resultado

Agora, verifique a saída deste código. Quando inserimos um texto simples "Radhika", o programa produzirá o seguinte texto cifrado.