IP Library Granted Patent US 12,120,217
Granted Patent B2
US 12,120,217 · App. 18/213,193 · Granted Oct 15, 2024

Strong fully homomorphic white-box and method for using same

Inventor: Lex Aaron Anderson (Auckland, NZ)
Assignee: ARRIS Enterprises LLC
H04L9/008G06F21/60G06F21/602G06F21/606H04L9/0631H04L9/0861H04L9/302H04L2209/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 12,120,217
App. No.
18/213,193
Filed
Jun 22, 2023
Granted
Oct 15, 2024
Kind
B2
Examiner
ZEE, EDWARD
Art Unit
2435
USPC
713/191
Abstract

A fully homomorphic white-box implementation of one or more cryptographic operations is presented. This method allows construction of white-box implementations from general-purpose code without necessitating specialized knowledge in cryptography, and with minimal impact to the processing and memory requirements for non-white-box implementations. This method and the techniques that use it are ideally suited for securing “math heavy” implementations, such as codecs, that currently do not benefit from white-box security because of memory or processing concerns. Further, the fully homomorphic white-box construction can produce a white-box implementation from general purpose program code, such as C or C++.

Claims (33)

1. A method of computing an algorithm A(m, S) having i operations with input m and secret S, the method comprising:

defining a white-box fully-homomorphic key generation function with a public key P and a private key p;

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;

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

defining i transform key pairs (T i , t i ), at least on part from P and p, wherein T i is the i th transform public key and t i is the i th transform private key;

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

generating an encoded output c′ by performing, for each of the i operations, the steps of:

accepting an encoded transform public key T i =Enc(T i , S);

performing the i th operation on the encoded input c i-1 and the encoded transform public key in modulo N i to obtain an encoded output c i ; and

reencoding c i with transform T i without any interim decoding operation; decoding the encoded output c′ with the private key p to recover an output m′ according to m′=Dec(p, c′), such that m′=A(m, S).

2. The method of claim 1 the step of defining i transform key pairs comprises:

selecting prime numbers t i , and q i ∈W of similar size to p, with t i >2 b ;

computing N i =pip −1 q 2 such that N i and N are pairwise co-prime; and

computing e i =pip −1 −1 where T i =(N i , e i ).

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

4. The method of claim 3 , wherein:

the algorithm A includes an RSA decryption algorithm RSADecrypt;

the accepted encoded input 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 a RSA private/public keypair corresponding to the RSADecrypt and RSAEncrypt algorithms;

the accepted encoded transform public key is T i =Enc(T i , RSAPVK), wherein RSAPVK is the RSA private key encoded with the white-box fully-homomorphic public key P;

the one or more operations comprise an RSADecrypt implementation, with encoded input c i-1 and the encoded transform public key T i =Enc(T i , RSAPVK) used to compute each encoded output c i ; and

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

5. The method of claim 1 , further comprising:

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

securely encoding the transform public key according to T i =Enc(T i , S).

6. A method of computing a decryption algorithm (m, S) having i operations with input m and secret S, wherein the algorithm includes an RSA decryption algorithm RSADecrypt, the method comprising:

accepting encoded input c 0 =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; and

obtaining an encoded output c i by performing an operation on the encoded input c 0 and an accepted encoded transform public key T i =Enc(T i , RSAPVK) in modulo N i , and wherein RSAPVK is the RSA private key encoded with the white-box fully-homomorphic public key P.

7. The method of claim 6 , including the steps of:

performing one or more operations including an RSADecrypt implementation, with encoded input c i-1 and the encoded transform public key T i =Enc(T i , RSAPVK) used to compute each encoded output c i ; and

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

8. The method of claim 6 , further comprising the steps of:

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

securely encoding the transform public key according to T i =Enc(T i , S).

Assignments (2)
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 →
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 →
Continuity (5)
Continuation 17235794 · Apr 20, 2021
Continuation 16787474 · Feb 11, 2020
Continuation In Part 15865689 · Jan 9, 2018
Provisional Application 62443926 · Jan 9, 2017
Related Publication 20230353344A1 · Nov 2, 2023