Steganografia w PHP

Ciekawe czy ktoś to jeszcze pamięta ;) (bo mnie technika deko kurzem zarosła). Dla niewtajemniczonych i tych których szare komórki zawierające informacje na ten temat poumierały z takich czy innych powodów, słów kilka.

Steganografia jest nauką o komunikacji w taki sposób by obecność komunikatu nie mogła zostać wykryta, czyli deko inaczej niż w kryptografii (gdzie fakt zaistnienia informacji jest jawny, ale treść już nie).

Za Wikipedią:

Klasyfikacja systemów steganograficznych:

steganografia czysta (pure steganography) – siła techniki opiera się na nieznajomości metody przez stronę atakującą. Systemy te nie spełniają Zasady Kerckhoffsa dlatego nie są polecane
steganografia z kluczem prywatnym (private key steganography) – metoda jest jawna i powszechnie dostępna, przez rozpoczęciem komunikacji strony uwzględniają klucz steganograficzny wykorzystywany w sposób zależny od metody, istnieje jednek problem przekazania klucza w bezpieczny sposób
steganografia z kluczem publicznym (public key steganography) – podobnie jak w asymetrycznych systemach kryptograficznych używane są dwa klucze – publiczny i prywatny. Klucz publiczny (jawny) wykorzystywany jest przy osadzaniu wiadomości w nośnej, natomiast klucz prywatny przy jej wyodrębnianiu

Metoda modyfikacji najmniej znaczącego bitu:

Modyfikacja najmniej znaczącego bitu jest klasycznym przedstawicielem metod zastępujących. Wykorzystuje nadmiarowość w nośnej. Ostatni bit (np. wartości składowych piksela) zastępowany jest bitem (lub bitami) z wiadomości. Metoda ta daje się zastosować dla plików grafiki rastrowej oraz cyfrowo zapisanego dźwięku. Większość komercyjnego oprogramowania korzysta właśnie z niej (np. CryptArkan). Przy wykorzystaniu tej metody bardzo łatwo jest wykryć obecność komunikatu. Proste jest także zniszczenie zapisanego komunikatu (wystarczy np. wyzerować najmniej znaczące bity).

O tej ostatniej w ujęciu PHP

W prosty sposób można wykorzystać modyfikację najmniej znaczącego bitu w PHP ot tak dla zabawy.

Zapisujemy dane do otwaretgo wcześniej pliku graficznego:

function Write( $data )
{
$bits=$this->_asc2bin($data);
$lenbit=strlen($bits);
$nx=imagesx($this->img_object);
$ny=imagesy($this->img_object);
for($x=0,$bit=0; $x<$nx; $x++) { for($y=0; $y<$ny; $y++) { $pix=$this->_getcolor($this->img_object,$x,$y);
foreach(array('R','G','B') as $C)
$col[$C]=$bit<$lenbit?($pix[$C]|$bits[$bit])&(254|$bits[$bit++]):$pix[$C]; imagesetpixel($this->img_object,$x,$y,$this->_setcolor($this->img_object,$col['R'],$col['G'],$col['B']));
}
}
imagepng($this->img_object,$this->img_path);
}

A jak chcemy odczytać zapisane dane możemy zrobić tak:


function Read()
{
$nx=imagesx($this->img_object);
$ny=imagesy($this->img_object);
for($x=0; $x<$nx; $x++ ) { for($y=0; $y<$ny; $y++) { $pix=$this->_getcolor($this->img_object,$x,$y);
$data.=($pix['R']&1).($pix['G']&1).($pix['B']&1);
}
}
return $this->_bin2asc($data);
}

Powyższe odświerzyło mi moją pamięć i odkurzyło stare rozwiązania tworzone jeszcze na gentoo. Wtedy człowiek miał wiecej czasu na tzw. “pierdoły”.
Zainteresowanych tematem i samą klasą PHP odsyłam do PHPClasses:

http://www.phpclasses.org/browse/package/6027.html

2 thoughts on “Steganografia w PHP

  1. Writing classification essays http://bookreporthelpsites.xyz/3-page-essay-on-eorld-war-1-with-footnotes 3 page essay on eorld war 1 with footnotes, Structure of an essay quiz
    Dbq essay on ww1 http://buyadescriptiveessay.xyz/random-no-essay-scholarships Random no essay scholarships, Dissertation collective action
    Reading research papers critically http://bookreporthelpsites.xyz/essay-schreiben-aber-wie Essay schreiben aber wie, Essays idleness analysis
    Argumentative essay trial by jury http://bestwebsitesforprofessionaltowritemyessay.xyz/thesis-smoking-paper Thesis smoking paper, Six traits research paper rubric
    Womens rights essays http://buyanessayandgetaessayin14days.xyz/french-writer-who-pioneered-the-essay French writer who pioneered the essay, Essay on business man
    Nathaniel hawthorne – young goodman brown thesis statements http://www.businesspaperwriting.xyz/using-quotations-in-literary-essays Using quotations in literary essays, Essay on india’s bright future
    Essay about maggie from everyday use http://www.businesspaperwriting.xyz/cover-letter-for-college-scholarship-application Cover letter for college scholarship application, Macbeth essay on guilt
    Early childhood education important essay http://buyadescriptiveessay.xyz/locke-essay-concerning-human-understanding-online Locke essay concerning human understanding online, Essay my favourite game basketball
    Customer service theory essays http://bestwebsiteforwritinggettingessays.xyz/cause-and-effect-essay-on-obama Cause and effect essay on obama, Citing newspaper articles in research papers
    Entry level hr generalist cover letter http://buyanessayandgetaessayin14days.xyz/responsibilities-of-students-essay Responsibilities of students essay, American red cross hero essay

  2. Events leading to revolutionary war essay http://bestcustomessaywriting.xyz/alabama-essay-service – Alabama essay service, Gilman scholarship essay tips
    Persuasive essay graphic organizer with counter-argument http://bestessaywritingservices.xyz/funniest-accepted-college-essays – Funniest accepted college essays, Stem cell debate research paper
    To kill a mockingbird perspective essay http://bestplacetobuycollegeessays.xyz/best-critical-thinking-websites – Best critical thinking websites, Karl marx dissertation
    Classroom management practices thesis http://www.bestpaperwritingserviceessay.xyz/cover-letter-for-customer-service-call-center-with-no-experience – Cover letter for customer service call center with no experience, Cause essay hobbes peace quarrel thomas war
    Cover letters for dissertation questionnaires http://www.bestonlinewritingservice.xyz/essays-on-water-pollution-in-india – Essays on water pollution in india, An autobiographical essay borges
    E-commerce essay conclusion http://www.bestonlinewritingservice.xyz/pragmatism-and-other-essays – Pragmatism and other essays, Order resume online louis vuitton
    Sat essay writing section tips http://www.bestdissertationwriters.xyz/apa-citations-in-essays – Apa citations in essays, Most efficient way to write an essay
    Characteristics of an ethnographic essay http://bestcustomessaywriting.xyz/best-lord-of-the-flies-essay – Best lord of the flies essay, Good will hunting term papers
    Essay papers on diversity http://www.bestonlineessaywriter.xyz/a-good-way-to-start-an-introduction-for-an-essay – A good way to start an introduction for an essay, Computer and the society essay
    Writing formats for college papers http://www.bestonlineessaywriter.xyz/addmissions-essay – Addmissions essay, Tankers international thesis

  3. Assignment layout http://youngwillstone.com/essay-writing-help-for-high-school-students – Essay writing help for high school students, Buy book reports Essay writer pro http://www.thegreatnewsinc.com/homework-pay – Homework pay, Essay on helping poor people Academic writing essay http://youngwillstone.com/law-assignment-help-australia – Law assignment help australia, Statisticshomeworknet reviews Writing essays online for money http://www.thegreatnewsinc.com/best-grad-school-essay-writing-service – Best grad school essay writing service, Writers services Write my essay for me for free http://youngwillstone.com/write-my-report-on-the-great-war – Write my report on the great war, Essay on social service

Leave a Reply

Your email address will not be published. Required fields are marked *