It is rude for them to ask about your current wage so you should get offended by it. There is no legitimate reason to ask for someones salary; the only reason they ask is to screw you over. If you don't think that it is rude then you could just as well ask the company whats the highest wage they offered an employee for this position and see how they react. It is the same thing really since if you have that number then it gets really hard for the manager to argue why you should get significantly less than that.
But sure, usually hiring managers expects that the applicants will endure any form of bullying without complaints, but do you really want to work for such a place? If you really need the job then you might have no options, but in that case you will get screwed no matter what.
"As a matter of personal policy and professional courtesy, I don't discuss the details of my engagement with my current employer with third parties. I'll do the same if I work for you."
You still tell that to the company. Then they think that you are scrupulous and honest.
If they tell you the clause is not enforceable, you can still say, "That's interesting, but I'm still not comfortable. Perhaps you'd pay for me to consult with an employment lawyer of my choosing to have a third-party verify your claim."
In reality, it's all smoke and mirrors. You just have to have a reasonable sounding excuse for not disclosing; they can't push without looking like a jerk.
But sure, usually hiring managers expects that the applicants will endure any form of bullying without complaints, but do you really want to work for such a place? If you really need the job then you might have no options, but in that case you will get screwed no matter what.