Рубрики
Без рубрики

Введение в криптографию и линейные реестры сдвига обратной связи

Автор оригинала: Magdalena Stenius.

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

Шифер вчера и сегодня

До тех пор, пока писатель существует, концепция шифрования проживала и развивалась вместе с простым текстом. Идея оказания текста, по-видимому, непонятно для целей охраны секрета, было центральным, особенно в военном использовании и политике. Слово шифр возникает из средневековых времен, от таких слов, как латынь Cifra и арабский صفر (Sifr), что означает «ноль». Существует множество теорий, почему ноль использовался бы для описания шифрования, включая то, что концепция нуля не была частью системы римских номеров и рассматривается как тайна среди чисел. Одним из самых старых и наиболее широко известных шифров, используемых в военном контексте, является Caesars Chipher, также известный как Caesars Shift.

Shift Caesars принимает один ключ, который используется для перемещения каждого персонажа в открытом тексте. Этот единственный ключ – это слабость шифра: после выяснения правильного сдвига все сообщения обнаружено. Математически этот тип шифрования может быть написан как проблема в модульной арифметике, который работает с значениями, завернутой в определенный диапазон. Мы обсудим это на более глубине позже.

То, как мы можем решить открытый текст из зашифрованного текста, нахожу ключ. В случае Caesars Chipher цен 3, выясняя ключей (3) позволяет нам расшифровать весь текст в одном чане. Клавиша определяет выход алгоритма шифрования.

Факторы и простые простые

Возможно, удивительно, что одна из основанных концепций, которые лежит на земле для шифрования, является делимость. Чтобы определить, что это значит, давайте уложим некоторые правила. Во-первых, если у нас есть А и B Это целые числа и А не 0, делится B Если есть такое целое число к Это удовлетворяет следующему утверждению.

Если мы находим целое число, которое больше 1, и у этого нет других позитивных факторов, чем 1 и сам, мы называем это Prime Отказ Целые числа превышают, что не являются числами, не известны как Композитные номера из-за их составленной природы. Например, 4 больше 1, и он имеет фактор 2. Следовательно, это композит. С другой стороны, 3 – это целое число больше, чем один, но у него нет никаких других позитивных факторов, чем 1 и сам. Это простое. Другие мелкие простые простые промирели в 2, 5, 7, 11 и 13.

Согласно фундаментальной теореме арифметики, каждое целое число больше 1 может быть написано как уникальный продукт простых чисел. Это хорошая новость для криптографов, так как они любят работать с пропусками. Почему это будет? Ну, одна из самых простых причин заключается в том, что главная факторизация больших чисел занимает много времени. Многие известные системы шифрования, такие как RSA, полностью основаны на этом факте. Принципал, на котором он работает, заключается в том, что существует открытый ключ (продукт двух крупных простых чисел), который используется для шифрования сообщения и секретного ключа (содержащего те простые числа), которое используется для расшифровки сообщения. Эти простыния обычно длится около 300 цифр.

Вопрос конрумирования

Модульность является одним из фунтовых столбов криптографии. Давайте сначала подойдем к этой концепции с точки зрения подразделения. Что произойдет, если у нас есть 5 маленьких конфет и три ученика? Каждый студент получает конфету, а 2 остаются. Это может быть описано как следующее.

Можете ли вы найти другие суммы конфет, которые остаются 2 как остаток, когда разделены на 3 студентов? Следующая сумма будет 8, так как каждый студент получит две конфеты и снова 2 останутся. Это можно описать с использованием конгруэнции. 8 и 5 являются конгруэнтными – это модуль 3, что означает, что они оставляют одинаковую оставшуюся часть, когда разделены на 3.

В примере смены Caesars мы используем алфавит, который состоит из 26 букв. Мы работаем только с этими 26 ценностями. После «Z» мы вернемся к ‘A’. Это модульность на практике. «A» всегда будет в положении 1 в нашем 26-буквенном списке, поэтому любое количество позиций, которое мы получаем, если мы разделим его на 26, и остальная часть – 1, мы знаем, что используют «a». Это обертывает наши номера в конечное поле, в котором наибольшее значение 26. На практике, если мое секретное сообщение будет «abc», я бы сначала преобразом это к номерам 123. После этого я бы применил смену. В случае, если ключ будет 3, сдвиг будет производить 456. После этого я бы направить номера к их буквенным представлениям, которые находятся в классе модуло 26. Зашифрованное сообщение становится «Def».

Вы можете думать об этом как часы. Когда стрелка пошла круглосуточно, она заканчивается, где он начал. В модульной арифметике последнее целое число сопровождается первым. Еще один способ понять это, в том, что мир конкретного модуля, только это количество ценностей существует. Например, в модуль 2 существует только 2 значения. В нашем алфавите 26 ценностей существуют, и так далее.

Типы шифров

Какие ключи можно использовать шифрное использование для классификации шифров на асимметричные и симметричные клавиши. Они различаются в вопросе того, какой ключ используется для шифрования и дешифрования. Симметричные шифры зашифрованы и расшифрованы с использованием того же ключа (например, шифр Caesars). Шифры асимметричных ключей дешифрованы различным ключом, чем они созданы, например, система шифрования RSA, которую мы кратко обсуждаем ранее. Это приводит к более длительному времени для создания шифрования, но результат также гораздо безопасен.

Другим способом классификации шифров является их способ работы в потоках или блоках. Поток шифров – это симметричные ключевые шифры, которые работают на непрерывных потоках символов. Например, шифы, используемые в Bluetooth, представляет собой потоковый шифр. Само собой разумеется в эпоху беспроводной связи с необходимостью шифрования, потоковые шифры стали жизненно важным частью мобильной техники.

Посмотрите на потоковые шифры

Помните, что мы обсудили концепцию модульной арифметики раньше? Короче говоря, модульная арифметика представляет собой арифметику в конечном поле. Теперь давайте посмотрим на другой шифр, который работает с конечным полем ценностей (также известных как поле Галуа). Этот шифр, однако, не всегда дает те же значения, учитывающие тот же вход, например, смещение. Его цель состоит в том, чтобы произвести поток ключей, используемых для шифрования другого потока. Как и змея, едящую свой собственный хвост (символ, часто используемый для вечности), линейная обратная связь сдвигается регистры, работают путем подачи собственного выхода. Они построены таким образом, что делает их бесконечно циклически через рисунок значений при выводе этого, казалось бы, случайным образом. Семена и все выведенные значения являются двоичными, то есть они получают значения 0 или 1. Путь создания новых значений, используя логический оператор, обычно эксклюзив или (XOR).

Чтобы описать это практическим путем, давайте начнем смотреть на то, что нам нужно создать LFSR. Нам нужно семя, которое является списком и нулей. Семя будет то, что мы начинаем переключаться. В дополнение к нашему семену (или реестре Shift) у нас есть коллекция кранов. Млажки говорят нам, какие части регистра мы используем при подаче в него. Скажите, что у нас есть семена 001 и два крана, 1 и 3. Это означает, что когда мы начинаем смещение, новое значение будет сочетанием первого и третьего числа семян, 0 и 1. Мы используем операцию, называемую исключительно или объединить два. 0 XOR 1 дает 1. Так как мы работаем с двоичными значениями, обратная связь от наших кранов может быть выражена как полиномиал в модуле 2.

Итак, если наш регистр Shift 001, и мы получаем новое значение, 1, мы вставляем его в начало и выбросьте последний номер. Наше New Shift Region State теперь составляет 100. Мы продолжаем смещение, пока мы не заметим, что наш регистр Shift вернулся в исходное состояние, 001. В зависимости от семян и кранов мы выбираем, мы можем получить петли разных длин. Цикл называется Максимальная длина Если он проходит через все возможные различные комбинации, прежде чем достичь его первоначального состояния. Поскольку мы используем двоичную систему, максимальная длина петли будет 2 ^ N-1. Корпус также может оставлять свое исходное состояние и застревать в более короткой цикле внутри, никогда не возвращаюсь к его первоначальному состоянию. Нахождение семян и кран, которые приводят к циклу максимально длины, необходимо. Некоторые критерии нахождения этих кранов состоит в том, что количество кранов должно быть даже и что нажатия находятся понижеры, что означает, что они не имеют общего делителя, кроме 1.

Подожди, это не кажется таким случайным! Не будет такой цикл, как это будет довольно легко взломать? Дело в переключении регистров состоит в том, что они получают довольно долго, довольно быстро. Скажем, мы выбираем семя 20 битов и кран двух значений, 2 и 19. Длина произведенного петли составляет 1 048 575, что означает, что мы получили довольно большое количество, казалось бы, случайных двоичных значений.

Вкус LFSR мы кратко пропали, называется Fibonacci LFSR. Существуют также другие вариации, в которых этот регистр смещен, отличается. Все они работают, чтобы произвести псевдорандужный поток битов, используемых для шифрования потоков. Диапазон приложений для этого типа шифрования диапазон от Bluetooth до стандартов GSM (связь мобильного телефона).

В заключении

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

Источники:

Алгебраические структуры в криптографии V. Niemi

Учебное пособие по линейной обратной связи Переключение Регистрация по этимам

Энциклопедия криптографии и безопасности Anne Calleout