CS-107 Mini-project 1 Steganography - PDF ingyenes letöltés
CS-107: Mini-project 1 Steganography B. Goullet, B. Jobstmann, J. Sam Tartalomjegyzék 1 Bemutató 3 2 Felépítés és kód 4 3 Közvetlen kódolás 6 3.1 Transformation bináris képpé. 6 3.1.1 Egy pixel kódolása. 7 3.1.2 A teljes kép kódolása. 8 3.1.3 Vizsgálatok. 9 3.2 A kép elrejtése. 9 3.2.1 Inlay. 9 3.2.2 Leleplezés. 10 3.2.3 Példa. 10 3.2.4 Vizsgálatok. 10 4 Szövegkódolás 11 4.1 Karakterlánc-bit tömb átalakítás és fordítva. 11 4.1.1 Integer to bit tábla. 11 4.1.2 Karakterlánc a logikai tömbhöz egész számok tömbjén keresztül. 12 4.1.3 Bites táblázat az egész számok táblájához. 12 4.1.4 Egész számok tömbje a Stringhez. 12 4.2 Rejtés és nyilvánosságra hozatal. 12 4.2.1 A bit táblából. 13 4.2.2 A húrból. 13 4.3 Vizsgálatok. 14 1

5 Spirál kódolása 15 5.1 Spirál elrejtése. 16 5.1.1 A bináris kép átalakítása egydimenziós tömbvé. 16 5.1.2 Kódolás. 17 5.2 Spirálkódolt üzenet bemutatása. 17 5.2.1 Az egydimenziós tömb átalakítása bináris képpé. 17 5.2.2 A kép leleplezése. 17 5.3 Tesztek. 18 6 Elméleti kiegészítés Színek, pixelek és bináris értékek 19 6.1 Egész számok bináris ábrázolása. 20 6.2 Hivatkozások. 20 2
getred (szín); // -> 240 (0xF0) getgreen (színes); // -> 15 (0x0F) getblue (szín); // -> 85 (0x55) int szürke = getgray (szín); // -> 113 getbw (szürke, 128); // -> false // A getrgb (0, 0, 255) színeket kódoljuk; // -> 255 (0 x0000ff) getrgb (127); // -> 8355711 (0 x7f7f7f) getrgb (true); // -> 16777215 (0 xffffff) // Ne feledje, hogy az összetevőket a [0, 255] getrgb (-175, 0, 255) korlátozza; // -> 255 (0 x0000ff) getrgb (-255); // -> 0 (0x000000) 3.1.2 A teljes kép kódolása Az előző függvények segítségével valósítsa meg a togray (int [] [] képet), amely az adott képet RGB formátumban szürkeárnyalatos képpé alakítja (int [] []); tobw (int [] [] szürke, int küszöb), amely a szürkeárnyalatos képet bináris fekete-fehér képpé alakítja (visszatérési típusként logikai [] [] értéket használunk, ahol a hamis bemenetek a feketét, a valódi fehéret pedig ). torgb (logikai [] [] bw), amely a bináris képet a másik irányba konvertálja RGB formátumú képpé torgb (int [] [] szürke), és ugyanezt teszi szürkeárnyalatos kép esetén is. Ehhez létre kell hoznia egy megfelelő méretű tömböt, és minden pixelhez használni kell a getgray, getbw vagy getrgb elemeket. // 2x2 színes kép int [] [] image = <, >; // Szürkévé konvertáljuk [] [] szürke = togray (kép); // -> < //, // // >; // Visszatérünk az RGB int [] [] vissza = torgb (szürke); 8.
Az embedbwimage (int [] [] borító, logikai [] [] üzenet) megvalósításához be kell kódolnia az embedinlsb (int érték, logikai m) értéket, amely RGB pixelt (értéket) és logikai m értéket vesz fel, és visszaadja ezt a pixelt jobb szélső bitjével 0-ra állítva, ha m hamis, vagy 1-re, ha igaz. Használhat például bináris operátorokat, mint például a &, az operátor és a bináris (lásd a kiegészítéseket, valamint az osztályban bemutatott diákat). 3.2.2 Felfedés A rejtett kép dekódolásához ezután megvalósítja a palettabemutatót (int [] [] borító), amely bináris képet alkot azáltal, hogy leolvassa az egyes pixelek legkevésbé jelentős (jobb szélső) bitjeinek értékét. RGB képborító. A korábbiakhoz hasonlóan egy további getlsb (int érték) metódust valósít meg, amely RGB pixelérték esetén igaz, ha az utolsó bitje 1, és hamis, ha 0. 3.2.3. Példa int [] [] cover = Helper . olvasni ("cover.jpg"); int [] [] üzenet = Segítő.olvasott ("message.jpg"); int [] [] szürke = ImageMessage. togray (üzenet); logikai [] [] bw = ImageMessage. tobw (szürke, 240); int [] [] rejtett = Szteganográfia. embedbwimage (borító, bw); // adja vissza a rejtett üzenetet tartalmazó médiumot logikai [] [] dekódolt = Steganography. felfedhető kép (rejtett); 3.2.4 Tesztek Ebben a részben folytassa az előzőhöz hasonlóan, de a LinearEncodingTests.java fájllal. A projekt ezen a pontján a getlsbtest, embedinlsbtest, felfedi awimagetest és az embedbwimagetest teszteknek zöldnek kell lenniük. Ennek a résznek a grafikus teszteléséhez használhatja a MainImages.java programot, amelyet természetesen tetszés szerint növelhet. 10.