Реализация алгоритма шифрования Гаммирование — Python (Питон)

Гаммирование является широко применяемым криптографическим преобразованием. Под гаммированием понимают процесс наложения по определенному закону гаммы шифра на открытые данные. Гамма шифра — это псевдослучайная последовательность, выработанная по заданному алгоритму для шифровки открытых данных и дешифровки зашифрованных данных. Процесс шифровки заключается в генерации гаммы шифра с помощью датчика псевдослучайных чисел и наложении полученной гаммы на исходный открытый текст обратимым образом, например с использованием операции сложения по модулю 2. Следует отметить, что перед шифровкой открытые данные разбивают на блоки Tо(i) одинаковой длины, обычно по 64 бита. Гамма шифра вырабатывается в виде последовательности блоков…

Read More

Лозунговый шифр — Python(Питон)

В данном шифре запоминание ключа основано на лозунге – легко запоминающемся слове или фразе. Например, выберем  слово – лозунг “заявление” и заполним вторую строку таблицы по следующему правилу: сначала вписывается слово — лозунг, причем повторяющиеся буквы отбрасываются, затем эта таблица дополняется не вошедшими в нее буквами алфавита. Ключ будет иметь вид: А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я З А Я В Л Е Н И…

Read More

Модуль random — Python(Питон)

Модуль random предоставляет функции для генерации случайных чисел, букв, случайного выбора элементов последовательности. random.seed([X], version=2) — инициализация генератора случайных чисел. Если X не указан, используется системное время. random.getstate() — внутреннее состояние генератора. random.setstate(state) — восстанавливает внутреннее состояние генератора. Параметр state должен быть получен функцией getstate(). random.getrandbits(N) — возвращает N случайных бит. random.randrange(start, stop, step) — возвращает случайно выбранное число из последовательности. random.randint(A, B) — случайное целое число N, A ≤ N ≤ B. random.choice(sequence) — случайный элемент непустой последовательности. random.shuffle(sequence, [rand]) — перемешивает последовательность (изменяется сама последовательность). Поэтому функция не…

Read More