cod1(c,a,b):={ local n; n:=(asc(c))[0]-32; n:=irem(a*n+b,96); return(char(n+32)); }; codm1(m,a,b):={ local r,c,s; r:=""; s:=size(m); for (k:=0;k=96){ r:=irem(n,96); r:=char(r+32); s:=r+s; n:=iquo(n,96); } n:=char(n+32); s:=n+s; return(s); }; n2mot(n):={ local mot,s; mot:=ecritu96(n); s:=size(mot); //on suppose n<96^3 on transforme n en un mot de 3 caracteres //on rajoute des espaces si le mot n'a pas 3 lettres if (s==2) {mot:=" "+mot;} else { if (s==1) {mot:=" "+mot;} } return(mot); }; codmot3(mot,para):={ //codage d'un mot de 3 lettres avec le parametrage para local n,m,a,b; //para:[569,2] mod 96^3 //decopara3=[674825, 419822] a:=para[0]; b:=para[1]; n:=mot2n(mot); m:=irem(a*n+b,96^3); return(n2mot(m)); }; codmess3(mess,para):={ //code le message mess,parametrage para et paquet de 3 lettres local s,messcod,mess3; s:=size(mess); if (irem(s,3)==2){ mess:=mess+" "; s:=s+1; } else { if (irem(s,3)==1) { mess:=mess+" "; s:=s+2; } } messcod:=""; for (k:=0;k