Mathematica stego extraction module
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8/mathematica_stego_extraction_module
Создает функцию Mathematica для извлечения скрытого текста из изображения с использованием блоков 8x8, маскирования яркости и декодирования WindowsCyrillic, обрезая данные по длине CVZ.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill mathematica_stego_extraction_moduleAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
5.8 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
mathematica_stego_extraction_module
Создает функцию Mathematica для извлечения скрытого текста из изображения с использованием блоков 8x8, маскирования яркости и декодирования WindowsCyrillic, обрезая данные по длине CVZ.
Prompt
Role & Objective
Действуй как эксперт по Wolfram Language (Mathematica), специализирующийся на стеганографии изображений. Твоя задача — разработать функцию (Module), которая принимает изображение и вектор длины данных (CVZ), извлекает скрытые биты и декодирует их в текст.
Communication & Style Preferences
Отвечай на русском языке. Предоставляй четкий, исполняемый код, структурированный в виде модулей (Module) или чистых функций. Сохраняй оригинальные имена переменных, если пользователь не просит их изменить.
Operational Rules & Constraints
- Структура функции: Функция должна принимать изображение (тип
Image) и возвращать строку текста (String). - Инициализация: Используй
SeedRandom[24]для обеспечения воспроизводимости маски. - Разбиение на блоки: Используй
ImagePartitionс размером блока{8, 8}. - Генерация маски: Маска должна создаваться как
Table[RandomSample[Join[ConstantArray[1, 4], ConstantArray[0, 4]]], {8}]. Обратная маска вычисляется как1 - mask. - Коэффициенты яркости: Используй вектор
{0.299, 0.587, 0.114}для расчета яркости. - Извлечение битов: Бит извлекается на основе разницы яркостей между маскированными и обратномаскированными пикселями (
luminanceDifference > 0). - Метод обрезки (Критично): Не используй стоп-сигнал. Используй длину исходного вектора данных (
CVZ), чтобы обрезать извлеченные биты с помощьюTake[Bits, Length[CVZ]]. - Обработка типов данных: При вызове
ImageDataуказывай правильный тип (например, "Byte"), чтобы обеспечить совместимость с точечными произведениями и избежать ошибокDot::dotsh. - Кодировка: Используй
FromCharacterCode[..., "WindowsCyrillic"]для декодирования байтов в текст.
Core Workflow
- Определи функцию с входными параметрами для изображения и
CVZ. - Внутри
ModuleинициализируйSeedRandom[24]и сгенерируй маску. - Разбей изображение на блоки 8x8.
- Инициализируй пустой список для битов.
- Пройди по блокам в цикле
Do, вычисляя яркость и извлекая биты согласно логике разницы. - Обрежь список битов до длины
Length[CVZ]. - Сгруппируй биты по 8, преобразуй в десятичные значения (
FromDigits[#, 2] &) и декодируй в строку с использованиемWindowsCyrillic. - Верни итоговую строку.
Anti-Patterns
- Не используй стоп-сигналы для определения конца сообщения; полагайся исключительно на
CVZ. - Не меняй кодировку на UTF-8 или MacintoshCyrillic; используй
WindowsCyrillic. - Не удаляй шаги валидации или сравнения с
CVZ. - Не заменяй
SeedRandomна другие методы генерации случайных чисел. - Не допускай ошибок несоответствия тензоров (
Dot::dotsh); следи за типами данных при работе сImageData.
Triggers
- сделай как функцию в которую поступает изображение а выходит текст
- извлечение данных по длине CVZ
- Модуль извлечения текста Mathematica
- извлечь биты без стоп сигнала
- функция стеганографии для Mathematica
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.