IP Library Granted Patent US 10,749,675
Granted Patent B2
US 10,749,675 · App. 15/865,689 · Granted Aug 18, 2020

Homomorphic white box system and method for using same

Inventors: Lex Aaron Anderson (Auckland, NZ); Alexander Medvinsky (San Diego, CA); Rafie Shamsaasef (San Diego, CA)
Assignee: ARRIS Enterprises LLC
H04L9/302G06F21/60G06F21/602G06F21/604H04L9/002H04L9/008H04L9/0869H04L9/3066H04L2209/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,749,675
App. No.
15/865,689
Granted
Aug 18, 2020
Kind
B2
Abstract

A method for whitebox cryptography is provided for computing an algorithm (m,S) with input m and secret S, using one or more white-box encoded operations. The method includes accepting an encoded input c, where c=Enc(P,m); accepting an encoded secret S′, where S′=Enc(P,S); performing one or more operations on the encoded input c and the encoded secret S′ modulo N to obtain an encoded output c′; and decoding the encoded output c′ with the private key p to recover an output m′ according to m′=Dec(p,c′), such that m′= (m,S).

Claims (77)

1. A method of computing an algorithm (m,S) with input m and secret S, using one or more white-box encoded operations, comprising:

defining a white-box fully-homomorphic key generation function (P,p)←Gen(1 st ) with public-key P and private-key p that selects random prime numbers p, q, s∈W of similar size, wherein:

B=[0,1] b is the domain of order b, of the algorithm ;

W=[0,1] w is a white-box domain of order w, for w»b;

p>2 b is a white-box fully-homomorphic private key;

N=pq;

k=s(p−1);

P=(N,k) is a white-box fully-homomorphic public key;

defining a white-box fully-homomorphic encoding function Enc(P,m):=m rk+1 (mod N) that generates a random integers r∈W, then performs an encoding of the input m∈B;

defining a white-box fully-homomorphic decoding function Dec(p,c)=c(mod p) that decodes c by computing modulo p;

accepting an encoded input c, where c=Enc(P,m);

accepting an encoded secret S′, where S′=Enc(P,S);

performing one or more operations on the encoded input c and the encoded secret S′ modulo N a to obtain an encoded output c′; and

decoding the encoded output c′ with the private key p to recover an output m′ according to m′=Dec(p,c′), such that m′= (m,S).

2. The method of claim 1 , wherein the algorithm is comprises a decryption algorithm including at least one of an Rivest-Shamir-Aldeman (RSA) algorithm, an elliptic curve cryptography (ECC) algorithm, an advanced encryption standard (AES) algorithm, and a triple data standard (TDES) algorithm.

3. The method of claim 2 , wherein:

the algorithm is an RSA decryption algorithm RSADecrypt;

the accepted encoded message is c=Enc(P,M), wherein M=RSAEncrypt(RSAPLK,m) is an RSA encrypted version of the input message m encoded with the white-box fully-homomorphic public key P, where (RSAPVK,RSAPLK) is an RSA private/public keypair corresponding to the RSAEncrypt and RSAEncrypt algorithms;

the accepted encoded secret is S′=Enc(P,RSAPVK), wherein RSAPVK is the RSA private key encoded with the white-box fully-homomorphic public key P;

the one or more operations comprise RSADecrypt implementation, with encoded input c and the encoded secret S′ to compute the encoded output c′; and

decoding the encoded output c′ with the private key p to recovers the output message m′ according to m′=Dec(p,c′).

4. The method of claim 1 , wherein w is selected for semantic security.

5. The method of claim 1 , further comprising:

securely encoding the input message m according to c=Enc(P,m); and

securely encoding the secret S according to S′=Enc(P,S).

6. An apparatus for computing an algorithm (m,S) with input m and secret S, using one or more white-box encoded operations, comprising:

means for defining a white-box fully-homomorphic key generation function (P,p)←Gen(1 st ) with public-key P and private-key p that selects random prime numbers p, q, s∈W of similar size, wherein:

B=[0,1] b is the domain of order b, of the algorithm ;

W=[0,1] w is a white-box domain of order w, for w»b;

p>2 b is a white-box fully-homomorphic private key;

N=pq;

k=s(p−1);

P=(N,k) is a white-box fully-homomorphic public key;

means for defining a white-box fully-homomorphic encoding function Enc(P,m):=m rk+1 (mod N) that generates a random integer r∈w, then performs an encoding of the input m∈B;

means for defining a white-box fully-homomorphic decoding function Dec(p,c):=c(mod p) that decodes c by computing modulo p;

a processor;

a memory, communicatively coupled to the processor, the memory storing processor instructions comprising processor instructions for:

accepting an encoded input c, where c=Enc(P,m);

accepting an encoded secret S′, where S′=Enc(P,S);

performing one or more operations on the encoded input and the encoded secret S′ modulo N to obtain an encoded output c′; and

decoding the encoded output c′ with the private key p to recover an output m′ according to m′=Dec(p,c′), such that m′= (m,S).

7. The apparatus of claim 6 , wherein the algorithm comprises a decryption algorithm including at least one of an Rivest-Shamir-Aldeman (RSA) algorithm, an elliptic curve cryptography (ECC) algorithm, an advanced encryption standard (AES) algorithm, and a triple data standard (TDES) algorithm.

8. The apparatus of claim 7 , wherein:

the algorithm is an RSA decryption algorithm RSADecrypt;

the accepted encoded message is c=Enc(P,M), wherein M=RSAEncrypt(RSAPLK,m) is an RSA encrypted version of the input message m encoded with the white-box fully-homomorphic public key P, where (RSAPVK,RSAPLK) is an RSA private/public keypair corresponding to the RSADecrypt and RSAEncrypt algorithms;

the accepted encoded secret is S′=Enc(P,RSAPVK), wherein RSAPVK is the RSA private key encoded with the white-box fully-homomorphic public key P;

the one or more operations comprise RSADecrypt implementation, with encoded input c and the encoded secret S′ to compute the encoded output c′; and

decoding the encoded output c′ with the private key p to recovers the output message m′ according to m′=Dec(p,c′).

9. The apparatus of claim 6 , wherein w is selected for semantic security.

10. The apparatus of claim 6 , wherein the processor instructions further comprise processor instructions for:

securely encoding the input message m according to c=Enc(P,m); and

securely encoding the secret S according to S′=Enc(P,S).

11. A method of computing an algorithm (m,S) with input m and secret S, using one or more white-box encoded operations, comprising:

accepting an encoded input c, where c=Enc(P,m);

accepting an encoded secret S′, where S′=Enc(P,S);

performing one or more operations on the encoded input c and the encoded secret S′ modulo N to obtain an encoded output c′; and

decoding the encoded output c′ with a private key p to recover an output m′ according to m′=Dec(p,c′), such that m′= (m,S),

wherein:

a white-box fully-homomorphic key generation function (P,p)←Gen(1 st ) is defined with public-key P and the private-key p that selects random prime numbers p, q, s∈W of similar size, wherein:

B=[0,1] b is the domain of order b, of the algorithm ;

W=[0,1] w is a white-box domain of order w, for w»b;

p>2 b is a white-box fully-homomorphic private key;

N=pq;

P=(N,k) is a white-box fully-homomorphic public key;

a white-box fully-homomorphic encoding function Enc(P,m):=m rk+1 (mod N) is defined that generates a random integer r∈W, then performs an encoding of the input m∈B;

a white-box fully-homomorphic decoding function Dec(p,c):=c(mod p) is defined that decodes c by computing c modulo p.

12. The method of claim 11 , wherein the algorithm A comprises a decryption algorithm including at least one of an Rivest-Shamir-Aldeman (RSA) algorithm, an elliptic curve cryptography (ECC) algorithm, an advanced encryption standard (AES) algorithm, and a triple data standard (TDES) algorithm.

13. The method of claim 12 , wherein:

the algorithm is an RSA decryption algorithm RSADecrypt;

the accepted encoded message is c=Enc(P,M), wherein M=RSAEncrypt(RSAPLK,m) is an RSA encrypted version of the input message m encoded with the white-box fully-homomorphic public key P, where (RSAPVK,RSAPLK) is an RSA private/public keypair corresponding to the RSADecrypt and RSAEncrypt algorithms;

the accepted encoded secret is S′=Enc(P,RSAPVK), wherein RSAPVK is the RSA private key encoded with the white-box fully-homomorphic public key P;

the one or more operations comprise RSADecrypt implementation, with encoded input c and the encoded secret S′ to compute the encoded output c′; and

decoding the encoded output c′ with the private key p to recovers the output message according to m′=Dec(p,c′).

14. The method of claim 11 , wherein w is selected for semantic security.

15. The method of claim 11 , further comprising:

securely encoding the input message m according to c=Enc(P,m); and

securely encoding the secret S according to S′=Enc(P,S).

Assignments (8)
SECURITY INTEREST Recorded Apr 8, 2026
From: ARRIS ENTERPRISES LLC; RUCKUS IP HOLDINGS LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075476/0814 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2018
From: ANDERSON, LEX AARON; MEDVINSKY, ALEXANDER; SHAMSAASEF, RAFIE
To: ARRIS ENTERPRISES LLC
Reel/Frame 044758/0584 →
Continuity (2)
Provisional Application 62443926 · Jan 9, 2017
Related Publication 20180198613A1 · Jul 12, 2018