1. A method comprising: receiving a sequence of ciphertext messages that include encrypted plaintext and encrypted sequence numbers representative of successively increasing sequence numbers; and for each received ciphertext message: decrypting the ciphertext message to recover plaintext and a candidate sequence number; determining if the candidate sequence number is in any one of a first sequence number window below and adjacent to a highest sequence number previously accepted, a second sequence number window above and adjacent to the highest sequence number previously accepted, and a third sequence number window above the second window and beginning with a last sequence number that was previously rejected, as established based on processing of previously received ciphertext messages; accepting the candidate sequence number if it is determined to be in any one of the first, second, and third sequence number windows and otherwise rejecting the candidate sequence number; and accepting the recovered plaintext if the candidate sequence number is accepted and rejecting the plaintext if the candidate sequence number is rejected.