P |
L |
A |
Y |
F |
I |
R |
E |
X |
M |
B |
C |
D |
G |
H |
J |
K |
N |
O |
S |
T |
U |
V |
W |
Z |
![]() |
Skriv ett
Matlabfunktion, playfair(text,
key, crypt),
som givet en kodnyckel och teckenvektor (klartext) producerar
kryptotexten enligt metoden ovan. Programmet skall
också klara att dekryptera en text (givet nyckeln). Du kan utgå från att alla skiljetecken har avlägsnats från både kodnyckel och klartext. Om du vill skriva en mer generell rutin, där du tillåter skiljetecken och en blandning av versaler och gemena i klartexten, kan du enkelt (en rad) avlägsna allt som inte är en bokstav (använd isletter) och konvertera till versaler (upper) eller gemena (lower). Så här skall funktionen kunna användas: ciphertext = playfair(plaintext, key, true) plaintext = playfair(ciphertext, key, false) Testa din kod (kryptering och dekryptering) på exemplet ovan. Testa även på följande två exempel som kontrollerar om det är något problem med strängar av udda eller jämn längd. str = playfair('PROGRAM', 'HEMLIGT', true) playfair(str, 'HEMLIGT', false) str = playfair('PROGRAMPROGRAM', 'HEMLIGT', true) playfair(str, 'HEMLIGT', false) Dekryptera slutligen följande krypotext (klipp och klistra): chiffer = 'FLAPJBCZFAEMAUHJNREPGPDVUNLINGNWSRMCABAHTNOREPFESGFSEMBSAHGOHJNREPGPDVUNCRAJLAEMHJNGSRPAAMNEXUULHDLEDZ'; Nyckeln är: NOPRESSURENODIAMONDS |