Исследование алгоритмов скремблирования данных

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



а псевдослучайных потока на каждый раунд которых xored начиная с бит 64 из пакета.

радиосвязь транкинговый кодирование скремблирование

Слабые стороны

Были CSA не сработает, зашифрованные передачи DVB бы расшифровать, независимо от каких-либо имущественных условного доступа (CA) используемой системы. Это может создать серьезную угрозу платного цифрового телевидения, как DVB была стандартизирована на для цифрового наземного телевидения в Европе и в других местах, и используется многими провайдерами спутникового телевидения. Нет атаки до сих пор не опубликованы, однако.

Криптоанализ

Как и другие алгоритмы шифрования, слабым местом возникает поскольку, что часть сообщения, как известно или, по крайней мере легко предсказуемо, как MPEG с 1 мкс для каждой попытки, через все возможные ключевые слова, займет около 300000 лет, в среднем. Это может быть уменьшена с помощью предсказуемой части зашифрованное сообщение, чтобы исключить потенциальные ключи, однако это потребует криптоанализ обеих поточный шифр и алгоритмов блочного шифрования в то же время, является сложной задачей.

Грубая сила подход

Хотя CSA алгоритм использует 64-битные ключи, большую часть времени только 48 бит ключ неизвестны, так как байт 3 и 7 используются в качестве контрольной суммы байт системы CA, и может быть легко пересчитывается. Это позволит сократить перебор времени.

Теоретические реализации в ПЛИС, которая будет состоять из 42 HW-потоки, которые каждый из них будет тест 1 ключ за такт цикла. При тактовой частотой от 50 МГц это позволит ключ можно найти в ~ 19 дней, так как мы ожидали, в среднем, чтобы найти ключ после 2 47 пытается для 2 48 ключ.

Проблематичным участие в этом будет заключаться в определении, когда действительный ключ был найден, поскольку это будет включать проверку расшифрованные данные на известные вещи, как MPEG-заголовков, которые могут быть трудно реализовать достаточно эффективно, чтобы поместиться в настоящее время коммерчески доступных FPGA.

Одним из возможных путей сокращения необходимы сложности в FPGA могут быть иметь многослойную подход, при котором первый раз отбрасывает все ключи, которые, как известно, недействительными с довольно простых проверок и одного или более, что проверки для получения дополнительной информации.

Большинство CA системы используют недолго ключи, которые сменяются каждые несколько секунд, что делает такой реализации бесполезно до вычислительных увеличение мощности резко. Кроме того, обычно 48 бит длина ключа может все еще быть увеличена до 64 бит в будущем для улучшения системы сил, так как это не ограничение алгоритма.

4.Простые алгоритмы скремблирования данных

Иногда нужно что-то зашифровать, но привлекать серьёзные алгоритмы шифрования вроде и не к месту - будет как из пушки по воробьям. Например, нужна простая защита траффика от пользователей/троянов со снифферами , но сами данные не стоят того, чтобы на них тратилось много времени на шифровку-расшифровку, ну и на саму реализацию тоже. Или вам нужно как-то обеспечить закрытость неких хранимых данных от обычных пользователей. Понятно, что подобные алгоритмы не устоят против целенаправленных попыток взлома профессионалами, но мы попытаемся усложнить работу и им, хотя такая задача обычно и не ставится. Вот это-то обычно и называется scrambling.

Под катом я изложу идеи для подобных алгоритмов и обещаю, что они будут посложнее обыкновенного XOR с фиксированым ключом. На всякий случай обращаю внимание на то, что эти алгоритмы не претендуют на звание криптостойких, но уверен, что вы сможете найти им применение.

Предпосылки

Предполагается, что потенциальный взломщик либо не имеет доступа к коду, который осуществляет шифрование, либо не имеет достаточной квалификации для реверс-инжениринга, либо данные не настолько ценны, чтобы тратить время на более тяжёлые методы взлома.

Наверно все знают, что в подобных случаях чаще всего применяют простое циклическое наложение ключа фиксированой длины с помощью операции XOR. И все так же хорошо знают, что такая защита не выдерживает даже начинающего хакера или продвинутого пользователя. Хотелось бы что-нибудь посложнее, но простое в реализации.

Генерирование ключа

Первое, что приходит в голову, это генерировать достаточно длинный ключ, чтобы хотя бы усложнить нахождение длины ключа. Например, исполь?/p>