Шифр квадрат полибия python

КВАДРАТ ПОЛИБИЯ PYTHON

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

Для начала, необходимо создать квадрат Полибия. Это можно сделать с помощью двумерного списка:

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

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

def encrypt(plaintext): ciphertext = » for char in plaintext.upper(): if char == ‘J’: char = ‘I’ for i in range(len(square)): for j in range(len(square[i])): if char == square[i][j]: ciphertext += str(i+1) + str(j+1) + ‘ ‘ return ciphertext.strip()

Эта функция принимает строку и возвращает зашифрованный текст в виде строки числовых координат. Знак пробела после каждой пары координат используется для разделения отдельных символов.

Расшифровка выполняется путем замены каждой пары координат обратно на соответствующую букву:

def decrypt(ciphertext): plaintext = » coords = ciphertext.split() for i in range(len(coords)): row = int(coords[i][0]) — 1 col = int(coords[i][1]) — 1 plaintext += square[row][col] return plaintext.lower()

Вот как можно использовать эти функции:

text = ‘Hello, World!’encrypted = encrypt(text)print(encrypted)decrypted = decrypt(encrypted)print(decrypted)

В результате выполнения этого кода должно быть выведено:

324233111542 43244151123225 2233515143
helloworld

Создай свои квадрат Полибия и решётку Кардано

كورس البرمجة الكائنية — الأبسط على الإطلاق (مع التطبيق + المصادر) البرمجة الشيئية

لا تتعلم بايثون هي اسوأ اختيار — أبدأ بأي لغة برمجة؟

Learn Python in Arabic #034 — Boolean Operators

Магический квадрат — фокус для вечеринок [Numberphile]



  • Opencv python сохранение изображения
  • Numpy нормальное распределение
  • Кликер на pygame
  • Python искусственный интеллект
  • Python реактивное программирование
  • Кавычки и апострофы в python
  • Python vk api авторизация
  • Получить сертификат python
  • Кодировка при парсинге python
  • Python документация pandas
  • Python переменные глобальные
  • Numpy среднее значение
  • Python docker установить
  • Python библиотека binance
  • Гистограмма python matplotlib

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

An implementation of a polybius square based cipher in Python

mhdl1991/Polybius-square

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

 This cipher uses a 6x6 square that includes letters and numbers 
 5.2 4.3 1.6 2.2 3.5 1.6 1.1 4.3 2.6 2.5 2.1 2.2 2.6 2.2 2.4 6.4 5.5 6.4 2.2 2.3 2.1 2.4 2.5 2.6 5.2 4.3 2.4 5.2 1.6 5.1 3.5 1.3 2.1 3.6 2.6 2.2 1.3 2.6 5.2 5.2 2.6 2.5 2.2 2.4 5.1 3.6 5.1 2.1 4.6 1.5 2.6 2.5 2.2 
 6.5 6.9 5.12 3.4 8.6 2.9 3.7 8.9 3.8 7.6 3.4 4.8 6.12 3.4 7.5 7.7 7.11 10.10 3.4 7.4 3.4 4.10 6.11 3.8 10.3 5.6 4.10 9.8 2.8 10.2 4.8 3.9 6.7 4.8 7.7 3.5 3.9 6.12 6.4 10.3 3.9 4.11 6.8 3.6 10.2 4.9 7.7 6.7 5.8 6.6 3.9 4.11 6.8 

About

An implementation of a polybius square based cipher in Python

Источник

Читайте также:  Telegram bot java api документация
Оцените статью