LSB steganography

Nthawi ina ndinalemba zanga positi yoyamba pa hub. Ndipo positiyi idaperekedwa ku vuto losangalatsa kwambiri, lomwe ndi steganography. Inde, yankho lomwe laperekedwa pamutu wakalewu silingatchulidwe kuti steganography m'lingaliro lenileni la liwulo. Ndi masewera chabe ndi wapamwamba akamagwiritsa, koma masewera wokongola chidwi komabe.

Lero tiyesa kukumba mozama ndikuyang'ana algorithm ya LSB. Ngati muli ndi chidwi, ndinu olandiridwa pansi pa mphaka. (Pansi pake pali magalimoto: pafupifupi megabyte.)

Choyamba, ndikofunikira kupanga mawu oyamba achidule. Aliyense amadziwa kuti cholinga cha cryptography ndikupangitsa kuti zikhale zosatheka kuwerenga zachinsinsi. Inde, cryptography ili ndi ntchito zake, koma pali njira ina yotetezera deta. Sitiyenera kubisa chidziwitsocho, koma tiyerekeze kuti tilibe. Ichi ndichifukwa chake steganography idapangidwa. Wikipedia imatitsimikizira kuti "steganography (kuchokera ku Greek στΡγανοσ - zobisika ndi Greek γραφω - ndimalemba, kwenikweni "kulemba chinsinsi") ndi sayansi ya kufalitsa kobisika kwa chidziwitso posunga zenizeni zakufalitsa chinsinsi.

Zachidziwikire, palibe amene amaletsa kuphatikiza njira za cryptographic ndi steganographic. Komanso, muzochita amachita izi, koma ntchito yathu ndikumvetsetsa zoyambira. Mukawerenga mosamala nkhani ya Wikipedia, mupeza kuti ma aligorivimu a steganography akuphatikizapo zomwe zimatchedwa. chidebe ndi uthenga. Chidebe ndi chidziwitso chilichonse chomwe chimathandiza kubisa uthenga wathu wachinsinsi.

Kwa ife, chidebecho chidzakhala chithunzi mumtundu wa BMP. Choyamba, tiyeni tiwone momwe fayiloyi ilili. Fayilo ikhoza kugawidwa m'magawo a 4: mutu wa fayilo, mutu wazithunzi, phale ndi chithunzicho. Zolinga zathu, timangofunika kudziwa zomwe zalembedwa pamutu.

Ma byte awiri oyamba amutu ndi siginecha ya BM, ndiye kuti kukula kwa fayilo mu byte kumalembedwa mawu awiri, ma byte 4 otsatirawa amasungidwa ndipo ayenera kukhala ndi ziro, ndipo pomaliza, mawu ena apawiri amakhala ndi kuchotsera kuyambira koyambira. fayilo ku ma byte enieni a chithunzicho. Mu fayilo ya 24-bit bmp, pixel iliyonse imakhala ndi ma byte atatu a BGR.

Tsopano tikudziwa momwe tingafikire pachithunzichi, zimatsalira kuti timvetsetse momwe tingalembere zomwe tikufuna pamenepo. Kwa izi tidzafunika njira ya LSB. Chofunikira cha njirayi ndi motere: timasintha tinthu tating'ono kwambiri mu ma byte omwe ali ndi encoding yamitundu. Tinene ngati byte yotsatira ya uthenga wathu wachinsinsi ndi 11001011, ndipo ma byte omwe ali pachithunzichi ali...11101100 01001110 01111100 0101100111..., ndiye kuti encoding idzawoneka chonchi. Tigawaniza uthenga wachinsinsi mu magawo 4 a-bit-bit: 11, 00, 10, 11, ndikusintha magawo otsika a chithunzicho ndi zidutswa zomwe zatuluka: ...11101111 01001100 01111110 0101100111…. Kusintha koteroko nthawi zambiri sikumawonekera m'maso mwa munthu. Kuphatikiza apo, zida zambiri zakale zotulutsa sizingathe kuwonetsa zosintha zazing'ono ngati izi.

N'zoonekeratu kuti mukhoza kusintha osati 2 zazing'ono ting'onoting'ono ting'onoting'ono bits, koma chiwerengero cha iwo. Pali chitsanzo chotsatirachi: pamene tikusintha ma bits ambiri, zambiri zomwe tingabise, ndipo izi zidzasokoneza kwambiri chithunzi choyambirira. Mwachitsanzo, nazi zithunzi ziwiri:

LSB steganography
LSB steganography

Ngakhale kuti ndayesetsa kwambiri, sindinathe kuona kusiyana pakati pawo, koma komabe, mu chithunzi chachiwiri, pogwiritsa ntchito njira yomwe tafotokozayi, ndakatulo ya Lewis Carroll "Kusaka Njoka" yabisika. Ngati mwawerenga mpaka pano, ndiye kuti mwina mukufuna kuphunzira za kukhazikitsa. Ndizosavuta, koma ndikuchenjezani nthawi yomweyo kuti zonse zachitika ku Delphi. Pali zifukwa ziwiri: 1. Ndikuganiza kuti Delphi ndi chinenero chabwino; 2. Pulogalamuyi inabadwa pokonzekera maphunziro a masomphenya a makompyuta, ndipo anyamata omwe ndikuwaphunzitsa maphunzirowa sadziwa chilichonse kupatulapo Delphi. Kwa iwo omwe sadziwa kalembedwe ka mawu, chinthu chimodzi chiyenera kufotokozedwa: shl x ndikusintha pang'ono kumanzere ndi x, shr x ndikusintha pang'ono kumanja ndi x.

Tikuganiza kuti tikulemba mawu osungidwa mu chingwe mu chidebe ndikulowetsa ma byte awiri apansi:
Record kodi:

kwa ine: = 1 mpaka kutalika (str) kuchita
    yamba
      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.Malo:=f.Malo-1;
      tmp:=((tmp shr 2) shl 2)+l1;
      f.WriteBuffer(tmp,1);
 
      f.ReadBuffer(tmp,1);
      f.Malo:=f.Malo-1;
      tmp:=((tmp shr 2) shl 2)+l2;
      f.WriteBuffer(tmp,1);
 
      f.ReadBuffer(tmp,1);
      f.Malo:=f.Malo-1;
      tmp:=((tmp shr 2) shl 2)+l3;
      f.WriteBuffer(tmp,1);
 
      f.ReadBuffer(tmp,1);
      f.Malo:=f.Malo-1;
      tmp:=((tmp shr 2) shl 2)+l4;
      f.WriteBuffer(tmp,1);
 
    kutha;

kodi kuwerenga:

kwa ine:=1 ku MsgSize do
    yamba
      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);
    kutha;

Chabwino, kwa aulesi kwenikweni - ulalo wa pulogalamuyo ndi magwero ake.

Zikomo.

Source: www.habr.com

Kuwonjezera ndemanga