Если ключом было слово bs, что представляет собой текст?
Любой эксперт по безопасности скажет вам, что хранить исходный текст вместе с зашифрованным очень глупо. Кроме того, он обязательно сделает замечания о процедуре заполнения, двухбуквенном ключе и так далее, но наша книга посвящена программированию, а не компьютерной безопасности.
Мы проверили свою программу, прочитав зашифрованный текст и преобразовав его в исходный. Когда пишете программу, никогда не пренебрегайте простыми проверками ее корректности.
Также вам может показаться, что такая тема как http://www.temp-bp.ru/index.php?main_page=index&cPath=881_898 никак не связана и даже не тематична с программированием. Хотя, может быть и связана.
В любом случае все-таки зайдите на сайт temp-bp.ru
Тема сверло конусное ступенчатое по металлу там представлена весьма широко.
Центральная часть программы расшифровки выглядит следующим образом:
unsigned long inptr[2]; char outbuf[nchar+1];
outbuf[nchar]=0; // терминальный знак
unsigned long* outptr = reinterpret_cast(outbuf); inf.setf(ios_base::hex ,ios_base::basefield); // шестнадцатеричный
// ввод
while (inf>>inptr[0]>>inptr[1]) { decipher(inptr,outptr,k); outf<
}
Обратите внимание на использование функции inf.setf(ios_base::hex ,ios_base::basefield);
для чтения шестнадцатеричных чисел. Для дешифровки существует буфер вывода outbuf, который мы обрабатываем как набор битов, используя приведение.
Следует ли рассматривать алгоритм TEA как пример программирования встроенной системы? Не обязательно, но мы можем представить себе ситуа
цию, в которой необходимо обеспечить безопасность или защитить финансовые транзакции с помощью многих устройств. Алгоритм TEA демонстрирует много свойств хорошего встроенного кода: он основан на понятной математической модели, корректность которой не вызывает сомнений; кроме того, он небольшой, быстрый и непосредственно использует особенности аппаратного обеспечения.
Стиль интерфейса функций encipher() и decipher() не вполне соответствует нашим вкусам. Однако эти функции были разработаны так, чтобы обеспечить совместимость программ, написанных как на языке С, так и на языке С++, поэтому в них нельзя было использовать возможности языка С+, которыми не обладает язык C. Кроме того, многие “магические константы” являются прямым переводом математических формул.
Опубликовал katy
April 26 2015 11:54:03 ·
0 Комментариев ·
2927 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.