0 Soalan: RijndaelMenginjil semula disulitkan dengan 8 byte key

soalan dicipta di Wed, May 8, 2019 12:00 AM

Saya mempunyai kod seterusnya yang berfungsi dengan sempurna menyulitkan dan mendekripsi dalam rangka kerja bersih walaupun dengan kunci tidak sah untuk RijndaelManaged, tetapi sekarang dalam netCore itu tidak berfungsi kerana keperluannya 16 byte key, saya ingin mencipta kunci yang perpustakaan dalam rangka kerja bersih membuat pengembangan utama untuk mendekripsi dalam aplikasi teras net, tetapi saya tidak sekarang bagaimana

Saya mendapati masalah yang sama tetapi dalam PHP di sini RijndaelManaged.CreateEncryptor expansion key , tetapi ia berkata "hanya memotong 2 bait terakhir" tetapi apa? dan bagaimana saya menyelesaikan selebihnya bait?

//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. Um, ya, algoritma penyulitan 128 bit MESTI memerlukan kunci 128 bit. Jika anda bertegas menggunakan tali sebagai kunci anda, jalankannya melalui algoritma hashing terlebih dahulu, dan ambil 16 bait anda dari output itu. Anda masih mempunyai CARA kurang daripada 128 bit entropi untuk penyulitan anda.
    2019-05-08 16: 28: 17Z
  2. Seperti membuat perpustakaan yang serasi dengan kod semasa anda, adakah anda mencuba sifar mengisi baki 8 baki?
    2019-05-08 16: 29: 09Z
  3. Ya ia memerlukan kunci 128 bit tetapi untuk sebab tertentu ia berfungsi dengan kunci 64 bit dalam perpustakaan kerangka bersih kerana "ciri" yang mengembangkan kunci, ya saya mencuba mengisi dengan sifar 8 bait terakhir dan pada mulanya juga, tetapi ia tidak berfungsi
    2019-05-08 18: 49: 10Z
  4. Pilihan lain untuk cuba adalah mengulangi rentetan dua kali, atau ambil 8 byte terakhir dari IV. Jika mereka tidak berfungsi maka anda perlu menggigit peluru dan menukar kod /algoritma lama untuk berfungsi dengan betul (tetapi kehilangan keserasian dengan kata laluan yang ada).
    2019-05-09 08: 31: 25Z
  5. Sebuah penyelidikan sedikit kemudian, dan ini mungkin berguna untuk anda: docs.microsoft.com/en-us/dotnet/api/...
    2019-05-09 08: 38: 40Z
0 Jawapan                              0                         
sumber diletakkan di sini