Hardware and software for computer security