==== ==== ====== Digitalna Cardanova rešetka ====== ===== Sažetak ===== Cilj ovog rada bio je predstaviti digitalnu metodu jedne od tehnika steganografije, Cardanovu rešetku. Generalna metoda Cardanove rešetke je metoda pisanja tajnih poruka. Cardanova rešetka izrađena je od lima prilično krutog papira ili pergamenta ili od tankog metala. U toj tehnici se predstavljaju linije rukopisa i pravokutna područja izrezana u proizvoljnim intervalima između tih linija. Pošiljatelj stavlja rešetku na list papira i piše svoju poruku u pravokutne otvore, od kojih u neki stane jedno slovo, slog ili cijela riječ. Zatim, uklanjajući rešetku, ulomci se popunjavaju kako bi stvorili bilješku ili pismo koje prikrivaju pravu poruku. Digitalna verzija veoma je slična generalnoj, samo što se koriste slike preko kojih se stavlja Cardanova rešetka, tj. matrica popunjena koeficijentima čije vrijednosti znaju samo pošiljatelj i primatelj. Prvo se oštećena slika uzima kao maska, a poruka koju želimo sakriti se piše na područje koje treba ispuniti digitalnom Cardanovom rešetkom određenih koeficijenata. Ključne riječi: steganografija, Cardanova rešetka ===== Uvod ===== Davne 1550., Girolamo Carano, također poznat kao Jérôme Cardan, predložio je ideju za pisanje skrivenih poruka. Njegova namjera bila je prikriti svoje poruke unutar običnog pisma kako se cjelina ne bi uopće činila šifriranom. Takvo prikrivanje poruka smatra se primjerom steganografije [1] [2], što je podvrsta generalne kriptografije. Kriptografija je polje koje se bavi lingvističkim i matematičkim načinima zaštite informacija u komunikaciji, a steganografija kao podvrsta kriptografije predstavlja nauku o pisanju skrivenih poruka na način da nitko, osim pošiljatelja i primatelja ne zna da poruka uopće postoji. Kriptografija štiti sadržaj poruke, a steganografija poruku i komunikaciju preko koje se ona šalje. Nauka koja se bavi detekcijom poruka koje su sakrivene koristeći steganografiju zove se steganaliza. U ovom se radu obrađuje nova tehnika generativnog okvira steganografije slike temeljenog na semantičkom oslikavanju. Ta je tehnika potpuno digitalna i primjenjuje se na slikama. Prvo se oštećena slika uzima kao maska, a poruka koju želimo sakriti se piše na područje koje treba ispuniti digitalnom Cardanovom rešetkom. ===== Slični projekti ===== Friedrich J. [3] raspravlja o načinu izbora i sinteze prekrivala za skrivanje podataka. Osoba koja želi sakriti podatke odabire sliku iz uobičajene baze slika prema tajnim informacijama, a osoba koja prima sliku izračunava //hash// vrijednost slike kako bi dešifrirao tajne podatke. Radi se o modificiranoj tehnologiji sakrivanja podataka koja ne mijenja početnu sliku, čime se izbjegava prijetnja postojećoj tehnologiji steganalize. Ova se metoda ne primjenjuje u praksi zbog male korisnosti šifriranja. Uz pomoć sinteze struktura Otori, H. i Kuriyama, S.[4] [5] predložili su metodu za sakrivanje podataka koja koristi uzorke teksture i gomilu točaka u boji koje stvaraju tajne poruke. Qian, Z., Zhou, H., Zhang, W., Zhang, X. [6] predlažu robusnu stenografiju koja se temelji na analizi teksture. Vrlo sličnu metodu predložili su Xu, J., Mao, X., Jaffer, A., Jaffer, A., Lu, S., Li, L. [7]. Naime, radi se o metodi //marbling//, metodi sinteze struktura koja korisnicima omogućava isporuku personaliziranih poruka s dekorativnim teksturama za skrivanje poruka. Ova vrsta steganografije temelji se na pretpostavci da original možda ne predstavlja sadržaj u stvarnom svijetu. Zhou, Z. L., Cao, Y., Sun, X. M. [8] predlažu metodu koja se naziva sakrivanje informacija bez pokrića, //Coverless Information Hiding//, koja se temelji na modelu „bagof-riječi“ (BOW, //Bagof-words model//). Prema odnosu mapiranja, pronalazi se skup pod slika s vizualnim riječima koje se odnose na tekstualne informacije. Slike koje sadrže ove pod slike koriste se kao stego slike za tajnu komunikaciju. Nadalje, generativne suparničke mreže (GAN, //Generative Adversarial Network//) postale su novo žarište u umjetnoj inteligenciji. Cilj GAN-a je procijeniti potencijalnu distribuciju postojećih podataka i generirati nove uzorke podataka iz iste distribucije. Od svog nastanka, GAN je široko proučavan zbog svoje široke mogućnosti primjene, uključujući obradu slike i računalnog vida, obradu govora i jezika te sigurnost informacija. Volkhonskiy, D., Nazarov, I., Borisenko, B., Burnaev, E. [9] prvo predlažu novi model generiranja slikovnih spremnika zasnovanih na dubokim konvolucijskim generativnim suparničkim mrežama (DCGAN [10]). Ovaj pristup omogućuje generiranje više ugrađenih sigurnosnih poruka koristeći standardne algoritme za steganografiju. Budući da je najveća prednost GAN-a u stvaranju uzoraka, korištenje GAN-ova za izravno generiranje semantičkog stego nosača iz poruke čini se vrlo intuitivno. Međutim, vađenje poruke važno je ograničenje za informacije koje skrivaju GAN mreže. Neki su istraživači preliminarno pokušali pokrenuti ovu intuitivnu ideju. Ke, Y., Zhang, M., Liu, J., Su, T., Yang, X. [11] predložili su generativnu steganografsku metodu nazvanu //Generative Steganography with Kerckhoffs' Principle//, GSK, u kojoj tajne poruke nastaju pomoću originala slike pomoću generatora, a ne ugrađene u original, što rezultira da nema nikakvih modifikacija na originalu. Liu, M. Liu, J. Zhang, M, Li, T. [12] predlažu metodu koja za klasificiranje generiranih uzoraka koristi //Auxiliary Classifier// GAN, ACGAN [13], a oni čine klasu izlazne informacije kao tajne poruke. Te metode nazivamo generativnom steganografijom. ===== Korištenje digitalne Cardanove rešetke u sakrivanju informacija ===== Metoda digitalna Cardanove rešetke zapravo je automatizirani slučaj osnovne ideje tradicionalne Cardanove rešetke. Pošiljatelj definira masku, nazvanu digitalna Cardanova rešetka, kako bi odredio gdje je poruka sakrivena, a sakrivene poruke idu izravno na ta mjesta gdje je originalna slika poremećena. Zatim se za dovršavanje slike koristi metoda iscrtavanja slike koja se temelji na GAN-ovima (Slika 1.). Dobro ispunjena slika prenosi se primatelju putem javnog kanala. Primatelj izvlači tajnu poruku pomoću Cardanove rešetke koju dvije osobe dijele na rekonstruiranoj slici. Jezgra ovog okvira je definiranje Cardanove rešetke koja ne samo da osigurava dosljednost tajnih poruka, već i racionalnost sadržaja metode pomoću GAN-ova prije i nakon završetka iscrtavanja slike. Razvoj GAN-ova dao je tehničku osnovu za zadovoljenje ove dvije premise. {{ :racfor_wiki:kriptoanaliza:1.png?nolink&600x352 }} Slika 1. Predložena metoda za sakrivanje informacija koristeći Cardanovu rešetku ==== Sakrivanje informacija ==== Metoda sakrivanja informacija koja se temelji na Cardanovoj rešetci može se promatrati kao obrada kojoj je cilj izgradnju odnosa mapiranja između poruke m i steganološkog nosioca s, gdje se Cardanova rešetka koristi za vađenje poruka. Načelo algoritma Cardanove rešetke je da se stvori novi stego nosilac Slažan, koji zapravo ne postoji u stvarnom svijetu. Taj stego nosilac dobiva se iz poruke m za svaku danu Cardanovu rešetku. On treba zadovoljavati slijedeće uvjete: Slažan = G(m) (1) M = C(Slažan) (2) Plažan = Pstvaran (3) Gdje G(.) predstavlja generator, Slažan obilježava lažan stego nosioc, C(.) je operacija ekstrakcije koja koristi Cardanovu rešetku, a Plažan i Pstvaran obilježavaju distribuciju lažnog stego nosioca i stvarnog prekrivala odnosno maske. U idealnom slučaju, uvjet (3) može biti realiziran pomoću generativnog modela kao što su GAN mreže što čini Cardanovu rešetku upravo problemom steganografije. Proces generiranja stega razdvaja se u dva koraka radi lakšeg dizajna (Slika 2.). {{ :racfor_wiki:kriptoanaliza:2.png?nolink&600x257 }} Slika 2. Dijagram toka obrade poruka Najprije se definira operaciju mapiranja: m' = ECG(m) (4) Ona stvara tajnu poruku Cardanove rešetke m' koja mora zadovoljavati sljedeći uvjet: m = C(m') (5) Zatim se dobiva stego nosilac: Slažan = G(m') (6) Gornjom metodom proširuje se poruka m na poruku m'. Prvo se odabire skriveni ulaz poremećene slike yporemećeno poruke m i Cardanovu rešetku. Važno je zadržati veličinu i vrijednost Cardanove rešetke i lokaciju poremećene slike. Pretpostavlja se da je veličina poremećenog područja a*b, gdje je a=b=3. Tada je Cardanova rešetka, koja mora biti iste veličine kao što je definirano na slici 3. {{ :racfor_wiki:kriptoanaliza:matrica.png?nolink&230x150 }} Slika 3. Model Cardanove rešetke Koristi se binarna maska koja ima vrijednosti 0 ili 1. Vrijednost 1 predstavlja dio slike na kojem želimo sakriti poruku, a vrijednost 0 dio gdje ne možemo pisati poruku. Lokacija Cardanove rešetke je u središtu oštećene slike. Poruka tipa '01011' može biti napisana na ulaznoj slici. Dobiva se poremećena slika koja sadrži sakrivenu poruku m'. ==== Semantičko iscrtavanje slike za sakrivanje informacija ==== Pretpostavlja se da je pronađena slika iz generatora koja daje razumnu rekonstrukciju nedostajućih dijelova. Dovršeni pikseli mogu biti dodani originalnima da bi se stvorila rekonstruirana slika: xrekonstruirano = M ⊙y+ (1 – M) ⊙G(z) (8) **Kontekstualni gubitak**: Da bi se zadržao isti kontekst kao kod ulazne slike, bitno je pobrinuti se da je lokacija poznatih piksela ulazne slike y slična pikselima kod G(z). G(z) se kažnjava ako ne stvori sličnu sliku za piksele koji su nam poznati na način da se oduzmu pikseli u y od G(z) po elementima te se gleda koliko se razlikuju: Lkontekstualno(z) = | | M ⊙G(z)– M ⊙ y | | 1 (9) U idealnom slučaju, svi su pikseli na poznatim lokacijama između y i G(z) jednaki. Tada je G(z) – yi = 0 za poznate piksele te je Lkontekstualno(z) = 0. **Perceptivni gubitak**: Da bi se slika oporavila, treba se osigurati da je diskriminator ispravno uvjeren da slika izgleda stvarno. To se izvodi na sljedeći način: Lperceptivno(z) = log(1 – D(G(z))) (10) Kontekstualni i perceptivni gubitci uspješno predviđaju semantičku informaciju u nedostajućem području i postižu realizam na razini piksela. **Gubitak poruke**: Ključni dio dovršavanja slike je da poruka generirana maskom MCG u Cardanovoj rešetci mora biti što stabilnija. Vrijednost piksela odgovarajuće pozicije generirane slike jednaka je vrijednosti sakrivene poruke. U idealnom slučaju, svi su pikseli na sakrivenim lokacijama između m' i G(z) jednaki. Tada je G(z)i – m'i = 0 za poznate piksele te je Lporuke(z) = 0. ==== Ekstrakcija poruke ==== Ekstrakcija poruka za primatelja je jednostavna. (Slika 3.) {{ :racfor_wiki:kriptoanaliza:3.png?nolink&600x261 }} Slika 3. Ekstrakcija poruka korištenjem Cardanove rešetke Primatelj će maskom pokriti rekonstruiranu sliku nakon čega dobiva skrivenu poruku: m = xrekonstruirano M’CG (14) gdje je M'CG dobiven dodavanjem nula na MCG. ===== Rezultati ===== Kao provjera navedenih koncepata koristi se LFW set baze podataka (//Labelled Faces in the Wild//): baza fotografija lica dizajnirana za proučavanje problema nesputanog prepoznavanja lica. Set podataka sadrži više do 13000 slika lica sakupljenih s interneta. Koristi se alat za poravnavanje da bi se slike obradile prije primjene algoritma tako da bi sve bile veličine 64×64. Koristi se DCGAN model arhitekture (//Deep Convolutional Generative Adversarial Network//). Za treniranje DCGAN mreže koristi se 12000 uzoraka. Veličina Cardanove rešetke fiksirana je na 32×32 što je veličina ista kao i poremećeno područje. Sakrivena poruka se poslaguje nasumično kako bi stabilnost ugrađene poruke mogla dati kvantitativnu mjeru. Na slici 4. prikazana je demonstracija uspješne predikcije nedostajućeg sadržaja. Potrebno je naznačiti da je u ovom slučaju Cardanova rešetka bila nasumično generirana kao što je to bila i sakrivena poruka. {{ :racfor_wiki:kriptoanaliza:4.png?nolink&600x496 }}Slika 4. Uspješno provedena implementacija digitalne Cardanove rešetke Također je na slici 5. prikazan proces stvaranja slike s brojem iteracija od 60 do 600. Zaključuje se da dopunjena slika postaje realnija kako raste broj iteracija. {{ :racfor_wiki:kriptoanaliza:5.png?nolink&600x210 }} Slika 5. Proces stvaranja slike Slika 6. prikazuje kako veličina Cardanove rešetke utječe na stvaranje slike. Kako se veličina povećava, stvorena slika ima nešto deformacije, posebno na rubovima. {{ :racfor_wiki:kriptoanaliza:6.png?nolink&600x274 }} Slika 6. Sakrivanje informaciju uz različite veličine Cardanove rešetke Nadalje, na slici 7. prikazan je rezultat ekstrakcije informacija te cijeli proces sakrivanja informacija pri čemu zadnje dvije slike prikazuju ekstrahiranu poruku i grešku između ekstrahirane poruke i sakrivene poruke. {{ :racfor_wiki:kriptoanaliza:7.png?nolink&600x99 }} Slika 7. Ekstrakcija informacija ===== Zaključak ===== U ovom se seminaru obrađuje metoda digitalne Cardanove rešetke. Navedena metoda koristi tehniku semantičkog dovršetka slike da bi se izravno iz sakrivene poruke generirala stego slika. Ova se metoda može primijeniti i na druge medije kao što su tekst, video i ostala područja. Može se smatrati i metodom klasične kriptografije čija sigurnost ovisi o parametrima Cardanove rešetke, bez koje je ekstrakcija tajne informacije jednaka //brute force// metodi. Važno je naznačiti da se pretpostavlja da su gubitak poruke i kontekstualni gubitak jednako važni. U slučaju kada su potpuno nepovezani, stvaranje slike je bolje, a kada su u potpunosti povezani, točnost ekstrakcije informacija je visoka, ali sadržaj slike ima očite deformacije. ===== Literatura ===== [1] Sallee, P. Model-Based Steganography. Digital Watermarking. Springer Berlin Heidelberg. (2003) [2] Filler, T., Judas, J., Fridrich, J.. Minimizing additive distortion in steganography using syndrome-trellis codes. IEEE Transactions on Information Forensics and Security, 6(3), 920-935. (2012) [3] Fridrich J. Steganography in digital media: principles, algorithms, and applications [M]. Cambridge, UK: Cambridge University Press, (2010) [4] Otori, H., Kuriyama, S. Data-Embeddable Texture Synthesis. Smart Graphics, International Symposium, Sg 2007, Kyoto, Japan, June 25-27, 2007, Proceedings (Vol.4569, pp.146-157). DBLP. (2007) [5] Otori, H., Kuriyama, S.. Texture synthesis for mobile data communications. , 29(6), 74- 81. (2009) [6] Qian, Z., Zhou, H., Zhang, W., Zhang, X.. Robust Steganography Using Texture Synthesis. Advances in Intelligent Information Hiding and Multimedia Signal Processing. Springer International Publishing. (2017) [7] Xu, J., Mao, X., Jaffer, A., Jaffer, A., Lu, S., Li, L., et al.. Hidden message in a deformation-based texture. Visual Computer, 31(12), 1653-1669. (2015) [8] Zhou, Z. L., Cao, Y., Sun, X. M. Coverless information hiding based on bag-of-words model of image. Journal of Applied Sciences,34(5), 527-536. (2016) [9] Volkhonskiy, D., Nazarov, I., Borisenko, B., Burnaev, E. Steganographic generative adversarial networks. (2017) [10] Radford, A., Metz, L., Chintala, S. Unsupervised representation learning with deep convolutional generative adversarial networks. Computer Science. (2015) [11] Ke, Y., Zhang, M., Liu, J., Su, T., Yang, X. Generative steganography with kerckhoffs' principle based on generative adversarial networks. (2017) [12] Liu, M. Liu, J. Zhang, M, Li, T. Tian Generative Information Hiding Method Based on Generative Adversarial Networks. Journal of Applied Sciences, 36(2), 27-36 (2018) [13] Odena, A., Olah, C., Shlens, J. Conditional image synthesis with auxiliary classifier gans. (2016) [14] Liu, J., Zhou, T., Zhang, Z., Ke, Y., Lei, Y., Zhang, M., Yang, X. Digital Cardan Grille: A Modern Approach for Information Hiding. (2018)