private static byte[] encryptBloc(byte[] input){
		
		byte[] tmp = new byte[input.length];
		int t,u;
		int aux;
		int[] data = new int[input.length/4];
		for(int i =0;i<data.length;i++)
			data[i] = 0;
		int off = 0;
		for(int i=0;i<data.length;i++){
			data[i] = 	((input[off++]&0xff))|
						((input[off++]&0xff) << 8) |
						((input[off++]&0xff) << 16) |
						((input[off++]&0xff) << 24);
		}
	
		int A = data[0],B = data[1],C = data[2],D = data[3];
		
		B = B + S[0];
		D = D + S[1];
		for(int i = 1;i<=r;i++){
			t = rotl(B*(2*B+1),5);
			u = rotl(D*(2*D+1),5);
			A = rotl(A^t,u)+S[2*i];
			C = rotl(C^u,t)+S[2*i+1];
			
			aux = A;
			A = B;
			B = C;
			C = D;
			D = aux;
		}
		A = A + S[2*r+2];
		C = C + S[2*r+3];
		
		data[0] = A;data[1] = B;data[2] = C;data[3] = D;
		
		for(int i = 0;i<tmp.length;i++){
			tmp[i] = (byte)((data[i/4] >>> (i%4)*8) & 0xff);
		}
		
		return tmp;
	}