Erstelle ein Polybios-Quadrat ohne Schlüssel?
- Erstelle ein Polybios-Quadrat ohne Schlüssel:
a) Verschlüssele den Klartext:
CODIERUNGISTLUSTIG
b) Entschlüssele den Text:
35 24 55 55 11 45 33 14 15 24 43 13 42 15 32 15
c) Entschlüssele den Text:
24 13 23 32 45 43 43 32 24 13 22 25 34 33 55 15 33 44 42 24 15 42 15 33
2 Antworten
Geht man davon aus, dass dein Quadrat die Maße 5x5 haben soll ergibt sich das Quadrat im Bild. Du siehst ohne Schlüssel verwendet man jediglich das Alphabet als solchen und setzt, da man nur 25 Plätze frei hat I und J gleich. Möglich ist es auch 'U' und 'V' gleichzusetzen.
Von da aus geht es ganz einfach. Man liest die Tabelle so, dass man zuerst einmal die linke Zahl nimmt und dann die obere. Der Buchstabe B entspricht zum Beispiel 12.
Zu deinen Aufgaben:
a)
C O D I E R U N G I S T L U S T I G
13 34 14 24 15 42 45 33 22 24 43 44 31 45 43 44 24 22
Das Ergebnis ist also: 13 34 14 24 15 42 45 33 22 24 43 44 31 45 43 44 24 22
b) 35 24 55 55 11 45 33 14 15 24 43 13 42 15 32 15
Hier ist das Ergebnis: PIZZAUNDEISCREME
c) 24 13 23 32 45 43 43 32 24 13 22 25 34 33 55 15 33 44 42 24 15 42 15 33
Hier ist das Ergebnis: ICHMUSSMICGKONZENTRIEREN.
Ich vermute gemeint ist:
ICHMUSSMICHKONZENTRIEREN, dafür bräuchte man jedoch den verschlüsselten Code:
24 13 23 32 45 43 43 32 24 13 23 25 34 33 55 15 33 44 42 24 15 42 15 33
Liebe Grüße.
Das c++ Programm könnte so aussehen:
#include <iostream>
#include <iomanip>
#include <cstring>
int main(int argc, char **argv)
{
char texta[17] = {35, 24, 55, 55, 11, 45, 33, 14, 15, 24, 43, 13, 42, 15, 32, 15, 0};
char textb[25] = {24, 13, 23, 32, 45, 43, 43, 32, 24, 13, 22, 25, 34, 33, 55, 15, 33, 44, 42, 24, 15, 42, 15, 33, 0};
//1 '2 '3 '4 '5
char schluessel[5][5] = {
'A', 'B', 'C', 'D', 'E',
'F', 'G', 'H', 'I', 'K',
'L', 'M', 'N', 'O', 'P',
'Q', 'R', 'S', 'T', 'U',
'V', 'W', 'X', 'Y', 'Z'};
int i, zehner, einer, lge;
std::cout << "Polybius Test" << std::endl;
lge = strlen(texta);
std::cout << "Texta verschluesselt" << std::endl;
for (i = 0; i < lge; i++)
{
zehner = (int)texta[i] / 10;
einer = (int)texta[i] % 10;
std::cout << "i=" << std::setw(2) << i << " " << (int)texta[i] << " zehner=" <<zehner << " einer=" << einer;
std::cout << " =" << schluessel[zehner-1][einer-1]<< std::endl;
}
std::cout << std::endl << "-------------------------" << std::endl;
for (i = 0; i < lge; i++)
{
zehner = (int)texta[i] / 10;
einer = (int)texta[i] % 10;
std::cout << schluessel[zehner-1][einer-1];
}
std::cout << std::endl << "-------------------------" << std::endl;
lge = strlen(textb);
std::cout << "Textb verschluesselt" << std::endl;
for (i = 0; i < lge; i++)
{
zehner = (int)textb[i] / 10;
einer = (int)textb[i] % 10;
std::cout << "i=" << std::setw(2) << i << " " << (int)textb[i] << " zehner=" <<zehner << " einer=" << einer;
std::cout << " =" << schluessel[zehner-1][einer-1]<< std::endl;
}
std::cout << std::endl << "-------------------------" << std::endl;
for (i = 0; i < lge; i++)
{
zehner = (int)textb[i] / 10;
einer = (int)textb[i] % 10;
std::cout << schluessel[zehner-1][einer-1];
}
std::cout << std::endl << "-------------------------" << std::endl;
return 0;
}
Eragon saphira17 hat recht, da istein Zahlendreher drin:
Ausgabe des obigen Programms auf dem Screen:
Polybius Test
Texta verschluesselt
i= 0 35 zehner=3 einer=5 =P
i= 1 24 zehner=2 einer=4 =I
i= 2 55 zehner=5 einer=5 =Z
i= 3 55 zehner=5 einer=5 =Z
i= 4 11 zehner=1 einer=1 =A
i= 5 45 zehner=4 einer=5 =U
i= 6 33 zehner=3 einer=3 =N
i= 7 14 zehner=1 einer=4 =D
i= 8 15 zehner=1 einer=5 =E
i= 9 24 zehner=2 einer=4 =I
i=10 43 zehner=4 einer=3 =S
i=11 13 zehner=1 einer=3 =C
i=12 42 zehner=4 einer=2 =R
i=13 15 zehner=1 einer=5 =E
i=14 32 zehner=3 einer=2 =M
i=15 15 zehner=1 einer=5 =E
-------------------------
PIZZAUNDEISCREME
-------------------------
Textb verschluesselt
i= 0 24 zehner=2 einer=4 =I
i= 1 13 zehner=1 einer=3 =C
i= 2 23 zehner=2 einer=3 =H
i= 3 32 zehner=3 einer=2 =M
i= 4 45 zehner=4 einer=5 =U
i= 5 43 zehner=4 einer=3 =S
i= 6 43 zehner=4 einer=3 =S
i= 7 32 zehner=3 einer=2 =M
i= 8 24 zehner=2 einer=4 =I
i= 9 13 zehner=1 einer=3 =C
i=10 22 zehner=2 einer=2 =G
i=11 25 zehner=2 einer=5 =K
i=12 34 zehner=3 einer=4 =O
i=13 33 zehner=3 einer=3 =N
i=14 55 zehner=5 einer=5 =Z
i=15 15 zehner=1 einer=5 =E
i=16 33 zehner=3 einer=3 =N
i=17 44 zehner=4 einer=4 =T
i=18 42 zehner=4 einer=2 =R
i=19 24 zehner=2 einer=4 =I
i=20 15 zehner=1 einer=5 =E
i=21 42 zehner=4 einer=2 =R
i=22 15 zehner=1 einer=5 =E
i=23 33 zehner=3 einer=3 =N
-------------------------
ICHMUSSMICGKONZENTRIEREN
-------------------------