Komut satırındaki görüntülere nasıl görünmez filigran ekleyebilirim?


12

Benzer soru burada ama Tex için- belge. Imagemagick burada filigran basmanın yollarını gösterir, ancak bunu mümkün olduğunca görünmez hale getirmez. Şu anda bazı fonksiyonel öğeleri görüntünün kendisini bozmadan kaldırılması çok zor olan fotoğraflara karıştırıyorum. Görüntülere görünmez filigran eklemek için bazı komut satırı aracı var mı, belki mikroskopla kontrol etmek gibi ama yine de okunabilir mi? Ben her fotoğrafta görünmez hızlı filigran eklemek için bazı komut satırı aracı - (filigran env vb benimsemek gerekir çok farklı çeşitlilik) görüntüleri büyük bir ağaç var?


2
Görünmezlik gereksiniminizin filigran basma amacına aykırı olduğunu düşünüyorum. Filigran normal bir görüntüleyici tarafından görünmezse, muhtemelen görüntü üzerinde birkaç JPEG dönüşümü yaparak kaldırılabilir, çünkü tasarım JPEG'si insanların kaçırmayacağı ayrıntıları düzeltir.
Kyle Jones

@KyleJones: JPEG'i format olarak kim ister? Imagemagick sadece örnekler içeriyor, amacım filigranları resimlere biraz

2
Demek istediğim, JPEG dönüşümünün veya başka herhangi bir kayıplı görüntü sıkıştırma algoritmasının, görüntünün JPEG olarak başlaması gerekmediği için böyle bir filigranı kaldırabileceğidir.
Kyle Jones

Bunun bir amacı olmadığı yorumu yanlış ve yanlış yönlendirilmiş. Tabii ki, "görünmez filigran" bir oksimorondur, ama neredeyse her zaman "stenografik" (yani, kelimenin tam anlamıyla, stenografi) şeklinde otomatik olarak düzeltilecek olan "steganografik mesaj" için kullanışlı bir stenondur. İşte kullanım durumları hakkında bir backgrounder var: lia.deis.unibo.it/Courses/RetiDiCalcolatori/Progetti98/Fortini/... ve bir örnek uygulama: howtoforge.com/tutorial/...
michael

Yanıtlar:


9

Aradığın şeyin , başka türlü masum görünen içeriklerde bir mesajı gizlemenin bir yolu olan steganografi olduğuna inanıyorum .

Linux'ta bunun için çok sayıda araç yok gibi görünüyor, ancak outguess 1 ve steghide 2 istediğinizi yapacaktı. openstego başka bir tanesidir (komut satırı arayüzü ile).

Örnek olarak outguess, sorunuzun metnini kopyaladım / yapıştırdım Q.txt:

$ ../src/outguess/outguess -k 'Unix&Linux' -d Q.txt Tux.jpg Tux_steg.jpg
Reading Tux.jpg....
JPEG compression quality set to 75
Extracting usable bits:   10126 bits
Correctable message size: 5008 bits, 49.46%
Encoded 'Q.txt': 4592 bits, 574 bytes
Finding best embedding...
    0:  2274(49.2%)[49.5%], bias  2008(0.88), saved:     2, total: 22.46%
    3:  2269(49.1%)[49.4%], bias  2007(0.88), saved:     3, total: 22.41%
   13:  2268(49.0%)[49.4%], bias  1977(0.87), saved:     3, total: 22.40%
   62:  2237(48.4%)[48.7%], bias  1992(0.89), saved:     7, total: 22.09%
   78:  2216(47.9%)[48.3%], bias  1964(0.89), saved:    10, total: 21.88%
78, 4180: Embedding data: 4592 in 10126
Bits embedded: 4624, changed: 2216(47.9%)[48.3%], bias: 1964, tot: 10119, skip: 5495
Foiling statistics: corrections: 1437, failed: 746, offset: 198.494881 +- 300.529142
Total bits changed: 4180 (change 2216 + bias 1964)
Storing bitmap into data...
Writing Tux_steg.jpg....
$ ../src/outguess/outguess -k 'Unix&Linux' -r Tux_steg.jpg out.txt
Reading Tux_steg.jpg....
Extracting usable bits:   10126 bits
Steg retrieve: seed: 78, len: 574
$ diff out.txt Q.txt 
$ echo $?
0

Kaynak görüntü ( Tux.svg'den ):

düz JPG, filigran yok

Sorunuz içinde gizli olan resim:

gizli bilgi içeren dosya

Yakından bakarsanız görüntüler farklıdır, ancak sanki ikincisi daha yüksek bir JPEG sıkıştırma seviyesiyle oluşturulmuş gibi. Sorunuzun tam metninin karıştırılması (ve şifre korumalı) görsel olarak hiç fark edilmez.
Gizli mesaj ne kadar küçük olursa, görsel olarak görsel olarak o kadar az farklı olur. ("Copyright YOU 2012" gömülü olarak orijinal ile dosya arasında görsel olarak ayrım yapamıyorum.)

1 yaşında, ama iyi inşa.
2 modern bir C ++ derleyicisi ile derlenmez, birkaç kaynak düzeltmesi gereklidir.


OpenStego'nun CLI'si var, cevabınızı düzenledim ve ona bağlıyım.
awendt

0

Görüntüye oldukça istikrarlı bir filigran yerleştirmenin bir yolu olmalı, DigiMark bunu Photoshop filtrelerinde yapıyor - neden bir komut satırı aracı da bunu yapamaz?

Bu bir çözüm değildir, ancak nasıl çalışabileceği hakkında bir fikir ... boş bir beyaz görüntü üzerinde görünmez bir filigran oluşturup sonuçta ortaya çıkan kodu başka bir görüntüye harmanlarsanız, filigran okuyucu, ortaya çıkan görüntüden uyarı işaretini çıkarabilir tekrar - değiştirilmiş / kırpılmış veya basılmış ve fotoğraflanmış olsa bile.

Aslında, belirli bir filigran gradyan kodunu toplu olarak eklemek sorun olmaz - filigranı çıkarmak için uygun bir imzalama algoritması ve yazılım bulmak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.