मैंने एन्क्रिप्शन शुरू करने वाले लोगों के बारे में सुना है और सोचा है कि यह कुछ ऐसा हो सकता है जो मैं चाहूंगा, इसलिए मैंने एक्सओआर की जांच की और इसका कोई अर्थ नहीं उठाया। तो क्या कोई मुझे बता सकता है कि एक्सओआर क्या है?एक्सओआर एन्क्रिप्शन क्या है?
उत्तर
एक्सओआर एक तार्किक ऑपरेशन है, विशिष्ट या उच्चारण किया गया है। इसका उपयोग संदेशों को आसानी से और तेज़ करने के लिए किया जा सकता है। आप इस कार्रवाई को यहां के लिए एक सच तालिका देख सकते हैं: http://mathworld.wolfram.com/XOR.html
अर्ध छद्म कोड कार्यान्वयन (http://www.evanfosmark.com/2008/06/xor-encryption-with-python/) के माध्यम से:
#!/usr/bin/env python
from itertools import izip, cycle
def xor_crypt_string(data, key):
return ''.join(chr(ord(x)^ord(y)) for (x,y) in izip(data, cycle(key)))
my_data = "Hello. This is a secret message! How fun."
my_key= "firefly"
# Do the actual encryption
encrypted = xor_crypt_string(my_data, key=my_key)
print encrypted
print '---->'
# This will obtain the original data from the encrypted
original = xor_crypt_string(encrypted, key=my_key)
print original
आउटपुट:
. BY2F
FRR
DF$IB
---->
Hello. This is a secret message! How fun.
XOR, या 'विशेष या' एक 2 संकार्य तार्किक आपरेशन के रूप में परिभाषित किया गया है:
(a and b) or (not a and not b)
a b result
0 0 0
1 0 1
0 1 1
1 1 0
एन्क्रिप्शन के संबंध में XOR की महत्वपूर्ण विशेषता यह प्रतिवर्ती है है, यानी जहां सी = एक XOR बी, तो आप ए = सी एक्सओआर बी
तो सादे टेक्स्ट ए की एक धारा के लिए, और उसी लंबाई बी की एक कुंजी के लिए वापस प्राप्त कर सकते हैं, आप क्रिप्टोटेक्स्ट सी उत्पन्न कर सकते हैं, और प्राप्तकर्ता को भेज सकते हैं।
प्राप्तकर्ता, जो अपनी तिजोरी में बी की एक प्रति है, सी XOR बी
यदि बी केवल एक बार उपयोग किया जाता है, तो यह एक बार पैड एन्क्रिप्शन है, एकमात्र प्रकार का एन्क्रिप्शन जो सैद्धांतिक रूप से अटूट है। –
आप एक चाबी ले, इस तरह के 0101 के रूप में, तो आप उस का उपयोग अपने स्ट्रिंग XOR के लिए करते हैं और ए को पुनर्जीवित कर सकते हैं (बाइनरी में प्रारूप) एक एन्क्रिप्टेड स्ट्रिंग प्राप्त करने के लिए।
0101 XOR <-- key
1011 <---- original message
----
1110 <-- send message
आप अपने रिसीवर को 1110 भेजते हैं।
1110 XOR <--- received message
0101 <-- key
----
1011 <--- original message
XOR 'विशेष या' के लिए कम है: यह रिसीवर है, तो मूल संदेश प्राप्त करने के लिए कुंजी के साथ प्राप्त स्ट्रिंग और यह XORs लेता है। एक एक्सओआर बी सच है यदि ए सच है, या यदि बी सत्य है, लेकिन यदि ए और बी दोनों सत्य नहीं हैं।
इसका उपयोग क्रिप्टोग्राफी के लिए किया जाता है क्योंकि ए एक्सओआर बी एक्सओआर ए बी के बराबर है - इसलिए यदि आप ए को एन्क्रिप्शन और डिक्रिप्शन दोनों के लिए एक कुंजी के रूप में उपयोग कर सकते हैं।
ऐसा लगता है, की इस पद्धति है कि एन्क्रिप्शन को शायद ही कभी सुरक्षित माना जा सकता है। अगर आप किसी भी सामान्य फ़ाइल (पीएनजी, जेपीजी, इत्यादि) को एन्क्रिप्ट करते हैं जहां हेडर अच्छी तरह से जाना जाता है, तो कुंजी आसानी से एन्क्रिप्टेड सामग्री और ज्ञात हेडर से ली जा सकती है।
असल में, यह कार्यान्वयन पर निर्भर करता है। यदि आपकी मुख्य लंबाई कम है तो संदेश की लंबाई, कुंजी को दोहराया जा रहा है और इसे व्युत्पन्न किया जा सकता है। यदि कुंजी लंबाई संदेश की लंबाई के समान होती है, और आप कभी भी एक ही कुंजी का दो बार उपयोग नहीं करते हैं, तो आपके पास अनिवार्य रूप से एक बार-पैड होता है जिसे टूटा नहीं जा सकता है। – Marko
हालांकि, आपको प्राप्तकर्ता को कुंजी को सुरक्षित रूप से प्रेषित करने का एक तरीका ढूंढना होगा - और यदि आप ऐसा कर सकते हैं, तो आप इसके बजाय उस सुरक्षित चैनल का उपयोग करके संदेश भेज सकते थे। (इसलिए असली दुनिया में ओटीपी का ज्यादा उपयोग क्यों नहीं किया जाता है)। – Noah
सबसे सरल स्तर पर, एक्सओआर (उच्चारण "अनन्य या") जैसे परिवर्तनीय संचालन foundation of most cryptography बनाते हैं।
एक्सओआर टॉगल स्विच की तरह काम करता है जहां आप विशिष्ट बिट्स को चालू और बंद कर सकते हैं। यदि आप किसी संख्या (बिट्स का एक पैटर्न) "स्कैम्बल" करना चाहते हैं, तो आप इसे "गुप्त" नंबर के साथ एक्सओआर करना चाहते हैं। यदि आप उस scrambled संख्या और XOR को फिर से उसी गुप्त संख्या के साथ लेते हैं, तो आप अपना मूल नंबर वापस प्राप्त करते हैं।
Encrypt a number (210) with a secret "key" (145). 210 XOR 145gives you 65 ←-- your "scrambled" result |+ now unscramble it +| ↓ 65 XOR 145gives you 210 ←-- and back to your original number
यह एक बहुत rudamentary उदाहरण है। जब आप XOR के साथ संख्याओं (या पाठ या बिट्स के किसी भी पैटर्न) को अनुक्रमित करते हैं, तो आपके पास very basic cipher algorithm है।
वास्तव में * सभी * क्रिप्टोग्राफी का आधार नहीं है क्योंकि ब्लॉक सिफर के कई तरीके हैं जो ईसीबी, ओएफबी और सीएफबी जैसे एकल एक्सओआर नहीं करते हैं। इसके अलावा कोई भी रिवर्सिबल ऑपरेशन एक्सओआर की जगह ले सकता है, जैसे मॉड 256 अतिरिक्त/घटाव एक आम उदाहरण के रूप में। –
मैंने थोड़ी सी पोस्ट को स्पष्ट किया। –
एक्सओआर एन्क्रिप्शन का उपयोग cipher block chaining में भी किया जा सकता है। एक्सओआर सीबीसी का उपयोग कई एन्क्रिप्शन कार्यान्वयन के अतिरिक्त के रूप में किया जाता है। एक गूगल कोड परियोजना है कि अपने आप में इस का उपयोग करता है नहीं है, हालांकि XOR अकेले बहुत सुरक्षित नहीं है: http://code.google.com/p/xorencryption/
मैं XOR एन्क्रिप्शन बारे में एक ब्लॉग http://programmingconsole.blogspot.in/2013/10/xor-encryption-for-alphabets.html
गणित के अनुसार, XOR एन्क्रिप्शन लिखा/सिफर, additive सिफर है एक एन्क्रिप्शन एल्गोरिथ्म है कि निम्नलिखित सिद्धांतों के अनुसार संचालित:
(A * B) + (!A * !B)
A B A XOR B
0 0 0
1 0 1
0 1 1
1 1 0
XOR ऑपरेटर बस की तरह है और (*) और या (+) ऑपरेटर सिफर हम सिर्फ मूल हासिल करने के लिए कुंजी के साथ सिफर XOR की जरूरत को डिक्रिप्ट करने के लिए पाठ एक्सओआर ऑपरेटर जटिल एन्क्रिप्शन एल्गोरिदम में बेहद आम घटक है। इस तरह की एक एन्क्रिप्शन निरंतर दोहराने वाली कुंजी और आवृत्ति विश्लेषण का उपयोग करके आसानी से टूटा जा सकता है। लेकिन हम प्रत्येक एन्क्रिप्शन को तोड़ने के बाद कुंजी बदलते हैं, इस तरह की एन्क्रिप्शन कंप्यूटेशनल रूप से बहुत कठिन है ऐसे सिफर को स्ट्रीम सिफर कहा जाता है जिसमें प्रत्येक अगली बिट को एक अलग छद्म-यादृच्छिक कुंजी का उपयोग करके एन्क्रिप्ट किया जाता है, इस प्रकार की एन्क्रिप्शन जर्मनों द्वारा उपयोग की जाती थी उनके Lorentz सिफर।
कुंजी सिफर का एक सही मायने में यादृच्छिक * धारा का उपयोग करके सैद्धांतिक रूप से अटूट इसलिए व्यर्थ
मैं देखने के लिए आप की सिफारिश करेंगे है
बीबीसी: कोड ब्रेकर्स Bletchley पार्क नायकों वृत्तचित्र खो
यह आपको क्रिप्टोग्राफी और एन्क्रिप्टेड बिट्स की दुनिया में वास्तविक अंतर्दृष्टि देगा। क्रिप्टोग्राफी कितनी महत्वपूर्ण है? वैसे यह कंप्यूटर के आविष्कार का कारण था।
- 1. एक्सओआर एन्क्रिप्शन के साथ क्या गलत है?
- 2. एक्सओआर
- 3. लिनक्स/एक्सओआर
- 4. जावास्क्रिप्ट - स्ट्रिंग पर बिटवाई एक्सओआर?
- 5. शून्य कुंजी एन्क्रिप्शन क्या है?
- 6. एक्सओआर उद्देश्य-सी
- 7. बिटअरे और एक्सओआर
- 8. क्या XPath में कोई अनन्य या 'एक्सओआर' है?
- 9. एक्सओआर और नॉन-इक्वाल-टू के बीच क्या अंतर है?
- 10. एक्स एक्सओआर (x/2) का रिवर्स फ़ंक्शन क्या है?
- 11. क्या यह एईएस एन्क्रिप्शन पर्याप्त सुरक्षित है?
- 12. क्या एन्क्रिप्शन गारंटी अखंडता करता है?
- 13. क्या क्यूटी समर्थन आरएसए एन्क्रिप्शन करता है?
- 14. एन्क्रिप्शन
- 15. एन्क्रिप्शन
- 16. एन्क्रिप्शन
- 17. एन्क्रिप्शन
- 18. दो छोटे पूर्णांकों का एक्सओआर
- 19. जावा में एक्सओआर न्यूरल नेटवर्क
- 20. एसक्यूएल सर्वर नल लॉजिकल एक्सओआर
- 21. एक फ़ील्ड या अन्य (एक्सओआर)
- 22. डेटाबेस एन्क्रिप्शन या अनुप्रयोग स्तर एन्क्रिप्शन?
- 23. SSL प्रमाणपत्र एन्क्रिप्शन बनाम साइफर एन्क्रिप्शन
- 24. डेटाबेस एन्क्रिप्शन
- 25. एन्क्रिप्शन कुंजी
- 26. एन्क्रिप्शन (आईपीए)
- 27. एन्क्रिप्शन पुस्तकालय?
- 28. असममित एन्क्रिप्शन
- 29. नेट एन्क्रिप्शन
- 30. रुनक एन्क्रिप्शन
http://en.wikipedia.org/wiki/XOR_cipher – miku