2009-08-01 9 views
21

मैं छवि फ़ाइल को नष्ट किए बिना jpg या gif जैसे फोटो फ़ाइल के अंदर कुछ जानकारी कैसे लिख सकता हूं? और निश्चित रूप से फोटो पर इसे दिखाए बिना पूरे विचार को किसी भी व्यक्ति द्वारा अनदेखा तस्वीर की फ़ाइल में जानकारी भेजना है (कुछ हद तक सुरक्षा/गोपनीयता प्रदान करने के लिए)!आप jpg या gif फ़ोटो के अंदर जानकारी कैसे छिपा सकते हैं?

+1

कृपया यौगिक शब्दों को टैग न करें। इस सवाल के लिए अकेले "सूचना" पूरी तरह से बेकार टैग है; और इसके लिए तकनीकी शब्द "स्टेग्नोग्राफी" है। कृपया इसे न हटाएं। http://en.wikipedia.org/wiki/Steganography –

+1

संकेत के लिए धन्यवाद, मुझे इससे पहले पता नहीं था! :) –

+1

EXIF ​​डेटा में जानकारी संग्रहीत करें। – geoff

उत्तर

2

आप छवि मेटाडेटा में कुछ जानकारी स्टोर कर सकते हैं। असल में इस तरह मनुष्य डिजिटल कैमरे 'टैग' उनके फोटो (कैमरा मॉडल, दिनांक और समय, जीपीएस कॉर्ड इत्यादि)।

इस डेटा प्रारूप को EXIF (एक्सचेंज योग्य छवि फ़ाइल प्रारूप) कहा जाता है। प्रोग्रामिंग भाषाओं में इसका उपयोग करने के कई उदाहरण हैं। Here's जावा में उदाहरण।

यदि आप उपयोगकर्ताओं को इस डेटा को पढ़ने से रोकना चाहते हैं तो आप उन्हें किसी भी तरह से एन्क्रिप्ट कर सकते हैं, लेकिन वे हमेशा इसे आपकी तस्वीर से हटा सकते हैं (फ़ोटोशॉप में खोलकर और उदाहरण के लिए सहेजें का उपयोग करके)।

+0

तो फ़ोटोशॉप में "सेव एज़" किसी मेटाडेटा को हटा देगा? क्या आप एक सॉफ्टवेयर जानते हैं जो इसे संपादित करने की अनुमति देगा? –

+1

मुझे लगता है कि फ़ोटोशॉप इस डेटा को अपने डेटा के साथ फिर से लिख देगा। मुझे लगता है कि बहुत सारे EXIF ​​संपादक हैं, उदाहरण के लिए मुझे फ्रीवेयर त्वरित EXIF ​​संपादक http://www.photo-freeware.net/quick-exif-editor.php – RaYell

+0

ग्रेट मिला! मैक के लिए कुछ भी? –

40

आप एक फ़ाइल में एक gif और एक ज़िप (जानकारी जिसे आप छिपाना चाहते हैं) को जोड़ सकते हैं। फ़ाइल की शुरुआत से GIFs पढ़ा जाता है, जबकि फ़ाइल के अंत से ज़िप पढ़ा जाता है।

लिनक्स में इस तरह के एक फ़ाइल बनाने के लिए:

$ cat file1.gif >> outfile.gif 
$ cat file2.zip >> outfile.gif 

परिणामी फ़ाइल एक साथ file1.gif और file2.zip के आकार होना चाहिए और किसी भी gif दर्शक और ज़िप फ़ाइल हैंडलर से खुलने वाला होना चाहिए।

+0

शायद जानकारी छिपाने का सबसे आसान तरीका :) लेकिन आप इसे कैसे प्राप्त करते हैं? – Burkhard

+2

जैसा कि मैंने कहा था, आप परिणामी फ़ाइल (आउटफाइल) को किसी मानक संग्रहकर्ता के साथ खोल सकते हैं जो ज़िप फ़ाइलों को संभाल सकता है और जानकारी निकाल सकता है। – crazymaik

+0

अप्स। मैंने केवल पहले भाग को पढ़ा। मैं बाद में ज़िप भाग कोशिश करूंगा। महाकाव्य प्रारूप ज्ञान जीत के लिए – Burkhard

25

मुझे यकीन है कि कई तरीके हैं। यहां एक है:

एक तस्वीर में, रंग में मामूली विविधता अक्सर नग्न आंखों के लिए अनजान होगी, या यहां तक ​​कि अगर देखा गया हो, तो तस्वीर की गुणवत्ता में त्रुटियों के लिए आसानी से गलत हो सकता है।

तो एक साधारण उदाहरण लेने के लिए, मान लीजिए कि आपके पास ग्रे-स्केल जीआईएफ छवि थी, जहां पैलेट को सफेद से काले रंग के क्रम में ग्रे के चिकनी रेंज के साथ व्यवस्थित किया जाता है। मुझे यकीन नहीं है कि आप ग्राफ़िक फ़ाइल प्रारूपों के बारे में कितना जानते हैं, लेकिन जीआईएफ में आपके पास एक बाइट प्रति पिक्सेल है, प्रत्येक विशिष्ट बाइट मान मैपिंग के साथ कुछ विशिष्ट रंग में। तो इस मामले में हम pallette # 0 = आरजीबी (0,0,0), pallette # 1 = आरजीबी (1,1,1), ... पैलेट # 255 = आरजीबी (255,255,255) कह सकते हैं।

फिर आप एक साधारण, वास्तविक तस्वीर लेते हैं। व्यक्तिगत बिट्स में अपना गुप्त संदेश तोड़ो। अपने संदेश की लगातार बिट्स पर प्रत्येक पैलेट इंडेक्स नंबर का अंतिम बिट सेट करें।

उदाहरण के लिए, मान लीजिए कि मूल तस्वीर के पहले आठ पिक्सल हैं, 01 00 सी 9 एफएफ एफएफ सी 8 42 43. आपका संदेश "सी", एएससीआई कोड 0110 0111 पत्र से शुरू होता है। तो आप अंतिम बिट बदलते हैं पहले बाइट 0 से, बाइट को 01 से 00 तक बदलना। आप दूसरी बाइट को अंतिम रूप से बदलकर 1 से बदलकर 00 से 01 तक बदलते हैं। आप तीसरे बाइट के अंतिम बिट को 1 में बदलते हैं। यह पहले से ही 1 है , जिससे कोई फर्क नहीं पड़ता। आदि। आप कोडित 8 बाइट्स के साथ 00 01 सी 9 एफई एफएफ सी 9 43 43.

रंगों में परिवर्तन इतने सूक्ष्म होंगे कि यह संभावना नहीं है कि तस्वीर को देखने वाले किसी को भी ध्यान दिया जाएगा। यहां तक ​​कि अगर उन्होंने नोटिस किया, तब तक जब तक उनके पास संदिग्ध होने का कोई कारण नहीं था, तो वे शायद यह निष्कर्ष निकालेंगे कि तस्वीर कम गुणवत्ता से कम थी।

बेशक कुछ भी नहीं कहता है कि आपको गुप्त संदेश के लिए 1 बिट प्रति बाइट का उपयोग करना होगा। गुणवत्ता में कितनी गिरावट के आधार पर आपको लगता है कि आप दूर हो सकते हैं, आप प्रति बाइट 2 बिट्स का उपयोग कर सकते हैं, या बस हर दूसरे बाइट इत्यादि में 1 बिट बदल सकते हैं।

बेशक

उसी तकनीक का रंग तस्वीरों के साथ इस्तेमाल किया जा सकता: आरजीबी घटकों में से प्रत्येक में पिछले सा बदल पिक्सेल प्रति 3 बिट्स, आदि

2

आप डेटा (पाठ छिपाने के लिए चाहते हैं, एक और छवि एन्कोड करने के लिए , जो कुछ भी) एक जेपीईजी फाइल में, आप इसे फ़ाइल के अंत में जोड़ सकते हैं। जब छवि देखी जाती है, तो आपको केवल मूल छवि दिखाई देगी और आपके जोड़े गए डेटा को अनदेखा कर दिया जाएगा।

डेटा छिपाने का एक सुपर-डुप्कर तरीका नहीं है, लेकिन यह किसी अन्य जेपीईजी को छिपाने का एक अच्छा तरीका है, जैसे कि कोई भी नोटपैड या हेक्स संपादक में फ़ाइल खोलता है, तो शायद वे नोटिस नहीं करेंगे कि दो jpegs हैं और नहीं एक क्योंकि दूसरी छवि का अंत वैसे भी पहले जैसा दिखता है।

9

अरे उस विधि को स्टेग्नोग्राफ़ी कहा जाता है। इसके साथ ही हम न सिर्फ छवियों बल्कि ऑडियो, वेदियो और अन्य प्रारूपों में संदेशों को छुपा सकते हैं।

यहाँ इस परियोजना के एक खुला स्रोत स्टेग्नोग्राफ़ी उपकरण है जो छिपाने के लिए और बिटमैप छवियों से/के लिए पाठ को निकालने के लिए इस्तेमाल किया जा सकता है एक opensouce स्टेग्नोग्राफ़ी सॉफ्टवेयर steganotool कहा जाता है।

बारे में छवियों

स्टेग्नोग्राफ़ी के इस प्रकार में स्टेग्नोग्राफ़ी माध्यमों

स्टेग्नोग्राफ़ी खोज के खिलाफ बहुत प्रभावी है और विभिन्न प्रयोजनों के सेवा कर सकते हैं। इन उद्देश्यों में प्रमाणीकरण, संदेशों की छुपाना, और एन्क्रिप्शन कुंजी के संचरण शामिल हो सकते हैं। इस प्रकार की स्टेग्नोग्राफ़ी के लिए सबसे प्रभावी तरीका आमतौर पर कम से कम महत्वपूर्ण बिट विधि है। इसका मतलब यह है कि छुपा संदेश एक तस्वीर में बाइट के आखिरी बिट को बदल देगा। उस आखिरी बिट को बदलकर, कैरियर छवि के भीतर उस पिक्सेल के रंग में अपेक्षाकृत कोई बदलाव नहीं होगा। यह संदेश को आसानी से पहचाने जाने से रोकता है। अंदर की जानकारी छिपाने के लिए छवि फ़ाइल का सबसे अच्छा प्रकार 24 बिट बिटमैप है। यह बड़ी फ़ाइल आकार और उच्च गुणवत्ता के कारण है। ऑडियो

में

स्टेग्नोग्राफ़ी ऑडियो फाइलों में, जानकारी छुपा के लिए सबसे प्रमुख विधि कम बिट एन्कोडिंग विधि है। कम बिट एन्कोडिंग विधि कुछ हद तक छवि फ़ाइलों में उपयोग की जाने वाली कम से कम महत्वपूर्ण विधि के समान है। गुप्त जानकारी फ़ाइल के अंत से जुड़ी है। कम बिट एन्कोडिंग वाले मुद्दों में से एक यह है कि यह मानव कान के लिए ध्यान देने योग्य हो सकता है। अगर कोई जानकारी छिपाने की कोशिश कर रहा है, तो यह जोखिम भरा हो सकता है, क्योंकि यह इतना आसानी से पता लगाया जा सकता है। स्प्रेड स्पेक्ट्रम विधि एक और तरीका है जिसका उपयोग ऑडियो फ़ाइलों में जानकारी की छुपाने में किया गया है। यह विधि क्या करती है, क्या यह ऑडियो प्रसारण में यादृच्छिक शोर जोड़ती है। यह विधि आवृत्ति स्पेक्ट्रम में फैली जानकारी के लिए सक्षम होती है और यादृच्छिक शोर के नीचे हिडन रहती है। ऑडियो स्टेग्नोग्राफ़ी में देखी गई अंतिम विधि गूंजने वाले डेटा को प्रतिबिंबित करती है। यह विधि ध्वनि फ़ाइलों के भीतर स्वाभाविक रूप से होने वाले ईकोस का उपयोग करके जानकारी छिपाने की कोशिश करती है। फिर, इन echos में अतिरिक्त ध्वनि जोड़ा जा सकता है, अतिरिक्त ध्वनि छुपा संदेश है। जानकारी छिपाने के लिए यह एक पर्याप्त तरीका है, खासकर जब से कुछ मामलों में मूल ऑडियो फ़ाइल की आवाज में भी सुधार होता है।

स्टेग्नोग्राफ़ी वीडियो में वीडियो में

स्टेग्नोग्राफ़ी मूल रूप से वीडियो के प्रत्येक फ्रेम में जानकारी का छुपा रहा है। वीडियो के अंदर केवल थोड़ी सी जानकारी छिपाई जाती है, जो आमतौर पर ध्यान देने योग्य नहीं होती है, हालांकि अधिक जानकारी जो छिपी हुई है, वह अधिक ध्यान देने योग्य हो जाएगी। यह विधि भी प्रभावी है, लेकिन सही तरीके से किया जाना चाहिए या अन्यथा छुपाए जाने के बजाय अधिक जानकारी प्रकट करना चाहिए।

दस्तावेज़

यह मूल रूप से एक दस्तावेज़ की तर्ज के छोर तक सफेद स्थान और टैब जोड़ने में स्टेग्नोग्राफ़ी। इस प्रकार का स्टेग्नोग्राफ़ी बेहद प्रभावी है, क्योंकि अधिकांश टेक्स्ट/दस्तावेज़ संपादकों में सफेद स्थान और टैब का उपयोग मानव आंखों के लिए दृश्यमान नहीं होता है।

इस open source project

यह article का उल्लेख बहुत उपयोगी हो सकता है कर सकते हैं।

0

आपको किसी छवि में फ़ाइल को छिपाने के लिए किसी भी प्रकार के उन्नत टूल की आवश्यकता नहीं है - आपको बस कुछ बुनियादी डॉस कमांड जानने की जरूरत है ... यह देखने के लिए नीचे दिए गए लिंक का पालन करें, यह कैसे छोटा है छवि स्टेग्नोग्राफ़ी) का विवरण:

https://www.youtube.com/watch?v=ox9ArqXtaWw&list=PLqEKOAKK4IbSTfDJZE_lH-DiOjOzZUczx&index=2

1

खिड़कियों आप छवि में संग्रह को छिपाने के लिए सरल आदेश का उपयोग कर सकते हैं: कॉपी/b cat.jpg + Documents.rar cat_new.jpg। और फिर डेटा ftom छवि को संग्रह से निकालने के लिए उदाहरण WinRar के लिए उपयोग करें।
लेकिन स्टेग्नोग्राफ़ी का उपयोग करने का बेहतर तरीका है। लिनक्स और विंडोज के लिए इसके लिए
साधारण प्रोग्राम: http://linux01.gwdg.de/~alatham/stego.html
यह कार्यक्रम आपके पास वाक्यांश का उपयोग करेगा का उपयोग कर, बिना यह कोई नहीं भी पता चल जाएगा, कि तुम gif फ़ाइलों में चित्र में कुछ डेटा))

1

संकुचित डेटा hided में है परिवर्तनीय आकार के टुकड़े। प्रत्येक खंड एक लंबाई बाइट के साथ शुरू होता है। आम तौर पर इन मात्रा डेटा की 255 बाइट्स हैं (और लंबाई बाइट 255 कहते हैं) पिछले दो मात्रा के अलावा

(पिछले एक 0 है) लेकिन आप फिर से कोड सकता मात्रा के साथ gif जिसका आकार संदेश बाहर मंत्र जैसे ASCII पाठ या बाइट्स 123400011011 बाइनरी डेटा,

gif पर बाइट-आवृत्ति विश्लेषण का प्रतिनिधित्व करने के लिए अक्षरों का उपयोग उम्मीद 255 बाइट्स से कम प्रकट होगा। और आकार मूल से बड़ा होगा, लेकिन छवि बिल्कुल वही दिखाई देगी।

संबंधित मुद्दे