Ciphey

Password Attacks v5.14.0 · 06.06.2021 не обновлялся >2 лет

Автоматическое дешифрование/декодирование без знания метода. Определяет и применяет сотни схем: Base64, ROT13, Caesar, XOR, JWT, хеши, URL-encoding, morse, binary и другие. Идеален для CTF и анализа захваченных данных.

v5.14.0
06.06.2021 current
Добавлен 07.07.2026 · Обновлён 07.07.2026 · Password Attacks
Установка
pip3 install ciphey

ciphey -t "aGVsbG8gd29ybGQ="

# Из файла:
ciphey -f encrypted.txt

# Тихий режим:
ciphey -t "SGVsbG8gV29ybGQ=" --quiet

# Docker:
docker run -it remnux/ciphey
переведено ИИ



➡️ Discord | Документация ⬅️

Проект ciphey

ciphey demo

ciphey — это инструмент декодирования нового поколения, созданный теми же людьми, что привнесли вам Ciphey.

Мы полностью намерены заменить Ciphey на ciphey.

✨ Вы можете узнать больше о ciphey здесь https://skerritt.blog/introducing-ciphey/ ✨

Как использовать

Самый простой способ использовать ciphey — присоединиться к Discord-серверу, перейти в канал #bots и использовать ciphey с помощью $ciphey. Введите $help для получения полезной информации!

Второй лучший способ — использовать cargo install ciphey и вызывать его с помощью ciphey.

Вы также можете сделать git clone этого репозитория и запустить docker build ., чтобы получить образ.

Возможности

Некоторые функции, которые могут вас заинтересовать, и которыми мы гордимся.

Быстрота

ciphey быстр. Очень быстр. Другие декодеры, такие как Ciphey, требуют продвинутого искусственного интеллекта для определения того, какой путь декодирования следует предпринять (пытаться ли шифр Цезаря или Base64 и т.д.).

ciphey настолько быстр, что нам пока не нужно об этом беспокоиться. На каждое 1 декодирование, которое может выполнить Ciphey, ciphey может выполнить ~7. Это увеличение скорости на 700%.

Библиотека в первую очередь

ciphey состоит из двух основных частей: библиотеки и CLI. CLI просто использует библиотеку, что означает, что вы можете строить поверх ciphey. Некоторые функции, которые мы создали: * Discord-бот * Улучшенное тестирование всей программы 💖 * Этот CLI

Декодеры

ciphey в настоящее время поддерживает 16 декодеров, и их количество растёт быстро. Ciphey поддерживает около ~50, и мы добавляем больше каждый день.

Таймер

Одной из основных проблем Ciphey было то, что он мог работать бесконечно. Если он не мог декодировать ваш текст, вы никогда бы об этом не узнали!

ciphey имеет таймер (встроенный в библиотеку и CLI), что означает, что он в конечном итоге истечёт. CLI по умолчанию использует 5 секунд, Discord-бот по умолчанию — 10 (с учётом времени передачи сетевых сообщений).

Лучшая документация, лучшие тесты

ciphey уже имеет ~120 тестов, тесты документации (чтобы убедиться, что наша документация остаётся актуальной), и мы требуем документацию для всех наших основных компонентов. Это прекрасно.

LemmeKnow

Screenshot 2022-12-18 at 17 08 36

LemmeKnow — это версия на Rust для PyWhat. Он в 33 раза быстрее, что означает, что теперь мы можем декодировать и определять, является ли что-то IP-адресом или чем-то ещё, на 3300% быстрее, чем на Python.

Многопоточность

Ciphey не поддерживал многопоточность, он был довольно медленным. ciphey поддерживает её нативно, используя Rayon — одну из самых быстрых библиотек многопоточности.

Хотя мы не полностью видим её эффекты при всего 16 декодерах (и они довольно быстрые), по мере добавления больше декодеров (и более медленных) мы увидим, что это не так сильно повлияет на общую скорость программы.

Декодирование на нескольких уровнях

Ciphey не поддерживал многоуровневые расшифровки, такие как путь Rot13 -> Base64 -> Rot13, потому что это было слишком медленно. ciphey достаточно быстр для этого, хотя мы планируем в конечном итоге отключить эту функцию.

Настраиваемая чувствительность для определения открытого текста

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

Эта функция помогает снизить ложноположительные и ложноотрицательные результаты при определении открытого текста, делая ciphey более надёжным для широкого спектра закодированных текстов.

Улучшенное определение открытого текста с помощью BERT

ciphey теперь предлагает улучшенное определение открытого текста с использованием модели на основе BERT из крейта gibberish-or-not. Эта функция: - Увеличивает точность определения открытого текста примерно на 40% - Уменьшает ложноположительные и ложноотрицательные результаты при идентификации открытого текста - Может быть включена во время начальной настройки или позже с помощью ciphey --enable-enhanced-detection - Требует одноразового скачивания ИИ-модели размером 500 МБ (требуется бесплатный аккаунт Hugging Face)

Новые возможности

Улучшенный алгоритм поиска

Теперь мы используем поиск A*. Это очень быстро.

A* работает, используя эвристику для оценки стоимости достижения цели из текущего состояния.

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

Затем мы вычисляем эвристику для остальных декодеров с помощью cipher_identifier, который может определить вероятность того, что данная строка является определённым шифром.

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

Мы обрезаем дерево поиска, чтобы избежать ненужных вычислений и контролировать использование памяти, если оно становится слишком большим.

Мы также отслеживаем статистику по декодерам, чтобы динамически отдавать предпочтение тем, которые работают лучше (например: Цезарь популярный, но Бофор — нет, поэтому Цезарь будет динамически иметь приоритет над Бофором).

Наконец, мы отслеживаем популярные пары. Так base64 -> base64 очень популярный, поэтому мы отдаём приоритет этому пути (среди других).

Пользовательские темы

Вы теперь можете установить пользовательскую тему для ciphey. Это полезно, если вы хотите изменить внешний вид ciphey.

Это также помогает с доступностью.

Виженер

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

Он быстрый, точный и лучше обрабатывает неалфавитные символы, чем любой другой алгоритм.

Улучшенная проверка английского языка

Мы используем проверщик на основе квадриграмм / триграмм / английского словаря для вычисления вероятности того, что текст является открытым текстом.

Мы изменяем пороги в зависимости от шифра. Например, Цезарь возвращает текст, который «выглядит» как английский, тогда как base64 — нет.

Помимо этого, у нас есть база данных популярных регулярных выражений (около 500) для API-ключей, MAC-адресов и т.д.

У нас также есть функция is_password для определения того, является ли строка точным паролем, обнаруженным в утечке данных.

Больше шифров

  • Брайль
  • Атбаш
  • Виженер

База данных

Теперь мы храним статистику в базе данных. Это полезно для отслеживания того, как ciphey справляется со временем.

Использование ИИ

Мы используем ИИ для 2 вещей: 1. TUI полностью создана с помощью «вибра» (автоматизированного генерирования кода). 2. Я заставил ИИ провести часы за исследованием каждого соревнования CTF. Он создал список из 15 071 CTF. Затем он прошёл через каждое CTF и искал обзоры (writeups). В этих обзорах он искал всё, связанное с кодированием / декодированием. Затем он создал тесты на основе этого. Это позволило нам увеличить покрытие тестами и убедиться, что все задачи CTF по кодированию / декодированию решаемы с помощью этого инструмента.

Комментарии
Войдите, чтобы оставить комментарий