2011-05-25 10 views
13

जावा एन्क्रिप्शन और हैशिंग दुनिया में डेलविंगकक्षा के लिए iterationCount और keyLength पैरामीटर के लिए विभिन्न मानों के साथ मैं निर्माता के उदाहरण देखता हूं। कुछ भी नहीं बताता कि ये पैरामीटर क्या प्रभाव डालते हैं या इसका मतलब है।PBEKeySpec पुनरावृत्ति क्या करता है गणना और की लंबाई के पैरामीटर प्रभावित करते हैं?

मुझे लगता है कि keyLength यह है कि 32 बिट एन्क्रिप्शन कुंजी लंबाई के लिए 32 का मान लेगा, लेकिन धारणा गलत लगता है। iterationCount के लिए मेरा अनुमान है कि प्रत्येक चार एन्क्रिप्टेड बार की संख्या है, फिर भी उस धारणा पर प्यार महसूस नहीं कर रहा है।

जानकारी या स्पष्टीकरण के लिए लिंक की सराहना की जाती है।

उत्तर

22

इटरेशन गिनती सममित कुंजी के व्युत्पन्न के दौरान पासवर्ड को कितनी बार धोया जाता है। उच्च संख्या, कुंजी को मजबूर करना उतना ही मुश्किल है। यह नमक के साथ एक साथ प्रयोग किया जाता है जिसका उपयोग इंद्रधनुष तालिकाओं का उपयोग करके हमलों के खिलाफ रोकने के लिए किया जाता है।

मुख्य लंबाई व्युत्पन्न सममित कुंजी की लंबाई है। एक डीईएसडीई कुंजी या तो 128 या 1 9 2 बिट्स (समानता बिट्स समेत) हो सकती है। एक एईएस कुंजी 128, 1 9 2 या 256 बिट्स लंबी हो सकती है। समस्या यह है कि यह एपीआई द्वारा निर्दिष्ट नहीं है जो कुंजी लंबाई का मतलब है (आमतौर पर यह बिट्स है, और जावा एपीआई के भीतर समानता जानकारी शामिल है)।

कुंजी व्युत्पन्न कार्य सामान्यतः "पर्याप्त" यादृच्छिक बिट्स आउटपुट करता है, इसलिए आप अभी भी आवश्यक कुंजी आकार निर्दिष्ट कर सकते हैं।

नोट: पीबीकेडीएफ 2 फ़ंक्शन के लिए जिसके लिए पीबीईकेस्पेक सामान्य रूप से उपयोग किया जाता है, in the standard निर्दिष्ट करें, पीकेसीएस मानक पढ़ने के लिए अपेक्षाकृत आसान होते हैं।

+0

ध्यान दें कि rsa.com का लिंक अब टूट गया है; "मानक" पीकेसीएस # 5 वी 2.0, एकेए [आरएफसी 28 9 8] (https://tools.ietf.org/html/rfc2898) है। – jbyler

+0

@jbyler उत्तर संपादित करने के लिए स्वतंत्र महसूस करें, मैंने नए संदर्भ में संपादित किया है। –

+0

आह, धन्यवाद टिप के लिए @owlstead। मैं अगली बार ऐसा करूंगा। – jbyler

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