0

डिकोड परिणाम

Affine
A
B

एन्कोड परिणाम

Affine
A
B

Affine Cipher के बारे में

Affine Cipher एक मोनोअल्फाबेटिक सब्सटीट्यूशन सिफर (monoalphabetic substitution cipher) है जो टेक्स्ट में वर्णों को अन्य वर्णों से बदलकर एन्क्रिप्ट करता है।

वर्णों का प्रतिस्थापन निम्नलिखित सूत्र द्वारा किया जाता है।

E(x) = (ax + b) mod m

m परिवर्तित किए जाने वाले वर्णों के प्रकार का प्रतिनिधित्व करता है। x 0 से m - 1 तक की संख्याओं से बदले गए वर्ण हैं। a और b एन्क्रिप्शन की कुंजी (keys) हैं।

उदाहरण के लिए, "ABCDEFGHIJKLMNOPQRSTUVWXYZ" के 26 अंग्रेजी वर्णों के लिए, m = 26, और x A ~ Z को संख्याओं में बदला गया 0 ~ 25 है।

वर्णABCDEFGHIJKLMNOPQRSTUVWXYZ
x012345678910111213141516171819202122232425

यदि a = 5, b = 3 है, तो एन्क्रिप्शन निम्नानुसार किया जाता है।

एन्क्रिप्शन से पहलेSECRET
x184217419
(5x + 3)932313882398
(5x + 3) mod 26152313102320
एन्क्रिप्शन के बादPXNKXU

a = 5, b = 3 के साथ सभी अंग्रेजी वर्णों को एन्क्रिप्ट करने का परिणाम इस प्रकार है।

एन्क्रिप्शन से पहले : ABCDEFGHIJKLMNOPQRSTUVWXYZ
एन्क्रिप्शन के बाद : DINSXCHMRWBGLQVAFKPUZEJOTY

यदि a = 1, b = -3 निर्दिष्ट किया जाता है, तो परिणाम Caesar Cipher जैसा होता है; यदि a = 1, b = 13 निर्दिष्ट किया जाता है, तो ROT13 जैसा; और यदि a = -1, b = -1 निर्दिष्ट किया जाता है, तो Atbash Cipher जैसा परिणाम प्राप्त होता है।

a को m के साथ सहअभाज्य (coprime) संख्या होनी चाहिए। इसका मतलब है कि केवल 1 ही ऐसी संख्या होनी चाहिए जो a और m दोनों को विभाजित कर सके। उदाहरण के लिए, यदि a = 4, m = 26 है, तो इसे निर्दिष्ट नहीं किया जा सकता क्योंकि 1 के अलावा 2 भी उन्हें विभाजित कर सकता है। DenCode में, यदि अमान्य a निर्दिष्ट किया जाता है, तो मूल वर्ण बिना परिवर्तन के वापस कर दिए जाते हैं।

अन्य भाषाओं का समर्थन

लैटिन वर्णों के अलावा, सिरिलिक (Cyrillic) और जापानी हीरागाना/काताकाना का समर्थन किया जाता है।

a = 5, b = 3 के साथ एन्क्रिप्ट करने के परिणाम क्रमशः इस प्रकार हैं।

सिरिलिक (Cyrillic)
एन्क्रिप्शन से पहले : АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
एन्क्रिप्शन के बाद : ГИНТЧЬБЖЛРХЪЯДЙОУШЭВЗМСЦЫАЕКПФЩЮ

m = 32 (32 वर्ण) है।

जापानी हीरागाना/काताकाना
एन्क्रिप्शन से पहले : ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんゔ
एन्क्रिप्शन के बाद : いぉぎこじそぢでぬぱぶほむゅりわゔぅおくごすぞっとねひぷぼめゆるゐぁうかぐさずたつどのびへぽもょれゑあぇがけざせだづなはぴべまゃよろをぃえきげしぜちてにばふぺみやらゎん
एन्क्रिप्शन से पहले : ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴ
एन्क्रिप्शन के बाद : イォギコジソヂデヌパブホムュリワヴゥオクゴスゾットネヒプボメユルヰァウカグサズタツドノビヘポモョレヱアェガケザセダヅナハピベマャヨロヲィエキゲシゼチテニバフペミヤラヮン

वर्णों का क्रम Unicode में परिभाषा के क्रम में है। कृपया ध्यान दें कि "ゕ", "ゖ", "ヵ", "ヶ" और "ヷ", "ヸ", "ヹ", "ヺ" एन्क्रिप्शन का विषय नहीं हैं।

m = 84 (84 वर्ण) है।