प्रौद्योगिकी

Go 1.27 में पोस्ट-क्वांटम एन्क्रिप्शन और सर्वर मेमोरी लागत में 30% की कटौती

Adrian Kessler

गो 1.27 दो बदलाव लेकर आया है जो उपयोगकर्ता की स्क्रीन तक पहुंचने से पहले ही इंफ्रास्ट्रक्चर लेयर को प्रभावित करते हैं। भाषा अब TLS में पोस्ट-क्वांटम क्रिप्टोग्राफी को एकीकृत करती है और छोटे आवंटनों की मेमोरी लागत को 30% तक कम करती है — यह एक ऐसा अपडेट है जो बड़े पैमाने पर पैसे बचाता है, जबकि उसी सप्ताह घोषित AI फ्रेमवर्क सुर्खियों में बना हुआ है।

पोस्ट-क्वांटम जोड़ एक नया crypto/mldsa पैकेज है जो ML-DSA को लागू करता है — यह हस्ताक्षर योजना FIPS 204 में मानकीकृत है। गो में TLS 1.3 अब तीन ML-DSA वेरिएंट (MLDSA44, MLDSA65, और MLDSA87) का उपयोग करके कनेक्शन प्रमाणित कर सकता है, और crypto/x509 लाइब्रेरी उन प्रमाणपत्रों को पार्स और सत्यापित कर सकती है जिनमें ये वेरिएंट होते हैं। जिस खतरे से ये सुरक्षा करती है — एक क्वांटम कंप्यूटर जो RSA या एलिप्टिक कर्व क्रिप्टोग्राफी को तोड़ने में सक्षम हो — वह आज व्यावहारिक स्तर पर मौजूद नहीं है। लेकिन प्रवासन में वर्षों लगते हैं; वित्त, स्वास्थ्य सेवा और सरकारी क्षेत्रों के संगठन जो लंबी उपयोगी आयु वाले रिकॉर्ड प्रबंधित करते हैं, पहले से ही इसे एक सक्रिय योजना समस्या के रूप में देख रहे हैं।

मेमोरी में बदलाव कम दिखाई देता है लेकिन तुरंत ज्यादा मूल्यवान है। गो रनटाइम अब 80 बाइट से कम की वस्तुओं को लक्षित करते हुए आकार-विशेषज्ञ आवंटन रूटीन उत्पन्न करता है — यह वह वर्ग है जो हजारों एक साथ अनुरोधों को संभालने वाले एक सामान्य सर्वर में अधिकांश आवंटन बनाता है। परिणाम उस वर्ग के लिए आवंटन लागत में 30% की कमी है, जो बेंचमार्क के अनुसार सर्वर वर्कलोड में 3–5% की गति वृद्धि में तब्दील होता है। गो क्लाउड एपीआई, भुगतान प्रोसेसर और आंतरिक प्लेटफॉर्म सेवाओं को बड़े पैमाने पर चलाता है; वहां यह अंतर वास्तविक बुनियादी ढांचे का खर्च है।

गो 1.27 उस खाई को भी बंद करता है जो गो 1.18 में जेनेरिक आने के बाद से मौजूद थी: जेनेरिक मेथड्स। पहले, एक मेथड अपने स्वयं के टाइप पैरामीटर नहीं रख सकता था, जिससे क्रॉस-टाइप ऑपरेशन टाइप के नेमस्पेस के बाहर पैकेज-स्तरीय फंक्शन में चले जाते थे। यह सुधार स्टैंडर्ड लाइब्रेरी में दिखाई देता है: math/rand/v2.Rand तीन अलग-अलग इंटीजर-टाइप मेथड्स को एक ही जेनेरिक N() मेथड में समेटता है। उन कोडबेस के लिए जो इसके आसपास काम कर रहे थे, यह बदलाव एक नया पैटर्न पेश करने के बजाय एक पैटर्न को खोलता है।

दो चेतावनियाँ उल्लेख करने लायक हैं। पोस्ट-क्वांटम समर्थन ऑप्ट-इन है; मौजूदा TLS कॉन्फ़िगरेशन बिना किसी बदलाव के काम करते रहते हैं, और पारिस्थितिकी तंत्र में अपनाना धीरे-धीरे होगा। 30% मेमोरी सुधार केवल 80 बाइट से कम के आवंटन वर्ग पर लागू होता है, और इंजीनियरों को अपने विशिष्ट वर्कलोड का प्रोफाइल करना होगा, इससे पहले कि वे शीर्षक संख्या के सही होने की उम्मीद करें।

अन्य जोड़ों में एक देशी uuid पैकेज शामिल है जो लगभग सार्वभौमिक तीसरे पक्ष की निर्भरता को हटाता है, एक गोरूटीन लीक प्रोफाइलर जो अब उत्पादन में स्थायी रूप से अवरुद्ध गोरूटीन को पकड़ने के लिए सामान्य रूप से उपलब्ध है, और एक नया encoding/json/v2 कार्यान्वयन जो मौजूदा encoding/json पैकेज को उसके API में बदलाव किए बिना चुपचाप बैक करता है। गो 1.27, 19 अगस्त को जारी, go.dev पर उपलब्ध है; macOS समर्थन के लिए अब संस्करण 13 Ventura या नए की आवश्यकता है।

टैग: , , , , ,

चर्चा

0 टिप्पणियाँ हैं।