Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Шифрование ГОСТА28147-89 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка преобразования типа http://www.cyberforum.ru/cpp-beginners/thread569858.html
Задача состояла в следующем: реализация алгоритма проверки n на простоту, используя малую теорему Ферма. В силу недостаточного опыта и позднего времени накумекал следующий код с пояснениями: В...
C++ Строковый класс Ребят, помогите решить пожалуйста... Написать программу для работы с строковым классом. В классе предусмотреть все основные операции со строками. Поля и методы класса: Переменная strs -... http://www.cyberforum.ru/cpp-beginners/thread569833.html
C++ Передача массивов в функцию
Помогите с программой пожалуйста!! Конец года, горю.. 1)Вычислить с использованием функции max элементы каждой строки матрицы A(10,20). Результаты формировать в одномерных массивах C(10) и D(10)....
C++ Имя массива как указатель
Помогите с программой пожалуйста!! Конец года, горю.. Используя имя массива как указатель, и применяя адресную арифметику выполнить задание. 13. Дан одномерный массив, состоящий из N целочисленных...
C++ В последовательности чисел выдать на печать TRUE http://www.cyberforum.ru/cpp-beginners/thread569800.html
В последовательности чисел выдать на печать TRUE, если значение максимального числа больше числа 10.
C++ Алгоритм сортировки методом слияния Напишите программу, реализующую алгоритм сортировки методом слияния и получите для нее эмпирические оценки функции роста вычислительной и объёмной сложности. подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
1912 / 1444 / 112
Регистрация: 29.05.2011
Сообщений: 3,001
10.05.2012, 02:31
Можно и оставить. Просто если объединить таблицы, по две или по четыре, то шифрование можно сделать эффективнее, поскольку не придётся байты разделять на 2 половины.
Две таблицы можно объединить примерно так:
C++
1
2
3
4
5
6
7
8
    int table0[16] = { 4, 10, 9, 2, 13, 8, 0, 14, 6, 11, 1, 12, 7, 15, 5, 3 }; 
    int table1[16] = { 14, 11, 4, 12, 6, 13, 15, 10, 2, 3, 8, 1, 0, 7, 5, 9}; 
 
    int table01[256];
 
    for (int i0 = 0; i0 < 16; ++i0)
        for (int i1 = 0; i1 < 16; ++i1)
            table01[ (i0 << 4) | i1 ] = (table0[i0] << 4) | table1[i1];
Это, разумеется, просто эскиз. И можно обойтись и без этого.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru