
⚡ Автоматически расшифровывает шифрования без знания ключа или шифра, декодирует кодировки и взламывает хэши ⚡
➡️
Discord |
Документация
⬅️
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. Некоторые функции, которые мы уже построили:
Сейчас ciphey поддерживает 16 декодеров, и их количество быстро растёт. Ciphey поддерживает около 50, и мы добавляем новые каждый день.
Одна из больших проблем Ciphey заключалась в том, что он мог работать вечно. Если он не мог декодировать ваш текст, вы бы никогда об этом не узнали!
В ciphey есть таймер (встроенный как в библиотеку, так и в CLI), поэтому он рано или поздно истечёт. В CLI по умолчанию 5 секунд, в Discord-боте — 10 (чтобы учесть передачу сетевых сообщений).
У ciphey уже около 120 тестов, тесты документации (чтобы документация всегда была актуальна), и мы требуем документацию для всех основных компонентов. Это прекрасно.
LemmeKnow — это Rust-версия PyWhat. Она в 33 раза быстрее, что позволяет нам декодировать и определять, является ли что-то IP-адресом и т.п., на 3300% быстрее, чем в Python.
Ciphey не поддерживал многопоточность и был довольно медленным. ciphey поддерживает её изначально с помощью Rayon, одной из самых быстрых библиотек многопоточности.
Хотя при 16 декодерах (и их высокой скорости) мы не видим полного эффекта, с добавлением большего числа декодеров (и более медленных) это не будет сильно влиять на общую скорость программы.
Ciphey не поддерживал многоуровневое дешифрование, например, цепочку Rot13 -> Base64 -> Rot13, потому что был слишком медленным. ciphey достаточно быстр для этого, хотя в будущем мы планируем отключить эту функцию.
Теперь ciphey поддерживает настраиваемые уровни чувствительности для определения бессмыслицы, что позволяет точнее идентифицировать открытый текст для разных типов кодирования. Классические шифры, такие как Цезарь, используют низкую чувствительность, чтобы лучше обрабатывать похожие на английский результаты, в то время как большинство других декодеров по умолчанию используют среднюю чувствительность.
Эта функция помогает уменьшить ложные срабатывания и пропуски при определении открытого текста, делая ciphey более надёжным для более широкого спектра закодированных текстов.
Теперь ciphey предлагает улучшенное определение открытого текста с использованием модели на основе BERT из крейта gibberish-or-not. Эта функция:
ciphey --enable-enhanced-detectionТеперь мы используем поиск A*. Это очень быстро.
A* работает с помощью эвристики, оценивающей стоимость достижения цели из текущего состояния.
Сначала мы игнорируем эвристику для очень быстрых декодеров, таких как Base64, и гарантированно запускаем их первыми на каждом узле.
Затем мы вычисляем эвристику для остальных декодеров с помощью cipher_identifier, который может определить вероятность того, что данная строка является определённым шифром.
Мы сохраняем предыдущие результаты в кэше, чтобы избежать повторного вычисления того же пути.
Мы обрезаем дерево поиска, чтобы избежать ненужных вычислений и уменьшить использование памяти, если оно становится слишком большим.
Мы также ведём статистику по декодерам, чтобы динамически отдавать приоритет тем, которые работают лучше (например, Цезарь популярен, а Бофор — нет, поэтому Цезарь будет динамически получать приоритет над Бофором).
Наконец, мы отслеживаем популярные пары. Например, base64 -> base64 очень популярна, поэтому мы отдаём приоритет этому пути (среди прочих).
Теперь вы можете установить собственную тему для ciphey. Это полезно, если вы хотите изменить внешний вид ciphey.
Это также помогает в обеспечении доступности.
Теперь мы используем, пожалуй, лучший алгоритм для шифра Виженера.
Он быстр, точен и обрабатывает небуквенные символы лучше, чем любой другой алгоритм.
Мы используем квадрограммы/триграммы/английский словарь для вычисления вероятности того, что текст является открытым.
Мы изменяем пороги в зависимости от шифра. Например, Цезарь возвращает текст, который «выглядит» как английский, а base64 — нет.
Кроме того, у нас есть база данных популярных регулярных выражений (около 500) для API-ключей, MAC-адресов и т.д.
У нас также есть функция is_password, чтобы определить, является ли строка точным паролем, встречавшимся в утечках данных.
Теперь мы храним статистику в базе данных. Это полезно для отслеживания работы ciphey с течением времени.
Мы используем ИИ для двух вещей: