System and method for a derivation function for key per page
AssigneeApple Inc.
InventorsMathieu Ciet, Augustin J. Farrugia, Filip Toma Paun
Life of this patent
Estimating the term…
Abstract
Disclosed herein are systems, methods and computer-readable media to perform data encryption and decryption using a derivation function to obtain a key per page of data in a white-box environment. The method includes sharing a master key with the sender and receiver, splitting the input data into blocks and sub-blocks, and utilizing a set of keys and a master key to derive a page key. In another aspect of this disclosure, the key validation and shuffling operations are included. This method allows for the derivation of a key instead of storing a predetermined key, thus maintaining system security in a white-box environment.
Claims24
A method comprising:
- splitting message data into a plurality of pages, wherein each page of the plurality of pages further comprises a respective plurality of blocks;
- deriving a page key, via a processor of a computing device, based on a set of keys, the plurality of blocks, an encryption algorithm, and a master key known to a receiving device;
- encrypting a page from the plurality of pages with the page key to yield an encrypted page;
- and transmitting the encrypted page to the receiving device.
A non-transitory computer-readable storage medium having stored therein instructions which, when executed by a computing device, cause the computing device to perform steps comprising:
- identifying a master key associated with a sending device;
- splitting encrypted data received from the sending device into a plurality of pages, wherein each page of the plurality of pages further comprises a respective plurality of blocks;
- and
- decrypting the page using a page key generated based on a set of keys, the master key, the plurality of blocks and a decryption algorithm.
A non-transitory computer-readable storage medium having stored therein instructions which, when executed by a computing device, cause the computing device to perform steps comprising:
- splitting message data into a plurality of pages, wherein each page of the plurality of pages further comprises a respective plurality of blocks;
- deriving a page key, via a processor of a computing device, based on a set of keys, the plurality of blocks, an encryption algorithm, and a master key known to a receiving device;
- encrypting each page of the plurality of pages with the page key to yield a plurality of encrypted pages;
- and
- transmitting the plurality of encrypted pages to the receiving device.
A method comprising:
- identifying a master key associated with a sending device;
- splitting, via a processor of a computing device, encrypted data received from the sending device into a plurality of pages, wherein each page of the plurality of pages further comprises a respective plurality of blocks;
- and
- decrypting each respective page of the plurality of pages using a corresponding page key generated based on a set of keys, the master key, the plurality of blocks and a decryption algorithm.
Dependencies are inferred from the claim text.