Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
fireridlle
75 / 75 / 13
Регистрация: 02.02.2012
Сообщений: 462
1

стеганография

18.09.2013, 23:05. Просмотров 1349. Ответов 6
Метки нет (Все метки)

в общем понадобилось скрыть текст в картинке средствами php.
написал тривиальную прогу где нагло ставлю в канал грин целый бит. естественно для начала неплохо но нецелесообразно.
прочитал про метод LSB (Least Significant Bit, наименьший значащий бит) — суть этого метода заключается в замене последних значащих битов в контейнере (изображения, аудио или видеозаписи) на биты скрываемого сообщения.
вот и вопрос как работать с битами в php?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2013, 23:05
Ответы с готовыми решениями:

Не работают кнопки в скрипте (стеганография)
Здравствуйте! Не серчайте, с php только разбираюсь. Нашла простенький скрипт на php реализующий...

PHP стеганография
Доброго времени суток! Я захотел портировать своё приложение с vb.net на php, но столкнулся с малой...

Стеганография
Всем доброго времени суток, дали задание зашифровать в изображении текст, т.к. времени у меня не...

Стеганография
Доброго времени суток! Прочитал эту тему, и решил побаловаться с этими программками:) но беда вот в...

Стеганография
Здаствуйте. Может кто нибудь помочь мне. Мне нужно в формате Мpeg2 встроить любую информацию, т.е...

6
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16774 / 6660 / 871
Регистрация: 12.06.2012
Сообщений: 19,899
Завершенные тесты: 1
18.09.2013, 23:50 2
http://habrahabr.ru/post/134557/
http://www.php.net/ru/language.operators.bitwise.php
1
fireridlle
75 / 75 / 13
Регистрация: 02.02.2012
Сообщений: 462
19.09.2013, 10:10  [ТС] 3
читал уже это. но может напишите реальный пример как записать биты в переменную а то не могу понять.

например
$letter = ord('п');
$blue = 233;

как первый бит $letter записать в последний бит $blue
0
sqlnub
Заблокирован
19.09.2013, 12:14 4
Так не говорят. Говорят старший, младший, в байте, в старшем, в младшем, в слове и тп. Потому что и биты и байты могут идти и туда и обратно.

Чтобы записать младший бит в старший бит, младший бит надо сдвинуть на Х позиций, то есть умножить на Х разрядов, а затем сложить логически, или ИЛИ.

Добавлено через 4 минуты
Цитата Сообщение от fireridlle Посмотреть сообщение
целый бит
Это редкость в наше время - целый бит. Обычно попадаются только части битов, скажем верхняя половинка логической единицы, или кусочек изгиба логического нуля.

Не вы заказывали спирт для протирки оптических осей индикатрис?
1
fireridlle
75 / 75 / 13
Регистрация: 02.02.2012
Сообщений: 462
19.09.2013, 15:08  [ТС] 5
Цитата Сообщение от sqlnub Посмотреть сообщение
Чтобы записать младший бит в старший бит, младший бит надо сдвинуть на Х позиций, то есть умножить на Х разрядов, а затем сложить логически, или ИЛИ.
а как по коду получается. я вот набросал. если я правильно понял то необходимо делать сдвиг на разрядность системы. если так то тогда в старший бит копируется знак и если число положительное то все становится в 0
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$letter = ord('ï');
$blue = 229;
 
$rank = PHP_INT_SIZE * 8;
$format = '%0' .$rank. "b\n";
 
$letter_bit = $letter >> $rank-1;
$res = $blue | $letter_bit;
 
 
echo " Äåñÿòè÷íûé âèä:\n";
printf("col=%d\n", $blue);
printf("bit=%d\n", $letter_bit);
printf("res=%d\n", $res);
 
 echo " Äâîè÷íûé âèä:\n";
 printf('col=' . $format, $blue);
 printf('bit=' . $format, $letter_bit);
 printf('res=' . $format, $res);
0
sqlnub
Заблокирован
19.09.2013, 17:22 6
Бросьте вы эту затею. В стране победившего копилефта пытаетесь противостоять. Да что там в стране - в мире. Проблематика не в технических методах защиты изображений, а в юридических методах привлечения нарушителей.

В общем алгоритма я не знаю, в ФШ была какая-то фича DigiMark, абсолютно беспонтовая без подписки на сервис. Может быть попробуете готовое и подпишитесь.

Одного только не пойму. Почему какой-то бит буквы п будет отличаться от того же бита буквы к? Да на весь алфавит вы можете с легкостью получить 0 просто потому что в этих битах ничего сроду не было и нет.

Кроме того п в юникоде или в чем?

Добавлено через 17 минут
Цитата Сообщение от fireridlle Посмотреть сообщение
$letter = ord('п'); $blue = 229;
Какой код у п?
0
fireridlle
75 / 75 / 13
Регистрация: 02.02.2012
Сообщений: 462
19.09.2013, 17:37  [ТС] 7
у меня диплом по стеганографии, вот и хочу попробовать реализовать метод LSB, правда не уверен подойдет ли для такого php. с битами работает, с библиотекой gd работает с изображениями. вот и думаю подойдет или нет
0
19.09.2013, 17:37
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2013, 17:37

Стеганография
Где-то видел CMD команду которая копирует файлы в другой файл и потом этот файл можно открыть...

Стеганография
Есть текст и в нем надо скрыть некоторую фразу, состоящую из букв. Буквы этой фразы представляются...

Стеганография
Вот задание:Есть некий текст и в нем тоже надо спрятать другой текст. Аналогичным образом...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.