AES enkripcija i dekripcija slikovne datoteke

poruka: 6
|
čitano: 2.724
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
13 godina
neaktivan
offline
AES enkripcija i dekripcija slikovne datoteke

Pozdrav!

Neki dan sam postavio novu temu ovdje ne bi li doznao kako "zamaskirati" odnosno kriptirati sliku. Pošto sam beginner u svemu ovome, imao sam u planu napraviti nešto iz kućne radinosti što je ispalo malo smiješno, ali ajd za prvu silu dobro U međuvremenu sam doznao nešto više o AES enkripciji, pa sam krenuo čitat po netu nešto više o tome. 

Imam za napraviti program koji će biti sposoban učitati sliku, te obaviti enkripciju i dekripciju slike (otisak prsta). E sad, neznam od kud početi. Osobno imam samo light iskustva u pythonu i c++u, ali nekako sumnjam da mogu iz ovoga napraviti klikabilni program kao što mogu napraviti u javi ili visual studiu.

Zanima me dal ima možda netko nekakve kodove koji bi mogli poslužiti ili možda dobre tutorijale s primjerima, videima itd.

 

 

Poruka je uređivana zadnji put čet 6.11.2014 12:03 (saftek&makaroni).
 
0 0 hvala 0
13 godina
neaktivan
offline
Re: AES enkripcija i dekripcija slikovne datoteke

Pogledaj drugi primjer za pycrypto.

13 godina
neaktivan
offline
AES enkripcija i dekripcija slikovne datoteke

Naišao sam na jedan jako dobar link:

https://www.cs.bc.edu/~straubin/cs381-05/blockciphers/rijndael_ingles2004.swf

Dosta dobro je opisani princip rada AES enkripcije, ali ima još nekih stvari koje mi nisu jasne. Konkretno, onaj dio sa transformacijama. (MixColumns)

 

Samo množenje mi nije problem, nego me interesira ova matrica u sredini:

http://upload.wikimedia.org/math/0/c/b/0cb2b3fcbd9c8bf322ad1f9264fd51c2.png

 

Ta matrica ima svoj naziv (eng. Galois field ili skraćeno GF(28)), ali ne mogu nikako shvatiti taj princip rada. Zna možda netko ovo malo bolje objasniti ili ima dobar primjerm, link itd.

 

P.S - pregledao wikipedije, nije od koristi

 
0 0 hvala 0
13 godina
neaktivan
offline
Re: AES enkripcija i dekripcija slikovne datoteke

Za tri tjedna nema šanse na korektno napraviš AES - koristi gotove (i besplatne) implementacije.

 

Primjer enkripcije datoteke slika.bmpšifrom This is key123 i snimanje u kriptirana_slika.bmp

 

from Crypto.Cipher import AES

with open('slika.bmp', 'rb') as f:
    plaintext = f.read()

aes = AES.new('This is a key123', AES.MODE_CFB, 'This is an IV456')
ciphertext = aes.encrypt(plaintext)

with open('kriptirana_slika.bmp', 'wb') as f:
    f.write(ciphertext)

Primjer dekripcije datoteke kriptirana_slika.bmpšifrom This is key123 i snimanje u dekriptirana_slika.bmp

 

from Crypto.Cipher import AES

with open('kriptirana_slika.bmp', 'rb') as f:
    ciphertext = f.read()

aes = AES.new('This is a key123', AES.MODE_CFB, 'This is an IV456')
plaintext = aes.decrypt(ciphertext)

with open('dekriptirana_slika.bmp', 'wb') as f:
    f.write(plaintext)

13 godina
neaktivan
offline
AES enkripcija i dekripcija slikovne datoteke

Isprobao sam tvoje kodove za enkripciju i dekripciju i sve uredno radi. Dok pokušavam otvoriti kriptiranu sliku ispisuje mi: "This file format can't be opened", a kad ju želim dekriptirati uredno vrati na staru sliku.

Da li se ovakav jednostavan kod i njegov eksport može uspoređivati s kodom koji eksporta ovakvo nešto:

http://www.ciphers.de/vpics/9a8f098c615a425eab6d17c804dd67ae/allpics/sample_encrypted_with_giant_block_size_PMC_small.gif

 

Početnik sam u svemu ovome, a koliko čitam po literaturama svako malo vidim ovakvu sličicu koja izgleda kao šum.

Btw, dozvoljeno nam je korištenje tuđih kodova uz napomenu da se oni moraju referencirati u dokumentaciji.

 

 
0 0 hvala 0
13 godina
neaktivan
offline
Re: AES enkripcija i dekripcija slikovne datoteke

Nisu direktno usporedivi jer je AES univerzalni enkripcijski algoritam. Kriptiranu sliku ne možeš otvoriti jer AES enkriptira cijelu datoteku, uključujući i zaglavlje u kojem su informacije o samoj slici (dimenzije, broj boja, način komprimiranja itd.).

 

I ostavi se proučavanja stručne literature o enkripciji - to je namijenjeno profesorima matematike s godinama iskustva, a ne početnicima s rokom od tri tjedna. AES je poznat i certificiran enkripcijski algoritam, program koji koristi enkripciju iz kućne radinosti je samo dokaz programerovog neznanja.

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice