Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/91: Рейтинг темы: голосов - 91, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 9

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

01.05.2015, 10:45. Показов 19436. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 31.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 26.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru