[సంగీతాన్ని] ZAMYLA చాన్: లెట్స్ అమలు విజెనెరే, కొద్దిగా ఎక్కువ సీజర్ సాంకేతికలిపి కంటే సురక్షితం. సాదా టెక్స్ట్ ఉపయోగించి enciphered ఉంది బదులుగా ఒక పూర్ణ సంఖ్య యొక్క ఒక స్ట్రింగ్. ప్రతి అక్షరం సాదా టెక్స్ట్ ద్వారా బదిలీ అవుతుంది కీవర్డ్ లో లేఖ. ఈ ఉదాహరణలో, కీవర్డ్ ohai, O 14 షిఫ్ట్ అనుగుణంగా; H ఒక 7 బదిలీ; ఒక, మార్పు 0; మరియు నేను 8 షిఫ్ట్. మీరు విజయవంతంగా అమలు చేసిన మీ సీజర్ సాంకేతికలిపి, అది ఒక nice ఉంటుంది ఫ్రేమ్ నుండి మీరు విజెనెరే అమలు చేయవచ్చు. మీరు చూడగలరు గా, ఒక విజెనెరే నడుస్తున్న ఒక ఒకే అక్షరంతో సాంకేతికలిపి కీవర్డ్ అదే విషయం ఒక సీజర్ సాంకేతికలిపి వంటి. అదే దశలను విజెనెరే వర్తిస్తాయి వారు సీజర్ లో చేసిన విధంగా. కీవర్డ్ రెండవ కమాండ్ లైన్ వాదన, కాబట్టి మీరు argv1 అది యాక్సెస్. అప్పుడు మీరు నిర్ధారించాలి ఆ కీ పదం నిజానికి అన్ని అక్షరమే ఉంటుంది. ఇక్కడ ఆల్ఫా పేరు ఉంది ఉపయోగపడుట చేయవచ్చు. మీరు ఒక చెల్లుబాటు అయ్యే కీవర్డ్ ఉంటే, మీరు పొందుటకు తరువాత వినియోగదారు నుండి బలం, మరియు మీరు encipher సిద్ధంగా. విజెనెరే సాంకేతికలిపి సూత్రం పోలి ఉంటుంది ఇప్పుడు k తప్ప సీజర్ సూత్రం, కు సూచిస్తూ k స్క్రిప్ట్ j, అవుతుంది ముఖ్యపదం j-వ లేఖ. యొక్క ఈ విధానం ద్వారా అడుగు లెట్. మీరు మీ కు ఒక సందేశాన్ని పంపాలనుకుంటున్నాము సే క్రాష్, నువ్వు అంటే నాకు ఇష్టం కానీ మీరు లేదు ప్రతి ఒక్కరూ తెలుసుకోవాలంటే. సో మీరు ఒక విజెనెరే సాంకేతికలిపి ఉపయోగించడానికి కీవర్డ్ పాండా, ఎందుకంటే, అదే, మీరు కూడా పాండాలు ఇష్టం. మొదటి లేఖ, నేను, మార్చబడుతుంది నేను తరువాత, 15 అక్షరాలు x ఇవ్వడం, p ద్వారా, 15 p 16 ఎందుకంటే వర్ణమాల యొక్క లేఖ. సాదా టెక్స్ట్ తదుపరి అక్షరం ఒక స్పేస్, మార్చబడుతుంది కాదు కనుక. మరియు కీవర్డ్ సూచి చెయ్యదు. అప్పుడు సాదా టెక్స్ట్ తదుపరి అక్షరం మారవచ్చు లేని ఒక ద్వారా మారింది l, అన్ని వద్ద సాదా టెక్స్ట్ లేఖ, ఎందుకంటే ఒక వర్ణమాల యొక్క 0th అక్షరం. ప్రక్రియ ముందుకు, కొనసాగుతుంది కీవర్డ్ పాత్ర ఉంది ప్రతిసారీ ఒక సాదా టెక్స్ట్లో లేఖ. కీవర్డ్ చివరి లేఖ ఒకసారి చేరుకున్నారు, కీవర్డ్ చుట్టూ మూటగట్టి, తదుపరి ప్లెయిన్ మార్పులు పే టెక్స్ట్ లేఖ. X lvne noh. ఎలా శృంగార. సో ఒక పాత్ర ఇచ్చారు, ఎలా మీరు మార్చడానికి లేదు అనుగుణమైన లోకి మార్పు సాంకేతికలిపి? ASCII పోల్చడం ప్రయత్నించండి మార్పుని విలువలు. బహుశా మీరు ఒక సంబంధం వెదుక్కోవచ్చు అక్షరాలు మరియు వారి మధ్య ASCII గణిత శాస్త్రాన్ని ఉపయోగించి అక్షర సూచిక. మీరు ఒక పాత్ర జోడించడానికి లేదా తీసివేయడం చేయవచ్చు మరొక నుండి పొందుటకు మీరు కోరుకున్న ఫలితం? గుర్తుంచుకో ఆ పెద్ద కోసం మార్పులు అక్షరాలు మరియు చిన్న అక్షరాలు ఒకటే. కావున బహుశా మీరు రెండు గుర్తించడానికి అవసరం ఇలాంటి సూత్రాలు ప్రాతినిధ్యం మార్పు, ఒక పెద్ద కోసం ఒక కీవర్డ్ పాత్ర, మరియు ఒక ఒక చిన్న ఒక కోసం. తరువాత, గుర్తుంచుకోవాలి కీవర్డ్ అభివృద్ధి మాత్రమే పాత్ర లో ఉంటే సాదా టెక్స్ట్ ఒక లేఖ మరియు ఉంది సాదా యొక్క కేసు టెక్స్ట్ ను అలాగే ఉంచాలి. మేము సూత్రం చూడండి కనుక విజెనెరే షిఫ్ట్, రెండు ఇండెక్స్ ఉన్నాయి వేరియబుల్స్, i మరియు j. ఒక సాదా లో స్థానం ట్రాక్ టెక్స్ట్, మరియు ఇతర స్థానం కీవర్డ్ లో. కానీ మీ సాదా టెక్స్ట్ చాలా ఎక్కువగా ఉంటుంది మీ కీవర్డ్ కంటే, ఈ సందర్భంలో మీ కీవర్డ్ ఇండెక్స్ తిరిగి చుట్టూ అవసరం కీవర్డ్ ప్రారంభానికి. మీరు ఎలా ఈ చేయగలను? వద్ద తిరిగి చూద్దాం యొక్క మోడ్యులో ఆపరేటర్లు. మాడ్యులో నిర్వచిస్తారు మిగిలిన ఉంది రెండు సంఖ్యల విభజించడం యొక్క. కానీ వాస్తవ క్రియాశీల వార్తలు మోడ్యులో ఉపయోగించడం? బాగా, మీరు ఒక పెద్ద సమూహం చెప్పటానికి ప్రజలు, మరియు మీరు విభజించాలనే అవసరం మూడు బృందాలు. సమూహాలు విభజించడమనేది ఒక మార్గం వాటిని ఆఫ్ కౌంట్ కలిగి ఉంది. మీరు సంఖ్య సమూహాలు సమూహం సంఖ్య 1, 2, మరియు 3. మొదటి వ్యక్తి, 1 చెబుతాను తదుపరి 2, తదుపరి 3. 1 చెప్పటానికి ఆ తరువాత వ్యక్తి, సమూహం 4, మరియు ఉండదు మొత్తం అక్కడ నుండి మొదలవుతుంది. మీరు మాడ్యులో ఉపయోగించవచ్చు ఇదే. ఈ సమయం, సమూహాలు అవుతుంది సమూహం 0, 1, మరియు 2. మొదటి వ్యక్తి, సంఖ్య 1 మాడ్యులో 3, 1. వ్యక్తి 2 మాడ్యులో 3 2. వ్యక్తి 3 మాడ్యులో 3 0. వ్యక్తి 4 మాడ్యులో 3 కాబట్టి 1 ఇస్తుంది, మరియు సమూహాలు చుట్టూ చేయవచ్చు. మీరు ఒక ఇండెక్స్ మరియు మాడ్యులో పడుతుంది కనుక ఒక గరిష్ట పరిమాణం ద్వారా ఇండెక్స్, ఫలితంగా ఎక్కువ లేదా ఎప్పటికీ అర్థం, పరిమాణం సమానంగా మీరు గా ఇండెక్స్ పెంచుతుంది మీరు కావలసినంత చాలా. మరియు కాలం మీరు ఇండెక్స్ మాడ్యూలో వంటి కొన్ని సంఖ్య, మీరు ఒక సంఖ్య అందదు కంటే పెద్ద. కాబట్టి మేము 10 మంది బదులుగా 5 కలిగి, మరియు వారు అన్ని సమూహాలలో కేటాయించిన వస్తుందనే సంఖ్య 0, 1, లేదా 2. పైగా చుట్టడం ఈ దరఖాస్తు ప్రయత్నించండి కీవర్డ్ తప్ప బదులుగా సార్టింగ్ సమూహం సంఖ్యలను మీరు అనుకుంటున్నారా ముఖ్యపదం ఇండెక్స్ మీరు చెయ్యవచ్చు తద్వారా సరైన పాత్ర పొందుటకు మించి లేకుండా మారవచ్చు స్ట్రింగ్ యొక్క పొడవు. తో, మీరు మీ విజెనెరే సాంకేతికలిపి. నా పేరు Zamyla ఉంది, మరియు ఈ CS50 ఉంది.