Расшифрование CBC режим C#
Текст шифруется, однако, не получается расшифровать остальные части, которые без вектора инициализации.
private static byte [] Get_Iv()
{
rc2CSP.GenerateIV();
return rc2CSP.IV;
}
public byte[] iv = Get_Iv();
private byte[] XorBytes(byte[] b1, byte[] b2)
{
byte[] rb = new byte[b1.Length];
for (int i = 0; i < b1.Length; i++)
rb[i] = (byte)(b1[i] ^ b2[i % b2.Length]);
return rb;
}
public byte[] DecodeCBC(byte[] bloks)
{
var m = new List<byte>();
byte[] c_i_1 = new byte[_algorithm.Size()];
byte[] c_i_0 = new byte[_algorithm.Size()];
for (int i = 0; i < bloks.Length; i += _algorithm.Size())
{
if (i == 0)
{
c_i_1 = XorBytes(iv, _algorithm.DecodeBlok(bloks.Skip(i).Take(_algorithm.Size()).ToArray()));
}
// ошибка здесь
else
{
c_i_1 = XorBytes(bloks.Skip(i-1).Take(_algorithm.Size()).ToArray(), _algorithm.DecodeBlok(bloks.Skip(i).Take(_algorithm.Size()).ToArray()));
}
m.AddRange(c_i_1);
}
return m.ToArray();
}