2010-03-17 16 views
9

एक WPA2 नेटवर्क के लिए एक वैध जोड़ो में मास्टर कुंजी एक रूटर PBKDF2-HMAC-SHA1 एल्गोरिथ्म का उपयोग करता उत्पन्न करने के लिए। मैं समझता हूं कि पीएमके प्राप्त करने के लिए sha1 फ़ंक्शन 4096 बार किया जाता है, हालांकि मेरे पास प्रक्रिया के बारे में दो प्रश्न हैं।PBKDF2-HMAC-SHA1

छद्म कोड क्षमा करें।

1) SHA1 फ़ंक्शन के पहले उदाहरण में इनपुट कैसे स्वरूपित किया गया है? SHA1 ("network_name" + "network_name_length" + "network_password")

क्या यह उस क्रम में स्वरूपित है, क्या यह नेटवर्क नाम, लंबाई और पासवर्ड या सीधे ASCII का हेक्स मान है?

तो मैं क्या 160 बिट प्राप्त पचाने में सीधे किसी भी अतिरिक्त रेह बिना hashing के दूसरे दौर में खिलाया जाता है इकट्ठा से। इस तरह: SHA1 ("हैशिंग के अंतिम दौर से 160 बिट पाचन") उगता है और दोहराना।

2) एक बार ऐसा होने पर उत्पादन के 4096 बार 256 बिट्स को जोड़ी मास्टर कुंजी के रूप में उपयोग किया जाता है। जो मुझे समझ में नहीं आता है वह यह है कि यदि SHA1 160 बिट आउटपुट उत्पन्न करता है, तो एल्गोरिदम एक कुंजी के लिए आवश्यक 256 बिट्स पर कैसे पहुंचता है?

सहायता के लिए धन्यवाद।

उत्तर

8

हाँ thats सही, एल्गोरिथ्म एक WPA नेटवर्क के लिए एक द्विआधारी कुंजी उत्पन्न करने के लिए है:

कुंजी = PBKDF2 (पदबंध, ssid, 4096, 256)

PBKDF2 http://www.ietf.org/rfc/rfc2898.txt

में वर्णन किया गया यह इनपुट की पाचन बनाने के लिए एचएमएसी एल्गोरिदम का उपयोग करता है। एचएमएसी किसी भी हैश फ़ंक्शन का उपयोग कर सकता है, जैसा कि आपने उल्लेख किया है, एसएचए 1 के लिए स्पेक कॉल। हैश HMAC एल्गोरिथ्म के भीतर एक मध्यवर्ती राज्य पर किया जाता है:

H(K XOR opad, H(K XOR ipad, text)) 

(एच = चुना हैश फंक्शन, कश्मीर पदबंध है, पाठ ssid होगा)

यह HMAC प्रक्रिया द्वारा 4096 बार दोहराया जाता है PBKDF2।

HMAC एल्गोरिथ्म: http://www.ietf.org/rfc/rfc2104

एक स्रोत उदाहरण एक प्रमुख पाने के यहाँ नहीं है:

https://www.codeblog.org/viewsrc/openssl-engine-0.9.6a/crypto/evp/p5_crpt2.c

int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, 
    80:       unsigned char *salt, int saltlen, int iter, 
    81:       int keylen, unsigned char *out) 

नमक, SSID, पास पासवर्ड है।

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

  • कोई संबंधित समस्या नहीं^_^