LSB steganography

Ka nako e 'ngoe ke ile ka ngola ea ka poso ea pele ho hub. Mme poso eo e ne e nehetsoe bothateng bo khahlisang haholo, e leng steganography. Ha e le hantle, tharollo e hlahisitsoeng sehloohong seo sa khale e ke ke ea bitsoa steganography ka kutloisiso ea sebele ea lentsoe. Ke papali feela e nang le lifomate tsa lifaele, empa ke papali e ntle e khahlang leha ho le joalo.

Kajeno re tla leka ho cheka hanyane ebe re sheba algorithm ea LSB. Haeba u thahasella, u amohelehile tlas'a katse. (Ka tlase ho sehiloeng ke sephethephethe: hoo e ka bang megabyte.)

Pele ho tsohle, hoa hlokahala ho etsa kenyelletso e khutšoanyane. Motho e mong le e mong oa tseba hore morero oa li-cryptography ke ho etsa hore ho se ke ha khoneha ho bala boitsebiso ba lekunutu. Ehlile, cryptography e na le ts'ebeliso ea eona, empa ho na le mokhoa o mong oa ts'ireletso ea data. Ha rea ​​tlameha ho patala tlhahisoleseling, empa re etse eka ha re na eona. Ke ka lebaka leo steganography e qapiloeng. Wikipedia e re tiisetsa hore "steganography (ho tsoa ho Segerike στεγανοσ - e patiloeng le ea Segerike γραφω - ke ngola, ka ho toba "sengoliloeng sa sephiri") ke saense ea phetisetso e patehileng ea boitsebiso ka ho boloka 'nete ea phetisetso e le lekunutu.

Ha e le hantle, ha ho motho ea thibelang ho kopanya mekhoa ea cryptographic le steganographic. Ho feta moo, ts'ebetsong ba etsa sena, empa mosebetsi oa rona ke ho utloisisa lintho tsa motheo. Haeba u ithuta ka hloko sengoloa sa Wikipedia, u tla fumana hore li-algorithms tsa steganography li kenyelletsa seo ho thoeng ke. setshelo le molaetsa. Setshelo ke tlhahisoleseling efe kapa efe e thusang ho pata molaetsa oa rona oa lekunutu.

Tabeng ea rona, setshelo e tla ba setšoantšo ka sebopeho sa BMP. Pele, a re shebeng sebopeho sa faele ena. Faele e ka aroloa ka likarolo tse 4: hlooho ea faele, hlooho ea setšoantšo, phalete le setšoantšo ka boeona. Bakeng sa merero ea rona, re hloka feela ho tseba se ngotsoeng sehloohong.

Li-byte tse peli tsa pele tsa sehlooho ke signature ea BM, ebe boholo ba faele ka li-byte bo ngotsoe ka lentsoe le habeli, li-byte tse 4 tse latelang li bolokiloe 'me li tlameha ho ba le zero,' me qetellong, lentsoe le leng le habeli le na le theolelo ho tloha qalong ea faele ho li-byte tsa sebele tsa setšoantšo. Ka faeleng ea 24-bit bmp, pixel ka 'ngoe e kentsoe ka li-byte tse tharo tsa BGR.

Hona joale re tseba ho fihla setšoantšong, se setseng ke ho utloisisa hore na re ka ngola joang boitsebiso boo re bo hlokang moo. Bakeng sa sena re tla hloka mokhoa oa LSB. Moelelo oa mokhoa ona ke o latelang: re nka sebaka sa li-bits tse bohlokoa haholo ho li-byte tse ikarabellang bakeng sa khouto ea mebala. A re re haeba byte e latelang ea molaetsa oa rona oa sekhukhu ke 11001011, 'me li-byte tse setšoantšong li ...11101100 01001110 01111100 0101100111..., joale encoding e tla shebahala tjena. Re tla arola li-byte tsa molaetsa oa lekunutu ka likarolo tse 4 tsa likarolo tse peli: 11, 00, 10, 11, 'me re nkele likotoana tse tlase tsa setšoantšo ka likarolo tse hlahisitsoeng: ...11101111 01001100 01111110 0101100111…. Phetoho e joalo hangata ha e bonahale mahlong a motho. Ho feta moo, lisebelisoa tse ngata tsa khale tsa tlhahiso li ke ke tsa khona ho bonts'a liphetoho tse nyane joalo.

Ho hlakile hore o ka fetola eseng feela likotoana tse 2 tsa bohlokoa, empa palo efe kapa efe ea tsona. Ho na le mokhoa o latelang: ha re ntse re fetola likotoana tse ngata, re ka pata boitsebiso bo bongata, 'me sena se tla baka tšitiso e eketsehileng setšoantšong sa pele. Ka mohlala, mona ke litšoantšo tse peli:

LSB steganography
LSB steganography

Ho sa tsotellehe boiteko ba ka bo botle, ke ne ke sa bone phapang pakeng tsa bona, empa leha ho le joalo, setšoantšong sa bobeli, ho sebelisa mokhoa o hlalositsoeng, thothokiso ea Lewis Carroll "Ho Tsoma ha Noha" e patiloe. Haeba u balile ho fihlela joale, joale mohlomong u thahasella ho ithuta ka ts'ebetsong. Ho bonolo haholo, empa ke tla u lemosa hang-hang hore tsohle li etsoa Delphi. Ho na le mabaka a mabeli a sena: 1. Ke nahana hore Delphi ke puo e ntle; 2. Lenaneo lena le hlahile nakong ea ho lokisetsa thuto ea motheo ea pono ea k'homphieutha, 'me bahlankana bao ke ba rutang thuto ena ha ba e-s'o tsebe letho ntle le Delphi. Bakeng sa ba sa tloaelanang le syntax, ntho e le 'ngoe e hloka ho hlalosoa: shl x ke ho fetoha hanyenyane ho ea ka ho le letšehali ka x, shr x ke phetoho e nyenyane ho ea ho le letona ka x.

Re nahana hore re ngola mongolo o bolokiloeng ka khoele ka har'a sets'oants'o ebe o nkela li-byte tse peli tse tlase:
Khouto ea ho rekota:

bakeng sa ke:=1 ho bolelele(str) etsa
    qala
      l1:=byte(str[i]) shr 6;
      l2:=byte(str[i]) shl 2; l2:=l2 shr 6;
      l3:=byte(str[i]) shl 4; l3:=l3 shr 6;
      l4:=byte(str[i]) shl 6; l4:=l4 shr 6;
 
      f.ReadBuffer(tmp,1);
      f.Boemo:=f.Boemo-1;
      tmp:=((tmp shr 2) shl 2)+l1;
      f.WriteBuffer(tmp,1);
 
      f.ReadBuffer(tmp,1);
      f.Boemo:=f.Boemo-1;
      tmp:=((tmp shr 2) shl 2)+l2;
      f.WriteBuffer(tmp,1);
 
      f.ReadBuffer(tmp,1);
      f.Boemo:=f.Boemo-1;
      tmp:=((tmp shr 2) shl 2)+l3;
      f.WriteBuffer(tmp,1);
 
      f.ReadBuffer(tmp,1);
      f.Boemo:=f.Boemo-1;
      tmp:=((tmp shr 2) shl 2)+l4;
      f.WriteBuffer(tmp,1);
 
    QETA;

khoutu ea ho bala:

bakeng sa ke:=1 ho MsgSize etsa
    qala
      f.ReadBuffer(tmp,1);
      l1:=tmp shl 6;
      f.ReadBuffer(tmp,1);
      l2:=tmp shl 6; l2:=l2 shr 2;
      f.ReadBuffer(tmp,1);
      l3:=tmp shl 6; l3:=l3 shr 4;
      f.ReadBuffer(tmp,1);
      l4:=tmp shl 6; l4:=l4 shr 6;
      str:=str+char(l1+l2+l3+l4);
    QETA;

Ho lokile, bakeng sa ba botsoa haholo - sehokelo sa lenaneo le khoutu ea lona ea mohloli.

Спасибо.

Source: www.habr.com

Eketsa ka tlhaloso