Что такое скремблер в информатике
СОДЕРЖАНИЕ
Цели скремблирования
Скремблер (или рандомизатор) может быть:
Есть две основные причины, по которым используется скремблирование:
Виды скремблеров
Аддитивные (синхронные) скремблеры
Для того чтобы обеспечить синхронную работу передающих и приемная LFSR (то есть, скремблер и дешифратор ), A синхронизация слова должны быть использованы.
Добавка дешифратор это то же самое устройство в качестве добавки скремблера.
Мультипликативные (самосинхронизирующиеся) скремблеры
Сравнение скремблеров
У скремблеров есть определенные недостатки:
Криптографический
Скремблирование с инверсией голоса может быть таким же простым, как инвертирование полос частот вокруг статической точки, до различных сложных методов изменения точки инверсии случайным образом и в реальном времени с использованием нескольких полос.
Расшифровывать
Скремблирование
Скремблирование (англ. scramble — перемешивать) — разновидность кодирования информации, для передачи по каналам связи и хранения, улучшаюшая спектральные и статиcтические характеристики.
Примечание: Слово скремблер также имеет иное значение — это устройство для шифрования аналогового (телефонного, телевизионного) сигнала.
Скремблирование есть приведение информации к виду, по различным характеристикам похожему на случаные данные. Скремблирование выравнивает спектр сигнала, частоты появления различных символов и их цепочек.
Технология скремблирования
Наиболее распространённый способ скремблирования — смешивание сигнала с генератором псевдослучайных чисел. Аппаратные реализации скремблирования часто используют ГСЧ на сдвиговом регистре с линейной обратной связью.
Скремблирование применяется практически во всех современных средствах передачи информации и носителях. В частности, скремблирование используют: модем; жёсткий диск; компакт-диск и DVD.
Смотреть что такое «Скремблирование» в других словарях:
скремблирование — Простейший способ шифрования. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом EN scrambling … Справочник технического переводчика
скремблирование — 01.02.18 скремблирование [ scrambling]: Перестановка или перегруппировка данных для повышения безопасности хранящихся данных или эффективности схем защиты от ошибок. Источник … Словарь-справочник терминов нормативно-технической документации
скремблирование речевого сигнала — — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN voice scrambling … Справочник технического переводчика
повторное скремблирование — — [http://www.rfcmd.ru/glossword/1.8/index.php?a=index d=23] Тематики защита информации EN rescrambling … Справочник технического переводчика
Скремблер — (англ. scrambled зашифрованный) программное или аппаратное устройство (алгоритм), выполняющее скремблирование. Скремблирование это обратимое преобразование цифрового потока без изменения скорости передачи с целью получения… … Википедия
DVB-T2 — Список стандартов цифрового телевизионного вещания Стандарты DVB (Европа) DVB S (Цифровое спутниковое ТВ) DVB S2 DVB T (Цифровое эфирное ТВ) DVB T2 DVB C (Цифровое кабельное ТВ) DVB C2 DVB H (Мобильное ТВ) DVB SH (спутниковое/мобильное) … Википедия
Шифрование в аналоговой телефонии — Эта статья должна быть полностью переписана. На странице обсуждения могут быть пояснения. Существуют два класса систем связи: цифровые и аналоговые … Википедия
ГОСТ Р ИСО/МЭК 19762-1-2011: Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 1. Общие термины в области АИСД — Терминология ГОСТ Р ИСО/МЭК 19762 1 2011: Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 1. Общие термины в области АИСД оригинал документа: Accredited Standards… … Словарь-справочник терминов нормативно-технической документации
ГОСТ Р 53531-2009: Телевидение вещательное цифровое. Требования к защите информации от несанкционированного доступа в сетях кабельного и наземного телевизионного вещания. Основные параметры. Технические требования — Терминология ГОСТ Р 53531 2009: Телевидение вещательное цифровое. Требования к защите информации от несанкционированного доступа в сетях кабельного и наземного телевизионного вещания. Основные параметры. Технические требования оригинал документа … Словарь-справочник терминов нормативно-технической документации
RC4 — (англ. Rivest Cipher 4 или англ. Ron’s Code, также известен как ARCFOUR или ARC4 (англ. Alleged RC4)) потоковый шифр, широко применяющийся в различных системах защиты информации в компьютерных сетях (например, в протоколах… … Википедия
Что такое скремблер в информатике
В последнее время сфера применения скремблирующих алгоритмов значительно сократилась. Это объясняется в первую очередь снижением объемов побитной последовательной передачи информации, для защиты которой были разработаны данные алгоритмы. Практически повсеместно в современных системах применяются сети с коммутацией пакетов, для поддержания конфиденциальности которой используются блочные шифры. А их криптостойкость превосходит, и порой довольно значительно, криптостойкость скремблеров.
Суть скремблирования заключается в побитном изменении проходящего через систему потока данных. Практически единственной операцией, используемой в скремблерах является XOR «побитное исключающее ИЛИ». Параллельно прохождению информационного потока в скремблере по определенному правилу генерируется поток бит кодирующий поток. Как прямое, так и обратное шифрование осуществляется наложением по XOR кодирующей последовательности на исходную.
Генерация кодирующей последовательности бит производится циклически из небольшого начального объема информации ключа по следующему алгоритму. Из текущего набора бит выбираются значения определенных разрядов и складываются по XOR между собой. Все разряды сдвигаются на 1 бит, а только что полученное значение («0» или «1») помещается в освободившийся самый младший разряд. Значение, находившееся в самом старшем разряде до сдвига, добавляется в кодирующую последовательность, становясь очередным ее битом (см. рис.1).
Рис.1.
Из теории передачи данных криптография заимствовала для записи подобных схем двоичную систему записи. По ней изображенный на рисунке скремблер записывается комбинацией «10011 2 » единицы соответствуют разрядам, с которых снимаются биты для формирования обратной связи.
Как видим, устройство скремблера предельно просто. Его реализация возможна как на электронной, так и на электрической базе, что и обеспечило его широкое применение в полевых условиях. Более того, тот факт, что каждый бит выходной последовательности зависит только от одного входного бита, еще более упрочило положение скремблеров в защите потоковой передачи данных. Это связано с неизбежно возникающими в канале передаче помехами, которые могут исказить в этом случае только те биты, на которые они приходятся, а не связанную с ними группу байт, как это имеет место в блочных шифрах.
Декодирование заскремблированных последовательностей происходит по той же самой схеме, что и кодирование. Именно для этого в алгоритмах применяется результирующее кодирование по «исключающему ИЛИ» схема, однозначно восстановимая при раскодировании без каких-либо дополнительных вычислительных затрат. Произведем декодирование полученного фрагмента.
Число бит, охваченных обратной связью, то есть разрядность устройства памяти для порождающих кодирующую последовательность бит называется разрядностью скремблера. Изображенный выше скремблер имеет разрядность 5. В отношении параметров криптостойкости данная величина полностью идентична длине ключа блочных шифров, который будет проанализирован далее. На данном же этапе важно отметить, что чем больше разрядность скремблера, тем выше криптостойкость системы, основанной на его использовании.
Рис.2.
Схемы с выбранными по данному закону обратными связями называются генераторами последовательностей наибольшей длины (ПНД), и именно они используются в скремблирующей аппаратуре. Из множества генераторов ПНД заданной разрядности во времена, когда они реализовывались на электрической или минимальной электронной базе выбирались те, у которых число разрядов, участвующих в создании очередного бита, было минимальным. Обычно генератора ПНД удавалось достичь за 3 или 4 связи. Сама же разрядность скремблеров превышала 30 бит, что давало возможность передавать до 2 40 бит = 100 Мбайт информации без опасения начала повторения кодирующей последовательности.
Существенным недостатком скремблирующих алгоритмов является их нестойкость к фальсификации. Подробнее данная проблема рассмотрена на следующей лекции, применительно к созданию целых криптосистем.
Простые алгоритмы скремблирования данных
Иногда нужно что-то зашифровать, но привлекать серьёзные алгоритмы шифрования вроде и не к месту — будет как из пушки по воробьям. Например, нужна простая защита траффика от пользователей/троянов со снифферами, но сами данные не стоят того, чтобы на них тратилось много времени на шифровку-расшифровку, ну и на саму реализацию тоже. Или вам нужно как-то обеспечить закрытость неких хранимых данных от обычных пользователей. Понятно, что подобные алгоритмы не устоят против целенаправленных попыток взлома профессионалами, но мы попытаемся усложнить работу и им, хотя такая задача обычно и не ставится. Вот это-то обычно и называется scrambling.
Под катом я изложу идеи для подобных алгоритмов и обещаю, что они будут посложнее обыкновенного XOR с фиксированым ключом. На всякий случай обращаю внимание на то, что эти алгоритмы не претендуют на звание криптостойких, но уверен, что вы сможете найти им применение.
Предпосылки
Предполагается, что потенциальный взломщик либо не имеет доступа к коду, который осуществляет шифрование, либо не имеет достаточной квалификации для реверс-инжениринга, либо данные не настолько ценны, чтобы тратить время на более тяжёлые методы взлома.
Наверно все знают, что в подобных случаях чаще всего применяют простое циклическое наложение ключа фиксированой длины с помощью операции XOR. И все так же хорошо знают, что такая защита не выдерживает даже начинающего «хакера» или продвинутого пользователя. Хотелось бы что-нибудь посложнее, но простое в реализации.
А если генерировать ключ?
Первое, что приходит в голову, это генерировать достаточно длинный ключ, чтобы хотя бы усложнить нахождение длины ключа. Например, использовать некий генератор псевдослучайных чисел с входными данными, известными и отправителю, и получателю. Один из таких часто применяемых генераторов — линейный конгруэнтный ГПСЧ (ГСПЧ это генератор псевдослучайных чисел). Мы, конечно, догадываемся, что это плохо, но что же именно плохо в этом подходе? Проблема в том, что довольно трудно генерировать параметры для самого генератора. Программно подобрать хорошие параметры для линейного конгруэнтного ГПСЧ, чтобы последовательность была длинная и невырожденая, довольно трудно. По этому поводу можно почитать в 3.2.1 в книге Д.Кнута «Искусство программирования». Поэтому зачастую эти параметры вколачивают в код как константы и, как следствие, потенциальный взломщик получает множество сообщений зашифрованых с одним ключом, что значительно упрощает его работу.
А что если использовать сами данные для генерации этой псевдослучайной последовательности?
Эта идея осенила меня лет 20 назад, когда я «помогал» писать диплом одной моей знакомой студентке. На первый взгляд кажется, что это невозможно, ведь нам нужен генератор, который выдавал бы одинаковую последовательность и при шифровке, и при расшифровке. Как ни странно, именно этот «убийственный» тезис и даёт нам путь к созданию такого генератора. Да, нам нужен алгоритм, который меняет значения своих внутренних переменных одинаково, если ему дать исходный байт (или что там у нас является атомарной единицей кодирования) и зашифрованый байт. Как этого достичь? Всё гениальное просто — для вычисления следующего значения ключа можно задействовать коммутативные операции для пар исходных-шифрованых байт. Так как результат операции не зависит от порядка операндов в паре, то очевидно, что такой алгоритм будет менять свои переменные при расшифровке точно так же как и при шифровке, но последовательность ключей для других входных данных будет другой.
Пример генератора ключей, зависящего от входных данных
Чтоб было понятней, рассмотрим простенький пример такого алгоритма.
Пусть xn — это очередной код в исходных данных, kn — текущий ключ, kn+1 — следующее значение ключа, yn — зашифрованый код xn.
Q(a,b) — некая коммутативная функция, т.е. такая, что q(a,b)==q(b,a).
F(a,b,c) — некая целочисленная функция.
Toгда итерацию по (де)кодированию можно описать так:
yn := xn xor kn;
kn+1 := F( kn, Q( xn, yn ), n );
Если для функции F() понятно, что её имплементация в общем-то ограничена лишь нашей фантазией и здравым смыслом, то про Q(), вероятно, вам хочется увидеть подробностей, а именно, каким таким условиям она должна соответствовать, чтобы быть коммутативной. Самый простой способ этого достичь — использовать аргументы только парами в коммутативных операциях, например xor, сложение, умножение. Примеры: Q(a,b) = a xor b. (Исправлено: пожалуй я тут погорячился, ведь при наложении исходного и зашифрованного кода получается ключ, что нежелательно. Я лично использую немного более сложные функции).
Q(a,b) = ((a xor b) or 1) * (( a + b ) xor 1).
Как видите, придумать свою супер-пупер функцию Q() совсем не сложно. Другое дело, нужно ли её делать сложной? Думаю, что особого смысла в её переусложнении нет.
Ну а теперь-то что плохо?
А ещё идеи есть?
А то! У меня всегда есть идеи!
Допустим вы передаёте данные в сжатом виде. Или данные уже частично зашифрованы. Или каждое сообщение/блок достаточно длинные и состоят из двоичных данных с примерно равномерным распределением кодов. В этом случае любое вмешательство в порядок кодов в сообщении может существенно усложнить жизнь потенциальному взломщику. Уверен, что вы можете и сами придумать некий примитивный перемешиватель байтов в блоке данных, но я ведь обещал интересные и красивые идеи.
Перемешиватель данных (shuffler)
Обычно для решения этой задачи используют некий ГСПЧ для получения пар индексов кодов в блоке данных, которые меняют местами. Неприятность этого метода в том, что трудно гарантировать, что какая-то часть данных не останется на том же месте. Также не совсем понятно, сколько же перестановок нужно сделать, чтобы достичь приемлемого результата, хотя для надёжности можно просто пройтись по всем кодам сообщения и обменять каждый со случайным. Но есть ещё одна неприятность — если генератор имеет плохое распределение по квадрату (а линейный конгруэнтный именно такой болезнью и болеет, и причём безнадёжно), то при определённых размерах блока можно нарваться на зацикливание выдаваемых значений. Я довольно долго шёл к идее быстрого псевдослучайного перемешивателя данных (shuffler) и считаю, что она заслуживает вашего внимания не только как алгоритм для скремблирования.
Немного теории. В пункте 3.2.1.2 книги Д.Кнута «Искусство программирования» можно найти критерии для выбора множителя для линейного конгруэнтного генератора, чтобы длина генерируемой последовательности равнялась модулю. Что это означает? Это значит, что для генератора с модулем m каждое значение от 0 до m-1 будет выдано ровно один раз. Зачем это нам? Вспомним, что для нашего перетасовщика было бы желательно гарантировать, что все байты(коды) сообщения поменяли своё место. То есть, если длина данного блока данных равна этому самому m, то нам будет достаточно просто записывать очередной входной байт(код) сообщения в выходной буффер по индексу, равному очередному значению из генератора. Простота этого алгоритма настолько сооблазнительна, что я не мог пройти мимо.
Но, как всегда случается с чем-то сооблазнительным, не обошлось без проблем. Во-первых, не все m одинаково полезны хороши. Из той же главы той же книги мы видим, что если m является произведением простых чисел в первой степени, то полного перебора элементов мы достичь не можем в принципе (не считая перебора подряд, что нам, конечно, не интересно). Получается, что получить нужный нам генератор с заданной длиной последовательности нельзя, и, следовательно, если у нас сообщения произвольной длины, то мы не всегда можем найти такой генератор. Тупик? А действительно ли нам нужны генераторы произвольной длины? Вспомним о том, что для потенциального взломщика знание длины сообщения очень даже небесполезно. Тогда мы уже знаем и способ борьбы, который мы успешно применяли для генератора, зависящего от входных данных. Правильно, надо подбросить случайный мусор, и лучше всего перед полезными данными. Правда, есть проблема в том, что в каждом блоке нужно как-то указывать количество полезной информации в нём. Если же в вашем случае длина всех сообщений/блоков данных фиксирована, то вы вы можете зафиксировать и m — выбрать первое удобное для вас значение, которое больше длины входного блока и удовлетворяет критерию из теоремы A из 3.2.1.3 из книги.
Ещё идеи?
Довольно очевидна идея объединить shuffler и генератор, зависящий от данных. Для этого мы сначала скармиваем генератору нужное количество мусора, чтобы подогнать длину сообщения под размер блока shuffler’а, а потом уже прогоняем данные самого сообщения. Все выходные коды пишем по индексам, которые получаем от shuffler.
Думаю, что на сегодня хватит.
Исправления: Исправил замеченную отчепятку и зачеркнул неудачный пример.
В телекоммуникации, а скремблер это устройство, которое транспонирует или инвертирует сигналы или иным образом кодирует сообщение на стороне отправителя, чтобы сделать сообщение неразборчивым для получателя, не оснащенного соответствующим образом настроенным устройством дескремблирования. В то время как шифрование обычно относится к операциям, проводимым в цифровой домен, скремблирование обычно относится к операциям, выполняемым в аналог домен. Скремблирование выполняется путем добавления компонентов к исходному сигналу или изменения некоторых важных компонентов исходного сигнала, чтобы затруднить извлечение исходного сигнала. Примеры последнего могут включать удаление или изменение вертикальных или горизонтальных синхроимпульсов в телевизионных сигналах; телевизоры не смогут отображать изображение с такого сигнала. Некоторые современные скремблеры на самом деле шифрование устройств, название осталось из-за сходства в использовании, в отличие от внутренней работы.
Скремблер заменяет последовательности (называемые последовательности отбеливания) в другие последовательности, не удаляя нежелательные последовательности, и, как следствие, это изменяет вероятность появления неприятных последовательностей. Ясно, что это не является надежным, поскольку есть входные последовательности, которые дают все нули, все единицы или другие нежелательные периодические выходные последовательности. Следовательно, скремблер не является хорошей заменой линейный код, который на этапе кодирования удаляет нежелательные последовательности.
Содержание
Цели скремблирования
Скремблер (или рандомизатор) может быть:
Есть две основные причины, по которым используется скремблирование:
Органы стандартов физического уровня обычно ссылаются на нижний уровень (физический уровень и уровень связи) шифрование также как скремблирование. [1] [2] Это вполне может быть связано с тем, что используемые (традиционные) механизмы также основаны на регистрах сдвига с обратной связью. цифровое телевидение, такие как DVB-CA и MPE, называйте шифрование на канальном уровне скремблированием.
Типы скремблеров
Аддитивные (синхронные) скремблеры
Аддитивные скремблеры (их также называют синхронный) преобразовать поток входных данных, применив псевдослучайная двоичная последовательность (PRBS) (сложением по модулю два). Иногда предварительно рассчитанный PRBS, хранящийся в только для чтения памяти используется, но чаще генерируется регистр сдвига с линейной обратной связью (LFSR).
Для обеспечения синхронной работы LFSR передачи и приема (т. Е. скремблер и дескремблер), а синхронизирующее слово должны быть использованы.
В аддитивный дескремблер такое же устройство, как и аддитивный скремблер.
Мультипликативные (самосинхронизирующиеся) скремблеры
Сравнение скремблеров
У скремблеров есть определенные недостатки:
Первые скремблеры голоса были изобретены в Bell Labs в период непосредственно перед Вторая Мировая Война. Эти наборы состояли из электроники, которая могла смешивать два сигнала или, альтернативно, снова «вычитать» один сигнал. Два сигнала были предоставлены телефон и магнитофон. Была произведена соответствующая пара записей, каждая из которых содержала одну и ту же запись шум. Запись была воспроизведена в телефоне, и смешанный сигнал был отправлен по проводам. Затем шум был вычтен на дальнем конце, используя соответствующую запись, оставив исходный голосовой сигнал нетронутым. Подслушивающие могли слышать только шумный сигнал, не понимая голоса.
Один из них, используемый (среди прочего) для телефонных разговоров между Уинстон Черчилль и Франклин Д. Рузвельт был перехвачен и расшифрован Немцы. Хотя бы один немец инженер работал в Bell Labs до войны и придумал способ их сломать. Более поздние версии были настолько разными, что немецкая команда не смогла их расшифровать. Ранние версии были известны как «А-3» (от Корпорация AT&T). Несвязанное устройство под названием СИГСАЛИ использовался для голосовой связи более высокого уровня.
Шум создавался на крупном шеллаке. фонограф записи делаются парами, отправляются по мере необходимости и уничтожаются после использования. Это сработало, но было чрезвычайно неудобно. Просто добиться синхронизации двух записей оказалось непросто. Послевоенная электроника значительно упростила работу с такими системами, создав псевдослучайный шум на основе короткого входного тона. При использовании вызывающий абонент будет воспроизводить тональный сигнал в телефоне, а затем оба скремблера будут прослушивать сигнал и синхронизироваться с ним. Однако это обеспечивало ограниченную безопасность, так как любой слушатель с базовыми знаниями электронной схемы часто мог создать машину с аналогичными настройками, достаточными для нарушения связи.
Криптографический
Необходимость синхронизировать скремблеры предложила Джеймс Х. Эллис идея для несекретное шифрование, что в конечном итоге привело к изобретению как ЮАР алгоритм шифрования и Обмен ключами Диффи – Хеллмана задолго до того, как они были публично изобретены Ривест, Шамир, и Адлеман, или Диффи и Хеллман.
Голосовая инверсия скремблирование может быть таким же простым, как инвертирование полосы частот вокруг статической точки к различным сложным методам изменения точки инверсии случайным образом в реальном времени и с использованием нескольких диапазонов.
«Скремблеры», используемые в кабельное телевидение предназначены для предотвращения случайной кражи сигнала, а не для обеспечения реальной безопасности. Ранние версии этих устройств просто «инвертировали» один важный компонент телевизионного сигнала, повторно инвертируя его на стороне клиента для отображения. Более поздние устройства были лишь немного сложнее, полностью отфильтровывая этот компонент, а затем добавляя его, исследуя другие части сигнала. В обоих случаях схема может быть легко построена любым достаточно хорошо осведомленным любителем. (Увидеть Шифрование телевидения.)
Электронные комплекты для скремблирования и дескремблирования доступны у любителей. Сканер энтузиасты часто используют их для прослушивания зашифрованных сообщений на автогонках и некоторых общественных передач. Это также распространено в ФРС радио. Это простой способ узнать о скремблировании.
Термин «скремблирование» иногда неправильно используется, когда заклинивание имеется в виду.