At the beginning of the design, the idea was to retain as much of the COPA structure as possible. Therefore, the mainly structure of COPA-PIC is the same as that of COPA except that the plaintext checksum used in the encryption and verification algorithms is replaced with PIC. For PIC, a polynomial sum with full terms of internal intermediate states is utilized to ensure INT-RUP security. Therefore, the verification algorithm and the decryption algorithm of COPA-PIC share parts of computing resources such that the cost of the authentication tag is minimal.
Thus, PIC is both a polynomial function with full terms of the plaintext blocks and a polynomial function with full terms of the ciphertext blocks, which meets Conditions 1 and 2. Therefore, according to Theorem 1, COPA-PIC[] ensures INT-RUP security.
Proof. Similar to the proof of Theorem 1, assume that makes encryption queries to and receives , where , and makes decryption queries to and obtains the unverified plaintext , where . Note that and . Then, forges challenge queries , , to , where .
Let
be an event that at least one forgery attempt in all
forgery attempts succeeds. Then, the INT-RUP-advantage of
is
Denote variables of internal state values as , which is also equal to , where and is the authentication of the associated data A. Define a collision as the same value from different prefixes and . More precisely, and , which means . Let be the event that a collision of occurs for some . Similarity, let be the event that a collision of the tag occurs for the encryption queries. Let be the event that a collision of occurs for two different associated data. Let be the union of events , , and ; then, .
With the total probability formula and the probability inequality, one has
Step 1: Bound the probability of event occurring: . As COPA-PIC and COPA have the same encryption and decryption structures, the events , , and are exactly the same as those of COPA. Moreover, COPA-PIC and COPA use different methods for generating tags, but their authentication tags are all generated through the randomization of the checksum and the last ciphertext block. The only difference is whether the checksum has been randomized before. This does not make much difference in authentication processing, but it needs to be carefully considered in verification processing. Therefore, the event is exactly the same as that of COPA.
According to two claims
and
in COPA and the total probability formula, one has
Step 2: Evaluate the upper bound of the probability that event occurs under the condition : . For simplicity, a single forgery attempt is considered, where is divided into blocks and is divided into blocks for . Let be a set of the authentication tags generated by the encryption oracle.
Case 1: is new, i.e., . In this case, the adversary already knows the value of , where , and with this knowledge, the adversary tries to guess the preimage of another new tag. Therefore, the probability that the adversary correctly guesses this value is at most , which is also the probability that the adversary’s forgery attempt succeeds.
Case 2: is old, i.e., . Let us say , where . According to the last two tweaks and of generating the authentication tag, a further analysis should be discussed as follows.
Case 2-1: If , the last two tweaks and are new. The adversary tries to forge an identical tag () using a new nonce . The image of a single point under a tweakable random permutation is uniform, so the generated tag is an independent and uniform random value. Thus, the probability that the adversary correctly forges an identical tag () is .
Case 2-2: If and , the last two tweaks and are new. The adversary tries to forge an identical tag () using a new block length . The image of a single point under a tweakable random permutation is uniform, so the generated tag is an independent and uniform random value. Thus, the probability that the adversary correctly forges an identical tag () is .
Case 2-3: If and , the last two tweaks and in this case are the same as those of the previous query–response pair . According to , where and for all , a further discussion should be considered as follows.
. Let , where . Under the condition that (), are distinct from each other. According to , we consider the following two cases.
- (a)
is new, i.e., . The probability that this case occurs is .
is new. Then, is new. The adversary tries to forge an identical tag () using a new ciphertext block . Therefore, the probability that the adversary correctly forges an identical tag () is .
is old and is new. Then, is old and there exists at least one more fresh value in . According to whether is new or not, the following subcases are discussed.
is new, i.e., . The probability that this case occurs is about . The adversary tries to forge an identical tag using a new checksum . Thus, the probability that the adversary’s forgery attempt succeeds is .
is old, i.e., . According to the fact that for any , where c is a constant from , the probability that is old is at most . As , , and are old, the probability of obtaining an identical tag is 1. Therefore, the probability that the adversary can guess the correct value in this case is the probability that is old, which is at most .
is old. Then, is old, where . According to ; then, is a fresh random value. The adversary tries to forge an identical tag () using new associated data (or a new checksum ). Therefore, the probability that the adversary can guess the correct value is .
Summarizing the cases of (a), the probability that the adversary can guess the correct value is at most .
- (b)
is old, i.e., . The probability that this case occurs is .
is new. Then, is new. The adversary tries to forge an identical tag () using a new ciphertext block . Therefore, the probability that the adversary correctly forges an identical tag () is .
is old and is new. Then, is old and there exists at least one more fresh value in . If there only exists one fresh value in , according to , then is new. Therefore, the probability that the adversary’s forgery attempt succeeds is . If there exist at least two more fresh values in , according to whether is new or not, the following subcases are discussed.
is new, i.e., . The probability that this case occurs is about . The adversary tries to forge an identical tag using a new checksum . Thus, the probability that the adversary’s forgery attempt succeeds is .
is old, i.e., . According to the fact that for any , where c is a constant from , the probability that is old is at most . As , and are old, the probability of obtaining an identical tag is 1. Therefore, the probability that the adversary can guess the correct value in this case is the probability that is old, which is at most .
is old. Then, is old, where . As , , and are old, the probability that the adversary can guess the correct value is 1.
Summarizing the cases of (b), the probability that the adversary can guess the correct value is at most .
; then, . As ; therefore, must be new.
- (a)
is new. Then, is new. The adversary tries to forge an identical tag () using a new ciphertext block . Therefore, the probability that the adversary correctly forges an identical tag () is .
- (b)
is old and is new. Then, is old and there exists at least one more fresh value in .
If there only exists one fresh value in , according to , then is new. The adversary tries to forge an identical tag using a new checksum . Therefore, the probability that the adversary’s forgery attempt succeeds is .
If there exist at least two more fresh values in , according to whether is new or not, the following subcases are discussed.
is new, i.e., . The probability that this case occurs is about . The adversary tries to forge an identical tag using a new checksum . Thus, the probability that the adversary’s forgery attempt succeeds is .
is old, i.e., . According to the fact that for any , where c is a constant from , the probability that is old is at most . As , , and are old, the probability of obtaining is 1. Therefore, the probability that the adversary can guess the correct value in this case is the probability that is old, which is at most .
Summarizing all cases above, the successful probability of the single forgery attempt is upper-bounded by
Therefore, for
forgery attempts, the probability that event
occurs under the condition
is
Combining Equations (
1)–(
4), the INT-RUP advantage of
, after
q encryption and decryption queries, and
forgery queries, is
The proof of Theorem 2 is finished. □