Demonstration of X-Logos Homomorphic Data Encryption

Objectives

Demonstrate to the User various operations on encrypted data (e.g., sort, search, add, multiply). When the results of these operations on encrypted data are decrypted, the decrypted results are identical to the same operations on the plaintext.

First Step

You will need an assigned encryption key. This key will be provided by X-Logos by sending:

Contact form submitted!


Data Flow

In this demo, a Client App hosted on AWS captures plaintext files, encrypts these files using X-Logos and sends encrypted files over the internet to the Cloud where they are stored (again, AWS). These encrypted files may be accessed by a hosted Server App. Client may request various operations on these encrypted Cloud files by making an encrypted request to Server. Server executes the request by accessing the encrypted Cloud files and performing the requested operation. Server sends the encrypted result to Client. Client decrypts this result to obtain the plaintext result. The same operation is performed separately on the plaintext and the result is displayed for comparison with the decrypted results.

X-Logos Encryption

X-Logos is a suite of security functions based on a novel application of Geometric Algebra that is proprietary to X-Logos LLC. The math provides the primitives for symmetric encryption and other desirable security functions (e.g., hierarchy, continuous authentication, etc.). X-Logos math is intrinsically homomorphic and data organization under X-Logos preserves the homomorphic relationship between encrypted and unencrypted data. In this demo, only Client has access to the X-LOGOS encryption keys.

To Start

Copy the “demo token” from the email received from X-Logos. Open client app and server app on separate web pages, and paste the “demo token” in the Authentication space provided on both pages.

On the Client page

Select List Active Files. The Client page initializes with several Active Files. Under the “List” tab, select a file (e.g., Mary). Under the Plaintext tab the User sees the 4 data fields that are common to all Active Files (Company, City, Active Accounts, and Sales). Select Operations on Active Files. There are pull-down menus for all inputs except Value which is a alphanumeric input specified by User (e.g., minimum value, city name). As a first demonstration, select “Numeric Sort on selected field” in Operation; “Sales” under Field; “Descending” under Detail. Then select Submit. This sends the request from Client to Server over the internet.

On the Server page

Go to the Server.EDCHE.net web page already opened. Under the Request button is the list of Client requests with a timestamp. The most recent request from Client (User) is at the top of the list. Select the Execute button on that line and the “Request Result” appears showing the file order for this sort operation and the hashed file names. This encrypted Request Result is automatically sent to Client over the internet.

On the Client page

Go to Client.EDCHE.net. Select Results from server. The most recent executed request is at the top of the list. Select Decrypt on that line to return the result of the specified operation. Under the Results decrypted is the list of Active Files decrypted to plaintext ordered by descending Sales value. Under the Operations on Plaintext is the result of this sort operation on the plaintext data and the result matches the data under the Results from server tab. This completes the first demonstration.
To continue the demonstration, select Operations on Active Files and select the desired operations and fields then cycle through the Client and Server functions of Submit, Execute, and Decrypt.
If the User desires to add new files to the Active Files, go to Create Files button. When all fields are entered select Save File. The newly created file will now appear as an Active File under List Files and will be automatically encrypted and uploaded to Server. The Hashed file name for this new file appears on Client file page and on Server under List Cloud Files.

Observing the X-Logos data conditions

  • The cycle of Submit, Execute, Decrypt would of course be automatic in practice. The cycle in this demo allows users to inspect the condition of the data throughout the cycle.
  • All data input to Active Files is encapsulated in two containers: the Raw encrypted file that is stored in the Cloud and accessible by the Server, and the Raw unencrypted file that is stored separately and accessible by the Client (only).
    • To view, select a file from the “List” tab (e.g., Mary). The file has 3 tabs: Plaintext, Raw unencrypted file and Raw encrypted file.
    • The hashed file name is only provided to show file correspondence between Client and Server.
    • On Server, the encrypted data under List Cloud Files may be downloaded and inspected with a text editor.
  • If the User desires to inspect how newly created Active Files influence the results of operations on data, use Create Files to add as many files as desired. The original files may be entirely deleted in favor of all new Active Files. If the User desires to inspect data ranges or confirm results of operations, the Download CSV tab may be used to export all plaintext Active Files to an Excel spreadsheet.