Warning: Missing argument 2 for wpdb::prepare(), called in /home/stromber/public_html/kryptoblog/wp-content/plugins/wp-super-edit/wp-super-edit.core.class.php on line 109 and defined in /home/stromber/public_html/kryptoblog/wp-includes/wp-db.php on line 1291
Stepic – Steganografi med Python » Kryptoblog

Stepic – Steganografi med Python

October 21st, 2007 by Joachim Strömbergson Leave a reply »

Jag satt och letade efter Pythonbibliotek för att generera och manipulera bilder och grafik, och sprang då på en artikel om ett bibliotek kallat Stepic. (Ja, artikeln är från februari så den är inte purfärsk.)

Stepic är ett Pythonbibliotek (och applikation) för bildbaserad steganografi. Bibliotekets enda class Steganographer har två publika metoder encode och decode för att gömma och extrahera information lagrad i bilder. Artikeln innehåller ett par exempelbilder:

Bild innan data från Stepic
Bild 1: Orginalbild innan data gömts i bilden.

Data har sedan gömts i bilden som då ser ut så här:

Bild med steganografiskt lagrad data.
Bild 2: Samma bild, men med steganografiskt lagrad data.

Ser du skillnaden?

Jag körde en enkel md5-hash på bilderna för att se att dom skiljer:

MD5 (stepic-demo-before.png) =
ce5e5482d3ba9c5ed59f00820825f71a

MD5 (stepic-demo-after.png) =
b9cb6c127423fe82e08b40348a4ba116

(Bilderna skiljer även i storlek så egentligen säger inte md5 så mycket mer…)

Källkoden till Stepic finns på nätet och tittar man i koden ser det ut som att datat lagras med start i början bilden och sedan påverkas så många pixels som krävs för att koda in datat. Själva kodningen ser ut att vara en enkel/linjär förändring av intensiteten applicerad på 3×3 pixel stora kernels.

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

Advertisement

2 comments

  1. Nils says:

    Kul inlägg. Tyvärr är det ganska uppenbart att någonting lagrats i de minst signifikanta bitarna om man analyserar bilden. Här är en version av stepic-demo-after.png där endast den lägsta biten i varje bildelement visas:
    http://farm3.static.flickr.com/2152/1668638117_4eb5eeb944_o.png
    Det är uppenbart att den översta delen av bilden behandlats på något vis. En uppenbar utökning vore att använda padding med kryptografiska slumptal för att få hela bilden att påverkas.

  2. steelneck says:

    Vill du se skillnaden med blotta ögat så öpnna båda bilderna i ett redigeringsprogram, t ex. Gimp. I orginalbilden skapar du ett nytt lager och ställer blandningsläget till skillnad. Platta sedan ut bilden och använd verktyget nivåer och ställ det övre värdet till 3 (allt över 3 blir då vitt = 255). Viola! Det är givetvis fortfarande inte läsbart, men du ser skillnaden.

Leave a Reply

You must be logged in to post a comment.