<?xml version="1.0" encoding="UTF-8"?>
<Worksheet><Version major="6" minor="0"/><View-Properties><Zoom percentage="150"/></View-Properties><Styles><Layout alignment="left" bullet="none" firstindent="0.0" leftmargin="0.0" linebreak="space" name="Normal" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="centred" bullet="none" linespacing="0.5" name="Maple Output"/><Font background="[0,0,0]" bold="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Text" opaque="false" size="12" underline="false"/><Font background="[0,0,0]" family="Times New Roman" foreground="[0,0,255]" name="2D Output" opaque="false" readonly="true" size="12"/><Font background="[0,0,0]" bold="true" executable="true" family="Monospaced" foreground="[255,0,0]" name="Maple Input" opaque="false" size="12"/></Styles><Group><Input><Text-field alignment="centred" layout="Normal" style="Text"><Font bold="true" executable="false" family="Trebuchet MS" size="24">Protocollo di crittografia di Cesare</Font></Text-field><Text-field alignment="centred" layout="Normal" style="Text"/></Input></Group><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text"><Font bold="true" executable="false" size="14">Conversione testo (stringa) &lt;-&gt; numeri (lista)</Font></Text-field><Text-field layout="Normal" style="Text"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Alphabet:=" ABCDEFGHIJKLMNOPQRSTUVWXYZ";</Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSlBbHBoYWJldEc2IlE8fkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaRiU=</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" style="Text"><Font executable="false">Procedure di conversione</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">StringToList := proc(text::string)
    local i;
    global Alphabet;
    [seq(SearchText(text[i],Alphabet)-1, i=1..length(text))];
  end:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ListToString := proc(numlist::list(nonnegint))
    local i;
    global Alphabet;
    cat(seq(Alphabet[numlist[i]+1], i=1..nops(numlist)));
  end:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text"><Font executable="false">Messaggio da inviare convertito in lista</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">S:="VADO A CASA DI ZORRO";</Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSJTRzYiUTVWQURPfkF+Q0FTQX5ESX5aT1JST0Yl</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">L:=StringToList(S);</Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSJMRzYiNzYiI0EiIiIiIiUiIzoiIiFGKEYrIiIkRigiIz5GKEYrRikiIipGKyIjRUYqIiM9RjBGKg==</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text"><Font bold="true" executable="false" size="14">Shift della lista modulo 27: codifica e decodifica</Font></Text-field><Text-field layout="Normal" style="Text"/></Input></Group><Group><Input><Text-field layout="Normal" style="Text"><Font encoding="ISO8859-1" executable="false">Scelta del valore di shift (= chiave unica, poich\351 crittografia a chiave privata)</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">s:=3;</Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSJzRzYiIiIk</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" style="Text"><Font executable="false">Codifica della lista e conversione nel testo da inviare</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">g:= (j) -&gt; L[j]+s:
C1:=[seq( g(j), j=1..nops(L))]:
C:=map(modp,C1,27);</Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSJDRzYiNzYiI0QiIiUiIigiIz0iIiRGKEYrIiInRigiI0FGKEYrRikiIzdGKyIiI0YqIiNARjBGKg==</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">MC:=ListToString(C);</Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSNNQ0c2IlE1WURHUkNEQ0ZEVkRDR0xDQlJVVVJGJQ==</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" style="Text"><Font executable="false">Decodifica della stringa via conversrione in lista e poi di nuovo in testo</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">N:=StringToList(MC);</Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSJORzYiNzYiI0QiIiUiIigiIz0iIiRGKEYrIiInRigiI0FGKEYrRikiIzdGKyIiI0YqIiNARjBGKg==</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">g:= (j) -&gt; N[j]+(27-s):
H1:=[seq( g(j), j=1..nops(L))]:
H:=map(modp,H1,27);</Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSJIRzYiNzYiI0EiIiIiIiUiIzoiIiFGKEYrIiIkRigiIz5GKEYrRikiIipGKyIjRUYqIiM9RjBGKg==</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">M:=ListToString(H);</Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSJNRzYiUTVWQURPfkF+Q0FTQX5ESX5aT1JST0Yl</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field/></Worksheet>
