Thu. Nov 14th, 2024
    RC5 in hindi

    विषय-सूचि

    RC5 एन्क्रिप्शन क्या है? (RC5 encryption in hindi)

    RC5 एक सिमेट्रिक key ब्लाक एन्क्रिप्शन अल्गोरिथम है जिसे रोन रिवेस्ट द्वारा 1994 में डिजाईन किया गया था।

    ये सीधा-सादा होने के लिए जाना जाता है क्योंकि ये केवल प्रिमिटिव कंप्यूटर ऑपरेशन जैसे कि XOR, शिफ्ट इत्यादि का ही प्तायोग करता है। और ये स्पेस यानी कि मेमोरी भी कम खाता है।

    RC5 एन्क्रिप्शन का उदाहरण (examples of RC5 encryption in hindi)

    RC5 एक ब्लाक सिफर है और एक बार में दो वर्ड ब्लाक को एड्रेस करता है।

    Key : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Plain Text : 00000000 00000000
    Cipher Text : EEDBA521 6D8F4B15

    इनपुट प्लेन टेक्स्ट के ब्लाक आकार, key का आकार और राउंड्स की संख्या के आधार पर RC5 के अलग-अलग इंस्टैंस को परिभाषित किया जा सकता है। हर इंस्टैंस को निम्न तरीके से दिखाया या लिखा जाता है:

    RC5-w/r/b

    जहां, w= बिट्स में वर्ड का आकार, r= राउंड्स की संख्या, और b= बाइट में key का आकार

    RC5 में निम्नलिखित मान की अनुमति होती है:

    पैरामीटरसंभव मान
    ब्लाक/वर्ड साइज़ (बिट्स)16, 32, 64
    राउंड्स की संख्या0 – 255
    key साइज़(बाइट)0 – 255

     

    चूँकि एक समय पर RC5 दो वर्ड ब्लाक को प्रयोग कर सकता है, इसीलिए प्लेन टेक्स्ट का ब्लाक साइज़ 32, 64 या 128 बिट्स हो सकता है। अल्गोरिथम में निम्न नोटेशन प्रयोग किये जाते हैं:

    सिंबलकार्य
    x <<< yx को y बिट्स से लेफ्ट शिफ्ट साइकिल करें
    +दो वर्ड्स का 2’s कॉम्प्लीमेंट जोड़ जहां addition होगा, मोडुलो2^w
    ^बिट वाइज एक्सक्लूसिव-OR

     

    RC5 अल्गोरिथम के स्टेप्स (steps of RC5 algorithm in hindi)

    अब हम जानेंगे कि इस अल्गोरिथम को करने के लिए कौन-कौन से स्टेप्स होते हैं और ये कैसे होता है।

    स्टेप-1: P और Q- ये दोनों ही कांस्टेंट का इनितिअलिज़तिओन करें.

    RC5 दो मैजिक कांस्टेंट यानी P और Q का प्रयोग करता है जिसका मान वर्ड साइज़ w द्वारा परिभाषित किया जाता है।

    word साइज़ (बिट्स)P (हेक्साडेसीमल)Q (हेक्साडेसीमल)
    16b7e19e37
    32b7e151639e3779b9
    64b7e151628aed2a6b9e3779b97f4a7c15

     

    किसी भी वर्डसाइज़ के लिए P और Q को नीचे दिए गये तरीके से तय करते हैं:

    P = Odd((e-2)2^w) 
    Q = Odd((\phi-2)2^w)
    

    यहाँ Odd(x) एक ऐसा विषम संख्या है जो x के सबसे ज्यादा नजदीक है। वहीं e प्राकृतिक अल्गोरिथम का बेस है और \phiगोल्डन अनुपात है।

    स्टेप-2: सीक्रेट key को बाइट से वर्ड में बदलने के लिए।

    सीक्रेट key K जिसका कि साइज़ b बाइट है उसे ऐरे L को इनिशियलाइज़ करने के लिए प्रयोग किया जाता है जिसमे c वर्ड्स होते हैं। यहाँ,

    c= b/u, u= w/8 और w= RC5 के उस ख़ास इंस्टैंस पर प्रयोग किया गया वर्ड साइज़।

    उदाहरण के लिए अगर हम चुनते हैं w=32 बिट्स और key K का आकार है 96 बाइट तब,

    u=32/8=4, c=b/u=96/4=24

    L को सीक्रेट key K जोड़ने से पहले ही 0 इनिशियलाइज़ कर दिया जाएगा।

    for i=b-1 to 0
        L[i/u] = (L[u/i] <<< 8) + K[i]
    

    स्टेप-3: सब-key S को इनिशियलाइज़ करने के लिए.
    सब-key जिसका आकार है, t=2(r+1). इसे मैजिक कांस्टेंट P और Q के आधार पर इनिशियलाइज़ किया जाता है।

    S[0] = P
    for i = 1 to 2(r+1)-1
        S[i] = S[i-1] + Q)
    

    sटेप-4: सब-key मिक्सिंग।

    RC5 एन्क्रिप्शन अल्गोरिथम सब-key S का प्रयोग करता है। L बस एक अस्थाई ऐरे है जिसे यूजर द्वारा डाले गये सिक्यूरिटी key के आधार पर इनिशियलाइज़ किया जाता है।
    यूजर के सीक्रेट key को S और L के आधार पर मिलाया जाता है।

    i = j = 0
    A = B = 0
    do 3 * max(t, c) times:
        A = S[i] = (S[i] + A + B) <<< 3
        B = L[j] = (L[j] + A + B) <<< (A + B)
        i = (i + 1) % t
        j = (j + 1) % c
    

    स्टेप-5: एन्क्रिप्शन.
    अब हम इनपुट प्लेन टेक्स्ट ब्लाक को दो रजिस्टर A और B में विभाजित कर देते हैं जो कि प्रत्येक w बिट्स आकार के होते हैं। अब एन्क्रिप्शन की प्रक्रिया के गुजरने के बाद A और B के साथ जुड़ें के परिणामस्वरुप एक सिफर टेक्स्ट टेक्स्ट ब्लाक बनता है।

    आइये अब देखते हैं कि RC5 अल्गोरिथम में क्रमशः क्या-क्या किया जाता है:

    1. प्लेन टेक्स्ट ब्लाक A और B का वन टाइम initialization करें। ऐसा S[0] सुर S[1] को क्रमशः A और B से जोड़ कर करें। ये ऑपरेशन होंगे Mod2^w
    2. XOR A और B. A=A^B
    3. A के नये मान को B बिट्स से साइक्लिक लेफ्ट शिफ्ट करें।
    4. जS[2*i] को पिछले स्टेप के आउटपुट से जोड़ें। ये अब A का नया मान होगा।
    5. B को A और B के नये मान के साथ XOR करें और फिर उसे B में स्टोर करें।
    6. B के नये मान को A बिट्स से साइक्लिक लेफ्ट शिफ्ट करें।
    7. S[2*i+1] को पिछले स्टेप के परिणाम यानी आउटपुट से जोड़ें। अब ये B का नया मान होगा।
    8. वन टाइम initialization को छोड़ कर पूरी प्रक्रिया को r टाइम्स दुहरायें।
    A = A + S[0] 
    B = B + S[1]
    for i = 1 to r do:
        A = ((A ^ B) <<< B) + S[2 * i]
        B = ((B ^ A) <<< A) + S[2 * i + 1]
    return A, B
    

    अब, RC5 अल्गोरिथम को ऐसे भी परिभाषित किया जा सकता है:

    for i = r down to 1 do:
        B = ((B - S[2 * i + 1]) >>> A) ^ A
        A = ((A - S[2 * i]) >>> B) ^ B
    B = B - S[1]
    A = A - S[0]
    return A, B
    

    इस तरह से RC5 अल्गोरिथम कार्य करता है और सुरक्षा देता है।

    इस लेख से सम्बंधित यदि आपका कोई भी सवाल या सुझाव है, तो आप उसे नीचे कमेंट में लिख सकते हैं।

    By अनुपम कुमार सिंह

    बीआईटी मेसरा, रांची से कंप्यूटर साइंस और टेक्लॉनजी में स्नातक। गाँधी कि कर्मभूमि चम्पारण से हूँ। समसामयिकी पर कड़ी नजर और इतिहास से ख़ास लगाव। भारत के राजनितिक, सांस्कृतिक और भौगोलिक इतिहास में दिलचस्पी ।

    Leave a Reply

    Your email address will not be published. Required fields are marked *