Как сделать шифратор в logisim

Обновлено: 08.07.2024

Метод 1 Коды

Стандартные коды

Книга кода

Полицейское кодирование

Метод 2 Шифры

Шифрование, основанное на дате

Шифрование при помощи числа

Графический шифр

Перестановка Цезаря

Метод 3 Секретные языки

Путаный язык

Звуковой код

Тарабарский язык

Советы

Предупреждения

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

Что вам понадобится

  • Партитура для кода
  • Карандаш
  • Бумага
  • Любая дата



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

В цикле статей под название “Создание своего метода шифрования”, эта статья будет вводной. Здесь мы рассмотрим отличие шифров от кодов и выберем 2 шифра, которые в дальнейшем мы будем использовать для создания своего шифра.

Отличие шифров от кодов

Если не вдаваться в глубокие подробности, то ответ очень прост. Представьте себе обычную телефонную книгу. Представили? Телефонная книга и есть своего рода кодовая книга. Если вы будете записывать фамилии и имена ваших друзей на обычный листок то получится текст , а если вместо их ФИО использовать номера их телефонов то получится уже закодированное послание. Такое послание сможет понять только тот человек, который знает, что при составлении этого текста вы использовали телефонную книгу. И раскодировать этот набор цифр он сможет только при помощи такой же телефонной книги. Очевидным минусом кодов , является их “стабильность”. При попадании кодовой книги к тому , от кого вы свое послание прятали , ваш код будет больше не способен обеспечить скрытность переписки.

Выбор шифров для скрещивания

Ну что ж вот и основная часть статьи. Не буду откладывать в долгий ящик и расскажу какие шифры мы будем использовать. Шифр Вижинера и Квадрат Полибия.

Квадрат Полибия

Чуть выше я писал, что код намного менее универсален и порой менее устойчив к взлому. Но квадрат Полибия это код простой замены, причем очень древний код. Так почему же , если он такой простой использовать мы будем его ? Как раз потому что он такой простой , уж простите за тавтологию. Работу с данным шифром разделим на несколько стадий :

  1. Выбор языка алфавита для таблицы
  2. Определение размерности таблицы
  3. Формирование таблицы
  4. Шифрования

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

1 2 3 4 5 6
1 А Б В Г Д Е
2 Ё Ж З И Й К
3 Л М Н О П Р
4 С Т У Ф Х Ц
5 Ч Ш Щ Ъ Ы Ь
6 Э Ю Я

Для шифрования на квадрате находили букву текста и вставляли в шифровку нижнюю от неё в том же столбце. Если буква была в нижней строке, то брали верхнюю из того же столбца.

Буква текста: а р б у з
Буква шифротекста : ё ш ж з н

Шифр Вижинера

Данный шифр тоже далеко не новый , но взломать его (официально )не могли целых 200 лет. Шифр Вижинера это поли алфавитный шифр , да к тому же еще с ключевым словом.


Попробуем зашифровать слово PENSIL. Ключевым словом будет слово MEN.

P E NS I L MENMEN

Ключевое слово будем писать циклично до конца текста. Потом Используя таблицу выше , будем искать и находить символы на перекрестиях буквы из текста и буквы из кодового слова. Если все правильно зашифровать то должно получиться слово — BIAETY.

Объединения шифра Вижинера и квадрата Полибия

1 2 3 4 5
1 А Б В Г Д
2 Е Ж З И К
3 Л М Н О П
4 Р С Т У Ф
5 Х Ц Ч Ш Щ
6 Ы Э Ю Я
л и м о н
м А Б В Г Д
у Е Ж З И К
з Л М Н О П
ы Р С Т У Ф
к Х Ц Ч Ш Щ
а Ы Э Ю Я

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

Прежде всего, разберемся в терминологии.

Ключ — это компонент, на основе которого можно произвести шифрование или дешифрование.

Теперь, когда мы говорим на более-менее одном языке, разберем простые шифры.

Шифр Атбаша

Самый-самый простой шифр. Его суть – переворот алфавита с ног на голову.

Например, есть у нас алфавит, который полностью соответствует обычной латинице.


И теперь пишем нужное сообшение на исходном алфавите и алфавите шифра

Шифр Цезаря

Тут добавляется еще один параметр — примитивный ключ в виде числа от 1 до 25 (для латиницы). На практике, ключ будет от 4 до 10.

Опять же, для наглядности, возьмем латиницу

И теперь сместим вправо или влево каждую букву на ключевое число значений.

Например, ключ у нас будет 4 и смещение вправо.

Исходный алфавит: a b c d e f g h i j k l m n o p q r s t u v w x y z
Зашифрованный: w x y z a b c d e f g h i j k l m n o p q r s t u v

Шифруем его и получаем следующий несвязный текст:

Шифр Вернама (XOR-шифр)

Простейший шифр на основе бинарной логики, который обладает абсолютной криптографической стойкостью. Без знания ключа, расшифровать его невозможно (доказано Клодом Шенноном).

Исходный алфавит — все та же латиница.


XOR принимает сигналы (0 или 1 каждый), проводит над ними логическую операцию и выдает один сигнал, исходя из входных значений.

Если все сигналы равны между собой (0-0 или 1-1 или 0-0-0 и т.д.), то на выходе получаем 0.
Если сигналы не равны (0-1 или 1-0 или 1-0-0 и т.д.), то на выходе получаем 1.

Переведем их в бинарный код и выполним XOR:

В данном конкретном примере на месте результирующих символов мы увидим только пустое место, ведь все символы попали в первые 32 служебных символа. Однако, если перевести полученный результат в числа, то получим следующую картину:

С виду — совершенно несвязный набор чисел, но мы-то знаем.

Шифр кодового слова

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

Например, возьмем для разнообразия, кириллический алфавит.

Теперь вписываем данное слово в начале алфавита, а остальные символы оставляем без изменений.

Получим в итоге следующий нечитаемый бред:

Шифр Плейфера

Классический шифр Плейфера предполагает в основе матрицу 5х5, заполненную символами латинского алфавита (i и j пишутся в одну клетку), кодовое слово и дальнейшую манипуляцию над ними.

Сначала поступаем как с предыдущим шифром, т.е. уберем повторы и запишем слово в начале алфавита.

Разобьем его на биграммы, т.е. на пары символов, не учитывая пробелы.

Шифрование выполняется по нескольким несложным правилам:

1) Если символы биграммы находятся в матрице на одной строке — смещаем их вправо на одну позицию. Если символ был крайним в ряду — он становится первым.

Например, EH становится LE.


2) Если символы биграммы находятся в одном столбце, то они смещаются на одну позицию вниз. Если символ находился в самом низу столбца, то он принимает значение самого верхнего.

Например, если бы у нас была биграмма LX, то она стала бы DL.

3) Если символы не находятся ни на одной строке, ни на одном столбце, то строим прямоугольник, где наши символы — края диагонали. И меняем углы местами.

Например, биграмма RA.



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

Биполя́рный транзи́стор — трёхэлектродный полупроводниковый прибор, один из типов транзисторов. В полупроводниковой структуре сформированы два p-n-перехода, перенос заряда через которые осуществляется носителями двух полярностей — электронами и дырками. Биполярный (от англ. bipolar).

КМОП (комплементарная структура металл-оксид-полупроводник; англ. CMOS, complementary metal-oxide-semiconductor) — набор полупроводниковых технологий построения интегральных микросхем и соответствующая ей схемотехника микросхем. Подавляющее большинство современных цифровых микросхем — КМОП.

В более общем случае название — КМДП (со структурой металл-диэлектрик-полупроводник). В технологии КМОП используются полевые транзисторы с изолированным затвором с каналами разной проводимости. Отличительной особенностью схем КМОП по сравнению с биполярными технологиями (ТТЛ, ЭСЛ и др.) является очень малое энергопотребление в статическом режиме (в большинстве случаев можно считать, что энергия потребляется только во время переключения логических состояний). Отличительной особенностью структуры КМОП по сравнению с другими МОП-структурами (N-МОП, P-МОП) является наличие как n-, так и p-канальных полевых транзисторов локализованных в одном месте кристалла. Вследствие меньшего расстояния между элементами КМОП-схемы обладают бо́льшим быстродействием и меньшим энергопотреблением, однако при этом характеризуются более сложным технологическим процессом изготовления и меньшей плотностью упаковки на поверхности кристалла.

По аналогичной технологии выпускаются дискретные полевые транзисторы с изолированным затвором (MOSFET, metal-oxide-semiconductor field-effect transistor).

Я использую Logisim, чтобы экспериментировать с дизайном Электрической схемы, и я задавался вопросом, возможно ли скопировать схему, созданную в 1 Logisim .circ файл и поместить его в различный Logisim .circ файл или случай? Я действительно хотел бы снова использовать некоторые компоненты, которые я ранее соединил в новый файл для большего дизайна, но, может казаться, не нахожу способ получить схему от одного файла/случая до другого.

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

Кто-либо знает, возможно ли это? Я действительно предпочел бы не повторять всю работу, если я не имею к.

Минимизированные аналитические выражения функций шифратора:

y0 = x1 v x3 = ; y1 = x2 v x3 = .

Из этих соотношений видно, что шифратор легко реализуется на дизъюнкторах и элементах ИЛИ-НЕ (рис. 3.34). В его условном графическом обозначении буквы CD – сокращение от английского coder (шифратор).


Рис. 3.34. Шифратор 4/2: а – схема на дизъюнкторах; б – условное графическое обозначение; в – схема на элементах ИЛИ-НЕ

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

Рассмотрим синтез шифраторов на примере преобразования восьмиразрядного унитарного кода в трехразрядный натуральный двоичный код. Состояние выходов шифратора показано в табл. 3.21.

Читайте также: