Lightweight encryption
AssigneeMicrosoft Technology Licensing, LLC
InventorHariharan Anantharaman
Life of this patent
Estimating the term…
Abstract
A lightweight encryption method is disclosed, designed to reduce computational resource demands on devices such as IoT devices and mobile phones. The method utilizes Shamir's three-pass protocol for key exchange, converting the encryption key into a signed digit number using an odd base. The message is broken into portions, with each portion encrypted by applying a sequence of non-commutative functions based on the signed digit representation of the key. This approach provides secure encryption while minimizing power and resource consumption.
Claims20
A method for encrypting a message by a sender to a recipient, the method comprising:
- using one or more hardware processors:
- encrypting an encryption key k with a first encryption function to create an encrypted key, the first encryption function being a commutative function;
- transmitting the encrypted key to the recipient over a packet-based network;
- receiving a response message from the recipient over the packet-based network;
- decrypting the response message using a reverse function of the first encryption function to produce a first key message, the first key message comprising the encryption key k encrypted by a commutative encryption function of the recipient;
- transmitting the first key message to the recipient over the packet-based network, the first key message being decryptable by the recipient using a reverse function of the commutative encryption function of the recipient to produce the encryption key k;
- breaking the message into a plurality of message portions;
- converting the encryption key k into a signed-digit representation T using an odd base;
- identifying a plurality of non-commutative functions, each non-commutative function corresponding to a particular digit position of T;
- for each particular one of the plurality of message portions, creating a corresponding one of a plurality of transformed message portions by:
- selectively applying each of the plurality of non-commutative functions to the particular one of the plurality of message portions in a defined order, wherein selectively applying comprises, for each particular digit position in T:
- applying the non-commutative function corresponding to the particular digit position in T, an inverse of the non-commutative function corresponding to the particular digit position in T, or no function, based upon a value of T at the particular digit position;
- and
- transmitting, over the packet-based network, the plurality of transformed message portions to the recipient.
A non-transitory machine-readable medium, storing instructions for encrypting a message by a sender to a recipient, the instructions, which when executed, cause a machine to perform operations comprising:
- encrypting an encryption key k with a first encryption function to create an encrypted key, the first encryption function being a commutative function;
- transmitting the encrypted key to the recipient over a packet-based network;
- receiving a response message from the recipient over the packet-based network;
- decrypting the response message using a reverse function of the first encryption function to produce a first key message, the first key message comprising the encryption key k encrypted by a commutative encryption function of the recipient;
- transmitting the first key message to the recipient over the packet-based network, the first key message being decryptable by the recipient using a reverse function of the commutative encryption function of the recipient to produce the encryption key k;
- breaking the message into a plurality of message portions;
- converting the encryption key k into a signed-digit representation T using an odd base;
- identifying a plurality of non-commutative functions, each non-commutative function corresponding to a particular digit position of T;
- for each particular one of the plurality of message portions, creating a corresponding one of a plurality of transformed message portions by:
- selectively applying each of the plurality of non-commutative functions to the particular one of the plurality of message portions in a defined order, wherein selectively applying comprises, for each particular digit position in T:
- applying the non-commutative function corresponding to the particular digit position in T, an inverse of the non-commutative function corresponding to the particular digit position in T, or no function, based upon a value of T at the particular digit position;
- and
- transmitting, over the packet-based network, the plurality of transformed message portions to the recipient.
A computing device for encrypting a message by a sender to a recipient, the computing device comprising:
- a hardware processor;
- a memory, the memory storing instructions, which when executed by the hardware processor cause the computing device to perform operations comprising:
- encrypting an encryption key k with a first encryption function to create an encrypted key, the first encryption function being a commutative function;
- transmitting the encrypted key to the recipient over a packet-based network;
- receiving a response message from the recipient over the packet-based network;
- decrypting the response message using a reverse function of the first encryption function to produce a first key message, the first key message comprising the encryption key k encrypted by a commutative encryption function of the recipient;
- transmitting the first key message to the recipient over the packet-based network, the first key message being decryptable by the recipient using a reverse function of the commutative encryption function of the recipient to produce the encryption key k;
- breaking the message into a plurality of message portions;
- converting the encryption key k into a signed-digit representation T using an odd base;
- identifying a plurality of non-commutative functions, each non-commutative function corresponding to a particular digit position of T;
- for each particular one of the plurality of message portions, creating a corresponding one of a plurality of transformed message portions by:
- selectively applying each of the plurality of non-commutative functions to the particular one of the plurality of message portions in a defined order, wherein selectively applying comprises, for each particular digit position in T:
- applying the non-commutative function corresponding to the particular digit position in T, an inverse of the non-commutative function corresponding to the particular digit position in T, or no function, based upon a value of T at the particular digit position;
- and
- transmitting, over the packet-based network, the plurality of transformed message portions to the recipient.
Dependencies are inferred from the claim text.