Anyway, not to detract from the nice work of the author or to tout my own horn but I can hack a lot of encryptions in seconds with a simple keylogger. For the sake of this exercise I'll consider the key exchange (user typing password) is an integral part of any encryption scheme :).
More seriously, I think fTPM or TPM+PIN+USB key would be good ways to avoid this scenario.