
क्रिप्टोग्राफी के साथ खेलने के लिए एक उपयोगिता, जो रैनसमवेयर विश्लेषण की ओर उन्मुख है।
क्रिप्टोग्राफी के साथ खेलने के लिए एक उपयोगिता, जो रैंसमवेयर विश्लेषण के लिए तैयार की गई है।

CryptoTester में उपयोग किए जाने वाले सभी हेक्स दृश्य कुछ बेहतर क्षमताएं प्रदान करते हैं।
0D 0A) को बैंगनी रंग में रंगा गया हैकई दृश्यों में (जैसे Input और Output), ऑफसेट पंक्ति पर क्लिक करने पर (संबंधित दृश्य के ऊपर 00 01 02 03...) एक डायलॉग खुलेगा जो डिकोड किए गए दृश्य के साथ-साथ बाइट्स भी दिखाएगा।
अधिकांश इनपुट जो एक पूर्णांक स्वीकार करते हैं, वे विशेष मान और फ़ंक्शन भी स्वीकार करते हैं।
उदाहरण:
x10 -> 16len -> 400block -> 16 (चयनित एल्गोरिदम का ब्लॉकसाइज़)up(60, 16) -> 64down(60, 16) -> 48इन फ़ंक्शनों के साथ सरल अंकगणित का उपयोग किया जा सकता है।
up(len-x100, b) - इनपुट लंबाई में से 256 घटाता है, फिर चयनित एल्गोरिदम के निकटतम ब्लॉकसाइज़ (जैसे AES के लिए 16) तक राउंड अप करता हैकोई भी ऋणात्मक मान len - value माना जाता है, अर्थात इनपुट के अंत के सापेक्ष।
प्राथमिक पैनल में इनपुट पर क्रिप्टोग्राफिक प्रिमिटिव का उपयोग करने के लिए उपकरण हैं। Input हेक्स दृश्य बाइट्स का सीधा पेस्टिंग स्वीकार करता है, या फ़ाइल, टेक्स्ट, बेस64-एन्कोडेड बाइट्स आदि लोड करने के लिए File मेनू का उपयोग किया जा सकता है। एक फ़ाइल को सीधे दृश्य में ड्रैग और ड्रॉप भी किया जा सकता है।
कई प्रारूपों में एक कुंजी निर्दिष्ट करने की अनुमति देता है, और इसमें कई हैशिंग और कुंजी व्युत्पत्ति फ़ंक्शनों के विकल्प शामिल हैं; ये फ़ील्ड वर्तमान में चयनित एल्गोरिदम और यह क्या समर्थन कर सकता है, के अनुसार अनुकूलित होते हैं।
नोट: कुंजी को उसी क्रम में संसाधित किया जाता है जैसा कि यह UI में दिखाया गया है; पहले कुंजी को
Formatके अनुसार डिकोड किया जाता है, फिरHashपैरामीटर्स का उपयोग करके हैश किया जाता है, और अंत में क्रिप्टोग्राफिक एल्गोरिदम को देने से पहलेDeriveपैरामीटर्स का उपयोग करके व्युत्पन्न किया जाता है। v1.7.0.0 के अनुसार, आपHashऔरDeriveप्रसंस्करण के क्रम को बदल सकते हैं।
कुंजी की अंतिम आउटपुट लंबाई इनपुट बॉक्स के ऊपर प्रदर्शित होती है। इस पर क्लिक करने से अंतिम गणना की गई कुंजी एक अलग डायलॉग में प्रदर्शित होगी।

क्रिप्टोग्राफिक एल्गोरिदम और उसके पैरामीटर चुनने की अनुमति देता है, यदि समर्थित हो।
नोट:
IV Bytes(याNonce, एल्गोरिदम पर निर्भर करता है) स्वचालित रूप से एल्गोरिदम के लिए उपयुक्त लंबाई के00बाइट्स से भर जाएगा यदि इसे खाली छोड़ दिया जाता है।
इनपुट को दो अलग-अलग मोड का उपयोग करके चुना जा सकता है: "Range" और "Chunks"।
Offset से शुरू होने वाली और Length बाइट्स लेने वाली एक सरल सीमा।
Length स्वचालित रूप से अपडेट होगा जब भी Input बदलता है, जब तक कि Lock Parameters चेकबॉक्स चेक न हो।
यदि आपने Length फ़ील्ड में कुछ गणनाएँ की हैं, और Input की वास्तविक लंबाई पर वापस जाना चाहते हैं, तो आप बस Reset Length बटन दबा सकते हैं।
यदि Splice Remaining Bytes चेक किया गया है, तो Offset से पहले के किसी भी बाइट को Output के सामने जोड़ दिया जाता है, और Offset+Length के बाद के किसी भी बाइट को अंत में जोड़ दिया जाता है।

Take बाइट्स लेता है, फिर Skip बाइट्स छोड़ता है, फिर Take बाइट्स लेता है, Skip बाइट्स छोड़ता है... Input के अंत तक। इसका उपयोग उस सिफरटेक्स्ट के लिए किया जा सकता है जो वास्तव में प्लेनटेक्स्ट के चंक्स के बीच "इंटरलीव" किया गया है। क्रिप्टोग्राफिक एल्गोरिदम परिणामी चंक्स पर एक अनुक्रमिक चंक के रूप में चलाया जाता है, जिसमें कुंजी/IV/nonce आदि का कोई रीसेट नहीं होता।
यदि Splice Remaining Bytes चेक किया गया है, तो Skip सेक्शन के किसी भी बाइट को Output में वापस इंटरलीव किया जाता है।

यह अनुभाग Input के बारे में सरल जानकारी प्रदर्शित करता है जैसे कि फ़ाइल का आकार, पता लगाया गया MIME (यदि यह एक फ़ाइल है), कुल एंट्रॉपी, और क्या यह 16 (एक सामान्य ब्लॉक आकार) से विभाज्य है।
Input और Output दृश्यों में सिंक्रोनाइज़्ड स्क्रॉलिंग है; इसे अक्षम करने के लिए, उनके बीच Syncronized scrolling चेकबॉक्स को अनचेक करें।
Input और Output के बीच का 🡨 बटन Output को Input दृश्य पर ले जाने के लिए उपयोग किया जा सकता है।
Input या Output को उनके दृश्यों के नीचे संबंधित ड्रॉपडाउन का उपयोग करके हैश किया जा सकता है। Output पर एक सत्यापन एल्गोरिदम भी चलाया जा सकता है (वर्तमान में ECDSA के लिए सीमित समर्थन)।
यह पैनल एक एन्क्रिप्टेड फ़ाइल की उसके मूल से तुलना करने की अनुमति देता है। दोनों दृश्य ड्रैग-एंड-ड्रॉप का समर्थन करते हैं, या File -> Open File का उपयोग करके Original और Encrypted को क्रमिक रूप से खोला जा सकता है।
Original दृश्य को File -> Input विकल्पों में से किसी का उपयोग करके भी भरा जा सकता है; उदाहरण के लिए, शून्य बाइट्स की एक निश्चित लंबाई या विंडोज नमूना चित्र Chrysanthemum.jpg के विरुद्ध तुलना करना।
Original और Encrypted दृश्यों में सिंक्रोनाइज़्ड स्क्रॉलिंग है; इसे अक्षम करने के लिए, उनके बीच Syncronized scrolling चेकबॉक्स को अनचेक करें।
Original और Encrypted दृश्यों के बीच का ⇆ बटन उनकी सामग्री को स्वैप करने के लिए उपयोग किया जा सकता है।
दोनों दृश्यों के बीच भिन्न कोई भी बाइट्स गहरे लाल रंग में प्रदर्शित होंगे।

क्रमशः Original और Encrypted दृश्यों पर बुनियादी जानकारी प्रदर्शित करता है।
एक बार दोनों दृश्य भर जाने के बाद, उनके विरुद्ध एक त्वरित विश्लेषण चलाया जाता है।
Encrypted में Original का कोई हैश मौजूद है या नहींEncrypted में किसी भी CryptoAPI ब्लॉब की उपस्थिति की जाँच करता हैEncrypted में मूल फ़ाइलनाम मौजूद है या नहीं (UTF-8 या UTF-16)Encrypted में मूल फ़ाइलसाइज़ की जाँच करता है (विभिन्न रूपों और एन्कोडिंग में)Encrypted की शुरुआत या अंत में एक ASCII (या बेस64) मार्कर की जाँच करता हैयह पैनल मुट्ठी भर संपीड़न एल्गोरिदम के आदिम उपयोग की अनुमति देता है, और इसमें एन्क्रिप्ट/डिक्रिप्ट पैनल के समान कार्यक्षमता है।
CryptoAPI ब्लॉब और CNG ब्लॉब के विश्लेषण के लिए एक उपकरण।
BLOB को बाइनरी, बेस64, PEM, XML, और ASN.1 प्रारूपों में आयात/निर्यात किया जा सकता है, जहां समर्थित हो।

अतिरिक्त ब्लॉब-संबंधित उपकरण जो केवल समर्थित ब्लॉब प्रकारों के लिए सक्रिय होते हैं जैसा लागू हो।
एक CryptoAPI ब्लॉब उत्पन्न करता है। Bit Length चयनित aiKeyAlg के लिए समर्थित मानों के साथ स्वचालित रूप से अपडेट होता है। ध्यान दें कि bType और aiKeyAlg के कुछ संयोजन मान्य नहीं हैं, और CryptoAPI प्रदाता से एक त्रुटि फेंक देंगे।

नोट: कुंजियाँ आंतरिक रूप से CryptGenRandom का उपयोग करके उत्पन्न की जाती हैं, लेकिन मैं इस उपयोगिता से उत्पन्न कुंजियों का उपयोग करने की क्रिप्टोग्राफिक सुरक्षा की गारंटी नहीं दे सकता।
RSA कुंजियों के विश्लेषण/गणना के लिए एक उपकरण। कुंजी के अलग-अलग पैरामीटर प्रदर्शित होते हैं, और दशमलव या हेक्स के रूप में दिखाए जा सकते हैं। यदि पर्याप्त पैरामीटर मौजूद हैं, तो शेष कुंजी की गणना की जा सकती है।
कुंजी को कई प्रारूपों में निर्यात किया जा सकता है जिसमें CryptoAPI ब्लॉब, CNG ब्लॉब, PEM, XML, और ASN.1 शामिल हैं, या तो फ़ाइल में, क्लिपबोर्ड पर, या मुख्य विंडो (एन्क्रिप्ट/डिक्रिप्ट) पर। इसके अतिरिक्त, यदि मुख्य विंडो पर निर्यात कर रहे हैं, तो Raw RSA एल्गोरिदम के लिए कच्चे पूर्णांक निर्यात किए जा सकते हैं।

एक उपकरण जो कई प्रारूपों में एक क्रिप्टोग्राफिक कुंजी के लिए एक फ़ाइल खोजता है।
समर्थित प्रारूपों के उदाहरण:

विभिन्न ज्ञात PRNG एल्गोरिदम के परीक्षण के लिए एक उपकरण।

PRNG के लिए प्रारंभिक Seed सेट करें।
PRNG Algorithm सेट करें, साथ ही उत्पादित आउटपुट की Length, और प्रत्येक आउटपुट पर लागू करने के लिए एक वैकल्पिक Modulus। उदाहरण के लिए, Modulus xFF का उपयोग प्रत्येक आउटपुट को एक बाइट में डालने के लिए किया जा सकता है।
यदि Alpha चुना गया है:
उत्पादित आउटपुट की एंट्रॉपी Alpha आउटपुट के लिए भी प्रदर्शित की जाती है। यह आउटपुट को आँख मूंदकर ब्रूटफोर्स करने के लिए एंट्रॉपी (या संभावनाओं की संख्या) का एक मोटा अनुमान है (PRNG पर सीधे हमला किए बिना)।
विभिन्न आधार एन्कोडिंग का उपयोग करने के लिए एक उपकरण। मानक प्रीसेट वर्ण सेट का समर्थन करता है, या अपना स्वयं का कस्टम वर्ण सेट प्रदान करें।
चेकसम का उपयोग करने वाले एन्कोडर (जैसे Bitcoin का Base58Check) के अपवाद के साथ, डिकोडिंग पैडिंग को सत्यापित किए बिना की जाती है, इसलिए आंशिक या क्षतिग्रस्त एन्कोडिंग भी कच्चा डिकोड हो जाएगी।

टेक्स्ट या बाइट्स को एक साथ ASCII, UTF-8 और UTF-16 के रूप में देखने के लिए एक उपकरण।

दीर्घवृत्तीय वक्र बिंदुओं को मान्य करने के लिए एक उपकरण। ECPoint (असंपीड़ित या संपीड़ित रूपों), PEM, या CNG ब्लॉब से आयात/निर्यात कर सकता है।

वर्तमान पैनल के आधार पर किए जाने वाले विभिन्न संचालन।
Compare पैनल से Original और Encrypted लेता है, और XOR या AND ऑपरेशन लागू करता है, और एक स्ट्रीम प्रदर्शित करता है।
Encrypt/Decrypt पैनल से एल्गोरिदम जानकारी का उपयोग करता है और फ़ाइल में सहेजने के लिए दी गई लंबाई की एक कीस्ट्रीम उत्पन्न करता है।
Compare पैनल में पिक्सल के बीच अंतर का एक ग्राफिकल चार्ट प्रदर्शित करता है।

प्रदान की गई कुंजी सामग्री और Encrypt/Decrypt पैनल से Input, और एक दिए गए अपेक्षित आउटपुट का उपयोग करता है, और मिलान खोजने का प्रयास करने के लिए Encryption Options अनुभाग में सभी संभावित विकल्पों की गणना करता है।
यह उपकरण निर्दिष्ट सिफर पैरामीटर का उपयोग करके ज्ञात कुंजियों की एक सूची या फ़ोल्डर को Input के विरुद्ध परीक्षण करने के लिए उपयोग किया जा सकता है।
Byte Count बाइट्स लें।यदि कोई कुंजी सफलतापूर्वक मेल खाती है, तो Select बटन सक्रिय हो जाएगा ताकि कुंजी और उसके पैरामीटर को मुख्य विंडो पर पास किया जा सके।

चयनित सिफर के ब्लॉकसाइज़ का उपयोग करके, प्रत्येक संभावित ब्लॉक पर गणना करता है और निर्दिष्ट कुंजी का उपयोग करके डिक्रिप्शन का प्रयास करता है।
उदाहरण: आपके पास एक RSA-2048 निजी कुंजी है, और Input के रूप में संभावित सिफरटेक्स्ट का एक 0x1000 बाइट ब्लॉब है। इस ऑपरेशन का उपयोग करके Input[0x00:0x100], फिर Input[0x01:0x101], फिर Input[0x02:0x102] आदि को डिक्रिप्ट करने का प्रयास किया जाएगा...
नोट: यह ऑपरेशन वर्तमान में केवल RSA एल्गोरिदम का समर्थन करता है। यह अधिकतम 10000 इनपुट बाइट्स तक भी सीमित है।
आंतरिक रूप से लिटिल एंडियन का उपयोग करें (यदि एल्गोरिदम इसका समर्थन करता है)।
यदि चयनित एल्गोरिदम किसी का समर्थन करता है तो कस्टम पैरामीटर सेट करने की अनुमति देता है। उदाहरण के लिए, Salsa20 एल्गोरिदम परिवार कस्टम राउंड, स्थिरांक, स्थिति, या एक कच्चा मैट्रिक्स इनपुट करने का समर्थन करता है।
IV के लिए विकल्प, जैसे टेक्स्ट या बेस64 से इनपुट करना, और ज्ञात प्लेनटेक्स्ट से IV को पुनर्प्राप्त करना।
कुछ एन्क्रिप्शन योजनाओं के लिए प्रीसेट, जैसे OpenSSL।
रूपांतरण के लिए छोटे उपकरण।
एक पूर्णांक को DWORD में, या DWORD बाइट्स को पूर्णांक में बदलें।

हेक्स बाइट्स को पूर्णांकों की सूची में, या पूर्णांकों की सूची को बाइट्स में बदलें। आउटपुट के लिए वैकल्पिक रूप से स्पेस और कॉमा सेट किए जा सकते हैं।
