
HIDEAGEM प्रायोगिक स्टेगानोग्राफी प्लेटफॉर्म।
888 888 8888888 8888888b. 8888888888 d8888 .d8888b. 8888888888 888b d888
888 888 888 888 "Y88b 888 d88888 d88P Y88b 888 8888b d8888
888 888 888 888 888 888 d88P888 888 888 888 88888b.d88888
8888888888 888 888 888 8888888 d88P 888 888 8888888 888Y88888P888
888 888 888 888 888 888 d88P 888 888 88888 888 888 Y888P 888
888 888 888 888 888 888 d88P 888 888 888 888 888 Y8P 888
888 888 888 888 .d88P 888 d8888888888 Y88b d88P 888 888 " 888
888 888 8888888 8888888P" 8888888888 d88P 888 "Y8888P88 8888888888 888 888
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄ ____ ______ ____ ▄ ▄
█ / / \ \ HIDEAGEM STEGANOGRAPHY PLATFORM █ . . █
█ /___ /________\ ___\ █ .-. .-. '.___.' █
█ \ \ / / ASTRAL SOFTWARE FROM THE FUTURE █ (_ \ / _) .' `. █
█ \ \ / / █ | : : █
█ \ \ / / COPYRIGHT 2024 WWW.CYBERGEM.NET █ | : : █
█ \ \ / / █ | `.___.' █
█ \/ LET'S DO COMPUTER STUFF ALL DAY █ █
█ █ █
█ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ █ ._____. .--. █
█ MMMMMSSSSSSSSSSSSSSSSSSSSSSSSSSddMMMMMSSSSSSMSSSSSSSSSS; █ | | / _`. █
█ MMMMSSSSSSSSSSSSSSSSSMSSSSS; ;SSdMMMMSSSSSSMMSSSSSSSSSS, █ | | (_) ( ) █
█ MMSSSSSSSMSSSSSMSSSSMMMSS."-.-":MMMMMSSSSMMMMSSMSSSMMSS █ _|_|_ '. / █
█ MSSSSSSSMSSSSMMMSSMMMPTMM;"-/\":MMM^" MMMSSMMMSSMM █ ' ' `--' █
█ SSSSSSSMMSSMMMMMMMMMP-.MMM : ;.;P dMMMMMMMMMP' █ █
█ SSMSSSMMMSMMMMMMMMMP :M;`: ;.'"+"""t+dMMMMMMMMMMP █ _ █
█ MMMSSMMMMMMMMPTMMMM"""":P `.\// ' ""^^MMMMMMMP' █ .--. ' `:--.--. █
█ MMMMMMPTMMMMP="TMMMsg, \/ db`c" dMMMMMP" █ ( ) | | |_ █
█ MMMMMM TMMM d$$$b ^ /T$; ;-/TMMMP' Let's █ (_) / | | | ) █
█ MMMMM; .^`M; d$P^T$$b : $$ ::MMMMP hide some █ (_, | | |/ █
█ MMMMMM .-+d$$ $$$; ;. $$ ;;MMMP, Gems ! █ (J █
█ MMMMMMb _d$$$ $$$$ :$$$; :MMMMMMp. █ █
█ MMMMMM" " T$$$._.$$$; T$P.'MMMSSSSSSb █ _ █
█ MMM`TMb -")T$$$$$$P' `._ "" :MMSSSMMP' █ __ ' `:--.--. █
█ MMM / \ ' "T$$P" / :MMMMMMP' █ ___.' '.___ | | | █
█ MMSb`. ; " :MMMMMM' █ ____________ | | | █
█ MMSSb_lSSSb. .___. MMMMMP ,d88b.d88b, █ | | | .., █
█ MMMMSSSSSSSSb. .MMMMMM. 88888888888 █ `--': █
█ MMMMMMMMMSSSSSb .dMMMMMMMP `Y8888888Y' █ █
█ MMMMMMMMMMMMMSS; .dMMMMMMMMMM' `Y888Y' █ ... _ █
█ MMMMGEMMAMMMMb`;"-. .dMMMMMMMMMMP' `Y' █ .': \ /_) █
█ MMMMMMMMMMMMMMb: `'--.___.dMMMMMMMMMPP' █ .' \ /`. █
█ MMMMMMMMMMMMMMMb; dMMMMMMMMPPR █ `..' \ / ; █
█ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ █ .'`. \/ __.' █
█ █ █
█ ░░░░░░░░ ▒▒▒▒▒▒▒▒ ░░░░░░░░ █ █
█ ▓▓▓░░ ████████ ███▒▒ ▓▓▓▓▓▓▓▓ ▓▓▓░░ ████████ █ `-. .-' █
█ ▒▒▒▓▓ ░░ ██ ▒▒▒▒▒▒░░░██ ▒▒ ▓▓ ░░░░░░▒▒▒▓▓ ░░ ██+§¥µ██ █ .-"-._.-"-._.- : : █
█ ███▒▒ ▓▓ ░░░██ ▒▒ ▓▓▓░░ ██ ▒▒▒▓▓ ░░ ███▒▒ ▓▓ ░░░██$@¢¶██ █ .-"-._.-"-._.- --:--:-- █
█ ██ ▒▒ ▓▓▓▓▓▓███▒▒ ▓▓ ░░ ██████▓▓▓░░ ██ ▒▒ ▓▓▓▓▓▓████████ █ : : █
█ ██ ▒▒▒▒▒▒▒▒ ▒▒▒▓▓ ░░░░░░░░ ░░░██ ▒▒▒▒▒▒▒▒ █ .-' `-. █
█ ████████ ▓▓▓▓▓▓▓▓ ████████ CYBERGEM █ █
▀ ▀ ▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
HIDEAGEM एक प्रायोगिक उपकरण है जो फ़ाइलों को छवियों के अंदर छिपाने के लिए है।
यह C++ में लिखा गया है और Python CLI और ComfyUI for Stable Diffusion में कस्टम नोड्स के माध्यम से उपयोग किया जा सकता है।
चेतावनी: HIDEAGEM प्रायोगिक सॉफ्टवेयर है! इसमें अज्ञात खामियाँ या कमज़ोरियाँ हो सकती हैं। अपने जोखिम पर उपयोग करें!
चेतावनी: HIDEAGEM का अभी तक यह निर्धारित करने के लिए अध्ययन नहीं किया गया है कि यह स्टेगनालिसिस (जैसे ऐसे उपकरण जो किसी छवि में छिपे संदेश की उपस्थिति की संभावना की गणना करते हैं) के प्रति कितना प्रतिरोधी है। इसलिए मान लें कि विरोधियों के लिए यह पता लगाना संभव हो सकता है कि कोई छवि "संदिग्ध" है या नहीं।
HIDEAGEM के एल्गोरिदम और डिज़ाइन की गहन व्याख्या के लिए, कृपया यह पोस्ट देखें।
विकास अपडेट और समर्थन Discord पर उपलब्ध हैं।
HIDEAGEM का उपयोग अब ब्राउज़र में WWW.HIDEAGEM.COM पर किया जा सकता है!
स्टेगनोग्राफी किसी संदेश की उपस्थिति को छिपाने के बारे में है; यह संचार के अस्तित्व को गुप्त रखने के बारे में है।
HIDEAGEM का लक्ष्य एक अगली पीढ़ी का स्टेगनोग्राफी प्लेटफॉर्म बनना है, जो तेज़, सुरक्षित और मजबूत सूचना छिपाने की सुविधा प्रदान करने के लिए आधुनिक क्रिप्टोग्राफिक और स्टेगनोग्राफिक तकनीकों को जोड़ता है।
पारंपरिक स्टेगनोग्राफी उद्देश्य (गुप्त संचार) के अलावा, बड़े बिट संग्रहों में संदेश बिट्स छिपाने के अन्य सुरक्षा गुणों की भी खोज की जा रही है।
HIDEAGEM को विस्तार योग्य और अनुकूलनीय बनाया गया है, एक ऐसा प्लेटफॉर्म जहाँ से विभिन्न स्टेगनोग्राफिक एल्गोरिदम और तकनीकों को शुरू किया जा सकता है ताकि विभिन्न प्रकार के कवर मीडिया में डेटा छिपाया जा सके।
समय के साथ प्रोग्राम में नए स्टेगो एल्गोरिदम शामिल किए जा सकते हैं ताकि अधिक फ़ाइल प्रकारों का समर्थन किया जा सके और नई तकनीकों का लाभ उठाया जा सके।
सामान्य सुविधाओं और संभावित भविष्य के विकास दिशाओं की सूची।
वर्तमान विशेषताएँ | भविष्य विकास
-------------------------------|---------------------------------------------------
यूनिकोड पासवर्ड | कीफ़ाइलें (Keyfiles)
टैम्पर-प्रूफ जेम डेटा | मोबाइल ऐप
512-बिट सममित कुंजी | अधिक स्टेगो एल्गोरिदम
सुरक्षित मेमोरी हैंडलिंग | अधिक कवर मीडिया प्रकार
प्रति पासवर्ड एकाधिक फ़ाइलें | फ़ाइलों को छवियों में विभाजित करें
प्रति छवि एकाधिक पासवर्ड | वेब ऐप (स्थानीय निष्पादन)
ऑफ़लाइन ब्रूट-फोर्स प्रतिरोध | ब्राउज़र एक्सटेंशन (जैसे संदर्भ मेनू जेम निकालें)
अपने पासवर्ड में कोई भी पागल यूनिकोड कैरेक्टर का उपयोग करें: आप अपने पसंदीदा इमोजी का भी उपयोग कर सकते हैं; कोई आपको रोक नहीं सकता! 🐬
नोट: नीचे दी गई जानकारी केवल HIDEAGEM के वर्तमान स्थानिक डोमेन एल्गोरिदम पर लागू होती है जो केवल PNG, TIFF और BMP जैसे लॉसलेस इमेज फॉर्मेट के साथ संगत हैं।
यदि कोई जेम सफलतापूर्वक निकाला जाता है और उसके पास सही जेम हैश है, तो यह लगभग गारंटी है कि यह बिट-दर-बिट वही जेम है जिसे आपने छवि में छिपाया था।
यदि जेम पिक्सेल (एक पिक्सेल जिसमें जेम डेटा छिपा है) का एक भी बिट दूषित हो जाता है, तो जेम निष्कर्षण विफल हो जाएगा।
टैम्पर-प्रूफ की कीमत नाजुकता है: जेम इमेजों में छोटे बदलाव डेटा को अपुनर्प्राप्त कर सकते हैं। वे नाजुक हैं और उन्हें आकार बदलने, क्रॉप करने, या उस पिक्सेल को बदलने से तोड़ा जा सकता है जिसमें जेम डेटा है।
HIDEAGEM एक प्रायोगिक सममित कुंजी प्रणाली का उपयोग करता है जिसे इसके स्टेगनोग्राफिक एल्गोरिदम के साथ मिलकर काम करने के लिए डिज़ाइन किया गया है।
512-बिट कुंजी libsodium के Argon2id पासवर्ड हैशिंग फ़ंक्शन और उपयोगकर्ता द्वारा प्रदान किए गए पासवर्ड का उपयोग करके उत्पन्न की जाती है।
Argon2id को इसलिए चुना गया क्योंकि यह कॉन्फ़िगर करने योग्य ब्रूट-फोर्स प्रतिरोध पैरामीटर (जैसे मेमोरी आवश्यकताएँ) और GPU ब्रूट-फोर्स हमलों के प्रतिरोध प्रदान करता है।
जेम डेटा को 512-बिट कुंजी से प्राप्त 256-बिट कुंजी का उपयोग करके एन्क्रिप्ट किया जाता है, और फिर 512-बिट कुंजी का उपयोग करके कवर मीडिया में छिपाया जाता है। 512-बिट कुंजी का उपयोग पहले पूरे एन्क्रिप्टेड जेम को निकालने के लिए किया जाना चाहिए, इससे पहले कि 256-बिट कुंजी का उपयोग इसके किसी भी बिट को डिक्रिप्ट करने के लिए किया जा सके।
आप कुंजी प्रणाली के बारे में अधिक जान सकते हैं यहाँ।
नोट: कुंजी की अंतिम ताकत केवल पासवर्ड जितनी ही मजबूत है।
कुंजी के सभी 512 बिट्स का लाभ उठाने के लिए एक बहुत लंबा/यादृच्छिक पासवर्ड आवश्यक है।
ASCII कैरेक्टर सेट का उपयोग करके पासवर्ड के साथ 512 बिट्स की एन्ट्रॉपी प्राप्त करने के लिए,
पासवर्ड को >= ~74 वर्णों का होना चाहिए और प्रत्येक वर्ण पूरी तरह से यादृच्छिक होना चाहिए।
संभावित साइड-चैनल हमलों को कम करने के प्रयास में, libsodium के निम्न-स्तरीय मेमोरी प्रबंधन कार्यों का उपयोग कुंजियों, जेम फ़ाइलों और एम्बेड/निकालने की प्रक्रियाओं के दौरान उत्पन्न अन्य संवेदनशील डेटा की मेमोरी को सुरक्षित रूप से मिटाने के लिए किया जाता है।
इसका उपयोग संवेदनशील डेटा जैसे कुंजियों को डिस्क पर स्वैप होने से रोकने के लिए भी किया जाता है।
आप छवियों को एन्क्रिप्टेड राइट-वंस फ़ाइल फ़ोल्डरों या अभिलेखागार के रूप में सोच सकते हैं।
आप एक ही पासवर्ड का उपयोग करके एक छवि में किसी भी संख्या में फ़ाइलें छिपा सकते हैं, केवल छवि की एम्बेड क्षमता द्वारा सीमित। सही पासवर्ड दर्ज करने पर उन सभी को एक साथ निकाला जाएगा।
जेम स्ट्रीम का ओवरहेड 52 बाइट्स है, और प्रत्येक जेम फ़ाइल का ओवरहेड 8 बाइट्स है।
HIDEAGEM सभी जेम फ़ाइलों को एन्क्रिप्ट करने से पहले miniz (zlib) के साथ संपीड़ित करने का प्रयास करता है, जो कभी-कभी एम्बेडेड बाइट्स की संख्या को काफी कम कर सकता है।
प्रति जेम फ़ाइल अधिकतम फ़ाइल आकार और प्रति ओशन (Ocean) एम्बेड किए जा सकने वाले अधिकतम बाइट्स 16 एक्साबाइट्स है।
HIDEAGEM वर्तमान में एक ही छवि और एकाधिक पासवर्ड का उपयोग करके फ़ाइलों के कई सेटों को छिपाने का समर्थन करता है, हालांकि उस सुविधा का उपयोग करने के लिए अभी तक कोई UI विकसित नहीं किया गया है।
जिस तरह से यह काम करता है वह भी कुछ अजीब है क्योंकि यह पदानुक्रमित है: फ़ाइलों के अगले सेट तक पहुँचने के लिए आपको उस फ़ाइल सेट के पासवर्ड के अलावा इससे पहले आने वाले सभी पासवर्डों की आवश्यकता होती है।
इसलिए इसे एक छिपी हुई सुविधा मानें जो शायद अभी तक उपयोगी नहीं है।
Argon2id पासवर्ड हैशिंग फ़ंक्शन का उपयोग उपयोगकर्ता द्वारा प्रदान किए गए पासवर्ड का उपयोग करके कुंजी उत्पन्न करने के लिए किया जाता है।
मास्टर कुंजी INTERACTIVE कुंजी मापदंडों का उपयोग करके उत्पन्न की जाती है, जो कुंजी उत्पन्न करने के लिए एक नियमित हैश फ़ंक्शन का उपयोग करने की तुलना में महत्वपूर्ण पासवर्ड ब्रूट-फोर्स प्रतिरोध प्रदान करती है।
HIDEAGEM C++ में लिखा गया है और Python में एक छोटे API के माध्यम से उपयोग किया जा सकता है।
ComfyUI Stable Diffusion प्लेटफॉर्म के लिए कस्टम नोड्स उपलब्ध हैं, जो 2D जनरेटिव AI वर्कफ़्लोज़ में एकीकृत करना आसान बनाते हैं।
निम्नलिखित बाहरी लाइब्रेरी का उपयोग किया जाता है:
सभी क्रिप्टोग्राफिक ऑपरेशन, जैसे जेम डेटा एन्क्रिप्शन, हैशिंग और रैंडम नंबर जनरेशन, libsodium के कार्यों का उपयोग करके किए जाते हैं।
कुंजी उत्पादन: BLAKE2b हैशिंग फ़ंक्शन और Argon2id पासवर्ड हैशिंग एल्गोरिदम
जेम डेटा एन्क्रिप्शन: XChaCha20-Poly1305 सममित एन्क्रिप्शन एल्गोरिदम (256-बिट कुंजी + 192-बिट नॉन्स)
CSPRNG कार्यान्वयन: BLAKE2b हैश और XChaCha20 स्ट्रीम सिफर (256-बिट सीड + 192-बिट नॉन्स)
इसके अतिरिक्त, संवेदनशील डेटा जैसे कुंजियों और जेम फ़ाइलों के प्रबंधन के लिए libsodium के निम्न-स्तरीय मेमोरी प्रबंधन कार्यों का उपयोग किया जाता है।
यूनिकोड स्ट्रिंग्स के प्रबंधन के लिए एक छोटी लाइब्रेरी। इसका उपयोग यूनिकोड पासवर्ड को सामान्य करने के लिए किया जाता है ताकि वे सिस्टम के बीच लगातार काम करें।
जेम डेटा संपीड़न एन्क्रिप्शन से पहले miniz (zlib कार्यान्वयन) के साथ किया जाता है।
यदि आपको डेटा स्थानांतरित करने की आवश्यकता हो तो HIDEAGEM के पुराने संस्करणों को संभाल कर रखें।
विकास के इस प्रारंभिक चरण के दौरान HIDEAGEM के कोड में छोटे बदलाव पिछड़ी संगतता को तोड़ सकते हैं। HIDEAGEM के नए संस्करण पुराने संस्करणों के साथ छिपाए गए Gems को निकालने में सक्षम नहीं हो सकते हैं।
एक बार जब कोड को स्थिर माना जाएगा, तो यह कोई समस्या नहीं होगी, क्योंकि तब से संस्करण प्रणाली सभी पिछले संस्करणों के साथ पिछड़ी संगतता प्रदान करेगी।
HIDEAGEM v.1 ComfyUI के लिए कुछ नोड्स के साथ आता है। आप उनका उपयोग अपनी AI जनरेटेड इमेज, या डिस्क पर सहेजी गई किसी भी इमेज में Gems छिपाने के लिए कर सकते हैं।
🚨 चेतावनी: ComfyUI का डिफ़ॉल्ट सेव इमेज नोड PNG मेटाडेटा में प्रकट करेगा कि HIDEAGEM का उपयोग किया गया था !!!
HIDEAGEM के SAVE IMAGE नोड का उपयोग करना महत्वपूर्ण है, क्योंकि यह आउटपुट PNG जेम इमेज में उस मेटाडेटा को सहेजता नहीं है।
नोड्स कुछ उदाहरण वर्कस्पेस के साथ आते हैं जो दिखाते हैं कि उनका उपयोग कैसे करना है।
Gems खोजते समय, कंसोल विंडो को जेम्स को डिस्क पर सहेजने के लिए उपयोगकर्ता इनपुट की आवश्यकता होगी, इसलिए जेम खोज शुरू करने के बाद परिणाम देखने के लिए ComfyUI के कंसोल पर स्विच करें।
HIDEAGEM और सभी निर्भरताओं को स्रोत से कैसे संकलित करें:
HIDEAGEM\builds\visual_studio\2022 पर नेविगेट करेंबाइनरी HIDEAGEM\bin में उत्पन्न होंगी
परीक्षण करने के लिए, Python स्थापित करें फिर:
pip install -r requirements.txt
python HIDEAGEM.py demo
डेमो से बाहर निकलने के लिए CTRL + C दबाएँ।
पहले, cmake और make स्थापित करें, फिर:
git clone --recurse-submodules https://github.com/CYBERGEM777/HIDEAGEM
cd HIDEAGEM
make
बाइनरी HIDEAGEM/bin में उत्पन्न होंगी
परीक्षण करने के लिए, python3 स्थापित करें फिर:
pip install -r requirements.txt
python HIDEAGEM.py demo
डेमो से बाहर निकलने के लिए CTRL + C दबाएँ।
निर्माण के बाद, HIDEAGEM.py के माध्यम से HIDEAGEM का उपयोग किया जा सकता है:
cd HIDEAGEM
pip install -r requirements.txt
python HIDEAGEM.py [ args ]
HIDEAGEM Gems (फ़ाइलों) को किसी भी अन्य फ़ाइल के अंदर छिपा सकता है, जिसे HIDEAGEM बिट ओशन (Ocean) कहता है।
HIDEAGEM.py यह पता लगाने का प्रयास करेगा कि इनपुट ओशन एक इमेज फ़ाइल है या नहीं, और यदि ऐसा है तो केवल इमेज के पिक्सेल बाइट्स को बिट ओशन के रूप में उपयोग करेगा। इमेज फ़ाइल के बाकी हिस्से को पूरी तरह से हटा दिया जाएगा और जेम इमेज को निर्दिष्ट आउटपुट निर्देशिका में इनपुट इमेज के समान फ़ाइल नाम के साथ .png इमेज के रूप में सहेजा जाएगा।
जेम छिपाने के लिए, बस HIDEAGEM को एक ओशन, एक या अधिक जेम फ़ाइलें और एक पासवर्ड दें। यदि कोई आउटपुट निर्देशिका निर्दिष्ट नहीं है, तो जेम छिपाना आगे बढ़ेगा लेकिन आउटपुट डिस्क पर सहेजा नहीं जाएगा।
python HIDEAGEM.py hide --ocean MORIA.JPEG --files RUBY.TXT EMERALD.TXT SAPPHIRE.TXT --output gem_images/ --password mellon
जेम टेक्स्ट फ़ाइलें MORIA.JPEG से कॉपी किए गए पिक्सेल बाइट्स के अंदर छिपाई जाएंगी, और परिणामी जेम इमेज MORIA.PNG को gem_images निर्देशिका में सहेजा जाएगा।
यदि RGBA इमेज का उपयोग ओशन के रूप में किया जाता है, तो अल्फा चैनल बाइट्स और किसी भी पूरी तरह से पारदर्शी पिक्सेल के RGB बाइट्स नहीं लिखे जाएंगे।
Gems ढूँढना सरल है ( यदि आपके पास पासवर्ड है! ):
python HIDEAGEM.py find --ocean MORIA.PNG --output gem_images/ --password mellon
HIDEAGEM पासवर्ड "mellon" के साथ ओशन MORIA.PNG में Gems खोजेगा और यदि कोई मिलता है तो उन्हें gem_images में सहेजेगा।
यदि जेम खोज बिना आउटपुट निर्देशिका के चलाई जाती है, तो जेम फ़ाइलें (यदि मिलती हैं) निकाली जाएंगी लेकिन डिस्क पर कुछ भी सहेजा नहीं जाएगा।
चेतावनी: प्रायोगिक सुविधा !!! अपने जोखिम पर उपयोग करें!
HIDEAGEM Gems पर टाइम ट्रैप जादू (enchantment) लगा सकता है ताकि पासवर्ड को ब्रूट-फोर्स करना कठिन हो।
टाइम ट्रैप का स्तर 0 से 7 तक होता है जो जेम को निकालने और पासवर्ड सत्यापित करने में लगने वाले समय को बदलता है।
स्तर 0 में कोई अतिरिक्त समय नहीं जोड़ा जाता है: जेम एम्बेडिंग और निकालने में बिना टाइम ट्रैप के समान समय लगता है।
स्तर 1 - 7 में लंबा निकासी समय होता है, जिसमें 1 सबसे छोटा और 7 सबसे लंबा होता है।
जब सही पासवर्ड दर्ज किया जाता है, तो जेम को जेम छिपाते समय निर्दिष्ट टाइम ट्रैप स्तर का उपयोग करके निकाला जाता है।
जब गलत पासवर्ड दर्ज किया जाता है, तो ओशन से एक यादृच्छिक टाइम ट्रैप स्तर मछली पकड़ी जाती है जिसमें सबसे धीमे स्तर को पकड़ने की उच्च संभावना होती है:
स्तर 7 = 50% (1/2)
स्तर 6 = 25% (1/4)
स्तर 5 = 12.5% (1/8)
स्तर 4 = 6.25% (1/16)
स्तर 3 = 3.125% (1/32)
स्तर 2 = 1.5625% (1/64)
स्तर 1 = 0.78125% (1/128)
स्तर 0 = 0.39062% (1/256)
लगभग आधे पासवर्ड ब्रूट-फोर्स प्रयास स्तर 7 का चयन करेंगे, चाहे जेम को छिपाने के लिए किसी भी स्तर का उपयोग किया गया हो (स्तर 0 भी)।
ऐसे Gems छिपाना संभव है जिन्हें निकालने में एक सेकंड से भी कम समय लगता है, लेकिन एकल पासवर्ड ब्रूट-फोर्स प्रयास करने में कई मिनट लग सकते हैं।
टाइम ट्रैप की कीमत सुविधा है: गलती से गलत पासवर्ड दर्ज करने पर बहुत समय बर्बाद हो सकता है, इसलिए यह उन संदर्भों में उपयोग के लिए उपयुक्त नहीं है जहाँ तत्काल गलत पासवर्ड फीडबैक की आवश्यकता है।
जेम में टाइम ट्रैप जोड़ने के लिए, बस --timetrap फ़्लैग जोड़ें, वैकल्पिक रूप से 0 से 7 तक स्तर के साथ (यदि कोई निर्दिष्ट नहीं है, तो 0 चुना जाता है):
python HIDEAGEM.py hide --ocean MORIA.JPEG --files DIAMOND.TXT --output gem_images/ --password mellon --timetrap [level]
टाइम ट्रैप जेम खोजने के लिए, बस --timetrap फ़्लैग जोड़ें (स्तर शामिल करने की आवश्यकता नहीं):
python HIDEAGEM.py find --ocean MORIA.PNG --output gem_images/ --password mellon --timetrap
ध्यान दें कि HIDEAGEM find स्वचालित रूप से टाइम ट्रैप जेम की तलाश नहीं करता है जब तक कि नहीं कहा जाए।
यदि आप HIDEAGEM को एक यादृच्छिक ओशन में यादृच्छिक डेटा छिपाकर यादृच्छिक जेम सील उत्पन्न करते हुए देखना चाहते हैं, तो आप डेमो मोड चला सकते हैं:
python HIDEAGEM.py demo
यदि आप HIDEAGEM को जितनी जल्दी हो सके Gems छिपाते और ढूँढते हुए देखना चाहते हैं, तो आप कुछ यूनिट परीक्षण चला सकते हैं:
python HIDEAGEM.py unit
दोनों मोड से बाहर निकलने के लिए CTRL + C दबाएँ।
HIDEAGEM एक अनुमेय लाइसेंस + MAGIC AI LICENSE [MAGIC-AL] के तहत लाइसेंस प्राप्त है।