private byte[] pkcs1unpad2(BigInteger src, int n) 
	{
		byte[] bytes = src.toByteArray();
		byte[] out;
		int i = 0;
		
		while(i < bytes.length && bytes[i] == 0) 
		{
			++i;
		}
		
		if(bytes.length-i != n-1 || bytes[i]>2) 
		{
			return null;
		}
		
		++i;
		
		while(bytes[i]!=0) 
		{
			if(++i>=bytes.length)
			{
				return null;
			}
		}
		
		out = new byte[(bytes.length-i)+1];
		int p = 0;
		
		while (++i < bytes.length) 
		{
			out[p++] = (bytes[i]);
		}
		
		return out;
	}