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 decrypting a message by a recipient from a sender, the method comprising:
- using one or more hardware processors:
- receiving an encrypted key from the sender over a packet-based network;
- encrypting the encrypted key with a second encryption function to create a doubly-encrypted key, the second encryption function being a commutative function;
- transmitting the doubly-encrypted key to the sender over the packet-based network;
- receiving a first key message from the sender over the packet-based network;
- decrypting the first key message using a reverse function of the second encryption function to produce a key k;
- receiving a plurality of transformed message portions from the sender over the packet-based network;
- converting the 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 transformed message portions, creating a corresponding one of a plurality of decrypted message portions by:
- selectively applying each of the plurality of non-commutative functions to the particular one of the plurality of transformed message portions in a defined order, wherein selectively applying comprises, for each particular digit position in T:
- applying an inverse of the non-commutative function corresponding to the particular digit position in T, 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
- combining the plurality of decrypted message portions to obtain a non-encrypted original message.
A non-transitory machine-readable medium, storing instructions for decrypting a message by a recipient from a sender, the instructions, which when executed, cause the machine to perform operations comprising:
- receiving an encrypted key from the sender over a packet-based network;
- encrypting the encrypted key with a second encryption function to create a doubly-encrypted key, the second encryption function being a commutative function;
- transmitting the doubly-encrypted key to the sender over the packet-based network;
- receiving a first key message from the sender over the packet-based network;
- decrypting the first key message using a reverse function of the second encryption function to produce a key k;
- receiving a plurality of transformed message portions from the sender over the packet-based network;
- converting the 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 transformed message portions, creating a corresponding one of a plurality of decrypted message portions by:
- selectively applying each of the plurality of non-commutative functions to the particular one of the plurality of transformed message portions in a defined order, wherein selectively applying comprises, for each particular digit position in T:
- applying an inverse of the non-commutative function corresponding to the particular digit position in T, 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
- combining the plurality of decrypted message portions to obtain a non-encrypted original message.
A computing device for decrypting a message by a recipient from a sender, 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:
- receiving an encrypted key from the sender over a packet-based network;
- encrypting the encrypted key with a second encryption function to create a doubly-encrypted key, the second encryption function being a commutative function;
- transmitting the doubly-encrypted key to the sender over the packet-based network;
- receiving a first key message from the sender over the packet-based network;
- decrypting the first key message using a reverse function of the second encryption function to produce a key k;
- receiving a plurality of transformed message portions from the sender over the packet-based network;
- converting the 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 transformed message portions, creating a corresponding one of a plurality of decrypted message portions by:
- selectively applying each of the plurality of non-commutative functions to the particular one of the plurality of transformed message portions in a defined order, wherein selectively applying comprises, for each particular digit position in T:
- applying an inverse of the non-commutative function corresponding to the particular digit position in T, 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
- combining the plurality of decrypted message portions to obtain a non-encrypted original message.
Dependencies are inferred from the claim text.