iGuRu
Now Reading
Steganographer: Απόκρυψη αρχείων ή δεδομένων σε εικόνες
iGuRu

Steganographer: Απόκρυψη αρχείων ή δεδομένων σε εικόνες

Αυτό το script, αποκρύπτει αρχεία μέσα σε εικόνες (currenlty PNG) και εξάγει την τροποποιημένη εικόνα στο δίσκο σας.

crypto - Steganographer: Απόκρυψη αρχείων ή δεδομένων σε εικόνες

Το μέγιστο μέγεθος αρχείου που μπορεί να κρυφτεί μέσα σε μια εικόνα εξαρτάται από τη διάσταση της εικόνας.

max_file_size = ( height_of_image * width_of_image * 6 / 8 ) bytes

Το “100k words.txt” είναι κρυμμένο στο “original_image.png” που ονομάζεται “image_with_100k words.png”. Πηγαίνετε και ελέγξτε εάν μπορείτε να εντοπίσετε τη διαφορά μεταξύ αυτών των δύο εικόνων. Μπορείτε να χρησιμοποιήσετε αυτήν την ενότητα για να εξαγάγετε “100k words.txt” από το “image_with_100k words.png”.

Παράδειγμα αρχικής εικόνας:

68747470733a2f2f692e6962622e636f2f6750677332595a2f6f726967696e616c2d696d6167652e706e67 - Steganographer: Απόκρυψη αρχείων ή δεδομένων σε εικόνες

Τροποποιημένη εικόνα

68747470733a2f2f692e6962622e636f2f4b35674d30314a2f696d6167652d776974682d3130306b2d776f7264732e706e67 - Steganographer: Απόκρυψη αρχείων ή δεδομένων σε εικόνες

Αυτή η εικόνα έχει 100k λέξεις κρυμμένες μέσα της!

Πως δουλεύει;

Βασίζεται σε μια απλή αρχή ότι αν αλλάξουμε το LSB (Least Significant Bits) κάθε Pixel, τότε η αλλαγή δεν θα είναι σημαντική και δεν θα παρατηρηθεί με γυμνά μάτια.

Έτσι, αυτή η ενότητα παίρνει 2 bit δεδομένων από το αρχείο για να κρυφτεί και αντικαθιστά τα τελευταία 2 bit ενός pixel με αυτά τα 2 bit και στη συνέχεια, μεταβαίνει στο επόμενο pixel.

Η μέγιστη αλλαγή σε pixel μπορεί να είναι 4 μονάδες και το εύρος τιμών σε εικόνα PNG (0,255), επομένως αυτή η αλλαγή δεν είναι σημαντική.

Σε μια εικόνα PNG, κάθε εικονοστοιχείο έχει 3 κανάλια κόκκινο, πράσινο και μπλε. (Ορισμένες εικόνες PNG έχουν 1 ή 4 κανάλια, αλλά αυτό το πρόγραμμα θα τις μετατρέψει σε 3 κανάλια) Ένα τυπικό pixel σε εικόνα PNG μοιάζει με:

a_pixel = (17,32,11)     # (RED, GREEN, BLUE)

Έτσι, μπορούμε να εξοικονομήσουμε 3 φορές 2 bit σε ένα Pixel, που σημαίνει 6 bit ανά pixel. Αυτό μας οδηγεί στο ανώτερο όριο του μεγέθους του αρχείου, το οποίο μπορεί να κρυφτεί σε μια εικόνα:

max_file_size = ( height_of_image * width_of_image * 6 / 8 ) bytes

Ας το καταλάβουμε με ένα παράδειγμα. Τα δεδομένα που θα κρυφτούν είναι:

binary_data = 0b100111

Ας πάρουμε τα πρώτα δύο bits και θα τα αντικαταστήσουμε με το RED Channel του «a_pixel» μας.

a_pixel = (0b10001, 0b100000, 0b1011)   # binary representation of a_pixel values
# Let's change a_pixel's RED Channel
# 0b10001 -> 0b10010  ( First 2 bits are 10 )
a_pixel = (0b10010, 0b100000, 0b1011)  # modified pixel

Ας πάρουμε πάλι 2 bit από το binary_data για να αντικαταστήσουμε τα τελευταία 2 bit του GREEN Channel με αυτά.

a_pixel = (0b10010, 0b100000, 0b1011)
# Let's change a_pixel's GREEN Channel
# 0b100000 -> 0b100001  ( The 2 bits are 01 )
a_pixel = (0b10010, 0b100001, 0b1011)  # modified pixel

Ας το κάνουμε για άλλη μια φορά με το BLUE Channel και τελειώσαμε.

a_pixel = (0b10010, 0b100001, 0b1011)
# Let's change a_pixel's BLUE Channel
# 0b1011 -> 0b1011  ( The 2 bits are 11 ) ; Notice that the value wasn't changed this time
a_pixel = (0b10010, 0b100001, 0b1011)  # pixel wasn't modified this time

Έτσι, έχουμε κρύψει ένα μήνυμα 6 bit σε ένα pixel. Ας δούμε τις αλλαγές στο pixel

a_pixel             = (0b10001, 0b100000, 0b1011) = (17, 32, 11)
a_pixel_with_data   = (0b10010, 0b100001, 0b1011) = (18, 33, 11)

Όπως μπορούμε να δούμε ότι η αλλαγή δεν είναι καν αισθητή στο επίπεδο των pixel. Το Module το κάνει επανειλημμένα έως ότου όλα τα δεδομένα μας αποθηκευτούν στην εικόνα.

steganographer 4 - Steganographer: Απόκρυψη αρχείων ή δεδομένων σε εικόνες

ΣΗΜΕΙΩΣΗ: Ο “θόρυβος” στη φωτογραφία αυξάνεται και εάν χρησιμοποιήσουμε οποιοδήποτε λογισμικό επεξεργασίας φωτογραφιών για να την συγκρίνουμε με την αρχική εικόνα, τότε αυτή η εικόνα θα έχει πολύ περισσότερο θόρυβο από την αρχική εικόνα.

Διαβάστε τις Τεχνολογικές Ειδήσεις από όλο τον κόσμο, με την εγκυρότητα του iGuRu.gr

Ακολουθήσετε μας στο Google News

View Comment (1)

Leave a Reply

Your email address will not be published.

 

iGuRu.gr © 2012 - 2021 Keep it Simple Stupid Custom Theme

Scroll To Top