Using Rigorous Digital Engineering (RDE) to Build an End-to-End Verifiable Voting System Cryptographic Protocol