Existe algum software que me ajude a converter código “Hex” baseado em entrada e saída já conhecidas? [fechadas]

0

O título é um pouco confuso, mas a ideia é:

Eu tenho uma lista de "HexCode" (eu uso esse termo vagamente como eles não são realmente códigos hexadecimais) de ambos antes da conversão e após a conversão. Por exemplo:

Input: aaea095f      Output: 201328c,3f,42,f4,f4
       01efb53c

Eu não tenho o algoritmo necessário para convertê-los diretamente, e sou dependente da utilização de dois programas para converter de um tipo hexadecimal (tipo hexadecimal1) para outro tipo hexadecimal (hextipo2) antes que eu possa levá-los para a conversão final (HexType3 ).

Meu objetivo é automatizar o processo de conversão, mas por não conhecer o algoritmo, não posso fazer isso com minhas ferramentas atuais. Existe algum software onde eu possa alimentar a lista de antes e depois das conversões e gerar um algoritmo baseado no que eu dei para uso futuro?

Eu entendo que a criação de um algoritmo baseado em entradas limitadas provavelmente não produziria os melhores resultados, mas eu tenho muitas conversões já feitas para melhorar o algoritmo produzido.

Adendo: Eu descrevi erroneamente meus códigos como criptográficos por natureza quando eles estão mais próximos dos valores Hex. Sinto muito por qualquer confusão que isso tenha causado. Mudei "Key" para "HexCode" para ajudar a esclarecer melhor o meu ponto.

    
por Hebon 11.11.2015 / 02:19

1 resposta

2

Desde que você criou a criptografia, uma das coisas legais que os bons algoritmos criptográficos fazem é tornar quase impossível adivinhar o algoritmo exato (isto é, a função mais a chave) que foi usado para criptografar algo mesmo se você tiver acesso à entrada. e saída. Mesmo se você tiver um pequeno número de amostras (ou seja, alguns bilhões) de entradas e saídas correspondentes, você não poderá prever a saída gerada por uma nova entrada.

Em outras palavras, o que você quer fazer não pode ser feito, a menos que você forneça ao programa todas as entradas e saídas possíveis. Você precisa saber mais sobre o algoritmo do que apenas as entradas e saídas.

EDIT: Existem algoritmos como redes neurais - e alguns outros - que podem ser "treinados" com um determinado conjunto de entradas e saídas. Por exemplo, uma rede neural pode ser treinada para marcar fotos de pássaros em um conjunto de imagens aleatórias. Estes soam como a solução simples e perfeita, mas o mundo não é assim tão fácil. Antes de treinar uma rede neural, ela deve ser estruturada para corresponder ao problema que precisa resolver e, nesse caso, requer informações adicionais sobre o que o algoritmo que ela imita, caso contrário, o treinamento da rede falhará.

    
por 11.11.2015 / 04:08