Encoding
The purpose of encoding is to transform data so that it can
be properly (and safely) consumed by a different type of system, e.g. binary
data being sent over email, or viewing special characters on a web page. The
goal is not to keep information secret, but rather to ensure that it’s able to
be properly consumed.
Encoding transforms data into another format using a scheme
that is publicly available so that it can easily be reversed. It does not
require a key as the only thing required to decode it is the algorithm that was
used to encode it.
Examples: ascii, unicode, URL Encoding, base64
एन्कोडिंग
एन्कोडिंग
का उद्देश्य डेटा को बदलना
है ताकि यह एक
अलग प्रकार की प्रणाली द्वारा
ठीक से (और सुरक्षित
रूप से) उपभोग किया
जा सके, उदा। बाइनरी
डेटा को ईमेल पर
भेजा जा रहा है,
या एक वेब पेज
पर विशेष वर्ण देख रहा
है। लक्ष्य जानकारी को गुप्त रखना
नहीं है, बल्कि यह
सुनिश्चित करना है कि
यह ठीक से उपभोग
करने में सक्षम है।
एन्कोडिंग
सार्वजनिक रूप से उपलब्ध
एक योजना का उपयोग करके
डेटा को दूसरे प्रारूप
में बदल देता है
ताकि इसे आसानी से
उलट दिया जा सके।
इसे एक कुंजी की
आवश्यकता नहीं है क्योंकि
इसे डिकोड करने के लिए
केवल एक चीज की
आवश्यकता होती है यह
एल्गोरिदम है जिसे इसे
एन्कोड करने के लिए
उपयोग किया गया था।
उदाहरण:
एस्की, यूनिकोड, URL एनकोडिंग, base64
Encryption
The purpose of encryption is to transform data in order to
keep it secret from others, e.g. sending someone a secret letter that only they
should be able to read, or securely sending a password over the Internet.
Rather than focusing on usability, the goal is to ensure the data cannot be
consumed by anyone other than the intended recipient(s).
Encryption transforms data into another format in such a way
that only specific individual(s) can reverse the transformation. It uses a key,
which is kept secret, in conjunction with the plaintext and the algorithm, in
order to perform the encryption operation. As such, the ciphertext, algorithm,
and key are all required to return to the plaintext.
Examples: aes, blowfish, rsa
एन्क्रिप्शन
एन्क्रिप्शन
का उद्देश्य डेटा को दूसरों
से गुप्त रखने के लिए
बदलना है, उदा। किसी
को एक गुप्त पत्र
भेजना, जिसे केवल वे
ही पढ़ सकते हैं,
या सुरक्षित रूप से इंटरनेट
पर एक पासवर्ड भेजना
चाहिए। प्रयोज्य पर ध्यान केंद्रित
करने के बजाय, लक्ष्य
यह सुनिश्चित करना है कि
इच्छित प्राप्तकर्ता (नों) के अलावा
किसी अन्य द्वारा डेटा
का उपभोग नहीं किया जा
सकता है।
एन्क्रिप्शन
डेटा को दूसरे प्रारूप
में इस तरह से
रूपांतरित करता है कि
केवल विशिष्ट व्यक्ति (एस) ही परिवर्तन
को उलट सकता है।
यह एक कुंजी का
उपयोग करता है, जिसे
गुप्त ऑपरेशन को करने के
लिए, सादे और एल्गोरिथ्म
के साथ संयोजन में
गुप्त रखा जाता है।
इस तरह, सिफरटेक्स्ट, एल्गोरिथ्म
और कुंजी सभी को प्लेटेक्स्ट
में वापस आना आवश्यक
है।
उदाहरण:
एईएस, ब्लोफिश, आरसा
Hashing
Hashing serves the purpose of ensuring integrity, i.e.
making it so that if something is changed you can know that it’s changed.
Technically, hashing takes arbitrary input and produce a fixed-length string
that has the following attributes:
The same input will always produce the same output.
Multiple disparate inputs should not produce the same
output.
It should not be possible to go from the output to the
input.
Any modification of a given input should result in drastic
change to the hash.
Hashing is used in conjunction with authentication to
produce strong evidence that a given message has not been modified. This is
accomplished by taking a given input, hashing it, and then signing the hash
with the sender’s private key.
When the recipient opens the message, they can then validate
the signature of the hash with the sender’s public key and then hash the
message themselves and compare it to the hash that was signed by the sender. If
they match it is an unmodified message, sent by the correct person.
Examples: sha-3, md5 (now obsolete), etc.
हैशिंग
हैशिंग
अखंडता सुनिश्चित करने के उद्देश्य
से कार्य करता है, यानी
इसे बनाना ताकि अगर कुछ
बदला जाए तो आप
जान सकें कि यह
बदल गया है। तकनीकी
रूप से, हैशिंग मनमाना
इनपुट लेती है और
एक निश्चित लंबाई वाली स्ट्रिंग का
निर्माण करती है जिसमें
निम्नलिखित गुण होते हैं:
एक ही इनपुट हमेशा
एक ही आउटपुट का
उत्पादन करेगा।
कई अलग-अलग इनपुट
एक ही आउटपुट का
उत्पादन नहीं करना चाहिए।
आउटपुट
से इनपुट तक जाना संभव
नहीं होना चाहिए।
दिए
गए इनपुट के किसी भी
संशोधन के परिणामस्वरूप हैश
में काफी बदलाव होना
चाहिए।
हैशिंग
का उपयोग प्रमाणीकरण के साथ संयोजन
के रूप में किया
जाता है ताकि यह
सुनिश्चित किया जा सके
कि किसी संदेश को
संशोधित नहीं किया गया
है। यह किसी दिए
गए इनपुट को पूरा करने,
उसे हैशिंग करने और फिर
प्रेषक की निजी कुंजी
के साथ हैश पर
हस्ताक्षर करने से पूरा
होता है।
जब प्राप्तकर्ता संदेश को खोलता है,
तो वे प्रेषक की
सार्वजनिक कुंजी के साथ हैश
के हस्ताक्षर को मान्य कर
सकते हैं और फिर
स्वयं संदेश को हैश कर
सकते हैं और प्रेषक
द्वारा हस्ताक्षरित हैश से तुलना
कर सकते हैं। यदि
वे मेल खाते हैं
तो यह एक अनमोल
संदेश है, जिसे सही
व्यक्ति द्वारा भेजा गया है।
उदाहरण:
sha-3, md5 (अब अप्रचलित), आदि।
Obfuscation
The purpose of obfuscation is to make something harder to
understand, usually for the purposes of making it more difficult to attack or
to copy.
One common use is the the obfuscation of source code so that
it’s harder to replicate a given product if it is reverse engineered.
It’s important to note that obfuscation is not a strong
control (like properly employed encryption) but rather an obstacle. It, like
encoding, can often be reversed by using the same technique that obfuscated it.
Other times it is simply a manual process that takes time to work through.
Another key thing to realize about obfuscation is that there
is a limitation to how obscure the code can become, depending on the content
being obscured. If you are obscuring computer code, for example, the limitation
is that the result must still be consumable by the computer or else the
application will cease to function.
Examples: javascript obfuscator, proguard
कहानियो
ओफ़्फ़ुलेशन
का उद्देश्य समझने के लिए कुछ
कठिन बनाना है, आमतौर पर
इसे हमला करने या
कॉपी करने के लिए
और अधिक कठिन बनाने
के उद्देश्यों के लिए।
एक सामान्य उपयोग स्रोत कोड का अपभ्रंश
है जिससे किसी दिए गए
उत्पाद को फिर से
बनाना मुश्किल होता है यदि
यह रिवर्स इंजीनियर है।
यह ध्यान रखना महत्वपूर्ण है
कि ओफ़्यूसकेशन एक मजबूत नियंत्रण
(ठीक से नियोजित एन्क्रिप्शन
की तरह) नहीं है,
बल्कि एक बाधा है।
एन्कोडिंग की तरह, इसे
अक्सर उसी तकनीक का
उपयोग करके उलटा किया
जा सकता है जो
इसे बाधित करता है। दूसरी
बार यह केवल एक
मैनुअल प्रक्रिया है जिसके माध्यम
से काम करने में
समय लगता है।
मोटापे
के बारे में महसूस
करने के लिए एक
और महत्वपूर्ण बात यह है
कि इस बारे में
एक सीमा है कि
कोड कितना अस्पष्ट हो सकता है,
यह इस बात पर
निर्भर करता है कि
सामग्री अस्पष्ट है। यदि आप
कंप्यूटर कोड का पालन
कर रहे हैं, उदाहरण
के लिए, सीमा यह
है कि परिणाम अभी
भी कंप्यूटर द्वारा उपभोग्य होना चाहिए अन्यथा
एप्लिकेशन कार्य करना बंद कर
देगा।
उदाहरण:
जावास्क्रिप्ट पर्यवेक्षक, रक्षक
S ummary
Encoding is for maintaining data usability and can be
reversed by employing the same algorithm that encoded the content, i.e. no key
is used.
Encryption is for maintaining data confidentiality and
requires the use of a key (kept secret) in order to return to plaintext.
Hashing is for validating the integrity of content by
detecting all modification thereof via obvious changes to the hash output.
Obfuscation is used to prevent people from understanding the
meaning of something, and is often used with computer code to help prevent
successful reverse engineering and/or theft of a product’s functionality.
सारांश
एन्कोडिंग
डेटा प्रयोज्य बनाए रखने के
लिए है और सामग्री
को एन्कोड किए गए एक
ही एल्गोरिदम को नियोजित करके
उलटा किया जा सकता
है, अर्थात कोई कुंजी का
उपयोग नहीं किया जाता
है।
एन्क्रिप्शन
डेटा गोपनीयता बनाए रखने के
लिए है और सादे
में लौटने के लिए एक
कुंजी (गुप्त रखा गया) के
उपयोग की आवश्यकता होती
है।
हैश
आउटपुट में स्पष्ट परिवर्तनों
के माध्यम से सभी संशोधन
का पता लगाकर सामग्री
की अखंडता को मान्य करने
के लिए हैशिंग।
किसी
चीज़ के अर्थ को
समझने से लोगों को
रोकने के लिए ओफ़्यूसकेशन
का उपयोग किया जाता है,
और अक्सर कंप्यूटर कोड के साथ
इसका उपयोग सफल रिवर्स इंजीनियरिंग
और / या उत्पाद की
कार्यक्षमता की चोरी को
रोकने में मदद करने
के लिए किया जाता
है।
No comments:
Post a Comment