
Python स्टेग्नोग्राफ़ी टूल जो छवियों या टेक्स्ट को छवियों में छिपाता है।
Matroshka एक कमांड-लाइन स्टेग्नोग्राफी टूल है जो पूर्णतः Python में लिखा गया है। आप इसका उपयोग किसी चित्र के पिक्सेल के सबसे कम महत्वपूर्ण बिट्स (LSB) में चित्र या पाठ को छिपाने और एन्क्रिप्ट करने के लिए कर सकते हैं।
एन्क्रिप्शन छिपे हुए डेटा को प्रमाणित करने के लिए HMAC-SHA256 का उपयोग करता है। इसलिए प्रदान किया गया MAC पासवर्ड SHA-256 डाइजेस्ट के साथ हैश किया जाता है ताकि HMAC-SHA256 कुंजी उत्पन्न हो सके।
MAC और संदेश डेटा को चित्र डेटा में एम्बेड करने से पहले XTEA एल्गोरिथम का उपयोग करके CFB मोड में 32 पुनरावृत्तियों (iterations) के साथ एन्क्रिप्ट किया जाता है। XTEA कुंजी के लिए SHA-256 हैश प्रदान किए गए पासवर्ड के 128 उच्च-क्रम बिट्स का उपयोग करके बनाया गया है। CFB 64-बिट ब्लॉक सिफर में एक यादृच्छिक 8-बाइट बीज (seed) का उपयोग किया जाता है।
यादृच्छिक बीज छिपे हुए गुप्त (secret) के साथ जुड़ा होता है और एन्क्रिप्शन प्रक्रिया के अनुसार XTEA ब्लॉक सिफर का उपयोग करके छिपे हुए संदेश को डिक्रिप्ट करने के लिए उपयोगकर्ता द्वारा प्रदान किए गए पासवर्ड के साथ उपयोग किया जाता है। इसके अलावा, डिक्रिप्ट किए गए गुप्त को एम्बेडेड HMAC हैश की तुलना निकाले गए छिपे हुए संदेश के HMAC-SHA256 और उपयोगकर्ता द्वारा प्रदान किए गए MAC पासवर्ड से करके प्रमाणित किया जाता है।
यह एक मजेदार प्रोजेक्ट है। गंभीर एन्क्रिप्शन उद्देश्यों के लिए इसका उपयोग न करें!
आप Matroschka को एक virtualenv में स्थापित करना चाह सकते हैं जिसमें Pillow स्थापित हो। रिपॉजिटरी को क्लोन करें और मूल निर्देशिका (root dir) पर जाएं। बस इतना ही।
pip install Pillow
git clone [email protected]:fgrimme/Matroschka.git
cd Matroschka
केवल लॉसलेस (lossless) चित्र प्रारूप समर्थित हैं। इसलिए आपके गुप्त को छिपाने के लिए PNG या BMP चित्रों का उपयोग करने की अनुशंसा की जाती है। गुप्त .txt एक्सटेंशन वाली एक टेक्स्ट फ़ाइल या .png एक्सटेंशन और प्रारूप वाला एक चित्र हो सकता है।
नोट: यदि आपके चित्र में पारदर्शी पिक्सेल हैं, तो डेटा एम्बेड करने के बाद संभवतः कलाकृतियाँ (artifacts) दिखाई देंगी। यह प्रत्येक पिक्सेल के रंग चैनलों में सबसे कम महत्वपूर्ण बिट के हेरफेर के कारण होता है।
गुप्त छिपाएं (Hide Secret)
python matroschka.py -hide -m <mac-password> -k <password> <secret> <image>
गुप्त प्रकट करें (Reveal Secret)
python matroschka.py -open -m <mac-password> -k <password> <image>
उदाहरण
matroschka_medium.png को matroschka_big.png में छिपाया और एन्क्रिप्ट किया जाता है
python matroschka.py -hide -m foo -k bar resources/matroschka_medium.png resources/matroschka_big.png
चित्र को डिक्रिप्ट करने से निकाला गया चित्र resources/secret-image.png में सहेजा जाएगा
python matroschka.py -open -m foo -k bar resources/matroschka_big.png
GNU सामान्य सार्वजनिक लाइसेंस 3.0