Exemplo n.º 1
0
 private void Init()
 {
     l0        = Utills.StickedBinaryMsg(msg.Substring(0, msg.Length / 2));              //L0 (32 бит)
     r0        = Utills.StickedBinaryMsg(msg.Substring(msg.Length / 2, msg.Length / 2)); //R0 (32 бит)
     x0        = Utills.StickedBinaryMsg(k);                                             //X0 (32 бит), ключ
     R0X0sum32 = Utills.Modulo2Pow32(r0, x0);                                            //Сумма блоков R0 и X0 по модулю 2 в степени 32
     resBlocks = func(R0X0sum32);                                                        //Преобразование с помощью блока подстановки
     sdvig11   = Utills.Shift(resBlocks, -11);                                           // сдвиг на 11 бит влево, f(R0, X0)
     res       = Utills.Modulo2(l0, sdvig11);                                            //Результат (R1): сумма по модулю 2 L0 и f(R0, X0)
 }
Exemplo n.º 2
0
 private void Init()
 {
     l0         = Utills.StickedBinaryMsg(message.Substring(0, message.Length / 2));                  //Блок L0 (32 бит)
     r0         = Utills.StickedBinaryMsg(message.Substring(message.Length / 2, message.Length / 2)); //Блок R0 (32 бит)
     x0         = Utills.StickedBinaryMsg(key);                                                       //Блок ключа X0 (32 бит)
     sumR0AndX0 = Utills.Modulo2Pow32(r0, x0);                                                        //Сложение блоков R0 и X0 по модулю 2^32
     filled     = Function(sumR0AndX0);                                                               //Преобразование в блоке подстановки
     f          = Utills.Shift(filled, -11);                                                          //f(R0, X0), сдвиг на 11 бит влево
     r1         = Utills.Modulo2(l0, f);                                                              //Результат R1: сложение по модулю 2 блоков L0 и f(R0, X0)
 }
Exemplo n.º 3
0
        private void Init()
        {
            var r0_str = message.Substring(message.Length / 2, message.Length / 2);

            r0 = Utills.StickedBinaryMsg(r0_str);

            var x0_str = key;

            x0 = Utills.StickedBinaryMsg(x0_str);

            fR0X0 = Utills.Modulo2Pow32(r0, x0);

            filled = SubstituteElements(fR0X0);

            shifted = Utills.Shift(filled, -11);

            var l0_str = message.Substring(0, message.Length / 2);

            l0 = Utills.StickedBinaryMsg(l0_str);

            r1 = Utills.Modulo2(l0, shifted);
        }