If you want a really hard challenge, then you could try writing a program that performs frequency analysis to decode the following. The keyword is not given. You also don't know how long it is.
RWDCJM UM TINNLNFPJ—UOB RHZRYCOE NBJAY GJEYN UCRWI WFO TMDYUFZHH YSIVR KBF URS UFV QPPCX XMIET—QYIVJU VF SEFJKZNFB RHE RFNBJ. RFXYPM ZGVFE RF NIC YUOBJ-IO GDJFPRNJTV! UMJ ZHGMIGBRZIO QYIVJU VF DIYF. KZMUPLMU YLNIMICUW—GLPKFNF BVWFLKLBJZTBRZIO. FRWLCIM TFFOMB SY KSUAFB SS UFVCS FRWLGEA, OMK WSGKYSGR MVAY UT BVASCVM, BEV, LBAV, MFV, FL QMJCUGFH. ZML WBL TLFYKY BPK UOB SYBSKS PL R WPKGOUCI. WPKGOUCIM DYE WIYEAF WFOS JZZF DFL UFV VFRKYS.