You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #11 adds implementations for encryptVote and
decryptVote but the test file has no roundtrip test
confirming that decryptVote correctly recovers what
encryptVote produced. The tests cover each function
in isolation but a broken IV handling or mismatched
authTag format between the two functions would pass
all existing tests and only fail at runtime when
core attempts to tally votes.
There is also no test confirming decryptVote throws
on a tampered ciphertext or auth tag. Silent wrong
output from decryptVote during a tally produces a
corrupted result with no error raised.
Scope:
Add a roundtrip test — encryptVote then decryptVote
returns the original option string exactly
Add a tampered ciphertext test — modify one byte
of the ciphertext and confirm decryptVote throws
Add a tampered authTag test — modify the authTag
and confirm decryptVote throws
Add an IV uniqueness test — two calls to encryptVote
with the same input produce different ciphertexts
PR #11 adds implementations for encryptVote and
decryptVote but the test file has no roundtrip test
confirming that decryptVote correctly recovers what
encryptVote produced. The tests cover each function
in isolation but a broken IV handling or mismatched
authTag format between the two functions would pass
all existing tests and only fail at runtime when
core attempts to tally votes.
There is also no test confirming decryptVote throws
on a tampered ciphertext or auth tag. Silent wrong
output from decryptVote during a tally produces a
corrupted result with no error raised.
Scope:
returns the original option string exactly
of the ciphertext and confirm decryptVote throws
and confirm decryptVote throws
with the same input produce different ciphertexts
implementation in PR feat: align crypto primitives with @anonvote/crypto type spec #11 before it is merged
Acceptance Criteria:
produce different ciphertexts