0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 9

Стеганография. Метод Коха и Жао

01.05.2015, 10:45. Показов 19551. Ответов 40

Студворк — интернет-сервис помощи студентам
Метод Коха и Жао. Реализую на C#. Хотел заказать в разделе фриланса, но пообщавшись с форумчанином Ev_Hyper , понял, что тема не супер-сложная. Немного разобрался и ниже сформулировал вопросы.

Сначала опишу сам алгоритм.
Скрытие:
1. Первичное изображение разбиваем на блоки 8 на 8 пикселей.
2. К каждому блоку применяется дискретное косинусное преобразование. В результате получаем матрицы 8 на 8 коэффициентов ДКП.
3. Выбирается любой блок (в каждый блок записывается 1 бит информации)
4. Псевдослучайно выбираются два коэффициента ДКП в каждом блоке из среднечастотных коэффициентов.
5. Для передачи бита 0 необходимо, чтобы разница модулей коэффициентов ДКП превышает некоторую положительную величину (задается вручную); для передачи бита 1 разница должна быть меньшей по сравнению с некоторой отрицательной величиной. Таким образом, при передаче 0 увеличиваем модуль первого коэффициента и уменьшаем модуль второго. При передаче 1 уменьшаем модуль первого коэффициента и увеличиваем модуль второго.

где https://www.cyberforum.ru/cgi-bin/latex.cgi?\Omega - матрица 8на8 коэффициентов ДКП блока; b - номер блока;https://www.cyberforum.ru/cgi-bin/latex.cgi?{\upsilon }_{1}, {\nu }_{1} - координаты
6. Проходим по каждому блоку и выполняем пункты 4 и 5.
7. Для каждого блока выполняем обратное ДКП

Извлечение:
1. Пункты 1,2,3 скрытия.
2. Нужно «найти» те два коэффициента ДКП, которые мы изменяли, и посчитать разность их модулей.
3. В результате проверки разности модулей извлекаемому биту присваивается или 0 или 1.

4. Для каждого блока выполняем обратное ДКП.


Последний раз кодил 2.5 года назад, поэтому много непонятного по синтаксису.
С терминологией не очень, поэтому какие-то вопросы наверно звучат некорректно.
С чего начать:
1. Как в программе открыть файл с текстом? Как получить из исходного текста строку бит? Что именно нужно: строка бит или массив бит? И вообще, нужно ли заранее выделять память под такой массив(строку) или лучше в процессе срытия получать биты из исходных символов исходного текста?
2. 1-й пункт алгоритма. Как открыть изображение (*.bmp) в программе? В каком виде оно будет представлено в программе? Для наших целей нужно его представить в виде двумерного массива пикселей? Если да, то как это сделать, и как затем разбить этот двумерный массив на двумерные массивы поменьше? Не понятен сам алгоритм такого разбиения…
3. 2-й пункт алгоритма. К чему именно применяется ДКП: к матрице пикселей, к пикселю, к каждой цветовой компоненте пикселя, к каждому биту значения цветовой компоненты? Как будет выглядеть ДКП на c#?
4. 4-й пункт. Как выбрать коэффициенты псевдослучайно?
5. Как уменьшить абсолютное значение одного коэффициента и увеличить другого, чтобы разность достигла приемлемого значения? В цикле прибавлять/отнимать по 1 и сравнивать разность с нужным значением?
6. 2-й пункт извлечения. Как найти те самые коэффициенты, ведь мы их выбрали псевдослучайно?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.05.2015, 10:45
Ответы с готовыми решениями:

Реализовать метод скрытия информации (Коха-Жао) в коэффициентах дискретно-косинусного преобразования JPEG
Здравствуйте. Нужно реализовать метод скрытия информации (Коха-Жао) в коэффициентах дискретно-косинусного преобразования JPEG. Для...

Алгоритм Коха и Жао
Пытаюсь реализовать данный алгоритм для встраивания сообщения в bmp. Ничего не получается. Решил попробовать встроить в 4 матрицы 4 бита....

Алгоритм Коха и Жао
не могу разобраться с реализацией этого алгоритма. Понял, что на первом шаге наше изображение нужно выгрузить в массив. Массив байт. Потом...

40
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 4
15.06.2015, 13:32
Студворк — интернет-сервис помощи студентам
8Ball, а можно взглянуть на окончательную версию приложения?
0
1 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 12
17.06.2015, 23:52
Ev_Hyper, Добрый вечер, не понятно почему при сохранении, а именно
C#
1
bmp.Save(save_dialog.FileName, ImageFormat.Bmp);
используется
C#
1
ImageFormat.Bmp
, а не
C#
1
ImageFormat.Jpeg
0
Заблокирован
18.06.2015, 01:59
Mi8, Добрый вечер. Не принципиально, можно и в jpeg
0
1 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 12
18.06.2015, 03:18
Ev_Hyper, нельзя, не правильно извлекает, если открыть после сохранения...
0
Заблокирован
18.06.2015, 06:46
Mi8, не совсем понял в каком случае неправильно извлекает. Должно работать и так и так.
0
1 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 12
18.06.2015, 07:06
Ev_Hyper, встраиваем->сохраняем->загружаем-> пробуем извлечь-> исходное(встраиваемое) сообщение не получено... хотя с .bmp работает хорошо
0
Заблокирован
18.06.2015, 08:22
да? странно...тогда на выходных , скорей бы они уже пришли, посмотрю в чем тут дело.
0
0 / 0 / 0
Регистрация: 19.09.2014
Сообщений: 12
10.01.2016, 23:21
У Вас есть код программы? Делал, и появились проблемы в коэффициентах ДКП, ни внедрить, ни извлечь
0
Заблокирован
11.01.2016, 00:36
Цитата Сообщение от SERGEYHY Посмотреть сообщение
У Вас есть код программы?
SERGEYHY, архив есть в сообщениях выше на форуме.
Или прикрепите свой - посмотрим в чем там может быть дело.
0
4 / 4 / 3
Регистрация: 08.08.2013
Сообщений: 24
16.04.2016, 21:25
Кто-нибудь разобрался почему с Jpeg не работает?
0
Заблокирован
16.04.2016, 21:59
Цитата Сообщение от Yudgin Посмотреть сообщение
Кто-нибудь разобрался почему с Jpeg не работает?
Yudgin, все работает и с jpeg.
0
4 / 4 / 3
Регистрация: 08.08.2013
Сообщений: 24
16.04.2016, 22:21
Можете подсказать тогда как открывать и потом сохранять jpeg? С bmp и png у меня работает, а jpeg нет. Пишу по вашим наработкам курсач.
0
0 / 0 / 0
Регистрация: 03.04.2015
Сообщений: 5
12.05.2016, 11:10
Yudgin, я тоже пишу по этин наработкам диплом, если не сложно,можете сбросить если у вас получился финальный вариант программы?
0
4 / 4 / 3
Регистрация: 08.08.2013
Сообщений: 24
16.05.2016, 18:44
juliazibarieva,
KochZhao.rar
2
0 / 0 / 0
Регистрация: 03.04.2015
Сообщений: 5
18.05.2016, 22:21
cпасиибо огромное)
0
0 / 0 / 0
Регистрация: 03.04.2015
Сообщений: 5
22.05.2016, 17:16
Yudgin, так с jpeg у вас все-таки не получилось?
Просто для .png и .bmp я и сама реализовала...у меня был да и остался вопрос с .jpeg
Кто-нибудь сможет помочь мне пожалуйста? может у кого-нибудь получилось?
0
4 / 4 / 3
Регистрация: 08.08.2013
Сообщений: 24
22.05.2016, 17:39
juliazibarieva, думаю для jpeg нужно будет использовать какой-нибудь помехоустойчивый код
0
0 / 0 / 0
Регистрация: 03.04.2015
Сообщений: 5
22.05.2016, 23:02
Можете кто-нибудь поделиться реализацией для .jpeg? Не бесплатно естественно, вот моя почта
iuliia.zibarieva2012@gmail.com
0
Заблокирован
22.05.2016, 23:08
juliazibarieva, это раздел для бесплатной помощи.
Вы используете версию из сообщения https://www.cyberforum.ru/post9147467.html ?
0
0 / 0 / 0
Регистрация: 03.04.2015
Сообщений: 5
23.05.2016, 10:21
Ev_Hyper, совершенно верно. Но я так же пробовала разобраться с этим методом исходя из вышеупомянутых комментариев, но никак не получается, что-то с преобразованием типов..
В методе Hide
Не могли бы вы помочь,если не сложно,пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.05.2016, 10:21

Построение Анти-Снежинки Коха (Снежинка Коха внутрь) на языке Pascal.
Нужно построить антиснежинку Коха. Имеется код построения обычной снежинки Коха через линии треугольника. Кто-нибудь может помочь? ...

Стеганография. Написать метод для расшифровывания текста из картинки bmp
Помогите написать метод для расшифрования текста из картинки bmp

Стеганография: как реализовать метод избыточных пробелов сокрытия информации в текстовом файле?
Как реализовать метод избыточных пробелов сокрытия информации в текстовом файле? Не знаю, с чего начать, что использовать.

Снежинка Коха
Используя графические возможности рекурсии, постройте на экране снежинку Коха

Снежинка Коха
Задание заключается в том, чтобы построить снежинку с помощью рекурсии. Есть замечательная программа на Паскале. Вот код program...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru