Encrypt files into large sets of Chess games stored in PGN format.
From the YouTube video: Storing Files in Chess Games for Free Cloud Storage
This is a library so you will need to import functions from decode.py and encode.py to use this. I have written some small documentation to help using them, although I won't generally be providing support for this software. I'm just uploading it for others with an interest in the algorithm etc.
While primarily a library, you may also use this as a CLI for convenience. (If you only intend to use the library, you can safely delete cli.py). First, install the required dependency: pip install -r requirements.txt
You can now use the CLI to encrypt and decrypt files:
-
Encrypt a file
python cli.py encode input_file.ext output.pgn -
Decrypt a file
python cli.py decode output.pgn recovered_file.ext
20.02.26 sync fork Ось результати аналізу та стратегія трансформації для проекту Chess Encryption, підготовлені у форматі для копіювання в Notion.
Chess Encryption — це унікальний інструмент стеганографії, який дозволяє шифрувати файли у вигляді великих наборів шахових партій, збережених у стандартному форматі PGN,.
Логіку коду проекту можна розбити на такі атомарні функції:
- Кодування даних (
encode.py): Основний алгоритм, який перетворює бінарний вміст будь-якого файлу в послідовність валідних шахових ходів,. - Декодування даних (
decode.py): Процес вилучення оригінальної інформації з шахових партій у форматі PGN для відновлення початкового файлу,,. - Інтерфейс командного рядка (
cli.py): Забезпечує зручне управління процесами шифрування та дешифрування через консоль,. - Допоміжні утиліти (
util.py): Містять базові функції для маніпуляції даними та підтримки роботи основних модулів. - Управління залежностями: Використання
requirements.txtдля забезпечення необхідного середовища виконання (наприклад, бібліотек для роботи з шаховою логікою),.
Головна цінність проекту полягає в стеганографічному приховуванні даних. Замість створення підозрілих зашифрованих архівів, він маскує інформацію під виглядом звичайних шахових ігор. Це дозволяє використовувати шахові платформи або форуми як "безкоштовне хмарне сховище", оскільки PGN-файли виглядають як легітимний ігровий контент і зазвичай не викликають підозр у систем безпеки.
Інтеграція з Gemini (через GitHub Models) перетворює технічну бібліотеку на інтелектуальну систему прихованого зв'язку.
- Реалістичність партій: Gemini може аналізувати згенеровані ходи та коригувати їх так, щоб партії виглядали як ігри реальних гросмейстерів певного стилю (наприклад, "у стилі Каспарова"), що робить виявлення прихованих даних майже неможливим.
- Інтелектуальне мета-тегування: ШІ може автоматично генерувати реалістичні описи до партій (турнір, дата, імена гравців), щоб PGN-файл виглядав максимально автентично в публічних базах.
- Природномовне управління: Користувач може просто сказати: "Заховай цей документ у партію захисту Каро-Канн", і ШІ сам налаштує параметри кодування.
Сценарій створення сервісу безпечного зберігання на вашому сайті:
- Завантаження (ID_{1}): Користувач завантажує конфіденційний файл на ваш сайт. Ваш скрипт ID_{1} приймає файл.
- Концептуалізація (Gemini): Gemini аналізує тип файлу та вибирає "легенду" для шахової партії (наприклад, "Це буде історичний матч 1972 року").
- Шифрування (Chess Encryption): Викликається функція
encode.py. Скрипт ID_{2} перетворює файл у PGN-хорди, враховуючи поради Gemini щодо стилю гри. - Публікація (ID_{3}): Скрипт ID_{3} автоматично публікує отриманий PGN на відкритих ресурсах (як-от Pastebin або шахові сервери) як "аналіз партії".
- Відновлення: Коли користувач хоче повернути файл, він надає посилання, і ваш сервіс через
decode.pyмиттєво повертає оригінал. - Деплой: Використовуючи GitHub Spark, ви розгортаєте цей інтерфейс як інтелектуальний мікросервіс.
| Крок | Дія | Результат |
|---|---|---|
| 1 | Клонування репозиторію та інсталяція залежностей | Робоче ядро шифрування |
| 2 | Підключення Gemini через GitHub Models | "Інтелектуальна маска" для даних |
| 3 | Зв'язування скриптів ID_{$} з cli.py |
Автоматизація веб-сервісу |
| 4 | Розгортання через GitHub Spark | Готовий до використання сервіс |
Суть: Шифрування файлів у шахові партії.
AI-Роль: Створення інтелектуальних застосунків через Spark.