load "public_key.txt";

Vn:=VectorSpace(GF,n);
Vm:=VectorSpace(GF,m);

message:=Random(Vn);

ciphertext:=[];

for i:=1 to m do
	for j:=1 to n do
		Pk[i]:=Evaluate(Pk[i],x[j],message[j]);
	end for;
	ciphertext[i]:=MonomialCoefficient(Pk[i],1);
end for;

ciphertext:=Vm!ciphertext;

printf "message: %o \n \n", message;
printf "ciphertext: %o  \n \n", ciphertext;


printf"Write ciphertext.txt \n \n";
SetOutputFile("ciphertext.txt":Overwrite:=true);
printf "Vm:=VectorSpace(GF,m); \n \n";
printf "ciphertext:= Vm!(%o) ; \n \n", Eltseq(ciphertext);
UnsetOutputFile();
