what you want to do can't be done here automatically as @TT has pointed out.
You can do the two step as noted by @TT - they fill out the contact form then you reply to them with the "secret handshake"
You can't set the Post or Page to "Private" as only Admin's and I think Editors can see something that is Private.
You have two options I can think of - put the file on a Page, use a custom menu so the page is not visible to visitors then you send them the URL of the "hidden" Page - the Page can also be password protected
I set a Post to Password Protected for some things I don't want visible to the world, then I send the link to the Post along with the password to get into the Post.
Depending on the file you might be able to password protect it also - the downside is that people loose passwords to files and at some time say some very bad things about you and you end up sending out the file password again and again
Either way once you send out the link or the password anyone can pass the info along to others