IP Library Granted Patent US 9,628,266
Granted Patent B2
US 9,628,266 · App. 14/191,021 · Granted Apr 18, 2017

System and method for encoding encrypted data for further processing

Inventors: Kurt Ryan Rohloff (South Hadley, MA); David Bruce Cousins (Barrington, RI)
Assignee: RAYTHEON BBN TECHNOLOGIES CORP.
H04L9/06
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 9,628,266
App. No.
14/191,021
Granted
Apr 18, 2017
Kind
B2
Abstract

A method for encoding encrypted data for further processing includes: receiving an input data vector of length m; splitting the input data vector to k multiple vectors; multiplying each of the multiple vectors by a power of 2 to obtain k number of intermediate vectors; summing the k number of intermediate vectors to obtain a single summed vector; encrypting the single summed vector to obtain an encrypted vector; sending the encrypted vector to an operational unit to have the encrypted vector operated on to obtain a processed encrypted vector; receiving the processed encrypted vector; decrypting the received encrypted vector; dividing the processed decrypted vector by a power of 2, modulus a power of 2 to obtain multiple transitional vectors of the same dynamic range and the same length; and concatenating the multiple transitional vectors to obtain a recovered vector of length m.

Claims (34)

1. A method for encoding encrypted voice data for further processing, the method comprising:

receiving an input voice data vector of length m, where m is an integer, and wherein the input voice data vector is originated from a microphone;

down-sampling the received input voice data vector to generate down-sampled input data vector;

splitting the down-sampled input data vector to k multiple vectors, each multiple vector having a length smaller than m, where k is an integer;

multiplying each of the multiple vectors by a power of 2 to obtain k number of intermediate vectors, each intermediate vector having a same length equal to the length of a vector of the k multiple vectors with the largest length;

summing the k number of intermediate vectors to obtain a single summed vector;

encrypting the single summed vector to obtain an encrypted vector;

transmitting the encrypted vector over the Internet to an operational unit to have the encrypted vector operated on to obtain a processed encrypted vector;

receiving the processed encrypted vector over the Internet;

decrypting the received encrypted vector to obtain a processed decrypted vector;

dividing the processed decrypted vector by modulus a power of 2 to obtain multiple transitional vectors of the same dynamic range and the same length;

concatenating the multiple transitional vectors to obtain a recovered voice data vector of length m, wherein k=2, wherein the received input data vector includes m x-bit samples and each entry of the first and second vectors is y bits long, and wherein said down-sampling the received input data vector further comprises: dividing the received input data vector to m number of y-bit samples entered on 0 mod 2^y by shifting all samples to a 0 mean, and dividing all samples by 2^ x−y; and

playing back the recovered voice data vector by a speaker.

2. The method of claim 1 , further comprising scaling the recovered voice data vector.

3. The method of claim 2 , wherein said scaling the recovered voice data vector further comprises: multiplying the recovered vector by 2^ (x−y−z), where z is an integer number of shift operations performed for said multiplying each of the n entries of the first vector.

4. The method of claim 1 , wherein said splitting the input data vector further comprises: splitting the input data vector to a first vector of length n=2^floor(log 2(m)) and a second vector of length (m−n).

5. The method of claim 4 , wherein said multiplying each of the multiple vectors further comprises: multiplying each of the n entries of the first vector by 2^(y+z); and padding the (m−n) entries of the second vector with an additional (2n−m) zeroes, where z is an integer number of shift operations performed for said multiplying each of the n entries of the first vector.

6. The method of claim 5 , wherein said dividing the processed decrypted vector further comprises: integer dividing the processed decrypted vector by 2^(y+z) to obtain a first transitional vector; and computing on the decrypted vector mod 2^(y+z) to obtain a second transitional vector of the same length.

7. A voice data terminal for encoding encrypted voice data for further processing comprising:

a first input port for receiving an input voice data vector of length m, where m is an integer, and wherein the input voice data vector is originated from a microphone;

a splitter circuit for splitting the input voice data vector to k multiple vectors, each multiple vector having a length smaller than m, where k=2, wherein said splitting the input data vector further comprises: splitting the input data vector to a first vector of length n=2^floor(log2(m)) and a second vector of length (m−n);

a multiplier circuit for multiplying each of the multiple vectors by a power of 2 to obtain k number of intermediate vectors, each intermediate vector having a same length equal to the length of a vector of the k multiple vectors with the largest length;

an adder circuit for summing the k number of intermediate vectors to obtain a single summed vector;

an encryption circuit for encrypting the single summed vector to obtain an encrypted vector;

a network interface circuit for sending the encrypted vector over the Internet to an operational unit to have the encrypted vector operated on to obtain a processed encrypted vector, wherein the network interface circuit receives the processed encrypted vector;

a decryption circuit for decrypting the received encrypted vector to obtain a processed decrypted vector over the Internet;

a divider circuit for dividing the processed decrypted vector by modulus a power of 2 to obtain multiple transitional vectors of the same dynamic range and the same length;

an inserter circuit for concatenating the multiple transitional vectors to obtain a recovered voice data vector of length m, wherein

said multiplying each of the multiple vectors further comprises: multiplying each of the n entries of the first vector by 2^(v+z); and padding the (m−n) entries of the second vector with an additional (2n−m) zeroes, where each entry of the input data vector is y bits long and z is an integer number of shift operations performed for said multiplying each of the n entries of the first vector; and

a speaker for playing back the recovered voice data vector.

8. The voice data terminal of claim 7 , further comprising a down-sampler circuit for down-sampling the received input voice data vector before splitting; and a scaler circuit for scaling the recovered voice data vector.

9. The method of claim 8 , wherein the received input data vector includes m x-bit samples, and wherein said down-sampling the received input data vector further comprises: dividing the received input data vector to m number of y-bit samples entered on 0 mod 2^y by shifting all samples to a 0 mean, and dividing all samples by 2^ x−y.

10. The method of claim 9 , wherein said scaling the recovered vector further comprises: multiplying the recovered vector by 2^ (x−y−z).

11. The method of claim 7 , wherein said dividing the processed decrypted vector further comprises: integer dividing the processed encrypted vector by 2^(y+z) to obtain a first transitional vector; and computing on the decrypted vector mod 2^(y+z) to obtain a second transitional vector of the same length.

Assignments (2)
CONFIRMATORY LICENSE Recorded Jun 13, 2017
From: RAYTHEON BBN TECHNOLOGIES CORPORATION
To: AFRL/RIJ
Reel/Frame 042789/0428 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2014
From: ROHLOFF, KURT RYAN; COUSINS, DAVID BRUCE
To: RAYTHEON BBN TECHNOLOGIES CORP.
Reel/Frame 032669/0344 →
Continuity (1)
Related Publication 20170078086A1 · Mar 16, 2017