Bijou64: नया variable-length integer एन्कोडिंग

मूल शीर्षक: Bijou64: A variable-length integer encoding

यह क्यों महत्वपूर्ण है

यह एन्कोडिंग signed protocols में सुरक्षा बढ़ाता है और performance भी सुधारता है।

Ink & Switch ने Bijou64 नामक variable-length integer एन्कोडिंग विकसित किया है जो Subduction CRDT sync protocol के लिए बनाया गया। यह LEB128 से कई गुना तेज़ है और हर संख्या का केवल एक ही प्रतिनिधित्व संभव है।

Bijou64 एक variable-length integer (varint) एन्कोडिंग है जो Ink & Switch द्वारा Subduction CRDT sync protocol के लिए विकसित किया गया। इसका मुख्य उद्देश्य signature-verification बग को ठीक करना था जो LEB128 जैसी एन्कोडिंग में होता है। LEB128 में समस्या यह है कि एक ही संख्या को कई तरीकों से represent किया जा सकता है - जैसे 0 को 0x00, 0x80 0x00, या 0x80 0x80 0x00 के रूप में। यह signed protocols के लिए सुरक्षा समस्या बनता है। Bijou64 इस समस्या को हल करता है क्योंकि इसकी structure स्वयं ही canonical encoding सुनिश्चित करती है। अतिरिक्त runtime checks की आवश्यकता नहीं होती। परीक्षणों में यह LEB128 से कई गुना तेज़ साबित हुआ क्योंकि इसे कम काम करना पड़ता है। यह ASN.1, PKCS#1, JWT जैसे protocols में देखी गई canonicalization attacks से बचने में मदद करता है।

स्रोत

inkandswitch.com — मूल लेख पढ़ें →