Dynamic key exchange for moving target

Information

  • Patent Grant
  • 12284512
  • Patent Number
    12,284,512
  • Date Filed
    Monday, December 4, 2023
    2 years ago
  • Date Issued
    Tuesday, April 22, 2025
    8 months ago
  • Inventors
  • Original Assignees
  • Examiners
    • Lanier; Benjamin E
    • Noel; Lydia L
    Agents
    • Haverstock & Owens, A Law Corporation
  • CPC
  • Field of Search
    • CPC
    • H04W12/0471
    • H04W12/033
    • H04W12/06
    • H04W12/63
    • H04W12/03
  • International Classifications
    • H04W12/0471
    • H04W12/033
    • H04W12/06
    • H04W12/63
    • Disclaimer
      This patent is subject to a terminal disclaimer.
      Term Extension
      0
Abstract
Low power devices are able to utilize encryption in communication. Low power devices typically cannot send/receive large amounts of data since sending/receiving more data uses more power. Implementing a key exchange with a small encrypted payload enables secure communication between the devices. A one-way data stream is implemented. The one-way data stream is able to be encrypted. The dynamic key exchange is able to be used for a moving target.
Description
FIELD OF THE INVENTION

The present invention relates to data communication. More specifically, the present invention relates to a secure data communication.


BACKGROUND

A combination of devices becoming smaller and the growth of device connectivity means that communications between the devices cannot use standard communication protocol in some cases.


SUMMARY

Low power devices are able to utilize encryption in communication. Low power devices typically cannot send/receive large amounts of data since sending/receiving more data uses more power. Implementing a dynamic key exchange with a small encrypted payload enables secure communication between the devices. A one-way data stream is implemented. The one-way data stream is able to be encrypted. The dynamic key exchange is able to be used for a moving target.





BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, with emphasis instead being placed upon clearly illustrating the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.



FIG. 1 illustrates a flowchart of a method of implementing low power encryption in motion according to some embodiments.



FIG. 2 illustrates a flowchart of another method of implementing low power encryption in motion according to some embodiments.



FIG. 3 illustrates a flowchart of a method of implementing low power encryption in motion according to some embodiments.



FIG. 4 illustrates a diagram of a low power device in a communication system according to some embodiments.



FIG. 5 illustrates a diagram of a 1-way data stream encryption according to some embodiments.



FIG. 6 illustrates a flowchart of a method of performing a dynamic key exchange for a moving target according to some embodiments.



FIG. 7 illustrates a diagram of a system for implementing a dynamic key exchange for a moving target according to some embodiments.



FIG. 8 illustrates a block diagram of an exemplary computing device configured to implement the dynamic key exchange method according to some embodiments.





DETAILED DESCRIPTION

In some embodiments, low power devices utilize encryption methods for secure communication. For example, low power encryption is able to involve a key exchange which includes sending and receiving keys. In some embodiments, the key exchange includes sending, receiving and generating random numbers, wherein the keys and random numbers are utilized to solve the equations.


To minimize power usage, instead of performing authentication (e.g., a key exchange) for every packet, the windowing is able to be pushed out. For example, there is a key exchange once every nth packet (e.g., n=50) instead of every packet. The number of packets between each key exchange is able to be any number, while recognizing that the farther apart the key exchange, the less power usage but also a slight decrease in security. In some embodiments, a device is only awake for a short period of time and sleeps for a majority of the time. Additionally, a device is able to turn off as many components as possible that utilize power, and then the device is able to turn on the components when needed.


In some embodiments, an extension of the Bluetooth® protocol is implemented. The Bluetooth® protocol includes sending a signal 2-ways. A first signal is sent from a low power device (e.g., IoT device), and then a signal is sent to the low power device (e.g., received from the sending device). After the low power device sends a signal (e.g., a beacon or other one-way transmission), the low power device listens for a short window/amount of time, and then goes to sleep to conserve power. Therefore, the low power device is asleep for approximately 99.9% of the time. During the short window, it may receive a 3-way handshake (e.g., perform the key exchange).



FIG. 1 illustrates a flowchart of a method of implementing low power encryption in motion according to some embodiments. In the step 100, a matrix-based communication is implemented between a low power device and another device. In some embodiments, the matrix-based communication includes a matrix-based key exchange. In some embodiments, the communication is not matrix-based; rather, another form of communication occurs between the low power device and another device. The low power device is able to be an IoT device and/or any other device which utilizes minimal power. For example, the low power device includes a battery which is charged initially and then is not charged again for many months or self-charges using ambient light and/or signals/waves. In another example, the low power device is powered by a battery or by collecting energy such as WiFi, kinetic vibrations or other ambient sources. The device communicating with the low power device is able to be any device such as a server, a user device, a backend device, or another IoT device. Included with or in addition to the matrix-based communication/key exchange is a message. For example, the low power device and the other device send messages including requests and/status information.


As described herein, the matrix-based communication involves real numbers and matrices. Secret information, X, is able to be sent with random number Y (e.g., X+Y) from a first device (e.g., Person A) to a second device (e.g., Person B). Then, a response is sent back from the second device to the first device, another random number Z is included but the secret information, X, is not included in the response, so instead of X+Y+Z, the response is just Y+Z. This is performed using matrices.







A
=



"\[LeftBracketingBar]"





a
1




a
2






a
3




a
4






"\[RightBracketingBar]"







X
i

=



"\[LeftBracketingBar]"





x
1




x
2






x
3






x
2



x
3



x
1







"\[RightBracketingBar]"









    • A·X=M, where M is a matrix.

    • A=X−1M.

    • X is solvable if one knows A and M, but A is not solvable just by knowing X and M.


      For example, if Person A sends a message M to Person B and to Person C, where person B has information A and Person C has information M, then Person B has enough information to determine the message, but Person C does not.





Person A sends a function of matrix A and message X (e.g., F (A, X)) to Person B. Message 1 (M1) equals the function, F(A, X). Person B returns back Message 2, M2=F(A, X, B), where B is Matrix B. Person A removes matrix A, and sends Message 3, M3=F(X, B), so that Person B receives the message X. In some embodiments, many more matrices (e.g., 8 or more matrices), more multiplications, and non-linear equations are utilized. Real numbers are utilized instead of integer numbers. Additionally, even if one were to determine Matrices A and B, the equation to solve for X is a diophantine 4th order equation. Therefore, it is not solvable using an algorithmic approach, so brute force must be utilized, which means even a quantum computer would still take many years to decrypt a sufficiently encrypted message.


An authentication system is paired with the matrix-based encryption to ensure security. In the example of Person A exchanging a message X with person B, there is a three way key exchange. Random information (Matrix G) is added to the message, and Matrix G makes no sense even with a brute force attack. Additionally, Person A has his own authentication Matrix N1, and Person B has his own authentication Matrix N2. An authentication system is implemented which utilizes N2·N1−1. Additionally, G is included with N1 and N2, so that if a third party attempts to access the information, they receive white noise. In some embodiments, the matrix-based encryption is utilized with RSA and/or ECC to perform quantum tunneling. Even if there is a virus on a device, since the virus is not registered on the authentication system, the virus will receive white noise when trying to access information.


In the step 102, a specified number of messages/packets are sent between the low power device and the other device without performing an authentication communication (e.g., a key exchange). For example, 50 packets are sent before the next matrix-based key exchange. A counter is able to be utilized to determine when to perform the next matrix-based messaging/key exchange. In some embodiments, a clock is utilized to determine when to perform the next matrix-based messaging/key exchange.


In some embodiments, fewer or additional steps are implemented. In some embodiments, the order of the steps is modified.



FIG. 2 illustrates a flowchart of another method of implementing low power encryption in motion according to some embodiments. In the step 200, a low power device sends a communication (e.g., signal) to another device. In some embodiments, the communication is a matrix-based communication as described herein.


In the step 202, the low power device waits and listens for a very short period of time (e.g., 1 second, 5 seconds, 5 minutes). While waiting and listening, the low power device is using power (e.g., to power the receiver).


In the step 204, if a communication is received during the listening window, the low power device takes an action. For example, the low power device and the other device may perform the matrix-based key exchange described herein. In another example, the low power device may be a sensor, and if another device sends a status request, the low power device may respond with status information after the matrix-based key exchange.


In the step 206, the low power device goes into sleep mode to conserve power. After the awake period or after an action is taken, the low power device enters sleep mode. The process repeats after a while by going back to step 200. For example, the low power device uses its internal clock or other mechanism to determine when to wake up and send another communication. By being in sleep most of the time (e.g., 99.9% of the time), the low power device significantly reduces its power consumption. In some embodiments, fewer or additional steps are implemented. For example, a low power device is configured and implemented to utilize less power such as by turning off certain components when not in use and by utilizing special sensors and power capturing/charging components configured to charge the low power device's battery. In some embodiments, the order of the steps is modified.


In some embodiments, the low power encryption in motion methods are utilized together. For example, the low power device sends a signal and waits/listens for a response during a short window, but only every nth window is there a key exchange. In this case since the window occurs infrequently, the nth window may be a lower number such as every 10th time, although any number could be specified.


Key Exchange with Small Encrypted Payload


In some embodiments, low power devices utilize the matrix encryption methods described herein for encryption. Low power devices typically cannot send/receive large amounts of data since sending/receiving more data uses more power.


A communication device sends a signal/message (e.g., beacon) to a low power device (e.g., IoT device, credit card). In addition to or included with the message, the communication device is able to send a small amount of data (e.g., 20 bytes). For example, the message as a total (including keys, equations) is 20 bytes or fewer, or the message has a size limit, and the additional information (e.g., keys, equations) has a different size limit (e.g., 20 bytes). In some embodiments, the communication comprises a payload as small as 20 bytes or fewer. The payload size is able to be modified depending on a specification such as a Power Specification. There are multiple keys (e.g., k1, k2) at the communication device and multiple keys (e.g., k1, k2) at the low power device. The communication device and the low power device each have real number random number generators. Using the random number generators, one or more random numbers between 0 and 1 are able to be generated. Each random number is 4 bytes, so for 2 random numbers, there is a total of 8 bytes used. The following shows exemplary equations:










r
1

(

1
-

k
1


)

+


r
2



k
1



=

m
1








r
1

(

1
-

k
2


)

+


r
2



k
2



=

m
2








r
1

(

1
-
x

)

+


r
2


x


=

m
3





x
=


[


m
3

-

r
1


]



r
2

-

r
1










    • where x is the message;

    • k1 and k2 are keys;

    • r1 and r2 are randomly generated numbers; and

    • m1, m2 and m3 are real numbers between 0 and 1 calculated using the keys and randomly generated numbers. Additionally, m1, m2 and m3 are functionally unrelated, such that if someone snoops and retrieves the values of m1, m2 and m3, the snooper retrieves garbage data or white noise even if x is constant.





For example, the communication device sends the equations for m1 and m2, which are each 4 bytes, to the low power device. The communication device also sends the message or the equation for m 3 (which includes the message) which is also 4 bytes (meaning a total of 12 bytes for the 3 equations). The variables r1 and r2 are unknown by any third party. The variables r1 and r2 are then able to be determined/calculated by the low power device. In some embodiments, r1 and r2 are received by the low power device. The value/information of x (the message) is able to be decrypted by the low power device using r1 and r2 and the equations.



FIG. 3 illustrates a flowchart of a method of implementing low power encryption in motion according to some embodiments. In the step 300, a communication is sent from a communication device to a low power device (or vice versa). The communication includes an encrypted message. In some embodiments, the communication includes a plurality of equations. In some embodiments, the communication is limited in size (e.g., less than 20 bytes). The communication includes information that changes each communication such as a session identification number, a date/time stamp, and/or any other information to prevent a third party from capturing/copying a communication and sending the captured transmission. For example, the communication includes an identifier which counts up (e.g., for every package or is time-based), so that if the identifier is the same as or below a previous identifier, then the device knows that the communication is a duplicate, and is able to reject the communication and/or not respond.


In the step 302, random numbers within the plurality of equations are determined or acquired by the low power device. The random numbers are real numbers between 0 and 1, although other real numbers are able to be used. In some embodiments, the random numbers are received via the communication. In some embodiments, the random numbers are generated based on the communication using the random number generator on the low power device.


In the step 304, a message within the communication is decrypted. In some embodiments, the decryption is based on the random numbers and the equations as described herein. In some embodiments, fewer or additional steps are implemented. For example, the communication is able to be implemented without random numbers. In some embodiments, the order of the steps is modified.



FIG. 4 illustrates a diagram of a low power device in a communication system according to some embodiments. The low power device 400 includes a transmitter/receiver 402 (e.g., an antenna) to receive communications. The low power device 400 is also able to include other components 404 such as a battery (e.g., Lithium ion), one or more sensors, a processing unit, memory (e.g., RAM), one or more charging components (e.g., a small photovoltaic cell, a vibration converter) and other computing components. The one or more charging components are able to charge the battery using very small amounts of energy from energy sources such as ambient light, tiny vibrations, or wireless signals. The battery (along with the charging components) are configured such that the battery is able to be charged once and then maintain that charge for many months. The low power device 400 is able to send/receive a communication (e.g., one-way communication/data stream/beacon) as described herein. In some embodiments, the low power device 400 sends a communication periodically (e.g., once every 20 minutes). The communication is able to be RF, infrared, WiFi, Bluetooth, 5G (xG), or any other wireless communication. The low power device 400 is able to communicate with any device 410 (e.g., a mobile device, a server, another IoT device). In some embodiments, the low power device 400 includes fewer or additional components.


Encryption for One-way Data Stream


In some embodiments, encryption for a one-way data stream is implemented. In some embodiments, as a device is provisioned, the two-way exchange (e.g., two handshakes) with a second device is able to be implemented. Then, since the two-way exchange with the second device has already occurred, the device is able to send one-way data streams to the second device. The one-way data stream is able to be a broadcast, cyphereye data, Bluetooth®, stream, coordinate information, and/or any other data.



FIG. 5 illustrates a diagram of a one-way data stream encryption according to some embodiments. In the step 500, a two-way exchange (pre-registration) occurs between two devices (e.g., client and server). For example, the matrix-based exchange described herein occurs between a first device and a second device. After the two-way exchange is performed, a device is able to send an encrypted one-way data stream to the second device, in the step 502. Since the pre-registration has established authentication/encryption credentials/information between the devices, the encrypted one-way data stream is able to be decrypted by the second device, while being securely transmitted. In some embodiments, the one-way data steam is from a mobile device, server, or other device to an Internet of Things device (or vice versa). In some embodiments, the one-way data stream is status information (e.g., status of a sensor chip to a central station). In some embodiments, the one-way-data stream includes instructions (e.g., from a central device to an IoT device to perform a specific type of monitoring or to go into a certain state/mode such as to go to sleep). In some embodiments, fewer or additional steps are implemented. In some embodiments, the order of the steps is modified.


Dynamic Key Exchange for Moving Target


In some embodiments, a dynamic, key exchange for a moving target is implemented. For example, a client (e.g., mobile device, autonomous vehicle) is moving and keeps switching between servers/receivers (e.g., devices positioned on light/telephone poles). In some embodiments, the key exchange is matrix-based. In some embodiments, a dynamic key exchange registration is implemented where each time the signal drops at one receiver, the device connects with another receiver and performs another key exchange. In some embodiments, the device and/or receivers are pre-registered with an authentication server. In some embodiments, the device and/or receivers are registered (or pre-registered) with an authorization server, where the authorization server performs the processing and is able to send a decrypted message (based on an encrypted message from a receiver) to the device which forwards the message to another receiver (e.g., the server on the light pole), or the decrypted message is based on an encrypted message from a device, and the decrypted message is sent to the receiver. The receivers are able to send a one-way data stream (e.g., beacon) to the moving device (or vice versa). In some embodiments, the device and/or receivers send a matrix-based encrypted communication to the receiver/device which forwards the communication to the authentication server which performs the decryption.



FIG. 6 illustrates a flowchart of a method of performing a dynamic key exchange for a moving target according to some embodiments. In the step 600, a device is pre-registered with an authentication server. For example, the pre-registration described herein is implemented. In another example, pre-registration includes storing/recording device information (e.g., MAC address or other identification information) at the authentication server, so that the authentication server already “knows” the device. In some embodiments, other matrix-based encryption information is utilized for pre-registration. Similarly, the receiver is able to be pre-registered or registered with the authentication server. A pre-registered key or a dynamically-generated key is able to be used with the secure key exchange.


In the step 602, the device communicates with a receiver. The communication is able to include a communication from the device to the receiver, a communication from the receiver to the device, or a combination thereof. Initially, a dynamic, key exchange between the device and the receiver is implemented as described herein. In some embodiments, each time the device switches to a new receiver, the dynamic key exchange is performed again. In some embodiments, the authentication server is able to assist with the dynamic key exchange between the device and the receiver. For example, the authentication server assists with the authentication by performing the key exchange computations and then provides the result to the device and/or the receiver. In another example, the authentication sever is able to perform the authentication with the device and/or the receivers such that the key exchange does not occur each time the device switches to a new receiver. In another example, the authentication server is able to store data to expedite the dynamic key exchange between the device and the receivers. Furthering the last example, if a device and/or receiver is verified or “known” by the authentication server, the authentication process/dynamic key exchange is able to be skipped or expedited. In some embodiments, the receiver forwards dynamic key information received from the device to the authentication server, and the authentication server performs the key analysis (e.g., matrix multiplication) to provide authentication data to the receiver and/or the device. Furthering the example, the device sends an encrypted communication to the receiver, but the receiver does not decrypt the communication; the receiver forwards the encrypted communication to the authentication server which performs the decryption, and then takes another action such as returning the decrypted message to the receiver. After the device and/or receiver perform the dynamic key exchange, the message and/or messages are able to be acted upon. For example, if the dynamic key exchange accompanies a status request, a receiver is able to send a message back to the device with the status of the receiver. In another example, the messages to the receiver are able to include commands for the receiver to take a specified action. Similarly, the receiver is able to send commands to the device, and the device will take a specified action.


In the step 604, the device determines whether to switch to another receiver. Determining when and whether to switch to another receiver is able to be implemented in any manner such as detecting that an ACK has not been received in response to a communication with the receiver, detecting a low signal strength from a receiver, utilizing a zone mapping which indicates which receiver services which zone, and/or any other manner. In some embodiments, when the device determines to switch to another receiver, the process resumes at the step 602 to perform an authentication such as a dynamic key exchange. In some embodiments, the device does not determine whether to switch to a new receiver, and instead, the device broadcasts a communication, and whatever receiver is nearby receives the communication. The communication is encrypted as described herein, so receiver that receives the communication will still perform decryption. Similarly, the device is able to receive a communication from whichever receiver is nearby. In some embodiments, fewer or additional steps are implemented. In some embodiments, the order of the steps is modified.



FIG. 7 illustrates a diagram of a system for implementing a dynamic key exchange for a moving target according to some embodiments. A device 700 communicates with a set of receivers 702. The device 700 is able to be any device such as a mobile phone, an autonomous vehicle, an IoT device, a server or others. The receivers 702 are able to be any device such as a mobile phone, an autonomous vehicle, a server, an IoT device, or others. An authentication server 704 is able to be used to authenticate (or pre-authenticate) the device 700 and/or the receivers 702. In some embodiments, the authentication server 704 is able to be used to authenticate (or pre-authenticate) the communication to/from the device 700. In some embodiments, the device 700 is able to communicate with the authentication server 704, and/or the set of receivers 702 are able to communicate with the authentication server 704. The communication between each of the devices (e.g., device 700, receivers 702 and authentication server 704) is able to be any implementation such as WiFi, cellular, 5G/xG, Bluetooth, and/or any combination thereof. The authentication server 704 is able to be located anywhere such as at a central location.


In some embodiments, the device 700 and/or the set of receivers 702 are pre-registered with an authentication server 704. Any form of pre-registration is able to be implemented. While the device 700 is moving, the device 700 will connect/communicate with several of the set of receivers 702. The communication between the device 700 and the set of receivers 702 is secure. In some embodiments, the key exchange is implemented each time the device 700 connects with a receiver 702. In some embodiments, the authentication sever 704 performs the key exchange by receiving the communication and accompanying matrix/encryption information, and provides access for the receiver 702. For example, the device 700 attempts to connect with a receiver 702, so the key exchange is implemented. The receiver 702 passes the information to the authentication server 704, which performs the processing (e.g., matrix multiplication), and provides the key information back to the receiver 702 and/or the device 700, so that the device 700 and the receiver 702 are able to communicate. In some embodiments, the authentication server 704 is able to use the pre-registration information to bypass security protocols and/or to be utilized with the key exchange. As the device 700 moves and leaves range/signal of the receiver, the device 700 communicates with another receiver in the set of receivers 702. The key exchange occurs with the other receiver, and so on with additional receivers. As described herein, determining when to switch to another receiver is able to be performed in any manner such as by detecting when a signal, quality of service, and/or speed of another receiver is higher than the current receiver, detecting when a distance of another receiver is lower than the current receiver, and others.



FIG. 8 illustrates a block diagram of an exemplary computing device configured to implement the dynamic key exchange method according to some embodiments. The computing device 800 is able to be used to send, receive, acquire, store, compute, process, communicate and/or display information. The computing device 800 is able to implement any of the encoding/decoding aspects. In general, a hardware structure suitable for implementing the computing device 800 includes a network interface 802, a memory 804, a processor 806, I/O device(s) 808, a bus 810 and a storage device 812. The choice of processor is not critical as long as a suitable processor with sufficient speed is chosen. A GPU is also able to be included. The memory 804 is able to be any conventional computer memory known in the art. The storage device 812 is able to include a hard drive, CDROM, CDRW, DVD, DVDRW, High Definition disc/drive, ultra-HD drive, flash memory card or any other storage device. The computing device 800 is able to include one or more network interfaces 802. An example of a network interface includes a network card connected to an Ethernet or other type of LAN. The I/O device(s) 808 are able to include one or more of the following: keyboard, mouse, monitor, screen, printer, modem, touchscreen, button interface and other devices. Key exchange application(s) 830 used to implement the key exchange method are likely to be stored in the storage device 812 and memory 804 and processed as applications are typically processed. More or fewer components shown in FIG. 8 are able to be included in the computing device 800. In some embodiments, key exchange hardware 820 is included. Although the computing device 800 in FIG. 8 includes applications 830 and hardware 820 for the key exchange implementation, the key exchange method is able to be implemented on a computing device in hardware, firmware, software or any combination thereof. For example, in some embodiments, the key exchange applications 830 are programmed in a memory and executed using a processor. In another example, in some embodiments, the key exchange hardware 820 is programmed hardware logic including gates specifically designed to implement the key exchange method.


In some embodiments, the key exchange application(s) 830 include several applications and/or modules. In some embodiments, modules include one or more sub-modules as well. In some embodiments, fewer or additional modules are able to be included.


Examples of suitable computing devices include a personal computer, a laptop computer, a computer workstation, a server, a mainframe computer, a handheld computer, a personal digital assistant, a cellular/mobile telephone, a smart appliance, a gaming console, a digital camera, a digital camcorder, a camera phone, a smart phone, a portable music player, a tablet computer, a mobile device, a video player, a video disc writer/player (e.g., DVD writer/player, high definition disc writer/player, ultra high definition disc writer/player), a television, a home entertainment system, an augmented reality device, a virtual reality device, smart jewelry (e.g., smart watch), a vehicle (e.g., a self-driving vehicle), a drone, or any other suitable computing device.


Any of the implementations described herein are able to be used with any of the other implementations described herein. In some embodiments, the implementations described herein are implemented on a single device (e.g., user device, IoT device, server, cloud device, backend device) and in some embodiments, the implementations are distributed across multiple devices, or a combination thereof.


The embodiments described herein can be implemented by either a method or process or as a system or device. The method can be performed using any suitable computing device, and the system can be embodied as any suitable computing device. The computing device can include at least one processing system, for example, having one or more processors and memories electrically and communicatively coupled together using a local interface. The local interface can be embodied as a data bus with an accompanying address/control bus or other addressing, control, and/or command lines.


In various embodiments, the memory can store data and software or executable code components executable by the processor. For example, the memory can store executable-code components associated with cryptographic operations for execution by the processor. The software or executable-code components can be developed using or embodied in various programming languages, such as, for example, C, C++, C#, Objective C, JAVA®, JAVASCRIPT®, Perl, PHP, VISUAL BASIC®, PYTHON®, RUBY, FLASH®, or other programming languages.


The embodiments can rely, in part, on executable instructions or instructions for execution by the computing device. The terms “executable” or “for execution” refer to software forms that can ultimately be run or executed by a processor, whether in source, object, machine, or other form. Examples of executable programs include, for example, a compiled program that can be translated into a machine code format and loaded into a random access portion of memory and executed by a processor, source code that can be expressed in an object code format and loaded into a random access portion of the memory and executed by the processor, or source code that can be interpreted by another executable program to generate instructions in a random access portion of the memory and executed by the processor, etc.


An executable program can be stored in any portion or component of the memory including, for example, a random access memory (RAM), read-only memory (ROM), magnetic or other hard disk drive, solid-state, semiconductor, or similar drive, universal serial bus (USB) flash drive, memory card, optical disc (e.g., compact disc (CD)) or digital versatile disc (DVD)), floppy disk, magnetic tape, or other memory component.


Although the processes shown in Figures illustrate a certain order, it is understood that the order can differ from that which is depicted. For example, an order of execution of two or more blocks can be scrambled relative to the order shown. Also, two or more blocks shown in succession can be executed concurrently or with partial concurrence. Further, in some embodiments, one or more of the blocks can be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure.


Also, any algorithm, method, process, or logic described herein that are embodied, at least in part, by software or executable-code components, can be embodied or stored in any tangible or non-transitory computer-readable medium or device for execution by an instruction execution system such as a general purpose processor. In this sense, the logic can be embodied as, for example, software or executable-code components that can be fetched from the computer-readable medium and executed by the instruction execution system. Thus, the instruction execution system can be directed by execution of the instructions to perform certain processes such as those illustrated in the Figures. In the context of the present disclosure, a “computer-readable medium” can be any tangible medium that can contain, store, or maintain any logic, application, software, or executable-code component described herein for use by or in connection with an instruction execution system.


The computer-readable medium can include any physical media such as, for example, magnetic, optical, or semiconductor media. More specific examples of suitable computer-readable media include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium can include a RAM including, for example, an SRAM, DRAM, or MRAM. In addition, the computer-readable medium can include a ROM, a PROM, an EPROM, an EEPROM, or other similar memory device.


Disjunctive language, such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is to be understood with the context as used in general to present that an item, term, etc., can be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to be each present.


It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications can be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.

Claims
  • 1. A method comprising: performing a key exchange between a device and each receiver of a plurality of receivers; andsending, with the device, a communication to each receiver of the plurality of receivers, wherein the device is configured to switch to a receiver of the plurality of receivers based on movement of the device, further wherein the key exchange between the device and the receiver of the plurality of receivers occurs when a second speed of the receiver of the plurality of receivers is greater than a first speed of a previous receiver of the plurality of receivers.
  • 2. The method of claim 1 further comprising pre-registering, or dynamically registering with a secure key exchange, the device and/or the plurality of receivers with an authentication server.
  • 3. The method of claim 2 wherein performing the key exchange utilizes the authentication server.
  • 4. The method of claim 3 wherein the authentication server is configured to perform computations to perform the key exchange.
  • 5. The method of claim 4 wherein performing the computations includes sending a decrypted communication to the receiver.
  • 6. The method of claim 2 wherein pre-registering the device and/or the plurality of receivers with the authentication server includes storing device identification information.
  • 7. The method of claim 1 wherein the key exchange between the device and a receiver of the plurality of receivers occurs when a signal between the device and the receiver is above a threshold.
  • 8. The method of claim 1 wherein the device comprises a mobile phone, an autonomous vehicle, or an Internet of Things device.
  • 9. A server device comprising: a memory for storing an application, the application configured for: pre-registering, or dynamically registering with a secure key exchange, a device and/or a plurality of receivers;assisting with performing a key exchange between the device and each receiver of a plurality of receivers, further wherein the key exchange between the device and the receiver of the plurality of receivers occurs when a second speed of the receiver of the plurality of receivers is greater than a first speed of a previous receiver of the plurality of receivers; andsending decryption information to each receiver of the plurality of receivers; anda processor configured for processing the application.
  • 10. The server device of claim 9 wherein the application is further configured to perform computations to perform the key exchange.
  • 11. The server device of claim 10 wherein the application is further configured to send a decrypted communication to the device and/or a receiver of the plurality of receivers.
  • 12. The server device of claim 9 wherein pre-registering the device and/or the plurality of receivers includes storing device identification information.
  • 13. The server device of claim 9 wherein the key exchange between the device and a receiver of the plurality of receivers occurs when a signal between the device and a receiver of the plurality of receivers.
  • 14. A system comprising: a plurality of receivers;a device configured for sending a communication to each receiver of the plurality of receivers, wherein the device is configured to switch to a receiver of the plurality of receivers based on movement of the device, wherein sending the communication includes performing a key exchange; andan authentication server configured for performing computations to perform the key exchange, further wherein the key exchange between the device and the receiver of the plurality of receivers occurs when a second speed of the receiver of the plurality of receivers is greater than a first speed of a previous receiver of the plurality of receivers.
  • 15. The system of claim 14 wherein the authentication server is configured for pre-registering, or dynamically registering with a secure key exchange, the device and/or the plurality of receivers.
  • 16. The system of claim 15 wherein pre-registering the device and/or the plurality of receivers with the authentication server includes storing device identification information.
  • 17. The system of claim 14 wherein performing the computations includes sending a decrypted communication from the authentication server to the receiver.
  • 18. The system of claim 14 wherein the key exchange between the device and a receiver of the plurality of receivers occurs when a signal between the device and the receiver is above a threshold.
  • 19. The system of claim 14 wherein the device comprises a mobile phone, an autonomous vehicle, or an Internet of Things device.
  • 20. The system of claim 14 wherein each of the plurality of receivers is stationary.
CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of co-pending U.S. patent application Ser. No. 17/339,839, filed on Jun. 4, 2021, and titled “DYNAMIC KEY EXCHANGE FOR MOVING TARGET,” which is hereby incorporated by reference in its entirety for all purposes.

US Referenced Citations (410)
Number Name Date Kind
5581615 Stern Dec 1996 A
5850444 Rune Dec 1998 A
5987130 Chang Nov 1999 A
6895506 Abu-Husein May 2005 B1
6947943 DeAnna Sep 2005 B2
7468927 Battista Dec 2008 B1
7571320 Davis Aug 2009 B2
D607009 McEnaney Dec 2009 S
7683773 Goodall Mar 2010 B1
D614192 Takani Apr 2010 S
7885635 Laursen Feb 2011 B2
7925013 Washington Apr 2011 B1
7992102 De Angelo Aug 2011 B1
7992190 Mevissen Aug 2011 B2
8139581 Mraz Mar 2012 B1
8218762 Itoh Jul 2012 B2
8363259 Gillboa Jan 2013 B2
8417642 Oren Apr 2013 B2
8417643 Mardikar Apr 2013 B2
8543834 Barra Sep 2013 B1
8543884 Mansour Sep 2013 B2
8621209 Johansson Dec 2013 B1
8639785 Kiley Jan 2014 B2
8892871 Cho Nov 2014 B2
D719176 Cohen Dec 2014 S
D719177 Cohen Dec 2014 S
D723050 Minsung et al. Feb 2015 S
8959579 Barton Feb 2015 B2
9112835 Izozaki Aug 2015 B2
9210156 Little Dec 2015 B1
9219732 Baghdassaryan Dec 2015 B2
9225695 Riera Dec 2015 B1
9350539 Veugen May 2016 B2
9392460 Blake Jul 2016 B1
9419951 Felsher et al. Aug 2016 B1
D765669 Shaw Sep 2016 S
9485237 Johansson Nov 2016 B1
9615066 Tran Apr 2017 B1
9665169 Dai May 2017 B1
9706406 Adams Jul 2017 B1
9721080 Moran Aug 2017 B2
D800764 Thoreson Oct 2017 S
9854218 Mardikar Dec 2017 B2
D813884 Penker Mar 2018 S
9959694 Lindsay May 2018 B2
9961547 Molina-Markham May 2018 B1
10019561 Shelton Jul 2018 B1
10200364 Ketharaju et al. Feb 2019 B1
10257229 Kuo Apr 2019 B1
D847857 Elatta May 2019 S
10374800 Sharfi Aug 2019 B1
10380333 Moran Aug 2019 B1
10402800 Lucas Sep 2019 B2
10404458 Yamada Sep 2019 B1
10430789 Herald, Jr. Oct 2019 B1
10432605 Lester Oct 2019 B1
10437975 Shelton Oct 2019 B1
10521223 Bogushefsky, III Dec 2019 B1
10559307 Khalegi Feb 2020 B1
10630467 Gilbert Apr 2020 B1
10674446 Trent Jun 2020 B1
10762406 Cash Sep 2020 B2
10769633 Dua Sep 2020 B2
10810290 Minter et al. Oct 2020 B2
10867021 Shelton Dec 2020 B1
10887307 Newstadt Jan 2021 B1
10911425 Hitchcock Feb 2021 B1
10936744 Trepetin Mar 2021 B1
10958424 Chhabra Mar 2021 B1
D916890 Nagpal Apr 2021 S
10970607 Xue Apr 2021 B2
11005839 Shahidzadeh May 2021 B1
11030618 Budko Jun 2021 B1
11038694 Kleinman Jun 2021 B1
D925602 Xu Jul 2021 S
D928803 Faller Aug 2021 S
D928820 Bodduluri Aug 2021 S
11121878 McCarty Sep 2021 B2
D942469 Abdullah et al. Feb 2022 S
11283835 Gordon Mar 2022 B1
11328042 Keith, Jr. May 2022 B2
11510172 Feng Nov 2022 B1
11553337 Keith, Jr Jan 2023 B2
11563582 Keith, Jr Jan 2023 B2
11574045 Keith, Jr. Feb 2023 B2
11588794 Keith, Jr. Feb 2023 B2
11637694 Islamov Apr 2023 B2
1164062 Rudko May 2023 A1
11652815 Keith, Jr. May 2023 B2
11657140 Keith, Jr. May 2023 B2
20020099955 Peled et al. Jul 2002 A1
20020114454 Hamilton Aug 2002 A1
20020131592 Hinnant Sep 2002 A1
20020169871 Cravo de Almeida Nov 2002 A1
20020186688 Inoue Dec 2002 A1
20030014750 Kamen Jan 2003 A1
20030016844 Numaoka Jan 2003 A1
20030021416 Brown Jan 2003 A1
20030147267 Huttunen Aug 2003 A1
20030174067 Soliman Sep 2003 A1
20030221030 Pontius Nov 2003 A1
20040198392 Harvey Oct 2004 A1
20040223616 Kocarev Nov 2004 A1
20050084114 Jung Apr 2005 A1
20050135609 Lee Jun 2005 A1
20050147240 Agrawal Jul 2005 A1
20060075060 Clark Apr 2006 A1
20060031301 Herz et al. Sep 2006 A1
20060196950 Killccote Sep 2006 A1
20060236408 Yan Oct 2006 A1
20060285544 Taylor Dec 2006 A1
20070086653 Javidi Apr 2007 A1
20080022141 Hammarlund Jan 2008 A1
20080031460 Brookner Feb 2008 A1
20080045218 Okochi Feb 2008 A1
20080084836 Baird Apr 2008 A1
20080165937 Moore Jul 2008 A1
20080301057 Oren Dec 2008 A1
20090006796 Chang Jan 2009 A1
20090090577 Takahashi Apr 2009 A1
20090161873 Simard Jun 2009 A1
20090194592 Ming et al. Aug 2009 A1
20090279693 Billet Nov 2009 A1
20090315671 Gocho Dec 2009 A1
20090327746 Greco Dec 2009 A1
20100079591 Lee Apr 2010 A1
20100100716 Scott May 2010 A1
20100122274 Gillies May 2010 A1
20100329232 Tubb Dec 2010 A1
20110072142 Herz et al. Mar 2011 A1
20110106935 Srinivasan May 2011 A1
20110167255 Matzkel Jul 2011 A1
20110167273 Maas Jul 2011 A1
20110187642 Faith Aug 2011 A1
20110194694 Struik Aug 2011 A1
20110231673 Alekseev Sep 2011 A1
20110233284 Howard Sep 2011 A1
20110276952 Tyloch Nov 2011 A1
20110302405 Marlow Dec 2011 A1
20110321052 Long Dec 2011 A1
20120047563 Wheeler Feb 2012 A1
20120098750 Allen Apr 2012 A1
20120185910 Miettinen Jul 2012 A1
20120214442 Crawford Aug 2012 A1
20120221859 Marien Aug 2012 A1
20120272058 Wang et al. Oct 2012 A1
20120281885 Syrdal Nov 2012 A1
20130086625 Driscoll Apr 2013 A1
20130111208 Sabin et al. May 2013 A1
20130170363 Millington Jul 2013 A1
20130177151 Sella Jul 2013 A1
20130185779 Tamai Jul 2013 A1
20130202104 Ghouti Aug 2013 A1
20130205410 Sambamurthy Aug 2013 A1
20130239191 Bostick Sep 2013 A1
20130243187 Hortsmeyer Sep 2013 A1
20130304676 Gupta Nov 2013 A1
20130305324 Alford, Jr. Nov 2013 A1
20130346023 Novo Dec 2013 A1
20140002481 Broughton Jan 2014 A1
20140007048 Qureshi Jan 2014 A1
20140013422 Janus Jan 2014 A1
20140038583 Berg Feb 2014 A1
20140039892 Mills Feb 2014 A1
20140040628 Fort et al. Feb 2014 A1
20140053261 Gupta Feb 2014 A1
20140064166 HomChadhuri Mar 2014 A1
20140098723 Battista Apr 2014 A1
20140108803 Probert Apr 2014 A1
20140201531 Toy Jul 2014 A1
20140215222 Sakumoto Jul 2014 A1
20140244514 Rodriguez Aug 2014 A1
20140244515 Garfinkle Aug 2014 A1
20140250496 Amidon Sep 2014 A1
20140278077 Levin Sep 2014 A1
20140304371 Mraz Oct 2014 A1
20140344455 Cheng Nov 2014 A1
20140351618 Connell Nov 2014 A1
20140368601 deCharms Dec 2014 A1
20150089568 Sprague Mar 2015 A1
20150095352 Lacey Apr 2015 A1
20150095580 Liu Apr 2015 A1
20150095648 Nix Apr 2015 A1
20150095986 Karpey Apr 2015 A1
20150103136 Anderson Apr 2015 A1
20150121524 Fawaz Apr 2015 A1
20150134963 Izu May 2015 A1
20150142666 Landrok May 2015 A1
20150223731 Sahin Aug 2015 A1
20150242601 Griffiths Aug 2015 A1
20150242605 Du Aug 2015 A1
20150258892 Wu Sep 2015 A1
20150262067 Sridhara Sep 2015 A1
20150271679 Park Sep 2015 A1
20150278805 Spencer, III Oct 2015 A1
20150280911 Andoni Oct 2015 A1
20150294092 Balasubramanian Oct 2015 A1
20150347734 Beigi Dec 2015 A1
20150350201 Cornell Dec 2015 A1
20150356289 Brown Dec 2015 A1
20150356462 Fawaz Dec 2015 A1
20150365229 Patey Dec 2015 A1
20150365235 Hostyn Dec 2015 A1
20150370826 Mraz Dec 2015 A1
20150373007 Sheller Dec 2015 A1
20150379238 Connor Dec 2015 A1
20160007288 Samardzija Jan 2016 A1
20160011224 Pollack Jan 2016 A1
20160055327 Moran Feb 2016 A1
20160057623 Dutt Feb 2016 A1
20160063492 Kobres Mar 2016 A1
20160065558 Suresh Mar 2016 A1
20160065570 Spencer Mar 2016 A1
20160098334 Harihharakrishnan Apr 2016 A1
20160103996 Salajegheh Apr 2016 A1
20160110528 Gupta Apr 2016 A1
20160117673 Landrock Apr 2016 A1
20160135107 Hampel May 2016 A1
20160180078 Chhabra Jun 2016 A1
20160182503 Cheng Jun 2016 A1
20160191499 Momchillov Jun 2016 A1
20160283406 Linga Jun 2016 A1
20160227411 Lundblade Aug 2016 A1
20160239649 Zhao Aug 2016 A1
20160239657 Loughlin-McHugh et al. Aug 2016 A1
20160253498 Valencia Sep 2016 A1
20160300049 Guedalia Oct 2016 A1
20160320831 McCubbin Nov 2016 A1
20160342873 Winkk et al. Nov 2016 A1
20160352696 Essigmann Dec 2016 A1
20170005995 Yang Jan 2017 A1
20170013453 Lee Jan 2017 A1
20170024660 Chen Jan 2017 A1
20170041309 Ekambaram et al. Feb 2017 A1
20170048062 Polak Feb 2017 A1
20170063528 Seo Mar 2017 A1
20170068994 Slomkowski Mar 2017 A1
20170070340 Hibshoosh Mar 2017 A1
20170070890 Luff Mar 2017 A1
20170085382 Kamakari Mar 2017 A1
20170124385 Ganong May 2017 A1
20170134372 Dube May 2017 A1
20170147345 Clevenger May 2017 A1
20170193211 Blake Jul 2017 A1
20170214529 Oliveira Jul 2017 A1
20170220407 Estrada Aug 2017 A1
20170230172 Andersson Aug 2017 A1
20170230344 Dhar Aug 2017 A1
20170264597 Pizot Sep 2017 A1
20170272419 Kumar Sep 2017 A1
20170289168 Bar Oct 2017 A1
20170295010 Shibutani Oct 2017 A1
20170310479 Sato Oct 2017 A1
20170311250 Rico Alvarino Oct 2017 A1
20170317823 Gandhi Nov 2017 A1
20170339118 Hwang Nov 2017 A1
20170366514 Malka Dec 2017 A1
20180005239 Schlesinger Jan 2018 A1
20180005465 Truong Jan 2018 A1
20180007530 Tanaka Jan 2018 A1
20180012003 Asulin Jan 2018 A1
20180025135 Odom Jan 2018 A1
20180027411 Taneja Jan 2018 A1
20180029560 Mohaupt Feb 2018 A1
20180039990 Lindermann Feb 2018 A1
20180046803 Li Feb 2018 A1
20180063784 Abraham Mar 2018 A1
20180109696 Thanigasalam Apr 2018 A1
20180114221 Karantzis Apr 2018 A1
20180135815 Rowles May 2018 A1
20180144615 Kinney May 2018 A1
20180150622 Zaitsev May 2018 A1
20180167816 Kusens et al. Jun 2018 A1
20180189160 Yasin Jul 2018 A1
20180189161 Yasin Jul 2018 A1
20180212770 Costa Jul 2018 A1
20180248865 Johansson Aug 2018 A1
20180285879 Gadnis Oct 2018 A1
20180302416 Einberg Oct 2018 A1
20180322266 Kwok Suzuki Nov 2018 A1
20180329857 Ko Nov 2018 A1
20180375848 Tunnell Dec 2018 A1
20190021001 Park Jan 2019 A1
20190103957 Isobe Apr 2019 A1
20190122024 Schwartz Apr 2019 A1
20190149333 Harnik May 2019 A1
20190188111 Ozog Jun 2019 A1
20190289017 Agarwal Jun 2019 A1
20190207918 Kurian Jul 2019 A1
20190220583 Douglas Jul 2019 A1
20190245704 Pala Aug 2019 A1
20190268774 Kusens et al. Aug 2019 A1
20190271349 Madru Sep 2019 A1
20190271578 Moeller Sep 2019 A1
20190272495 Moeller Sep 2019 A1
20190278895 Streit Sep 2019 A1
20190279204 Norton Sep 2019 A1
20190280868 Streit Sep 2019 A1
20190281025 Harriman Sep 2019 A1
20190281036 Eisen Sep 2019 A1
20190287427 Schepers Sep 2019 A1
20190318122 Hockey Oct 2019 A1
20190334708 Carpor Oct 2019 A1
20190342092 Handschuh Nov 2019 A1
20190354660 Fong Nov 2019 A1
20190354787 Fong Nov 2019 A1
20190370445 Fong Dec 2019 A1
20190386814 Ahmed Dec 2019 A1
20190391895 Della Corte Dec 2019 A1
20200014541 Streit Jan 2020 A1
20200029214 Aylward Jan 2020 A1
20200042723 Krishnamoorthy Feb 2020 A1
20200044852 Streit Feb 2020 A1
20200050745 Kim Feb 2020 A1
20200053096 Bendersky Feb 2020 A1
20200066071 Budman Feb 2020 A1
20200097643 Uzun Mar 2020 A1
20200099675 Mardkis Mar 2020 A1
20200100115 Skaaksrud Mar 2020 A1
20200120071 Wimmer Apr 2020 A1
20200125704 Chavez Apr 2020 A1
20200127974 Moralndo Apr 2020 A1
20200133373 Huang Apr 2020 A1
20200134145 Bapst Apr 2020 A1
20200162435 Kubo May 2020 A1
20200175157 Wilding Jun 2020 A1
20200193051 Van Antwerp Jun 2020 A1
20200242417 Sagi Jul 2020 A1
20200358611 Hoang Nov 2020 A1
20200358787 Barker Nov 2020 A1
20200387696 Kushwah Dec 2020 A1
20200403787 Islam Dec 2020 A1
20200403992 Huffman Dec 2020 A1
20210005224 Rothschild Jan 2021 A1
20210014314 Yamada Jan 2021 A1
20210049032 White Feb 2021 A1
20210051015 Widmann Feb 2021 A1
20210051177 White Feb 2021 A1
20210096826 Duggal Apr 2021 A1
20210123835 Glennon Apr 2021 A1
20210152417 Baird May 2021 A1
20210152554 Taft May 2021 A1
20210157291 Uchizawa May 2021 A1
20210167946 Bitan Jun 2021 A1
20210173906 Keith, Jr. Jun 2021 A1
20210173907 Keith, Jr. Jun 2021 A1
20210173914 Keith, Jr. Jun 2021 A1
20210173915 Keith, Jr. Jun 2021 A1
20210173949 Keith, Jr. Jun 2021 A1
20210174333 Keith, Jr. Jun 2021 A1
20210176064 Keith, Jr. Jun 2021 A1
20210176066 Keith, Jr. Jun 2021 A1
20210176218 Keith, Jr. Jun 2021 A1
20210176223 Falk Jun 2021 A1
20210176235 Keith, Jr. Jun 2021 A1
20210176633 Keith, Jr. Jun 2021 A1
20210194608 Yao Jun 2021 A1
20210200852 Gupta Jul 2021 A1
20210250759 Ziv Aug 2021 A1
20210297258 Keith, Jr. Sep 2021 A1
20210297448 Keith, Jr. Sep 2021 A1
20210297455 Keith, Jr. Sep 2021 A1
20210350918 Paul Nov 2021 A1
20210362750 Yang Nov 2021 A1
20210390537 Budko et al. Dec 2021 A1
20220027439 Greenberger Jan 2022 A1
20220027447 Keith, Jr. Jan 2022 A1
20220028200 Keith, Jr. Jan 2022 A1
20220030022 Keith, Jr. Jan 2022 A1
20220036905 Keith, Jr. Feb 2022 A1
20220038895 Keith, Jr. Feb 2022 A1
20220038897 Liu Feb 2022 A1
20220043913 Keith, Jr. Feb 2022 A1
20220045841 Keith, Jr. Feb 2022 A1
20220092161 Keith, Jr. Mar 2022 A1
20220092162 Keith, Jr. Mar 2022 A1
20220092163 Keith, Jr. Mar 2022 A1
20220092164 Keith, Jr. Mar 2022 A1
20220092165 Keith, Jr. Mar 2022 A1
20220093256 Keith, Jr. Mar 2022 A1
20220094545 Islamov et al. Mar 2022 A1
20220094550 Keith, Jr. Mar 2022 A1
20220108026 Ortiz et al. Apr 2022 A1
20220130501 Keith, Jr. Apr 2022 A1
20220138300 Manjunath et al. May 2022 A1
20220139546 Manjunath et al. May 2022 A1
20220164424 Keith, Jr. May 2022 A1
20220197985 Keith, Jr. Jun 2022 A1
20220200971 Vigneswaran Jun 2022 A1
20220229888 Keith, Jr. Jul 2022 A1
20220286966 Zhao Sep 2022 A1
20220382844 Keith, Jr. Dec 2022 A1
20220385458 Keith, Jr. Dec 2022 A1
20220394023 Keith, Jr. Dec 2022 A1
20220394464 Keith, Jr. Dec 2022 A1
20220394465 Keith, Jr. Dec 2022 A1
20230096233 Islamov et al. Mar 2023 A1
20230106024 Keith, Jr. Apr 2023 A1
20230107624 Keith, Jr. Apr 2023 A1
20230114650 Keith, Jr. Apr 2023 A1
20230116527 Keith, Jr. Apr 2023 A1
20230185896 Keith, Jr. Jun 2023 A1
20230198766 Keith, Jr. Jun 2023 A1
20230198962 Keith, Jr. Jun 2023 A1
20230254120 Islamov Aug 2023 A1
20230254121 Islamov Aug 2023 A1
20230254122 Islamov Aug 2023 A1
20230267454 Budko Aug 2023 A1
20230283602 Keith, Jr. Sep 2023 A1
20230289431 Keith, Jr. Sep 2023 A1
Foreign Referenced Citations (11)
Number Date Country
107918790 Apr 2018 CN
107924475 Apr 2018 CN
106413128 Jul 2020 CN
3276561 Jan 2018 EP
3457344 Mar 2019 EP
WO2009060004 May 2009 WO
WO2009066004 May 2009 WO
2016179433 Nov 2016 WO
2020065132 Apr 2020 WO
2020092542 May 2020 WO
2021119187 Jul 2021 WO
Non-Patent Literature Citations (11)
Entry
Erdem Alkim et al., “Post-Quantum key exchange—a new hope”, International Association For Cryptologic Research, vol. 20161116:063839, Nov. 16, 2016, pp. 1-22.
Joppe W. Bos et al., “Post-quantum key exchange for the TLS protocol from the ring learning with errors problem”, International Association for Cryptologic Research, vol. 20150316:235249, Mar. 17, 2015, pp. 1-28.
International Search Report mailed Aug. 11, 2016, for PCT Application No. PCT/US2016/031055, filed May 5, 2016, five pages.
International Search Report mailed Oct. 9, 2019, for PCT Application No. PCT/US2019/041871, filed Jul. 15, 2019, four pages.
Li et al., “Addressable Metasurfaces for Dynamic Holography and Optical Information Encryption”, Jun. 15, 2018, http://advances.sciencemag.org/content/advances/4/6/eaar6768.full.pdf.
The International Search Report and Written Report for the International Application No. PCT/US2020/064099 dated Mar. 16, 2021.
Bywater Films, “Winkk: Emotion to Action.” Vimeo, published Oct. 7, 2015 (Retrieved from the Internet Mar. 22, 2021). Internet URL: <https://vimeo.com/141695923> (Year: 2015).
Schiff, Eli, “Unofficial Apple Icon Design Awards.” Eli Schiff Blog, published Jan. 5, 2016 (Retrieved from the Internet Mar. 22, 2021), Internet URL: <www.elischiff.com/blog/2016/1/5/apple-icon-design-awards> (Year: 2016).
International Report on Patentability from International Application No. PCT/US2020/064099, mailed on Jun. 23, 2022, 7 pages.
Magoon, Owais, “iOS app.” Behance published Sep. 7, 2015 (Retrieved from the Internet Mar. 22, 2021). Internet URL: <https://www.behance.net/gallery/27383661/iOS-app> (Year: 2015).
Tao et al., “Simple Matrix—A Multivariate Public Key Cryptosystem (MPKC) for Encryption” from Finite Field and Their Applications vol. 35, Sep. 2015, pp. 352-368 (Year 2015).
Related Publications (1)
Number Date Country
20240121604 A1 Apr 2024 US
Continuations (1)
Number Date Country
Parent 17339839 Jun 2021 US
Child 18528638 US