IP Library Granted Patent US 11,323,247
Granted Patent B2
US 11,323,247 · App. 16/755,871 · Granted May 3, 2022

Methods and systems for secure data communication

Inventor: Randy Kuang (Ottawa, CA)
Assignee: Quantropi Inc.
H04L9/0643H04L9/3247G06Q20/0655G06Q20/3829G06Q2220/00H04L67/12H04L2209/34H04L2209/38
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 11,323,247
App. No.
16/755,871
Granted
May 3, 2022
Kind
B2
Abstract

A computer-implemented method, which comprises: receiving an input message comprising N-bit input segments, N being an integer greater than one; converting the N-bit input segments into corresponding N-bit output segments using a 2N-by-2N one-to-one mapping stored in a non-transitory storage medium; and generating an output message comprising the N-bit output segments. Also, a computer-implemented method for a recipient to validate a message received from a sender, the message including a first part and a second part. This method comprises receiving a token from a witnessing entity; obtaining a first data element by joint processing of the first part of the message and the token; obtaining a second data element by joint processing of the second part of the message using a key associated with the sender; and validating the message by comparing the first and second data elements.

Claims (61)

1. A non-transitory computer-readable storage medium comprising computer-readable instructions which, when executed by a processor, cause the processor to carryout a method that comprises using a permutation mapping to encode individual first sets of bits of an input bit stream into corresponding same-sized second sets of bits of an output bit stream, wherein the size of the first and second sets of bits is N, wherein permutation mapping is of a size 2 N by 2 N , wherein N is an integer at least as great as 8 and wherein the permutation mapping is such that for at least 90% of the possible corresponding pairs of first and second sets, the relative proportion of ones and zeroes is different between the two sets in the pair; and causing the output bit stream to be at least one of (i) transmitted over a communication channel and (ii) stored in a non-transitory memory.

2. The non-transitory computer-readable storage medium defined in claim 1 , wherein the method carried out by the processor further comprises:

receiving a seed from a server; and

generating the permutation mapping based on the seed.

3. The non-transitory computer-readable storage medium defined in claim 1 , wherein the method carried out by the processor further comprises releasing the output bit stream towards a recipient entity that uses a second mapping derivable from said permutation mapping to convert N-bit output segments in the output bit stream into the first sets of bits.

4. The non-transitory computer-readable storage medium defined in claim 3 , wherein the permutation mapping is obtained from a history table stored in memory and shared with the recipient entity.

5. The non-transitory computer-readable storage medium defined in claim 3 , wherein the permutation mapping and the second mapping are representable as 2 N -by-2 N permutation matricesthat a re transposes of one another.

6. The non-transitory computer-readable storage medium defined in claim 1 , wherein the input bit stream carries a blockchain transaction.

7. The non-transitory computer-readable storage medium defined in claim 1 , wherein the input bit stream carries a text document.

8. The non-transitory computer-readable storage medium defined in claim 1 , wherein the method carried out by the processor further comprises:

using a sensor to obtain sensed data representative of at least one sensed environmental parameter; and

wherein at least some of the first sets of bits of the input bit stream carry the sensed data.

9. The non-transitory computer-readable storage medium defined in claim 1 , wherein the method carried out by the processor further comprises:

storing a set of 2 L unique L-bit templates, where L is an integer;

separating a prior bit stream into ordered sets of 2 L prior segments of size L bits; and

scrambling the L bit positions within each i th prior segment in each of the sets in accordance with a corresponding one of the templates, wherein the input bit stream comprises the prior segments in each set after scrambling.

10. The non-transitory computer-readable storage medium defined in claim 9 , wherein the method carried out by the processor further comprises:

changing the templates over time.

11. The non-transitory computer-readable storage medium defined in claim 1 , wherein the method carried out by the processor further comprises:

receiving an original message;

spreading the original message, thereby to produce the input bit stream.

12. The non-transitory computer-readable storage medium defined in claim 11 , wherein spreading the original message comprises mapping different instantiations of same-valued input segments in the original message into different-valued output segment in the intermediate original message.

13. The non-transitory computer-readable storage medium defined in claim 12 , wherein the method carried out by the processor further comprises:

converting second sets of bits in the output bit stream into corresponding new second sets of bits using an inverse mapping derivable from the permutation mapping; and

generating a new output bit stream comprising the N-bit new second sets of bits.

14. The non-transitory computer-readable storage medium defined in claim 13 , wherein the method carried out by the processor further comprises:

despreading the new output bit stream.

15. The non-transitory computer-readable storage medium defined in claim 14 , wherein the inverse mapping and the permutation mapping are transposes of one another.

16. A communication apparatus comprising:

a processor; and

a non-transitory memory coupled to the processor, wherein the memory stores a permutation mapping of size 2 N -by-2 N , where N is an integer at least as great as 8;

wherein the processor is configured for:

using the permutation mapping to encode individual first sets of bits of an input bit stream into corresponding same-sized second sets of bits of an output bit stream, wherein the size of the first and second sets of bits is N, and wherein the permutation mapping is such that for at least 90% of the possible corresponding pairs of first and second sets, the relative proportion of ones and zeroes is different between the two sets in the pair;

causing the output bit stream to be transmitted over a communication channel.

17. The communication apparatus defined in claim 16 , wherein the processor is further configured for:

receiving a seed from a server; and

generating the permutation mapping based on the seed.

18. The communication apparatus defined in claim 16 , wherein the output bit stream is released towards a recipient entity that uses a second mapping derivable from said permutation mapping to convert N-bit output segments in the output bit stream back into the first sets of bits.

19. The communication apparatus defined in claim 18 , wherein the permutation mapping is obtained from a history table stored in the memory and shared with the recipient entity.

20. The communication apparatus defined in claim 18 , wherein the permutation mapping and the second mapping are representable as 2 N -by-2 N permutation matrices that are transposes of one another.

21. The communication apparatus medium defined in claim 16 , wherein the input bit stream carries a blockcha in tra nsaction.

22. The communication apparatus medium defined in claim 16 , wherein the input bit stream carries a text document.

23. The communication apparatus medium defined in claim 16 , wherein the method carried out by the processor further comprises:

using a sensor to obtain sensed data representative of at least one sensed environmental parameter; and

wherein at least some of the first sets of bits of the input bit stream carry the sensed data.

24. The communication apparatus defined in claim 16 , wherein the processor is further configured for:

storing a set of 2 L unique L-bit templates;

separating a prior bit stream into ordered sets of 2 L prior segments of size L bits; and

scrambling the L bit positions within each i th prior segment in each of the sets in accordance with a corresponding one of the templates, wherein the input bit stream comprises the prior segments in each set after scrambling.

25. The communication apparatus defined in claim 24 , wherein the processor is further configured for:

changing the templates over time.

26. The communication apparatus defined in claim 16 , wherein the processor is further configured for:

receiving an original message;

spreading the original message, thereby to produce the input bit stream.

27. The communication apparatus defined in claim 26 , wherein spreading the original message comprises mapping different insta ntiations of same-valued input segments in the original message into different-valued output segment in the intermediate original message.

28. The communication apparatus defined in claim 27 , wherein the processor is further configured for:

converting second sets of bits in the output bit stream into corresponding new second sets of bits using an inverse mapping derivable from the permutation mapping; and

generating a new output bit stream comprising the N-bit new second sets of bits.

29. The communication apparatus defined in claim 28 , wherein the processor is further configured for:

despreading the new output bit stream.

30. The communication apparatus defined in claim 29 , wherein the inverse mapping and the permutation mapping are transposes of one another.

Assignments (3)
SECURITY INTEREST Recorded Nov 4, 2025
From: QUANTROPI INC.
To: DUNA TRANSPORTATION AND TOURISM DEVELOPMENT KORLATOLT FELELOSSEGU TARSASAG
Reel/Frame 072772/0517 →
CHANGE OF ADDRESS Recorded Oct 6, 2021
From: QUANTROPI INC.
To: QUANTROPI INC.
Reel/Frame 057725/0013 →
CONFIRMATORY ASSIGNMENT Recorded Jul 9, 2020
From: KUANG, RANDY; STEKLASA, ROBERT; KUANG, NINGKE; HE, MINGXUAN
To: QUANTROPI INC.
Reel/Frame 053172/0023 →
Continuity (3)
Continuation In Part 15796577 · Oct 27, 2017
Provisional Application 62662819 · Apr 26, 2018
Related Publication 20210211271A1 · Jul 8, 2021
Cited By (4)
US 12,598,089 US 12,627,480 US 12,652,272 US 12,712,724