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

Алгоритм шифрования DES (необходимо ускорить любым доступным способом) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с flash приложениями http://www.cyberforum.ru/cpp/thread733547.html
Есть некая flash игра, в ней есть цифры которые периодически меняются как можно получить их?
C++ Обработка изображения Здравствуйте. В С программировать начал недавно. Необходимо реализовать алгоритм обработки изображения на С++ с использованием только стандартных библиотек (курсовая). 1. С помощью каких функций инициализовать изображение, считать параметры пикселя-коды цветов, яркость, координаты? 2. Буду рад ссылкам на литературу на эту тематику (именно обработку изображений), примерам исходников, и вообще... http://www.cyberforum.ru/cpp/thread732855.html
init error file not found C++
Написал на Си программу, в ней используются двумерные массивы (скорей всего проблема в них). При запуске выдает mapping_data_source::init error: file not found Process returned -1073741571 (0xC00000FD) execution time : 1.234 s В чем беда?
Алгоритм построения полного потока C++
Как реализовать на c++ алгоритм построения полного потока Может есть у кого пример?
C++ стеганография в tcp/ip http://www.cyberforum.ru/cpp/thread729800.html
посоветуйте, что почитать. может кто-то занимался помогите пожалуйста
C++ Шеннон-Фано Помогите пожалуйста разобраться. Понимаю смысл алгоритма Шеннона-Фано. У меня есть код этого алгоритма и мне нужно разобрать как он работает void Schennon_Fano(int index1, int index2) { if(index1==index2) return; int i, C; double summ=0, p, summCopy=0; double vysche, nize; double ONO = SummVer(index1, index2);//суммируем все вер-ти от первого индекса до второго ONO =... подробнее

Показать сообщение отдельно
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
17.12.2012, 13:47  [ТС]     Алгоритм шифрования DES (необходимо ускорить любым доступным способом)
ValeryS, спасибо конечно, но если я ещё и за профилировщики возьмусь то на дес совсем не хватит. Тут и так понятно что вызывается то функция шифрования блока и дешифрования. А в ней вызываются в цикле 16 раз:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//средняя перестановка (та что каждый цикл)
    uint32_t averagePermutation(uint32_t word) const
    {
        //средняя перестановка (mod - 32)
        static const size_t P[32]    = 
                {16,25,12,11,3,20,4,15,
                31,17,9,6,27,14,1,22,
                30,24,8,18,0,5,29,23,
                13,19,2,26,10,21,28,7};
 
        uint32_t result = 0;
        for (int i = 0; i < 32; ++i)
        {
            result <<= 1;
            result |= (word & (1ULL << (P[i]))) >> P[i];
        }
        return result;
 
    }
+ обмены местами и сбоксы, а также нач. и конечные перестановки по разу. У меня повсюду для перестановки как видишь используеться цикл примерно похожий, возможно есть какие-то предложения как в 32х битном целом поменять битики местами по табличке максимально быстро, может там есть какое-то крутое решение чтобы сдвигов было поменьше чем у меня или ещё чего ... это бы мне сильно помогло.

Добавлено через 1 час 9 минут
К слову ещё вопросы (ответы на которые мне помогли бы оптимизировать работу).
1)Быстрее вызов void функции с передчей параметра uint64_t по ссылке и возврат результата через этот же параметр VS вызов функции с const аргументом переданным по ссылке и возврат результирующего значения uint64_t
2)При работе с union Block в котором максимум храниться 64 бита как сделать лучше:
//uint64_t value;
Block block;
block.dword = value;

или можно попытаться написать
Block* block = &value;
или же юнион в котором хранится 64 бита не обязательно сам размером 64 бита и эта штука не проконает ?

Добавлено через 6 минут
И ещё вопрос: на данный момент у меня мой класс вместе с функциями (те то что я привёл выше) всё в .h файле. Повлияет ли как-то на скорость выполнения программы если я разделю на файл заголовков и реализаций (.h и .cpp файл), или это только на читабельность повлияет, а на скорость никак? Я просто раньше как-то не заморачивался над этим и не экономил доли секунд.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru