The book is an introduction to cryptography for programmers.

हे पुस्तक प्रोग्रामर्ससाठी क्रिप्टोग्राफीची ओळख आहे.


XOR is a fundamental operation in cryptography.

क्रिप्टोग्राफीमध्ये XOR एक मूलभूत क्रिया आहे.


The one-time pad offers perfect security.

वन-टाइम पॅड परिपूर्ण सुरक्षा प्रदान करते.


This book explains how complete cryptosystems work.

हे पुस्तक संपूर्ण क्रिप्टोसिसम कसे कार्य करतात हे स्पष्ट करते.


The goal is to understand how to apply cryptosystems in real software.

वास्तविक सॉफ्टवेअरमध्ये क्रिप्टोसिसम कसे लागू करायचे हे समजून घेणे हे ध्येय आहे.


Exercises focus on teaching cryptography by breaking inferior systems.

सराव निकृष्ट प्रणाली तोडून क्रिप्टोग्राफी शिकवण्यावर लक्ष केंद्रित करतात.


You will understand why all these primitives and constructions are necessary.

तुम्ही समजून घ्याल की या सर्व आदिम आणि रचना आवश्यक का आहेत.


Cryptography has been deemed the exclusive realm of experts.

क्रिप्टोग्राफी तज्ञांचे खास क्षेत्र मानले जाते.


We must join them into one world where all programmers are educated.

आपण त्यांना एका जगात सामील केले पाहिजे जिथे सर्व प्रोग्रामर शिक्षित आहेत.


हे पुस्तक एक पूल बनण्याची आशा आहे.


The book covers topics like TLS, GPG, and OTR.

पुस्तकात TLS, GPG आणि OTR सारख्या विषयांचा समावेश आहे.


पुस्तक साध्या आदिम गोष्टींपासून सुरू होते.


The book gradually introduces new ones, demonstrating why they’re necessary.

पुस्तक हळू हळू नवीन गोष्टी सादर करते, हे दर्शवते की त्या आवश्यक का आहेत.


The exercises will leave you with healthy distrust of DIY cryptography.

हे व्यायाम तुम्हाला DIY क्रिप्टोग्राफीबद्दल निरोगी अविश्वास देतील.


The inputs and output are named as if we’re using XOR as an encryption operation.

इनपुट आणि आउटपुटची नावे दिली आहेत जणू काही आपण XOR चा वापर एन्क्रिप्शन ऑपरेशन म्हणून करत आहोत.


If the bits are truly random, the attacker learns nothing about the plaintext.

जर बिट्स खरोखर यादृच्छिक असतील, तर हल्लेखोराला प्लेनटेक्स्टबद्दल काहीही समजत नाही.


We can compute the ciphertext by taking the bitwise XOR of the two sequences of bits.

दोन बिट्सच्या क्रमांचे बिटवाईज XOR घेऊन आपण सायफरटेक्स्टची गणना करू शकतो.


This property is called perfect security.

या गुणधर्माला परिपूर्ण सुरक्षा म्हणतात.


Let’s say Eve sees that a particular ciphertext bit is 1.

समजा, ईव्हला दिसते की विशिष्ट सायफरटेक्स्ट बिट 1 आहे.


She has no idea if the matching plaintext bit was 0 or 1.

जुळणारा प्लेनटेक्स्ट बिट 0 होता की 1, हे तिला माहीत नाही.


गुरुकिल्लीतील बिट एकतर 0 किंवा 1 होते.


The attacker learns that the message exists.

आक्रमक व्यक्तीला संदेश अस्तित्वात आहे हे समजते.


One-time pads have to consist of truly random data.

एक-वेळच्या पॅडमध्ये खरोखर यादृच्छिक डेटा असणे आवश्यक आहे.


Most commercial products that claim to be one-time pads are snake oil.

एक-वेळचे पॅड असल्याचा दावा करणारी बहुतेक व्यावसायिक उत्पादने फसवणूक करणारी आहेत.


Reusing the one-time pad is a much more serious issue.

एक-वेळच्या पॅडचा पुनर्वापर करणे ही अधिक गंभीर समस्या आहे.


Suppose an attacker gets two ciphertexts with the same one-time pad.

समजा, एका आक्रमकाला त्याच एक-वेळच्या पॅडसह दोन सायफरटेक्स्ट मिळतात.


The problem is that even the result of the XOR operation on two plaintexts contains quite a bit of information.

समस्या अशी आहे की दोन प्लेनटेक्स्टवरील XOR ऑपरेशनचा परिणाम देखील बरीच माहिती देतो.


A classical approach to breaking multi-time pad systems involves crib-dragging.

मल्टि-टाइम पॅड सिस्टम तोडण्याचा एक क्लासिकल दृष्टिकोन म्हणजे 'क्रिब-ड्रॅगिंग'.


If we could correctly guess the plaintext for one of the messages, we’d know K.

जर आपण संदेशांपैकी एकासाठी प्लेनटेक्स्टचा अचूक अंदाज लावू शकलो, तर आपल्याला K माहित होईल.


Guessing parts of the plaintext is a lot easier than guessing the entire plaintext.

प्लेनटेक्स्टचा काही भाग अंदाज करणे संपूर्ण प्लेनटेक्स्टचा अंदाज लावण्यापेक्षा खूप सोपे आहे.


If our guess is correct, we know all the other plaintexts at that position as well.

जर आपला अंदाज बरोबर असेल, तर आपल्याला त्या स्थानावरील इतर सर्व प्लेनटेक्स्ट देखील माहित आहेत.


These small, highly probable sequences are called cribs.

या लहान, अत्यंत संभाव्य क्रमांना 'क्रिब्स' म्हणतात.


While this technique works as soon as two messages are encrypted with the same key, it’s clear that this becomes even easier with more ciphertexts.

ही पद्धत दोन संदेश एकाच कीने एन्क्रिप्ट (encrypt) केल्यावर काम करते, हे स्पष्ट आहे की अधिक सायफरटेक्स्टसह हे आणखी सोपे होते.


Real one-time pads, implemented properly, have an extremely strong security guarantee.

खऱ्या एक-वेळच्या पॅडमध्ये, योग्यरित्या अंमलात आणल्यास, अत्यंत मजबूत सुरक्षा हमी असते.


One-time pads are rarely used, because they are horribly impractical.

एक-वेळचे पॅड क्वचितच वापरले जातात, कारण ते अत्यंत अव्यवहार्य आहेत.


We need something with manageable key sizes while maintaining secrecy.

आपल्याला गोपनीयता राखत व्यवस्थापित करण्यायोग्य की आकार आवश्यक आहे.


A block cipher is an algorithm that allows us to encrypt blocks of a fixed length.

ब्लॉक सायफर हा एक अल्गोरिदम आहे जो आपल्याला निश्चित लांबीचे ब्लॉक्स एन्क्रिप्ट (encrypt) करण्यास अनुमती देतो.


The set of all possible keys is called the keyspace.

सर्व संभाव्य किल्लींच्या संचाला कीस्पेस म्हणतात.


Block ciphers are an example of symmetric-key encryption scheme.

ब्लॉक सायफर हे सममित-की एन्क्रिप्शन योजनेचे उदाहरण आहे.


The most common block cipher in current use is Advanced Encryption Standard (AES).

सध्या वापरात असलेला सर्वात सामान्य ब्लॉक सायफर म्हणजे प्रगत एन्क्रिप्शन मानक (AES).


A scheme where the long-term key and the nonce had been securely combined wouldn’t have had this weakness.

एका योजनेत, जिथे दीर्घ-मुदतीची की आणि नॉनस सुरक्षितपणे एकत्र केले गेले असते, तिथे ही कमजोरी नसायची.


Many other standards including TLS were therefore not affected.

म्हणूनच, TLS सह इतर अनेक मानकांवर याचा परिणाम झाला नाही.


पुन्हा, हल्ले अधिक चांगले होत आहेत.


Andreas Klein showed more extensive correlation between the key and the keystream.

अँड्रियास क्लेनने की आणि कीस्ट्रीममधील अधिक विस्तृत संबंध दर्शविला.


Instead of tens of millions of messages with the Fluhrer, Mantin, Shamir attacks, attackers now only needed several tens of thousands of messages to make the attack practical.

फ्लुहर, मँटिन, शामिर हल्ल्यांसह कोट्यवधी संदेशांऐवजी, हल्लेखोरांना आता हल्ला व्यवहार्य बनवण्यासाठी केवळ हजारो संदेशांची आवश्यकता होती.


This was applied against WEP with great effect.

हे WEP विरुद्ध मोठ्या प्रभावीपणे लागू केले गेले.


In 2013, a team of researchers at Royal Holloway in London produced a combination of two independent practical attacks.

2013 मध्ये, लंडन येथील रॉयल हॉलोवे येथील संशोधकांच्या एका टीमने दोन स्वतंत्र व्यावहारिक हल्ल्यांचे संयोजन तयार केले.


These attacks proved to be very damning for RC4.

या हल्ल्यांनी RC4 साठी अत्यंत हानिकारक असल्याचे सिद्ध केले.


By performing statistical analysis on the keystreams produced by a large number of keys, they were able to analyze the already well-known biases in the early keystream bytes of RC4 in much greater detail.

मोठ्या संख्येने की द्वारे तयार केलेल्या कीस्ट्रीमचे सांख्यिकीय विश्लेषण करून, ते RC4 च्या सुरुवातीच्या कीस्ट्रीम बाइट्समधील आधीच चांगल्या प्रकारे ज्ञात असलेल्या त्रुटींचे अधिक तपशीलवार विश्लेषण करण्यास सक्षम होते.


The second attack is based on double byte biases anywhere in the keystream.

दुसरा हल्ला कीस्ट्रीममधील कोणत्याही ठिकाणी डबल बाइट त्रुटींवर आधारित आहे.


This table may seem a bit daunting at first.

हे सारणी सुरुवातीला थोडे कठीण वाटू शकते.


Suppose that RC4 was a good stream cipher, and all values occurred with equal probability.

असे समजा की RC4 एक चांगले स्ट्रीम सायफर होते, आणि सर्व मूल्ये समान संभाव्यतेसह उद्भवली.


However, RC4 isn’t an ideal stream cipher, so these properties aren’t true.

परंतु, RC4 एक आदर्श स्ट्रीम सायफर नाही, त्यामुळे ही वैशिष्ट्ये सत्य नाहीत.


By writing the probability in the 2 −16 (1 + 2 −k ) form, it’s easier to see how much RC4 deviates from what you’d expect from an ideal stream cipher.

संभाव्यता 2 −16 (1 + 2 −k ) स्वरूपात लिहून, RC4 एका आदर्श स्ट्रीम सायफरमधून तुम्ही काय अपेक्षा कराल यावरून किती विचलित होते हे पाहणे सोपे आहे.


So, let’s try to read the first line of the table.

चला, सारणीची पहिली ओळ वाचण्याचा प्रयत्न करूया.


It says that when the first byte i = 1 of any 256-byte chunk from the cipher is 0, then the byte following it is slightly more likely (1 + 2 −9 times as likely, to be exact) to be 0 than for it to be any other number.

ते असे दर्शवते की जेव्हा सायफरमधील कोणत्याही 256-बाइट भागाचा पहिला बाइट i = 1, 0 असतो, तेव्हा त्याच्या मागोमाग येणारा बाइट 0 असण्याची शक्यता किंचित अधिक असते (1 + 2 −9 पट, अचूक सांगायचे तर) इतर कोणत्याही संख्येपेक्षा.


We can also see that when one of the keystream bytes is 255, you can make many predictions about the next byte, depending on where it occurs in the keystream.

आम्ही हे देखील पाहू शकतो की जेव्हा कीस्ट्रीम बाइट्सपैकी एक 255 असतो, तेव्हा तुम्ही कीस्ट्रीममध्ये ते कोठे येते यावर अवलंबून, पुढील बाइटबद्दल अनेक अंदाज लावू शकता.


These attacks have primarily focused on the cipher itself, and haven’t been fully optimized for practical attacks on, say, web services.

या हल्ल्यांनी प्रामुख्याने सायफरवर लक्ष केंद्रित केले आहे आणि वेब सेवांसारख्या व्यावहारिक हल्ल्यांसाठी पूर्णपणे अनुकूल केलेले नाही.


There’s no way around it: we need to stop using RC4.

यावर कोणताही उपाय नाही: आपण RC4 वापरणे थांबवले पाहिजे.


आम्हाला त्यांना बसवण्यासाठी काही योजना हवी आहे.


त्या प्रक्रियेला पॅडिंग म्हणतात.


Padding with zeroes (or some other pad byte) One way to pad would be to simply append a particular byte value until the plaintext is of the appropriate length.

शून्यांसह पॅडिंग (किंवा इतर काही पॅड बाइट) पॅड करण्याचा एक मार्ग म्हणजे प्लेनटेक्स्ट योग्य लांबीचा होईपर्यंत विशिष्ट बाइट व्हॅल्यू जोडणे.


To undo the padding, you just remove those bytes.

पॅडिंग पूर्ववत करण्यासाठी, तुम्ही फक्त ते बाइट्स काढून टाका.


This scheme has an obvious flaw: you can’t send messages that end in that particular byte value, or you will be unable to distinguish between padding and the actual message.

या योजनेत एक स्पष्ट दोष आहे: तुम्ही असे संदेश पाठवू शकत नाही जे त्या विशिष्ट बाइट मूल्यावर संपतात, किंवा पॅडिंग आणि वास्तविक संदेशात फरक करू शकत नाही.


A better, and much more popular scheme, is PKCS#5/PKCS#7 padding.

एक चांगली, आणि अधिक लोकप्रिय योजना, PKCS#5/PKCS#7 पॅडिंग आहे.


Take the number of bytes you have to pad, and pad them with that many times the byte with that value.

तुम्हाला किती बाइट्स पॅड करायचे आहेत ते घ्या, आणि त्या मूल्याच्या बाइटने तेवढ्या वेळा पॅड करा.


For example, if the block size is 8 bytes, and the last block has the three bytes12 34 45, the block becomes12 34 45 05 05 05 05 05after padding.

उदाहरणार्थ, जर ब्लॉकचा आकार 8 बाइट्स असेल, आणि शेवटच्या ब्लॉकमध्ये 12 34 45 हे तीन बाइट्स असतील, तर पॅडिंगनंतर ब्लॉक 12 34 45 05 05 05 05 05 होतो.


If the plaintext happened to be exactly a multiple of the block size, an entire block of padding is used.

जर प्लेनटेक्स्ट ब्लॉकच्या आकाराचा अगदी गुणाकार असेल, तर पॅडिंगचा संपूर्ण ब्लॉक वापरला जातो.


Otherwise, the recipient would look at the last byte of the plaintext, treat it as a padding length, and almost certainly conclude the message was improperly padded.

अन्यथा, प्राप्तकर्ता प्लेनटेक्स्टचा शेवटचा बाइट पाहिल, तो पॅडिंगची लांबी म्हणून विचारात घेईल, आणि जवळजवळ निश्चितपणे निष्कर्ष काढेल की संदेश चुकीच्या पद्धतीने पॅड केला गेला आहे.


We can refine CBC bit flipping attacks to trick a recipient into decrypting arbitrary messages!

आम्ही सीबीसी बिट फ्लिपिंग हल्ल्यांना परिष्कृत करू शकतो जेणेकरून प्राप्तकर्त्याला मनमानी संदेश डिक्रिप्ट करण्यास फसवता येईल!


As we’ve just discussed, CBC mode requires padding the message to a multiple of the block size.

आम्ही नुकतीच चर्चा केल्याप्रमाणे, सीबीसी मोडसाठी संदेश ब्लॉकच्या आकाराच्या पटीत पॅड करणे आवश्यक आहे.


If the padding is incorrect, the recipient typically rejects the message, saying that the padding was invalid.

जर पॅडिंग चुकीचे असेल, तर प्राप्तकर्ता सामान्यतः संदेश नाकारतो, असे म्हणतो की पॅडिंग अवैध होते.


We can use that tiny bit of information about the padding of the plaintext to iteratively decrypt the entire message.

आम्ही प्लेनटेक्स्टच्या पॅडिंगबद्दलच्या त्या लहान माहितीचा वापर संपूर्ण संदेशाचे पुनरावृत्तीने डिक्रिप्ट करण्यासाठी करू शकतो.


The attacker will do this, one ciphertext block at a time, by trying to get an entire plaintext block worth of valid padding.

आक्रमक हे एका वेळी एक सायफरटेक्स्ट ब्लॉक करेल, वैध पॅडिंगचे संपूर्ण प्लेनटेक्स्ट ब्लॉक मिळवण्याचा प्रयत्न करून.


To mount this attack, an attacker only needs two things: A target ciphertext to decrypt and a padding oracle.

हा हल्ला करण्यासाठी, हल्लेखोराला फक्त दोन गोष्टींची आवश्यकता आहे: डिक्रिप्ट करण्यासाठी एक लक्ष्य सायफरटेक्स्ट आणि एक पॅडिंग ओरेकल.


For a long time, most systems did not even attempt to hide if the padding was valid or not.

बऱ्याच काळापासून, बहुतेक प्रणालींनी पॅडिंग वैध आहे की नाही हे लपवण्याचा प्रयत्नही केला नाही.


In this chapter, we’ll assume that PKCS#5/PKCS#7 padding is being used, since that’s the most popular option.

या अध्यायात, आम्ही असे गृहीत धरू की PKCS#5/PKCS#7 पॅडिंग वापरले जात आहे, कारण तो सर्वात लोकप्रिय पर्याय आहे.


The attack is general enough to work on other kinds of padding, with minor modifications.

हा हल्ला इतर प्रकारच्या पॅडिंगवरही काम करण्यासाठी पुरेसा सामान्य आहे, किरकोळ बदलांसह.


The attacker fills a block with arbitrary bytes.

आक्रमक यादृच्छिक बाइट्सने एक ब्लॉक भरतो.


Even though 3DES is significantly worse in terms of performance and slightly worse in terms of security, 3DES is still the workhorse of the financial industry.

3DES कार्यक्षमतेच्या दृष्टीने खूपच वाईट आहे आणि सुरक्षिततेच्या दृष्टीनेही थोडेसे वाईट आहे, तरीही 3DES अजूनही वित्तीय क्षेत्राचा कणा आहे.


With a plethora of standards already in existence and new ones continuing to be created, it will probably continue to be used for many years to come.

अनेक मानके आधीच अस्तित्वात आहेत आणि नवीन मानके तयार होत आहेत, त्यामुळे ते पुढील अनेक वर्षे वापरले जाण्याची शक्यता आहे.


For example, we can only send messages of a very limited length: the block length of the block cipher.

उदाहरणार्थ, आपण फक्त मर्यादित लांबीचे संदेश पाठवू शकतो: ब्लॉक सायफरची ब्लॉक लांबी.


We’ll address this problem with a stream cipher.

आम्ही हे समस्या स्ट्रीम सायफर वापरून सोडवू.


Although we have reduced the key size drastically, we still need to address the issue of agreeing on those few key bytes.

जरी आम्ही कीचा आकार मोठ्या प्रमाणात कमी केला असला तरी, आम्हाला अजूनही त्या काही की बाइट्सवर सहमत होण्याच्या समस्येचे निराकरण करणे आवश्यक आहे.


A stream cipher is asymmetric-key encryption algorithm that encrypts a stream of bits.

स्ट्रीम सायफर हा एक असममित-की एन्क्रिप्शन अल्गोरिदम आहे जो बिट्सचा प्रवाह एन्क्रिप्ट करतो.


This scheme is called ECB mode (Electronic Code Book Mode), and it is one of the many ways that block ciphers can be used.

या योजनेला ECB मोड (इलेक्ट्रॉनिक कोड बुक मोड) म्हणतात आणि ब्लॉक सायफर वापरण्याचे हे एक तंत्र आहे.


Unfortunately, while being very common in home-grown cryptosystems, it poses very serious security flaws.

दुर्दैवाने, घरगुती क्रिप्टोसिस्टममध्ये हे खूप सामान्य असले तरी, ते गंभीर सुरक्षा दोष निर्माण करते.


Assuming the block cipher is secure, it doesn’t look like an attacker would be able to decrypt anything.

ब्लॉक सायफर सुरक्षित आहे असे मानून, असे दिसत नाही की एक आक्रमणकर्ता काहीही डिक्रिप्ट करू शकेल.


By dividing the ciphertext stream up into blocks, an attacker would only be able to see that a ciphertext block, and therefore a plaintext block, was repeated.

सायफरटेक्स्ट प्रवाह ब्लॉक्समध्ये विभागून, एक आक्रमणकर्ता केवळ हे पाहू शकतो की सायफरटेक्स्ट ब्लॉक आणि म्हणूनच एक प्लेनटेक्स्ट ब्लॉक, पुनरावृत्ती झाला आहे.


We’ll now illustrate the many flaws of ECB mode with two attacks.

आता आपण दोन हल्ल्यांसह ECB मोडमधील अनेक त्रुटी स्पष्ट करू.


First, we’ll exploit the fact that repeating plaintext blocks result in repeating ciphertext blocks, by visually inspecting an encrypted image.

पहिला, आम्ही एन्क्रिप्टेड प्रतिमेचे दृश्यदृष्ट्या परीक्षण करून, पुनरावृत्ती होणारे प्लेनटेक्स्ट ब्लॉक्स, पुनरावृत्ती होणारे सायफरटेक्स्ट ब्लॉक्समध्ये कसे रूपांतरित होतात, याचा फायदा घेऊ.


Then, we’ll demonstrate that attackers can often decrypt messages encrypted in ECB mode by communicating with the person performing the encryption.

नंतर, आम्ही हे दर्शवू की ECB मोडमध्ये एन्क्रिप्ट केलेले संदेश, एन्क्रिप्शन करणार्‍या व्यक्तीशी संवाद साधून हल्लेखोर अनेकदा डिक्रिप्ट करू शकतात.


To demonstrate that this is, in fact, a serious problem, we’ll use a simulated block cipher of various block sizes and apply it to an image.

हे दर्शविण्यासाठी की, ही वस्तुस्थिती एक गंभीर समस्या आहे, आम्ही विविध ब्लॉक आकारांचे एक सिम्युलेटेड ब्लॉक सायफर वापरू आणि ते एका प्रतिमेवर लागू करू.


Because identical blocks of pixels in the plaintext will map to identical blocks of pixels in the ciphertext, the global structure of the image is largely preserved.

कारण प्लेनटेक्स्टमधील पिक्सेलचे समान ब्लॉक्स सायफरटेक्स्टमधील पिक्सेलच्या समान ब्लॉक्सवर मॅप होतील, प्रतिमेची जागतिक रचना मोठ्या प्रमाणात जतन केली जाते.


In a secure system, Alice and Mallory’s records probably wouldn’t be encrypted using the same key.

एका सुरक्षित प्रणालीमध्ये, ॲलिस आणि मॅलोरीचे रेकॉर्ड कदाचित एकाच की वापरून एन्क्रिप्ट केलेले नसेल.


Suppose that through a bug in the server, Mallory can predict the IV that will be used for her ciphertext.

समजा, सर्व्हरमधील बगमुळे, मॅलोरी तिच्या सायफरटेक्स्टसाठी वापरला जाणारा IV (इनिशियलायझेशन वेक्टर) चा अंदाज लावू शकते.


Lessons learned: don’t let IVs be predictable.

धडा: IV चा अंदाज लावता येणार नाही याची खात्री करा.


Also, don’t roll your own cryptosystems.

तसेच, स्वतःचे क्रिप्टोसिस्टम तयार करू नका.


This attack is another demonstration of an important cryptographic principle: encryption is not authentication!

हा हल्ला आणखी एक महत्त्वाचे क्रिप्टोग्राफिक तत्त्व दर्शवतो: एन्क्रिप्शन हे प्रमाणीकरण नाही!


HKDF is a key derivation function designed for high entropy inputs.

HKDF हे उच्च एन्ट्रॉपी इनपुटसाठी डिझाइन केलेले की डिरायव्हेशन फंक्शन आहे.


It is specifically not designed to be secure for low-entropy inputs such as passwords.

हे विशेषतः कमी एन्ट्रॉपी इनपुट, जसे की पासवर्डसाठी सुरक्षित होण्यासाठी डिझाइन केलेले नाही.


HKDF exists to give people an appropriate, off-the-shelf key derivation function.

HKDF लोकांना एक योग्य, तयार की डिरायव्हेशन फंक्शन देण्यासाठी आहे.


Previously, key derivation was often something that was done ad hoc for a particular standard.

यापूर्वी, की डिरायव्हेशन अनेकदा विशिष्ट मानकांसाठी तदर्थ पद्धतीने केले जात होते.


HKDF HMAC वर आधारित आहे.


Like HMAC, it is a generic construction that uses hash functions.

HMAC प्रमाणेच, हे एक सामान्य बांधकाम आहे जे हॅश फंक्शन्स वापरते.


The extraction phase is responsible for extracting a small amount of data with a high entropy content.

एक्स्ट्रेक्शन फेज उच्च एन्ट्रॉपी सामग्रीसह थोड्या प्रमाणात डेटा काढण्यासाठी जबाबदार आहे.


मीठ मूल्य (salt value) वैकल्पिक आहे.


Even a fairly low-entropy salt can already contribute significantly to the security.

कमी एन्ट्रॉपीचे मीठ देखील सुरक्षिततेमध्ये महत्त्वपूर्ण योगदान देऊ शकते.


The extraction phase explains why HKDF is not suitable for deriving keys from passwords.

एक्स्ट्रेक्शन फेज हे स्पष्ट करते की HKDF पासवर्डमधून की मिळवण्यासाठी योग्य का नाही.


In the expansion phase, the random data extracted from the inputs in the extraction phase is expanded.

विस्तार टप्प्यात, काढलेल्या टप्प्यात इनपुटमधून काढलेला यादृच्छिक डेटा विस्तारित केला जातो.


The expansion step is also quite simple: chunks of data are produced using HMAC.

विस्तार चरण देखील खूप सोपा आहे: HMAC वापरून डेटाचे तुकडे तयार केले जातात.


Like the salt in the extraction phase, the ”info” parameter is entirely optional.

एक्स्ट्रेक्शन टप्प्यातील मिठासारखेच, “माहिती” पॅरामीटर पूर्णपणे वैकल्पिक आहे.


The generation of random numbers is too important to be left to chance.

यादृच्छिक संख्या तयार करणे इतके महत्त्वाचे आहे की ते योगावर सोडले जाऊ शकत नाही.


Many cryptographic systems require random numbers.

अनेक क्रिप्टोग्राफिक सिस्टम्सना यादृच्छिक संख्या आवश्यक आहेत.


Producing random numbers is a fairly intricate process.

यादृच्छिक संख्या तयार करणे ही एक किचकट प्रक्रिया आहे.


True random number generators get their randomness from physical processes.

खरे यादृच्छिक संख्या जनरेटर त्यांची यादृच्छिकता भौतिक प्रक्रियांमधून मिळवतात.


We need a source of randomness that isn’t a consequence of deterministic rules.

आपल्याला यादृच्छिकतेचा एक स्रोत हवा आहे जो निश्चित नियमांचा परिणाम नाही.


There are several categories of physical processes that are used for hardware random number generation.

हार्डवेअर यादृच्छिक संख्या निर्मितीसाठी वापरल्या जाणाऱ्या भौतिक प्रक्रियेच्या अनेक श्रेणी आहेत.


Keep in mind that not all of these options necessarily generate high-quality, truly random numbers.

लक्षात ठेवा की यापैकी सर्व पर्याय आवश्यकतेनुसार उच्च-गुणवत्तेचे, खऱ्या अर्थाने यादृच्छिक क्रमांक तयार करत नाहीत.


The password, when hashed, would result in the same hash everywhere.

पासवर्ड हॅश केल्यावर, ते सर्वत्र समान हॅश तयार करेल.


This problem was generally solved by using salts.

या समस्येचे सामान्यतः सॉल्ट्स वापरून निराकरण केले गेले.


By mixing the password with some random value before hashing it, you could produce completely different hash values.

पासवर्ड हॅश करण्यापूर्वी, काही यादृच्छिक मूल्यामध्ये मिसळून, तुम्ही पूर्णपणे भिन्न हॅश मूल्ये तयार करू शकता.


It effectively turns a hash function into a whole family of related hash functions.

हे प्रभावीपणे एक हॅश फंक्शन संबंधित हॅश फंक्शन्सच्या संपूर्ण कुटुंबात रूपांतरित करते.


The salt value is stored next to the password hash in the database.

मीठ मूल्य डेटाबेसमध्ये पासवर्ड हॅशच्या पुढे संग्रहित केले जाते.


When the user authenticates using the password, you just combine the salt with the password, hash it, and compare it against the stored hash.

जेव्हा वापरकर्ता पासवर्ड वापरून प्रमाणीकरण करतो, तेव्हा तुम्ही फक्त मीठ पासवर्डमध्ये एकत्र करा, हॅश करा आणि संग्रहित हॅशशी तुलना करा.


If you pick a sufficiently large, cryptographically random salt, you’ve completely defeated ahead-of-time attacks.

जर तुम्ही पुरेसे मोठे, क्रिप्टोग्राफिकदृष्ट्या यादृच्छिक मीठ निवडले, तर तुम्ही वेळेपूर्वीचे हल्ले पूर्णपणे पराभूत केले आहेत.


In order to successfully mount a rainbow table attack, an attacker would have to have a separate table for each of those salt values.

इंद्रधनुष्य सारणी हल्ला यशस्वीरित्या करण्यासाठी, हल्लेखोराला त्या प्रत्येक मीठ मूल्यांसाठी एक स्वतंत्र सारणी असणे आवश्यक आहे.


Computing a single table takes a decent amount of time; computing 2^160 different tables is impossible.

एका टेबलची गणना करण्यासाठी चांगला वेळ लागतो; 2^160 भिन्न टेबल्सची गणना करणे अशक्य आहे.


Many systems used a single salt for all users.

अनेक प्रणालींनी सर्व वापरकर्त्यांसाठी एकच मीठ वापरले.


While that prevented an ahead-of-time rainbow table attack, it still allowed attackers to attack all passwords simultaneously.

त्यामुळे वेळेपूर्वीचा इंद्रधनुष्य सारणी हल्ला रोखला गेला, तरीही हल्लेखोरांना एकाच वेळी सर्व पासवर्डवर हल्ला करण्याची परवानगी मिळाली.


An attacker would simply compute a single rainbow table for that salt, and compare the results with the hashed passwords from the database.

एक हल्लेखोर फक्त त्या मिठासाठी एकच इंद्रधनुष्य सारणीची गणना करेल आणि डेटाबेस मधील हॅश केलेल्या पासवर्ड्सच्या निकालांची तुलना करेल.


While this would have been prevented by using a different salt for each user, systems that use a cryptographic hash with a per-user salt are still considered fundamentally broken today.

प्रत्येक वापरकर्त्यासाठी वेगळे मीठ वापरून हे टाळता आले असते, तरीही, प्रति-वापरकर्ता मीठ असलेले क्रिप्टोग्राफिक हॅश वापरणाऱ्या प्रणाली आजही मूलभूतपणे सदोष मानल्या जातात.


Perhaps the biggest problem with salts is that many programmers were suddenly convinced they were doing the right thing.

मिठांमधील कदाचित सर्वात मोठी समस्या म्हणजे अनेक प्रोग्रामरना अचानक खात्री झाली की ते योग्य काम करत आहेत.


They’d heard of broken password storage schemes, and they knew what to do instead, so they ignored all talk about how a password database could be compromised.

त्यांनी पासवर्ड स्टोरेज योजना मोडल्याचे ऐकले होते, आणि त्यांना काय करायचे हे माहित होते, म्हणून त्यांनी पासवर्ड डेटाबेस कसा तडजोड करू शकतो याबद्दलची सर्व चर्चा दुर्लक्षित केली.


Modern attacks on weak password systems To a modern attack, salts quite simply don’t help.

कमकुवत पासवर्ड सिस्टमवरील आधुनिक हल्ल्यांसाठी, आधुनिक हल्ल्यात, मीठ साधे मदत करत नाही.


Modern attacks take advantage of the fact that the hash function being used is easy to compute.

आधुनिक हल्ले या वस्तुस्थितीचा फायदा घेतात की वापरले जाणारे हॅश फंक्शन गणना करणे सोपे आहे.


Using faster hardware, in particular video cards, we can simply enumerate all of the passwords, regardless of salt.

जलद हार्डवेअर वापरून, विशेषतः व्हिडिओ कार्ड, आम्ही फक्त सर्व पासवर्डची गणना करू शकतो, मिठाची पर्वा न करता.


Salts may make precomputed attacks impossible, but they do very little against an attacker that actually knows the salt.

मीठ पूर्व-गणना केलेले हल्ले अशक्य करू शकतात, परंतु जे प्रत्यक्षात मीठ जाणतात अशा हल्लेखोरांविरुद्ध ते फारच कमी करतात.


So where do we go from here? In order to protect passwords, you need a (low-entropy) key derivation function.

तर, येथून पुढे काय? पासवर्डचे संरक्षण करण्यासाठी, आपल्याला (कमी-एन्ट्रॉपी) की डिरायव्हेशन फंक्शनची आवश्यकता आहे.


The attacker can reconstruct a, b with some simple modular arithmetic.

आक्रमक साध्या मॉड्यूलर अंकगणिताने a, b पुन्हा तयार करू शकतो.


This simple example only works for one-block messages m, and some prime p slightly bigger than the biggest m.

हे सोपे उदाहरण फक्त एका-ब्लॉक संदेशांसाठी (m) आणि काही मूळ p जे सर्वात मोठ्या m पेक्षा किंचित मोठे आहे, यासाठी कार्य करते.


In many ways, a one-time MAC is to authentication what a one-time pad is to encryption.

अनेक प्रकारे, एक-वेळचा MAC प्रमाणीकरणासाठी आहे, जे एक-वेळचे पॅड एन्क्रिप्शनसाठी आहे.


As long as the key is only used once, an attacker learns no information about the key or the message, because they are being irreversibly mixed.

जोपर्यंत की (key) फक्त एकदाच वापरली जाते, तोपर्यंत हल्लेखोर की किंवा संदेशाबद्दल कोणतीही माहिती मिळवत नाही, कारण ते अपरिवर्तनीयपणे मिसळले जातात.


a आणि b चा पुनर्वापर


Fortunately, this weakness can be solved with a construction called a Carter-Wegman MAC, which we’ll see in the next section.

सुदैवाने, ही कमकुवतता कार्टर-वेगमन MAC नावाच्या बांधकामाद्वारे सोडवता येते, जे आपण पुढील विभागात पाहू.


The idea behind a Carter-Wegman MAC is that you can use a one-time MAC to produce a tag for the bulk of the data, and then encrypt a nonce with a pseudorandom function F, such as a block cipher, to protect that one-time tag.

कार्टर-वेगमन MAC ची कल्पना अशी आहे की तुम्ही डेटाच्या मोठ्या भागासाठी टॅग तयार करण्यासाठी एक-वेळचा MAC वापरू शकता आणि नंतर त्या एक-वेळच्या टॅगचे संरक्षण करण्यासाठी ब्लॉक सायफरसारखे स्यूडोरँडम फंक्शन F वापरून नॉनस एन्क्रिप्ट करू शकता.


In the eyes of an attacker, that means the XOR operation will randomly flip the bits of the one-time MAC tag O(k2, M).

एका हल्लेखोराच्या दृष्टीने, याचा अर्थ असा आहे की XOR ऑपरेशन एक-वेळच्या MAC टॅग O(k2, M) चे बिट्स यादृच्छिकपणे बदलेल.


In the second term, O(k2, M), the large input message M is only handled by the very fast one-time MAC O.

दुसऱ्या टर्ममध्ये, O(k2, M), मोठा इनपुट संदेश M फक्त अतिशय जलद एक-वेळच्या MAC O द्वारे हाताळला जातो.


The majority of secure connections that are set up every day have that distinction as well: they treat encryption and authentication as fundamentally different steps.

दररोज सेट होणारे बहुतेक सुरक्षित कनेक्शन देखील हे वेगळेपण दर्शवतात: ते एन्क्रिप्शन आणि प्रमाणीकरणाकडे मूलभूतपणे भिन्न पावले म्हणून पाहतात.


It makes sense to use constructions that not only guarantee the privacy of an arbitrary stream, but also its integrity.

अशा रचना वापरणे योग्य आहे जे केवळ यादृच्छिक प्रवाहाची गोपनीयता सुनिश्चित करत नाहीत, तर त्याची अखंडता देखील सुनिश्चित करतात.


AEAD is a feature of certain modes of authenticated encryption.

AEAD हे प्रमाणित एन्क्रिप्शनच्या विशिष्ट पद्धतींचे वैशिष्ट्य आहे.


In many cases the metadata should be plaintext, but the content itself should be encrypted.

अनेक प्रकरणांमध्ये मेटाडेटा प्लेनटेक्स्टमध्ये असावा, परंतु सामग्री स्वतः एन्क्रिप्टेड (encrypted) असावी.


Consider an e-mail alternative as an example cryptosystem.

उदाहरणार्थ, एक ईमेल पर्याय एक क्रिप्टोसystem म्हणून विचारात घ्या.


The metadata about the content might contain the intended recipient.

सामग्रीबद्दलच्या मेटाडेटा मध्ये इच्छित प्राप्तकर्त्याचा समावेश असू शकतो.


AEAD modes address this issue by providing a specified way to add metadata to encrypted content, so that the whole of the encrypted content and the metadata is authenticated, and not the two pieces separately.

AEAD मोड एन्क्रिप्टेड सामग्रीमध्ये मेटाडेटा जोडण्याचा एक निर्दिष्ट मार्ग प्रदान करून या समस्येचे निराकरण करतात, जेणेकरून संपूर्ण एन्क्रिप्टेड सामग्री आणि मेटाडेटा प्रमाणित केले जाते, दोन भाग स्वतंत्रपणे नाहीत.


Usually, you will want to use a much more high level cryptosystem, such as OpenPGP, NaCl or TLS.

सर्वसाधारणपणे, तुम्हाला OpenPGP, NaCl किंवा TLS सारखे उच्च-स्तरीय क्रिप्टोसystem वापरायचे असेल.


Being an AEAD mode, OCB mode provides a cryptographically secure authentication tag t, which is built from X, a very simple (not cryptographically secure by itself) checksum of the plaintext.

AEAD मोड असल्याने, OCB मोड एक क्रिप्टोग्राफिकदृष्ट्या सुरक्षित प्रमाणीकरण टॅग t प्रदान करते, जे X पासून तयार केले जाते, जे प्लेनटेक्स्टचे अतिशय सोपे (स्वतःच क्रिप्टोग्राफिकदृष्ट्या सुरक्षित नाही) चेकसम आहे.


This design has a number of interesting properties.

या डिझाइनमध्ये अनेक मनोरंजक गुणधर्म आहेत.


A signature algorithm is the public-key equivalent of a message authentication code.

सही अल्गोरिदम संदेश प्रमाणीकरण कोडच्या सार्वजनिक-की समतुल्य आहे.


A state generation function, which produces a new state from the old state.

एक राज्य निर्मिती कार्य, जे जुन्या राज्यावरून नवीन राज्य तयार करते.


The state initialization function is also called right before the first number is extracted.

राज्य आरंभ कार्य पहिले number काढण्यापूर्वी लगेच बोलावले जाते.


The initialization function creates an instance of Mersenne Twister’s state array, from a small initial random number called aseed.

सुरुवात कार्य Mersenne Twister च्या स्थिती श्रेणीचे उदाहरण तयार करते, एका लहान प्रारंभिक यादृच्छिक number पासून, ज्याला seed म्हणतात.


For those of you who haven’t worked with Python or its bitwise operators: •»and«are right-shift and left-shift

ज्यांनी Python किंवा त्याचे बिटवाईज ऑपरेटर वापरले नाहीत त्यांच्यासाठी: •»आणि« म्हणजे उजवीकडे सरकणे आणि डावीकडे सरकणे.


The state regeneration function takes the current state and produces a new state.

राज्य पुनरुत्पादन कार्य वर्तमान स्थिती घेते आणि नवीन स्थिती तयार करते.


The tempering function is applied to the current element of the state before returning it as the produced random number.

टेम्परिंग फंक्शन (tempering function) वर्तमान स्थितीच्या घटकाला लागू केले जाते, आणि नंतर ते यादृच्छिक number म्हणून परत केले जाते.


It may not be obvious, especially if you’re not used to binary arithmetic, but this function is bijective or one-to-one.

हे स्पष्ट नसेल, विशेषत: जर तुम्ही बायनरी अंकगणिताशी परिचित नसाल, पण हे कार्य एक-एक किंवा बायजेक्टिव्ह आहे.


Remember that for cryptographic security, it has to be impossible to predict future outputs or recover past outputs given present outputs.

लक्षात ठेवा की क्रिप्टोग्राफिक सुरक्षिततेसाठी, वर्तमान आउटपुट दिले असता भविष्यातील आउटपुटचा अंदाज लावणे किंवा भूतकाळातील आउटपुट पुनर्प्राप्त करणे अशक्य असले पाहिजे.


SSL, short for Secure Socket Layer, is a cryptographic protocol originally introduced by Netscape Communications 1 for securing traffic on the Web.

SSL, जे Secure Socket Layer चे संक्षिप्त रूप आहे, हे एक क्रिप्टोग्राफिक प्रोटोकॉल आहे, जे मूळतः Netscape Communications 1 द्वारे वेबवरील रहदारी सुरक्षित करण्यासाठी सादर केले गेले.


Its first and foremost goal is to transport bytes securely, over the Internet or any other insecure medium.

याचे पहिले आणि महत्त्वाचे ध्येय म्हणजे इंटरनेट किंवा इतर कोणत्याही असुरक्षित माध्यमावर सुरक्षितपणे बाइट्स (bytes) पाठवणे.


TLS is the world’s most common cryptosystem, and hence probably also the most studied.

TLS हे जगातील सर्वात सामान्य क्रिप्टोसystem आहे, आणि म्हणूनच, बहुधा सर्वात जास्त अभ्यासले जाते.


A downgrade attack is a man-in-the-middle attack where an attacker modifies the handshake messages that negotiate which ciphersuite is being used.

एक डाउनग्रेड हल्ला (downgrade attack) हा एक मध्यस्थी हल्ला आहे, जिथे एक हल्लेखोर (attacker) हँडशेक संदेश बदलतो, जे सिफरसूट (ciphersuite) वापरले जात आहे हे ठरवतात.


TLS certificates can be used to authenticate peers, but how do we authenticate the certificate?

TLS प्रमाणपत्रे (certificates) समवयस्कांना (peers) प्रमाणित करण्यासाठी वापरली जाऊ शकतात, परंतु आपण प्रमाणपत्राचे प्रमाणीकरण कसे करतो?


When someone actually tries to use a certificate to impersonate a bank, real browsers don’t believe them.

जेव्हा कोणी बँकेचे (bank) रूप धारण करण्यासाठी प्रमाणपत्र वापरण्याचा प्रयत्न करतो, तेव्हा खरे ब्राउझर (browsers) त्यावर विश्वास ठेवत नाहीत.


TLS clients come with a list of trusted certificate authorities, commonly shipped with your operating system or your browser.

TLS क्लायंट्स (clients) विश्वसनीय प्रमाणपत्र प्राधिकरणांच्या (certificate authorities) सूचीसह येतात, जे सामान्यतः तुमच्या ऑपरेटिंग सिस्टम किंवा ब्राउझरमध्ये पुरवले जातात.


In TLS, certificates are usually only used to identify the server.

TLS मध्ये, प्रमाणपत्रे (certificates) सामान्यत: फक्त सर्व्हर (server) ओळखण्यासाठी वापरली जातात.


The TLS specification explicitly supports client certificates.

TLS तपशील क्लायंट प्रमाणपत्रांना (client certificates) स्पष्टपणे समर्थन देतो.


Suppose an attacker gets access to the server’s private key.

समजा, एका हल्लेखोराला सर्व्हरच्या खाजगी की (private key) मध्ये प्रवेश मिळतो.


That property is called perfect forward secrecy.

या गुणधर्माला परिपूर्ण फॉरवर्ड सिक्रेसी (perfect forward secrecy) म्हणतात.


Attacks on the protocol itself, such as subverting the CA mechanism.

प्रोटोकॉलवरचे हल्ले, जसे की CA यंत्रणेचे उल्लंघन.


Symmetric-key encryption is also known as secret-key encryption.

सममित-की एन्क्रिप्शनला गुप्त-की एन्क्रिप्शन म्हणून देखील ओळखले जाते.


AES stands for Advanced Encryption Standard.

AES म्हणजे प्रगत एन्क्रिप्शन मानक.


सीबीसी म्हणजे सायफर ब्लॉक चेनिंग.


CDN stands for content distribution network.

सीडीएन म्हणजे सामग्री वितरण नेटवर्क.


DES stands for Data Encryption Standard.

डीईएस म्हणजे डेटा एन्क्रिप्शन मानक.


FIPS stands for Federal Information Processing Standards.

एफआयपीएस म्हणजे फेडरल माहिती प्रक्रिया मानक.


HKDF stands for HMAC-based (Extract-and-Expand) Key Derivation Function.

एचकेडीएफ म्हणजे एचएमएसी-आधारित (काढा आणि विस्तारित करा) की डिरायव्हेशन फंक्शन.


HMAC stands for Hash-based Message Authentication Code.

एचएमएसी म्हणजे हॅश-आधारित संदेश प्रमाणीकरण कोड.


HSTS stands for HTTP Strict Transport Security.

एचएसटीएस म्हणजे HTTP स्ट्रिक्ट ट्रान्सपोर्ट सुरक्षा.


IV म्हणजे इनिशियलायझेशन वेक्टर.


केडीएफ म्हणजे की डिरायव्हेशन फंक्शन.


MAC stands for message authentication code.

एमएसी म्हणजे संदेश प्रमाणीकरण कोड.


एमआयटीएम म्हणजे मध्यस्थी करणारा माणूस.


ओसीबी म्हणजे ऑफसेट कोडबुक.


ओटीआर म्हणजे ऑफ-द-रेकॉर्ड.


पीएफ म्हणजे स्यूडोरँडम फंक्शन.


PRNG stands for pseudorandom number generator.

पीआरएनजी म्हणजे स्यूडोरँडम नंबर जनरेटर.


PRP stands for pseudorandom permutation.

पीआरपी म्हणजे स्यूडोरँडम परम्युटेशन.


आरएसए म्हणजे रिवेस्ट शामीर एडलमॅन.


SMP stands for socialist millionaire protocol.

एसएमपी म्हणजे समाजवादी कोट्याधीश प्रोटोकॉल.


Browsers originally implemented certificate pinning by coming shipped with a list of certificates.

सुरुवातीला, ब्राउझर्सनी प्रमाणपत्रांची यादी देऊन सर्टिफिकेट पिनिंगची अंमलबजावणी केली.


For example, Google included whitelisted certificates for all of their services in their Chrome browser.

उदाहरणार्थ, Google ने त्यांच्या Chrome ब्राउझरमध्ये त्यांच्या सर्व सेवांसाठी व्हाईटलिस्ट केलेले प्रमाणपत्र समाविष्ट केले.


Often, the defaults are unsafe, and people are unaware that they should be changed.

अनेकदा, डिफॉल्ट सुरक्षित नसतात आणि लोकांना ते बदलले पाहिजेत हे माहित नसते.


The things that constitute a secure TLS configuration can change rapidly.

सुरक्षित TLS कॉन्फिगरेशन बनवणाऱ्या गोष्टी झपाट्याने बदलू शकतात.


Old clients that still need to be supported sometimes mean that you have to hang on to broken configuration options.

जुन्या क्लायंट्सना अजूनही सपोर्ट करणे आवश्यक आहे, याचा अर्थ असा आहे की तुम्हाला तुटलेल्या कॉन्फिगरेशन पर्यायांवर अवलंबून रहावे लागते.


Good advice necessarily changes over time, and it’s impossible to do so in a persistent medium such as a book.

चांगला सल्ला वेळेनुसार बदलतो आणि पुस्तकासारख्या सतत माध्यमात असे करणे अशक्य आहे.


They provide tests for both SSL clients and servers, and extensive advice on how to improve configurations.

ते SSL क्लायंट आणि सर्व्हर दोघांसाठीही चाचण्या देतात आणि कॉन्फिगरेशन कसे सुधारावे याबद्दल विस्तृत सल्ला देतात.


OpenPGP is an open standard that describes a method for encrypting and signing messages.

OpenPGP एक मुक्त मानक आहे जे संदेश एन्क्रिप्ट (encrypt) आणि साइन (sign) करण्याची पद्धत वर्णन करते.


Unlike TLS, which focuses on data in motion, OpenPGP focuses on data at rest.

TLS पेक्षा वेगळे, जे गतीमधील डेटावर लक्ष केंद्रित करते, OpenPGP विश्रांतीतील डेटावर लक्ष केंद्रित करते.


A TLS session is active: bytes fly back and forth as the peers set up the secure channel.

TLS सत्र सक्रिय आहे: सुरक्षित चॅनेल सेट करत असताना, बाइट्स (bytes) इकडे तिकडे उडतात.


An OpenPGP interaction is, by comparison, static: the sender computes the entire message up front using information shared ahead of time.

या तुलनेत, OpenPGP संवाद स्थिर आहे: प्रेषक (sender) अगोदर सामायिक केलेल्या माहितीचा वापर करून संपूर्ण संदेशाची गणना करतो.


In fact, OpenPGP doesn’t insist that anything is sent at all: for example, it can be used to sign software releases.

खरं तर, OpenPGP आग्रह करत नाही की काहीही पाठवले जावे: उदाहरणार्थ, ते सॉफ्टवेअर प्रकाशनावर सही करण्यासाठी वापरले जाऊ शकते.


Users have key pairs consisting of a public key and a private key.

यूजर्सकडे सार्वजनिक की (key) आणि खाजगी की (key) असलेले की पेअर (key pair) असतात.


Public key algorithms are used both for signing and encryption.

सार्वजनिक की अल्गोरिदम (algorithm) सही (signing) आणि एन्क्रिप्शन (encryption) दोन्हीसाठी वापरले जातात.


The simplest case is a directly trusted key.

सर्वात सोपा प्रकार म्हणजे थेट विश्वासार्ह की.


If we meet up in person, we can verify each other’s identities.

जर आपण समोरासमोर भेटलो, तर आपण एकमेकांची ओळख पडताळू शकतो.


There’s a direct trust link between the two of us, and we can communicate securely.

आपल्या दोघांमध्ये थेट विश्वासाचा दुवा आहे आणि आपण सुरक्षितपणे संवाद साधू शकतो.


A slightly more complicated case is when a friend of yours would like to send me a message.

यापेक्षा किचकट गोष्ट म्हणजे तुमचा मित्र मला संदेश पाठवू इच्छितो.


The main weakness in this system are ”islands” of trust: individuals or small groups with no connections to the rest of the web.

या प्रणालीतील मुख्य कमकुवतपणा म्हणजे विश्वासाचे “बेट”: वेबच्या उर्वरित भागाशी कनेक्शन नसलेले व्यक्ती किंवा लहान गट.


Off-the-record (OTR) messaging is a protocol for securing instant messaging communication between people.

ऑफ-द-रेकॉर्ड (OTR) संदेशन हे लोकांमधील इन्स्टंट मेसेजिंग (instant messaging) सुरक्षित करण्यासाठीचे प्रोटोकॉल आहे.


Modular exponentiation is a crucial case in many cryptographic applications.

मॉड्यूलर घातांक अनेक क्रिप्टोग्राफिक अनुप्रयोगांमध्ये एक महत्त्वपूर्ण बाब आहे.


For example, in RSA decryption, the exponent is the private key d, which is usually more than a thousand bits long.

उदाहरणार्थ, RSA डिक्रिप्शनमध्ये, घातांक खाजगी की d आहे, जो सामान्यतः हजार बिट्सपेक्षा जास्त लांब असतो.


Keep in mind that this method will still leak timing information, so it’s only suitable for offline computation.

लक्षात ठेवा की ही पद्धत अजूनही वेळेची माहिती लीक करेल, त्यामुळे ती फक्त ऑफलाइन गणनेसाठी योग्य आहे.


Modular exponentiation can also be computed using a technique called a Montgomery ladder.

मॉड्यूलर घातांक मोंटगोमेरी शिडी नावाच्या तंत्रज्ञानाचा वापर करून देखील मोजला जाऊ शकतो.


Many programming languages provide access to specific modular exponentiation functions.

अनेक प्रोग्रामिंग भाषा विशिष्ट मॉड्यूलर घातांक फंक्शन्समध्ये प्रवेश प्रदान करतात.


For example, in Python, pow(e, x, m) performs efficient modular exponentiation.

उदाहरणार्थ, पायथनमध्ये, pow(e, x, m) कार्यक्षम मॉड्यूलर घातांक करते.


However, the expression (e ** x) % m will still use the inefficient method.

परंतु, (e ** x) % m हे अभिव्यक्ती अजूनही अकार्यक्षम पद्धत वापरतील.


The Montgomery ladder is an algorithm that resolves this by guaranteeing the same number of operations irrespective of the particular value of the exponent.

मोंटगोमेरी शिडी हा एक अल्गोरिदम आहे जो घातांकाच्या विशिष्ट मूल्याची पर्वा न करता समान संख्येने ऑपरेशन्सची हमी देऊन हे सोडवतो.


It was originally applied for efficient scalar multiplications over elliptic curves.

हे मूलतः लंबवर्तुळाकार वक्रांवर कार्यक्षम स्केलर गुणाकारांसाठी लागू केले गेले.


Generally, any k can be written as a sum ( ∑ ) of some powers of two (2 i ).

सर्वसाधारणपणे, कोणतीही k दोनच्या काही शक्तींची ( ∑ ) बेरीज म्हणून लिहिता येते (2 i ).


That definition might look scary, but all you’re really doing here is defining k i as bit of k at position i.

ती व्याख्या भीतीदायक वाटू शकते, परंतु तुम्ही येथे जे करत आहात ते म्हणजे k i ला i स्थानावर k चा बिट म्हणून परिभाषित करणे.


The sum goes over all the bits: if k is t bits long, and we start indexing at 0, the index of the highest bit is t−1, and the index of the lowest bit is 0.

बेरीज सर्व बिट्सवर जाते: जर k t बिट्स लांब असेल, आणि आपण 0 पासून इंडेक्सिंग सुरू करतो, तर सर्वात मोठ्या बिटचा निर्देशांक t−1 आहे, आणि सर्वात लहान बिटचा निर्देशांक 0 आहे.


For example, the binary expansion of the number 6 is 0b110.

उदाहरणार्थ, 6 या संख्येचा बायनरी विस्तार 0b110 आहे.


That number is three bits long, so t = 3.

ती संख्या तीन बिट्सची आहे, म्हणून t = 3.


Essentially, L j is just k shifted to the right by j bits.

मूलतः, L j म्हणजे k फक्त j बिट्सने उजवीकडे सरळ केलेले आहे.


Shifting to the right by one bit is the same thing as flooring division by two.

एका बिटने उजवीकडे सरळ करणे हे दोनने भागाकार करण्यासारखेच आहे.


Analogously, shifting left is the inverse operation, and is equivalent to multiplying by two.

त्याचप्रमाणे, डावीकडे सरळ करणे ही व्यस्त क्रिया आहे आणि ती दोनने गुणाकार करण्यासारखीच आहे.


We can combine these to produce an inductive way to compute L j and H j.

L j आणि H j ची गणना करण्यासाठी, आपण हे एकत्रित करून एक आगमनात्मक मार्ग तयार करू शकतो.


Remember that we’re doing this to compute g k.

लक्षात ठेवा की आपण हे g k ची गणना करण्यासाठी करत आहोत.


The important part about this algorithm is the constant number of operations.

या अल्गोरिदममधील महत्त्वाची गोष्ट म्हणजे ऑपरेशन्सची स्थिर संख्या.