Question & Answer: write the C++ or java code for this vigenere cipher…..

write the C++ or java code for this vigenere cipher

The language of the plaintext employs a 32 character alphabet:

Don't use plagiarized sources. Get Your Custom Essay on
Question & Answer: write the C++ or java code for this vigenere cipher…..
GET AN ESSAY WRITTEN FOR YOU FROM AS LOW AS $13/PAGE
Order Essay

a á b d ð e é f g h i í j k l m n o ó p r s t u ú v x y ý þ æ ö

The (approximate) frequencies of these letters in the (much larger)
work from which the plaintext was
culled is:

r -9.81% a – 9.14% n- 8.26% i- 8.00% e- 6.16% t- 5.90%
s- 4.76% l- 4.75%   k- 4.35% u- 3.66% m- 3.40% ð-3.13% g- 3.08% þ- 2.91% f-2.88% o -2.63%
h -2.47% v- 2.46% á- 2.15% d-1.48% ó- 1.43% í-1.26% b- 0.96% j -0.96%
ö- 0.89% y- 0.76% p -0.62% æ- 0.59% é- 0.53% ú-0.48% ý- 0.10% x- 0.04%

Break the following cipher and recover the plaintext:

ýivéöfxþspiýötxðgæhekilærlðuipiiaþigpirðlbgmlmrúvpæapaxýaoöttmrblþvötjfjabýtaivxöékójmggsggpxtóvöáoýéérvúóáóðímýuþoúiddrmérbéödrábáyyþrþbehójyuóáírójöiyípæapaxýajvteýæásóihipggátóéyiiúííhgyaxðúlðhéææýíðdúiyæþðæggmyóýuþvéþkúbíðvbídánsíyéarabíbáójðíiíövétdrhárgbtiæivípxúyæýaxsuipignoyæsðvvykrfjísúíkógðtmáíphpíaúyöfðhfdfmúiæéeýæíyaréðaóinðraðaæhúffgtmmbagðþeaúbsyiatyuráxréeoxustvétpíþörðséaxýíovtthbháoréyxithoæfjtaíxóötaiiiííbépaxýrbæáiaxðkbgtaía

Expert Answer

 

Source Code:

#include <iostream>
#include <string>
using namespace std;

class VigenereMethod
{
public:
string vigenerekey;

VigenereMethod(string vigenerekey)
{
for (int i = 0; i < vigenerekey.size(); ++i)
{
if (vigenerekey[i] >= ‘A’ && vigenerekey[i] <= ‘Z’)
this->vigenerekey += vigenerekey[i];
else if (vigenerekey[i] >= ‘a’ && vigenerekey[i] <= ‘z’)
this->vigenerekey += vigenerekey[i] + ‘A’ – ‘a’;
}
}

string decryptMessage(string encryptedtext)
{
string out;

for (int i = 0, j = 0; i < encryptedtext.length(); ++i) // finding the length of the encrypted message and converting to decrypted message
{
char c = encryptedtext[i];

if (c >= ‘a’ && c <= ‘z’)
c += ‘A’ – ‘a’;
else if (c < ‘A’ || c > ‘Z’)
continue;

out += (c – vigenerekey[j] + 26) % 26 + ‘A’;
j = (j + 1) % vigenerekey.length();
}

return out;
}
};

int main()
{
VigenereMethod cipher(“VIGENERECIPHER”); // Assigning the vegenere key

// Assigning the encrypted message
string encrypted=”ýivéöfxþspiýötxðgæhekilærlðuipiiaþigpirðlbgmlmrúvpæapaxýaoöttmrblþvötjfjabýtaivxöékójmggsggpxtóvöáoýéérvúóáóðímýuþoúiddrmérbéödrábáyyþrþbehójyuóáírójöiyípæapaxýajvteýæásóihipggátóéyiiúííhgyaxðúlðhéææýíðdúiyæþðæggmyóýuþvéþkúbíðvbídánsíyéarabíbáójðíiíövétdrhárgbtiæivípxúyæýaxsuipignoyæsðvvykrfjísúíkógðtmáíphpíaúyöfðhfdfmúiæéeýæíyaréðaóinðraðaæhúffgtmmbagðþeaúbsyiatyuráxréeoxustvétpíþörðséaxýíovtthbháoréyxithoæfjtaíxóötaiiiííbépaxýrbæáiaxðkbgtaíae”;

// Storing the decrypted message
string decrypted = cipher.decryptMessage(encrypted);

// Displaying the encrypted message
cout << “Encrypted Message is: ” << encrypted << endl;

// Displaying the decrypted message
cout << “Decrypted Message is: ” << decrypted << endl;
}

Output:

Encrypted Message is: ýivéöfxþspiýötxðgæhekilærlðuipiiaþigpirðlbgmlmrúvpæapaxýaoöttmrblþvötjfjabýtaivxöékójmggsggpxtóvöáoýéérvúóáóðímýuþoúiddrmérbéödrábáyyþrþbehójyuóáírójöiyípæapaxýajvteýæásóihipggátóéyiiúííhgyaxðúlðhéææýíðdúiyæþðæggmyóýuþvéþkúbíðvbídánsíyéarabíbáójðíiíövétdrhárgbtiæivípxúyæýaxsuipignoyæsðvvykrfjísúíkógðtmáíphpíaúyöfðhfdfmúiæéeýæíyaréðaóinðraðaæhúffgtmmbagðþeaúbsyiatyuráxréeoxustvétpíþörðséaxýíovtthbháoréyxithoæfjtaíxóötaiiiííbépaxýrbæáiaxðkbgtaíae

Decrypted Message is: NNZTFLRPVYSXGRQJFQVLREYARIEAQTAIYIARNSATTJTLNIEXURRBQCWKYSCRKGSIEYDZCYCLPKERVQMAOWNVWTXNOUHNZWSCUDWBCUCWYWVSUOPNXABECCPPWATACHFPFDQEHCEEJNRTGNVZAOHWPSMUFRALXNUNPXRATOLGDSROHEYEEFZROEAQENSFBGELXIDYFQZDSZOIGWJTNJNFLWNDOBELXFXJLWUXFURWRQFKTAJGRQFPEPNJDTTXALNDODXNWPTMDXKBNWKPJEGAMIWGWTCWKGKCRSLX

Still stressed from student homework?
Get quality assistance from academic writers!