public boolean estClePriveValable(String k) {
		try {
			this.diviserKey(" "+k);
			this.interpreterClePrive();
			if(this.M<this.suite1[this.suite1.length-1] || this.M<this.W) {
				JOptionPane.showMessageDialog(null, "Le majorant n'en n'est pas un, cette cl n'est donc pas valable pour Merkle-Hcellman", "Majorant incorrect", JOptionPane.ERROR_MESSAGE);
				return false;
			}
			else {
				if(this.sigma1>this.suite1.length-1 || this.sigma2>this.suite1.length-1 || this.sigma1<0 || this.sigma2<0) {
					JOptionPane.showMessageDialog(null, "Les index de permutation sont incorrects", "Permutations impossibles", JOptionPane.ERROR_MESSAGE);
					return false;
				}
				else {
					if(!Outils.premierAvec(this.M, this.W)) {
						JOptionPane.showMessageDialog(null, "L'entier W n'est pas correct/cohrent avec le majorant", "Entier W incorrect", JOptionPane.ERROR_MESSAGE);
						return false;
					}
					else {
						boolean trouve=false;
						int i=1;
						long res=this.suite1[0];
						while(i<suite1.length && !trouve) {
							if(this.suite1[i]<=res) {
								trouve=true;
							}
							if(i!=suite1.length-1) {
								res+=this.suite1[i];
							}
							i++;
						}
						if(trouve) {
							JOptionPane.showMessageDialog(null, "La suite prive n'est pas supercroissante", "Suite priv incorrecte", JOptionPane.ERROR_MESSAGE);
							return false;
						}
						return true;
					}
				}
			}
		}
		catch(Exception e) {
			JOptionPane.showMessageDialog(null, "Format de la cl priv incorrect, le format correct est :\n (entier,....,entier){entier,entier}[entier,entier]\n avec "+TAILLE_ENCODAGE+" termes dans les paranthses", "Cl priv incorrecte", JOptionPane.ERROR_MESSAGE);
			return false;
		}
	}