It sounds like your database backup is corrupt.
The log should be the last thing restored. After the database restore has failed the database should be left in either a restoring state, or a suspect state. Try detaching the database, and reattaching it without the transaction log and see if SQL can recreate an empty log file for you.
You can also try bring the database online using the ALTER DATABASE command and see what SQL Server does with it.
Do you have another backup which you can try to restore from?