मान लीजिए कि मेरे पास अंत में 16-बिट चेकसम के साथ कुछ पैकेट हैं। मैं अनुमान लगाऊंगा कि कौन से चेकसम एल्गोरिदम का उपयोग किया जाता है।मैं चेकसम एल्गोरिदम का अनुमान कैसे लगा सकता हूं?
शुरुआत के लिए, डंप डेटा से मैं देख सकता हूं कि पैकेट के पेलोड में एक बाइट परिवर्तन पूरी तरह से चेकसम बदलता है, इसलिए मैं मान सकता हूं कि यह किसी प्रकार का सरल एक्सओआर या योग नहीं है।
फिर मैंने several variations of CRC16 की कोशिश की, लेकिन बिना किस्मत के।
यह प्रश्न क्रिप्टोग्राफी की ओर अधिक पक्षपातपूर्ण हो सकता है, लेकिन मुझे यह पता लगाने के लिए सांख्यिकीय उपकरण को समझने में कोई दिलचस्पी है कि यह कौन सी सीआरसी हो सकती है। यदि सब कुछ विफल हो जाता है तो मैं drawing different CRC algorithms पर भी जा सकता हूं।
बैकग्राउड कहानी: मेरे पास किसी प्रकार के चेकसम के साथ सीरियल आरएफआईडी प्रोटोकॉल है। मैं बिना किसी समस्या के संदेशों को दोबारा चला सकता हूं, और परिणामों की व्याख्या कर सकता हूं (चेकसम चेक के बिना), लेकिन मैं संशोधित पैकेट नहीं भेज सकता क्योंकि डिवाइस उन्हें फर्श पर छोड़ देता है।
मौजूदा सॉफ़्टवेयर का उपयोग करके, मैं आरएफआईडी चिप का पेलोड बदल सकता हूं। हालांकि, अद्वितीय धारावाहिक संख्या अपरिवर्तनीय है, इसलिए मेरे पास हर संभावित संयोजन की जांच करने की क्षमता नहीं है। हालांकि मैं एक के द्वारा बढ़ते मूल्यों के डंप उत्पन्न कर सकता हूं, लेकिन इस समस्या पर लागू संपूर्ण खोज करने के लिए पर्याप्त नहीं है।
dump files with data उपलब्ध हैं, तो अपने आप में सवाल काफी :-)
संदर्भ दस्तावेज़ की आवश्यकता नहीं है?A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS एक अच्छा संदर्भ है जो मुझे यहां प्रश्न पूछने के बाद मिला।
अंत में, मैं used this CRC calculator, और 0xffff जो मुझे इस निष्कर्ष करने के लिए नेतृत्व कि अंतिम XOR CCITT के 0x0000 की 0xffff instread है प्राप्त करने के लिए जाना जाता है चेकसम साथ checksum उत्पन्न xored स्वीकार किए जाते हैं जवाब में बहुत सहायक संकेत की तुलना में यह CCITT है, के बाद।
आप आप चाहते हैं किसी भी डेटा के लिए चेकसम मिल सकता है? –
नहीं, मैं नहीं कर सकता। मैं डेटा का हिस्सा बदल सकता हूं और मौजूदा एप्लिकेशन का उपयोग कर उस के चेकसम उत्पन्न कर सकता हूं जो डिवाइस से बात करता है, लेकिन यह पूरा पैकेट नहीं है। – dpavlin
सीसीआईटीटी के लिए मानक 0x0000 के साथ एक एक्सओआर निर्दिष्ट करता है? क्या वह हमेशा नो-ऑप नहीं है? – unwind