×

Streaming authenticated encryption

  • US 10,268,832 B1
  • Filed: 06/26/2017
  • Issued: 04/23/2019
  • Est. Priority Date: 06/26/2017
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising:

  • a computer-readable memory storing executable instructions; and

    one or more processors in communication with the computer-readable memory and programmed by the executable instructions to at least;

    receive, from a first user device, a data file associated with a user profile;

    determine, based at least partly on a size of the data file, to store the data file as a plurality of encrypted portions;

    generate a first encrypted portion of the plurality of encrypted portions using a first portion of the data file, a file-level key, and a first portion-level initialization vector, wherein the first encrypted portion is associated with a first sequence identifier and first authentication data;

    generate a second encrypted portion of the plurality of encrypted portions using a second portion of the data file, the file-level key, and a second portion-level initialization vector, wherein the second portion-level initialization vector is different than the first portion-level initialization vector, and wherein the second encrypted portion is associated with a second sequence identifier and second authentication data;

    store the first encrypted portion and the second encrypted portion in a persistent storage system;

    receive, from a second user device, a request for the data file, wherein the request is associated with the user profile;

    obtain the first encrypted portion from the persistent storage system based at least partly on the first sequence identifier;

    determine, using the first authentication data, that the first encrypted portion is a valid encrypted version of the first portion;

    provide, to the second user device, the first sequence identifier and a first decrypted portion based at least partly on the first encrypted portion;

    obtain the second encrypted portion from the persistent storage system based at least partly on the second sequence identifier;

    determine, using the second authentication data, that the second encrypted portion is an invalid encrypted version of the second portion; and

    terminate a response to the request based at least partly on the second decrypted portion being an invalid encrypted version.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×