Done is used as the past participle in combination with have, obviously, but done is also used as an adjective meaning "carried out, completed, or treated in a particular way: her hunting days were done" (Webster's); as such, either statement is correct depending on the context. Usually, "I have done" would require an object (done what, precisely?) and "I am done" would signify that one was finished with, say, a task. At least in the U.S., a person would be much more likely to say "I'm done" to indicate the conclusion of an activity like homework or chores, and so on.


'Have' is strictly correct. You would properly say:

Yes, I have done.

or

Yes, I have finished.

However, 'I am done', 'I'm done', or 'I'm all done' is also generally accepted to mean the same thing. I believe it's more prevalent in US English.