0 Questão: RijndaelManaged decrypt criptografado com chave de 8 bytes

pergunta criada em Wed, May 8, 2019 12:00 AM

Eu tenho o próximo código que funciona perfeitamente criptografando e descriptografando no framework net mesmo com uma chave inválida para o RijndaelManaged, mas agora no netCore ele não funciona porque precisa de uma chave de 16 bytes, eu quero recriar a chave que a biblioteca em estruturas de rede faz com uma expansão chave para descriptografar em um aplicativo de núcleo de rede, mas eu não sei agora como

Eu encontrei um problema semelhante, mas em PHP aqui RijndaelManaged.CreateEncryptor expansão de chave , mas diz "apenas cortar os últimos 2 bytes", mas de que? e como eu completei o resto dos bytes?

//Code tha works in the framework app
///8 bytes
_key = System.Text.ASCIIEncoding.UTF8.GetBytes("abcdefgh");

//16 bytes
_iv = System.Text.ASCIIEncoding.UTF8.GetBytes("abcdefghijklmnop");
_provider = new RijndaelManaged();
_provider.Mode = CipherMode.CBC;
_provider.KeySize = 128;
_provider.CreateEncryptor(_key, _iv)
    
0
  1. Hum, sim, um algoritmo de criptografia de 128 bits precisa de uma chave de 128 bits. Se você insistir em usar uma string como sua chave, execute-a primeiro através de um algoritmo de hashing e tire seus 16 bytes da saída disso. Você ainda tem menos de 128 bits de entropia para sua criptografia.
    2019-05-08 16: 28: 17Z
  2. Como para tornar uma biblioteca compatível com o seu código atual, você tentou preencher os 8 bytes restantes?
    2019-05-08 16: 29: 09Z
  3. Sim, ele precisa de uma chave de 128bits, mas por alguma razão funciona com uma chave de 64bits na biblioteca net framework por causa de um “recurso” que expande a chave, sim preenchendo com zero os últimos 8 bytes e no início também, mas não funciona
    2019-05-08 18: 49: 10Z
  4. As outras opções a serem tentadas são repetir a string duas vezes ou obter os últimos 8 bytes da IV. Se eles não funcionarem, você terá que morder a bala e mudar o antigo código /algoritmo para funcionar corretamente (mas perderá a compatibilidade com as senhas existentes).
    2019-05-09 08: 31: 25Z
  5. Uma pequena pesquisa posterior, e isso pode ser útil para você: docs.microsoft.com/en-us/dotnet/api/…
    2019-05-09 08: 38: 40Z
0 Respostas                              0                         
fonte colocada Aqui