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. Du kan utgå från att alla skiljetecken har avlägsnats från både kodnyckel och klartext. Programmet skall också klara att dekryptera en text (givet nyckeln). Eftersom metoden är symmetrisk så kan du kombinera kryptering och dekryptering i samma program genom att använda en logisk variabel, crypt = true eller false. 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 = ... ['FVBPZNNLSUGONOFJUOSMJEDKSEKGPOLAOSPGNBBSRSGDLAEMHJAUZUVIJERO', ... 'OZPEAPNIGZAPSIIPPRRMFLLZANZNPSATBRELWRONUPJEONPOPZRAMTHGSRPZ', ... 'RTNZNOAPMGFLLZRAMTKAEJRSONEAEPJZNBSRAHPRJSPYIRAHPR'] Nyckeln är: NOPRESSURENODIAMONDS |