public IMessage cryptanalyse(IMessage crypte) {
		long d=new Date().getTime();
		int l=this.determinerLongueurCle(crypte);
		String[] cesar=new String[l];
		for(int i=0;i<l;i++) {
			cesar[i]="";
		}
		for(int i=0;i<crypte.taille();i++) {
			cesar[i%l]+=crypte.getChar(i);
		}
		IMessage[] aCombiner=new IMessage[l];
		for(int i=0;i<l;i++) {
			aCombiner[i]=this.cryptanalyseCesar(Fabrique.fabriquerMessage(cesar[i]));
		}
		String res="";
		for(int i=0;i<crypte.taille();i++) {
			res+=aCombiner[i%l].getChar(i/l);
		}
		IMessage m=Fabrique.fabriquerMessage(res);
		this.time=new Date().getTime()-d;
		double min=Outils.comparerCourt(m.getChar());
		if(min<cst) {
			this.succesCrypto=true;
		}
		return m;
	}