Im interested in making a virtual driver, that will provide some kind of encryption services and driver level. I was reading something about this being a secure option because it prevents manipulation from programs such as trojans. I have seen similar things in game protection systems such as CDilla i think it created a driver and was used for anti piracy verification.

Could someone tell me if its a hard task to make a driver that would provide communication (secure) with a program? And how would i do it, is C++ best or is ASM needed?

Thanks alot