Those are a bunch of steps, but I'll steer you in the right direction. I hope you know some PHP and HTML, otherwise you shouldn't be asking those questions yet and we can't really help you.
1. Form: You should know HTML. Forms aren't that complex. You'll need an upload box, a caption box, and whatever else. You say you want it to be secure? Add in a password blank and check for it in your script.
2. XML: You could use
simplexml.
3. Image stuff: Use GD. Search for some thumbnail generation tutorials.
4. Upload: Search for an upload tutorial. There are tons of them.
I get the feeling you don't know more than a minuscule amount about some of the technologies you'll be using for this. If so, you'll need to do tons of reading, and a HTML/PHP tutorial beforehand.