КВАДРАТ ПОЛИБИЯ 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