2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
आधुनिकगणनाक्षेत्रे सूचनासुरक्षा क्रमेण उष्णविषयः अभवत् । सूचनासंरक्षणार्थं प्रमुखप्रौद्योगिकीषु अन्यतमत्वेन क्रिप्टोग्राफी अस्मान् आँकडानां गोपनं (गोपनीयं) विगुप्तीकरणं (विगुप्तीकरणं) च कर्तुं शक्नोति । पायथन् इत्यस्मिन् बहवः पुस्तकालयाः सन्ति ये अस्मान् एतानि कार्याणि सुलभतया कार्यान्वितुं साहाय्यं कर्तुं शक्नुवन्ति, तेषुPyCrypto
एकं शक्तिशालीं बहुप्रयुक्तं च पुस्तकालयम् अस्ति ।अस्य लेखस्य उद्देश्यं गहनतया अन्वेषणम् अस्तिPyCrypto
पुस्तकालयस्य उपयोगः तथा च सामान्यगुप्तीकरण-विगुप्तीकरण-कार्यं कर्तुं तस्य लाभः कथं भवति इति ।
PyCrypto इति व्यापकरूपेण प्रयुक्तं मुक्तस्रोतस्य पायथन् एन्क्रिप्शनपुस्तकालयः अस्ति यत् क्रिप्टोग्राफी तथा आँकडासुरक्षायाः कृते शक्तिशालिनः साधनानां श्रृङ्खलां प्रदाति । अस्याः परियोजनायाः उद्देश्यं एन्क्रिप्शन-एल्गोरिदम्-इत्यस्य कार्यान्वयनस्य सरलीकरणं भवति येन विकासकाः अन्तर्निहित-एन्क्रिप्शन-विवरणानां अपेक्षया स्वस्य अनुप्रयोग-तर्कस्य विषये ध्यानं दातुं शक्नुवन्ति निम्नलिखितम् अस्य पुस्तकालयस्य बहुपक्षेभ्यः परिचयं करिष्यति।
अधिकांशतया, PyCrypto प्रत्यक्षतया pip मार्गेण संस्थापनं कर्तुं शक्यते:
pip install pycrypto
ज्ञातव्यं यत् सुरक्षा-रक्षण-समस्यायाः कारणात् मूल-PyCrypto-प्रकल्पः आधिकारिकतया अप्रचलितः अस्ति ।अधुना इत्यादीनां प्रयोगः अधिकं अनुशंसितः अस्तिpycryptodome
एतादृशी शाखा, या उत्तमं समर्थनं अद्यतनं च प्रदाति:
pip install pycryptodome
सममितगुप्तीकरणम् एकः विधिः अस्ति या एन्क्रिप्शनस्य विगुप्तीकरणस्य च कृते समानं कुञ्जीम् उपयुज्यते । सर्वाधिकसामान्यसममितगोपन-अल्गोरिदम्-मध्ये AES, DES, Blowfish च सन्ति ।
AES (Advanced Encryption Standard) इति वर्तमानकाले उपलब्धेषु लोकप्रियतमेषु सममितगुप्तीकरण-एल्गोरिदम्षु अन्यतमम् अस्ति । PyCrypto इत्यस्य उपयोगेन AES एन्क्रिप्शनस्य कार्यान्वयनम् अतीव सरलम् अस्ति:
- from Crypto.Cipher import AES
- import base64
-
- # 加密
- key = b'Sixteen byte key'
- cipher = AES.new(key, AES.MODE_ECB)
- plaintext = b'This is a secret message. Keep it safe!'
- enc = cipher.encrypt(plaintext)
- print(base64.b64encode(enc).decode('utf-8')) # 打印加密后的结果
-
- # 解密
- decipher = AES.new(key, AES.MODE_ECB)
- dec = decipher.decrypt(enc)
- print(dec) # 解密后的消息
असममितगोपनं, अथवा सार्वजनिककुंजीगुप्तीकरणं, कुञ्जीयुगलस्य उपयोगं करोति: एकं गोपनार्थं (सार्वजनिककुंजी) अपरं च विगुप्तीकरणाय (निजीकुंजी)
आरएसए सर्वाधिकं प्रयुक्तेषु असममितगुप्तीकरण-अल्गोरिदम्षु अन्यतमम् अस्ति । PyCrypto इत्यनेन सह RSA इत्यस्य कार्यान्वयनस्य मूलभूतपदार्थाः निम्नलिखितरूपेण सन्ति ।
- from Crypto.PublicKey import RSA
-
- # 生成密钥对
- key = RSA.generate(2048)
- private_key = key.exportKey()
- public_key = key.publickey().exportKey()
-
- # 加密
- rsa_cipher = RSA.importKey(public_key)
- enc_rsa = rsa_cipher.encrypt(b'Secret message', 32)
- print(base64.b64encode(enc_rsa).decode('utf-8')) # 打印加密结果
-
- # 解密
- rsa_cipher = RSA.importKey(private_key)
- dec_rsa = rsa_cipher.decrypt(enc_rsa)
- print(dec_rsa.decode('utf-8')) # 解密后的消息
हैश फंक्शन्स् मनमाना-दीर्घतायाः निवेशान् नियत-दीर्घता-निर्गमेषु परिवर्तयन्ति तथा च प्रायः शीघ्रं आँकडा-अखण्डतायाः जाँचार्थं उपयुज्यन्ते ।
PyCrypto SHA-256 इत्यस्य कार्यान्वयनम् अयच्छति ।
- from Crypto.Hash import SHA256
- hash_object = SHA256.new(b'Message digest')
- hex_dig = hash_object.hexdigest()
- print(hex_dig) # 打印哈希值
सन्देशस्य अखण्डतां प्रमाणीकरणं च सत्यापयितुं MAC इत्यस्य उपयोगः भवति ।
HMAC एकः MAC डिजाइनः अस्ति यः hash functions इत्यस्य उपयोगं करोति उदाहरणानि निम्नलिखितरूपेण सन्ति ।
- from Crypto.Hash import HMAC, SHA256
- h = HMAC.new(key, msg, digestmod=SHA256)
- print(h.hexdigest()) # 打印HMAC值
क्रिप्टोग्राफीयां उच्चगुणवत्तायुक्ताः यादृच्छिकसङ्ख्याः प्रमुखाः सन्ति । PyCryptopass इतिCrypto.Random
मॉड्यूल् एतत् कार्यक्षमतां प्रदाति:
- from Crypto.Random import get_random_bytes
- random_key = get_random_bytes(16) # 生成16字节的随机密钥
TLS/SSL इत्यादिषु सुरक्षितपरिवहनप्रोटोकॉलषु सत्रप्रबन्धनं कुञ्जीविनिमयं च अनेकप्रकारस्य आक्रमणस्य निवारणाय महत्त्वपूर्णम् अस्ति ।यद्यपि PyCrypto एतेषां प्रोटोकॉलानाम् कार्यान्वयनार्थं आवश्यकानि निम्नस्तरीयसाधनं प्रदाति तथापि उच्चस्तरीयपुस्तकालयानां उपयोगः अनुशंसितः यथाpyOpenSSL
, जटिलं हस्तप्रहारं कुञ्जीविनिमयप्रक्रियां च नियन्त्रयितुं।
सर्वदा सुरक्षिताः इति मन्तव्यं एल्गोरिदम्, पर्याप्तदीर्घाः कुञ्जीः च उपयुज्यताम् । MD5 तथा SHA-1 इत्यादीनां अप्रचलित-एल्गोरिदम्-प्रयोगं परिहरन्तु । नव आविष्कृतानां आक्रमणानां विरुद्धं रक्षणार्थं नियमितरूपेण स्वपुस्तकालयान् एल्गोरिदम् च अद्यतनं कुर्वन्तु । अन्ते, स्वस्य एन्क्रिप्शन-प्रथानां मूल्याङ्कनार्थं व्यावसायिकसुरक्षालेखापरीक्षासेवायाः उपयोगं कर्तुं विचारयन्तु ।
अयं लेखः मूलभूतगुप्तीकरणस्य विगुप्तीकरणस्य च कार्याणां कृते PyCrypto पुस्तकालयस्य उपयोगः कथं करणीयः इति गहनतया अवलोकयति, यत्र सममितं असममितं च एन्क्रिप्शनं, हैशिंग्, सन्देशप्रमाणीकरणसङ्केताः च सन्ति तदतिरिक्तं, वयं यादृच्छिकसङ्ख्याजननम्, सत्रप्रबन्धनं, कुञ्जीविनिमयं च इति विषये उत्तमप्रथानां चर्चां कुर्मः । यथा यथा प्रौद्योगिक्याः विकासः भवति तथा तथा गुप्तलेखनस्य क्षेत्रं अपि विकसितं भवति । नवीनतमसंशोधनविकासानां विषये अद्यतनं भवितुं निरन्तरं भवतः प्रणाली सुरक्षिता इति सुनिश्चितं करणं कस्यापि विकासकस्य वा सुरक्षाव्यावसायिकस्य वा कृते अत्यावश्यकं कार्यम् अस्ति। आशासे यत् एषः लेखः भवद्भ्यः क्रिप्टोग्राफिक-सञ्चालनार्थं पायथन्-इत्यस्य अवगमनाय, उपयोगाय च ठोस-आधारं प्रदातुं शक्नोति ।