Windows uses IPSEC as a VPN protocal, IPSEC is available as a patch to the 2.4.x kernel or its naitive to 2.6.x.
However I prefer to use OpenVPN, it has a .exe installer for Windows, its simple to install on Linux (relatively). Uses very strong encryption too.
Grab it from:
http://sourceforge.net/projects/openvpn/
Or maybe tinc, which uses the same OpenSSL style of encryption, and like openvpn runs in userspace so won't bring down your kernel if it goes tits up.
Again, reasonably simple to install, and again an .exe for Win machines too.
http://tinc.nl.linux.org/
Either of these would sort a VPN connection between Linux-Linux, Win-Win, Linux-Win, Win-Linux etc etc
You could then use ssh to transfer progs/apps down the line, ie have kmail running on the machine at work but viewed from the machine at home.
If youd like to transfer the whole desktop down the line (like KDE), try TightVNC, uses jpeg compression to enable remote desktops over the internet, again Windows and Linux binaries.
http://www.tightvnc.com/
Or, if you'd like to access a Win machines desktop from a Linux machine, but using the Win machines native terminal services as opposed to TightVNC you can:
http://www.rdesktop.org/
Gotta luv working from home
