Problema de descriptografia AES básico

1

Estou trabalhando no livro Engenharia de criptografia , e o problema atual é mais ou menos assim:

Using an existing cryptography library, decrypt the following ciphertext (in hex form):

539b333b39706d149028cfe1d9d4a407

with the following 256-bit key (also in hex):

8000000000000000000000000000000000000000000000000000000000000001

using AES.

Estou um pouco perplexo aqui. Estou usando o OpenSSL, mas o uso do parâmetro -aes256 solicita um IV que claramente não é dado neste problema. Colocando em todos os zeros para o IV produz descriptografia ruim. A tentativa de usar alguns outros métodos de criptografia AES não me levou muito mais longe. Eu posso estar em cima da minha cabeça aqui, mas apenas tentando aprender como essas coisas funcionam por diversão. Eu sou um programador de videogames, então tudo isso é novo para mim. Qualquer ajuda com este problema de livro-texto seria muito apreciada!

Observação: eu fiz o esgotamento do Stack Overflow e as pesquisas do Google, mas não consegui nenhum progresso após cerca de uma hora.

    
por Bennett Yeates 15.08.2015 / 21:07

1 resposta

3

Como nenhum modo de operação é especificado, e como o comprimento do texto cifrado é igual ao tamanho de um bloco de cifra AES (128 bits = 32 dígitos hexadecimais = 16 bytes), parece provável que você espere usar a cifra bruta de bloco (também conhecida como "modo ECB").

Você pode, de fato, fazer isso usando o openssl enc . As opções que você precisa são -aes-256-ecb , que selecionará a codificação AES-256 no modo ECB e -nopad , que desativará preenchimento de mensagem . *

É claro que você também precisará primeiro converter o texto cifrado de hexadecimal em bytes brutos. (Você pode usar a opção -K para fornecer a chave diretamente em hexadecimal.) O texto simples de saída não será imprimível ASCII, mas convertê-lo de volta em hexadecimal deve revelar um padrão claro.

*) Na verdade, o seu texto acaba PKCS # 7 padding , então o openssl irá descriptografá-lo mesmo sem -nopad . No entanto, estou assumindo que isso é apenas uma coincidência.

    
por 15.08.2015 / 21:39