Patent ID: 11968292
Assignee: AMAZON TECHNOLOGIES, INC.
Field: Digital communication (Electrical engineering)
Classification: CPC H | IPC H

Claim 0:
1. A computer-implemented method, comprising:
obtaining a plaintext;
computing, based at least in part on the plaintext, a first ciphertext comprising an ordered set of bit strings;
computing, using an incremental hash function that computes elements of a binary Galois field based at least in part on a previous invocation of the hash function, a sequence of authentication tags including:
a first authentication tag positioned before a subset of the ordered set of bit strings and a second authentication tag positioned after the subset, where the first authentication tag is calculated based at least in part on the previous invocation of the hash function and an output of incrementing a number of the right-most bits of the subset of the ordered set of bit strings;

constructing a second ciphertext that includes the subset of the ordered set of bit strings of the first ciphertext positioned after the first authentication tag and before the second authentication tag;
providing the second ciphertext;
obtaining a request to access a subsequence of the plaintext, the request including information specifying a first byte and a last byte of the subsequence within the plaintext, where the subsequence of the plaintext is within the second ciphertext between the first authentication tag and the second authentication tag including an intermediary authentication tag between the first authentication tag and the second authentication tag; and
fulfilling the request by at least:
obtaining the subsequence within the second ciphertext based at least in part on the first byte and the last byte of the subsequence, being between the first authentication tag and the second authentication tag;
decrypting the subsequence of the second ciphertext to obtain a partial plaintext by at least decrypting ciphertext between the first authentication tag and the intermediary authentication tag and ciphertext between the intermediary authentication tag and the second authentication tag;
removing a first set of bits of the partial plaintext between the first authentication tag and the first byte and a second set of bits of the partial plaintext between the last byte and the second authentication tag; and
authenticating the subsequence within the second ciphertext based at least in part on the first authentication tag, the intermediary authentication tag, and the second authentication tag
authenticating the second ciphertext at least in part on the first authentication tag and the second authentication tag further comprises using the first authentication tag and the second authentication tag of the second ciphertext, without using any authentication tags from outside a proper subset of the second ciphertext, to authenticate a set of chunks of ciphertext within the proper subset of the second ciphertext prior to decrypting the proper subset of the second ciphertext.