Cryptology Academy · पाठ

व्यवहार में AES से फ़ाइलों को एन्क्रिप्ट करना

वास्तविक फ़ाइलों को AES से एन्क्रिप्ट और डिक्रिप्ट करने के लिए OpenSSL और Python का उपयोग करें

पाठ 4, कुल 4 में से13 चरण

व्यवहार में AES से फ़ाइलों को एन्क्रिप्ट करना, CoddyKit पर Cryptology Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cryptology Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्वागत

अब सिद्धांत का व्यावहारिक उपयोग करेंगे। इस पाठ में हम Python में AES-GCM का उपयोग करके वास्तविक फ़ाइलों को एन्क्रिप्ट और डिक्रिप्ट करेंगे। प्रमाणित एन्क्रिप्शन के लिए यही अनुशंसित मोड है।

AES-GCM क्यों?

AES-GCM संबद्ध डेटा के साथ प्रमाणित एन्क्रिप्शन (AEAD) प्रदान करता है। यह डेटा को एन्क्रिप्ट करने के साथ-साथ 16-बाइट का प्रमाणीकरण टैग भी बनाता है। किसी भी छेड़छाड़ का पता डिक्रिप्शन से पहले चल जाता है।

AES-GCM के घटक

इनपुट: 32-बाइट की कुंजी, 12-बाइट का यादृच्छिक नॉन्स, प्लेनटेक्स्ट और वैकल्पिक संबद्ध डेटा (AAD)। आउटपुट: सिफरटेक्स्ट और 16-बाइट का प्रमाणीकरण टैग। हर एन्क्रिप्शन के लिए नॉन्स अद्वितीय होना चाहिए।

cryptography पुस्तकालय स्थापित करना

pip install cryptography PyCA का Python cryptography पुस्तकालय अनुशंसित क्रिप्टो पुस्तकालय है। यह OpenSSL को समाहित करता है और उच्च-स्तरीय रेसिपी तथा निम्न-स्तरीय hazmat प्रिमिटिव, दोनों उपलब्ध कराता है।

Python में AES-GCM एन्क्रिप्शन

from cryptography.hazmat.primitives.ciphers.aead import AESGCM import os key = AESGCM.generate_key(bit_length=256) nonce = os.urandom(12) aad = b'file_version_1' aesgcm = AESGCM(key) ciphertext = aesgcm.encrypt(nonce, plaintext, aad)

Python में AES-GCM डिक्रिप्शन

try: plaintext = aesgcm.decrypt(nonce, ciphertext, aad) except Exception: print('Decryption failed — tampered or wrong key') यदि टैग का सत्यापन विफल होता है, तो decrypt() एक अपवाद उत्पन्न करता है। इस अपवाद को कभी अनदेखा न करें।

फ़ाइल एन्क्रिप्शन कार्यप्रवाह

with open('input.bin', 'rb') as f: plaintext = f.read() ciphertext_with_tag = aesgcm.encrypt(nonce, plaintext, None) # Store: nonce (12 bytes) + ciphertext_with_tag with open('output.enc', 'wb') as f: f.write(nonce + ciphertext_with_tag)

फ़ाइल डिक्रिप्शन कार्यप्रवाह

with open('output.enc', 'rb') as f: data = f.read() nonce = data[:12] ciphertext_with_tag = data[12:] plaintext = aesgcm.decrypt(nonce, ciphertext_with_tag, None)

नॉन्स प्रबंधन

AES-GCM के साथ 12-बाइट का यादृच्छिक नॉन्स, एक ही कुंजी से 2^32 एन्क्रिप्शन तक सुरक्षित रहता है, इसके बाद टकराव की संभावना उल्लेखनीय हो जाती है। उसके बाद कुंजी बदल दें।

कमांड लाइन पर OpenSSL का उपयोग

# Encrypt: openssl enc -aes-256-cbc -pbkdf2 -in plain.txt -out encrypted.bin # Decrypt: openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.bin -out plain.txt ध्यान दें: CBC मोड — नए OpenSSL में प्रमाणित एन्क्रिप्शन के लिए -GCM फ्लैग जोड़ें।

कुंजी संग्रहण की सर्वोत्तम विधियाँ

स्रोत कोड में कुंजियों को कभी हार्डकोड न करें। पर्यावरण चर, AWS KMS, HashiCorp Vault या OS की कीचेन का उपयोग करें। कुंजियों को नियमित रूप से बदलें। कर्मचारी संगठन छोड़ें तो उनकी कुंजियाँ निरस्त कर दें।

त्वरित जाँच

जब AES-GCM यह पता लगाता है कि सिफरटेक्स्ट के साथ छेड़छाड़ की गई है, तब क्या होता है?

पुनरावलोकन

अब आप Python में AES-GCM से फ़ाइलों को एन्क्रिप्ट कर सकते हैं। अगला चरण असममित एन्क्रिप्शन है, जिसमें हम RSA को बुनियाद से सीखेंगे।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Cryptology Academy सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
67
पाठ
261

अक्सर पूछे जाने वाले प्रश्न

क्या “व्यवहार में AES से फ़ाइलों को एन्क्रिप्ट करना” पाठ निःशुल्क है?

हाँ—“व्यवहार में AES से फ़ाइलों को एन्क्रिप्ट करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cryptology Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“व्यवहार में AES से फ़ाइलों को एन्क्रिप्ट करना” में मैं क्या सीखूँगा?

वास्तविक फ़ाइलों को AES से एन्क्रिप्ट और डिक्रिप्ट करने के लिए OpenSSL और Python का उपयोग करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cryptology Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Cryptology Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cryptology Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“व्यवहार में AES से फ़ाइलों को एन्क्रिप्ट करना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Cryptology Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Cryptology Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. सममित एन्क्रिप्शन की अवधारणाएँ
  2. AES संरचना: राउंड और स्टेट मैट्रिक्स
  3. AES कुंजी विस्तार और कुंजी आकार
  4. व्यवहार में AES से फ़ाइलों को एन्क्रिप्ट करना
← Cryptology Academy पर वापस जाएँ