Method and system for key exchange and encryption

By using the processor and memory in the wireless communication security system to determine the output value, and generating ciphertext through the key exchange algorithm, the problem of difficulty in ensuring security in key exchange and encryption in wireless communication is solved, and the security of data transmission is achieved. sex.

CN119343889APending Publication Date: 2025-01-21QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380045678.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-16
Filing Date
2023-05-25
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

In wireless communication, data may suffer from security vulnerabilities, and the prior art is difficult to effectively solve the problems of key exchange and encryption, making it difficult to ensure security during transmission.

Method used

Provide a device and method to use the processor and memory to determine the output value associated with a specific expression in the security system. Based on these output values ​​to generate cipher text through the key exchange algorithm, and convey messages through the communication interface. The device includes components for determining the output value, components used to evaluate expressions, and components used to convey messages.

Benefits of technology

Through the device and method, secure key exchange and encryption in wireless communication are realized, ensuring the security of data during transmission and avoiding the occurrence of security loopholes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119343889A_ABST
    Figure CN119343889A_ABST
Patent Text Reader

Abstract

Some aspects of the present disclosure include systems and techniques for key exchange and encryption to facilitate secure wireless communications. Certain aspects of the present disclosure are directed to a method for wireless communication by a first device. The method generally includes determining, at a security system, a first output associated with a first expression having a first value of a variable of the first expression; determining a second value at the security system; evaluating, at the security system, a second expression based on the first output and the second value, the second expression evaluated to determine a second output associated with the first expression having the variable, the variable having a third value, the third value being a product of the first value and the second value; and communicating a message via a communication interface coupled to the security system based on the second output.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to techniques for wireless communications. Some aspects of the present disclosure include systems and techniques for key exchange and encryption to facilitate secure wireless communications. Background Art

[0002] Data communicated over wireless media may suffer from security vulnerabilities. Therefore, various technologies for secure wireless exchange of data have been developed. Key exchange is a cryptographic technique in which keys are exchanged between two parties, allowing secure communication between the two parties using cryptographic algorithms. For example, public key encryption can be used as a method of encrypting data using two keys. One of the keys may be called a public key, which can be used by anyone. The other key is called a private key (also known as a secret key) and is not made public. Data encrypted with the public key can be decrypted with the private key. In addition, in cryptography, a ciphertext for wirelessly sending a message can be generated, which refers to the result of encryption performed on plaintext using an algorithm called a cipher. The ciphertext contains a form of plaintext that cannot be read by a person or computer without a suitable password for decrypting it. Summary of the invention

[0003] Certain aspects of the present disclosure are directed to systems and techniques for key exchange and encryption to facilitate secure wireless communications. According to one example, a device for wireless communications by a first device is provided, the device comprising at least one memory; and one or more processors, the one or more processors coupled to the at least one memory and configured to: determine a first output associated with a first expression at a security system, the first expression having a first value of a variable of the first expression; determine a second value at the security system; evaluate a second expression at the security system based on the first output and the second value, the second expression being evaluated to determine a second output associated with the first expression having the variable, the variable having a third value, the third value being the product of the first value and the second value; and communicate a message via a communication interface coupled to the security system based on the second output.

[0004] In another example, a method for wireless communication by a first device is provided. The method includes: determining a first output associated with a first expression at a security system, the first expression having a first value of a variable of the first expression; determining a second value at the security system; evaluating a second expression at the security system based on the first output and the second value, the second expression being evaluated to determine a second output associated with the first expression having the variable having a third value, the third value being a product of the first value and the second value; and communicating a message via a communication interface coupled to the security system based on the second output.

[0005] In another example, a non-transitory computer-readable medium having instructions stored thereon is provided that, when executed by one or more processors, causes the one or more processors to: determine, at a security system, a first output associated with a first expression having a first value for a variable of the first expression; determine a second value at the security system; evaluate, at the security system based on the first output and the second value, a second expression, the second expression being evaluated to determine a second output associated with the first expression having the variable having a third value that is a product of the first value and the second value; and communicate a message via a communication interface coupled to the security system based on the second output.

[0006] In another example, an apparatus for wireless communication is provided. The apparatus includes: a component for determining a first output associated with a first expression, the first expression having a first value of a variable of the first expression; a component for determining a second value; a component for evaluating a second expression based on the first output and the second value, the second expression being evaluated to determine a second output associated with the first expression having the variable, the variable having a third value, the third value being a product of the first value and the second value; and a component for communicating a message via a communication interface based on the second output.

[0007] According to at least one other example, an apparatus for wireless communication by a first device is provided. The apparatus includes at least one memory and one or more processors, the one or more processors coupled to the at least one memory and configured to: obtain a message having a plurality of bits to be encrypted, wherein each bit in the plurality of bits is associated with a public key value in a plurality of public key values; calculate a product of one or more public key values ​​from the plurality of public key values ​​associated with one or more bits in the plurality of bits, the one or more bits in the plurality of bits being logic high; generate a ciphertext based on the product of the one or more public key values; and send the ciphertext via a communication interface.

[0008] In another example, a method for wireless communication by a first device is provided. The method includes: obtaining a message having a plurality of bits to be encrypted, wherein each bit in the plurality of bits is associated with a public key value in a plurality of public key values; calculating a product of one or more public key values ​​from the plurality of public key values ​​associated with one or more bits in the plurality of bits, the one or more bits in the plurality of bits being logic high; generating a ciphertext based on the product of the one or more public key values; and sending the ciphertext via a communication interface.

[0009] In another example, a non-transitory computer-readable medium having instructions stored thereon is provided, which instructions, when executed by one or more processors, cause the one or more processors to: obtain a message having a plurality of bits to be encrypted, wherein each bit in the plurality of bits is associated with a public key value in a plurality of public key values; calculate a product of one or more public key values ​​from the plurality of public key values ​​associated with one or more bits in the plurality of bits, the one or more bits in the plurality of bits being logic high; generate a ciphertext based on the product of the one or more public key values; and send the ciphertext via a communication interface.

[0010] In another example, an apparatus for wireless communication is provided. The apparatus includes: means for obtaining a message having a plurality of bits to be encrypted, wherein each bit in the plurality of bits is associated with a public key value in a plurality of public key values; means for calculating a product of one or more public key values ​​from the plurality of public key values ​​associated with one or more bits in the plurality of bits, the one or more bits in the plurality of bits being logic high; means for generating a ciphertext based on the product of the one or more public key values; and means for sending the ciphertext.

[0011] In some aspects, one or more of the above-mentioned devices are or may be part of or may include: a vehicle or a component or system of a vehicle, a mobile device (e.g., a mobile phone or so-called "smart phone" or other mobile device), an Internet of Things (IoT) device, an extended reality (XR) device (e.g., a virtual reality (VR) device, an augmented reality (AR) device, or a mixed reality (MR) device), a wearable device, a personal computer, a laptop computer, a tablet computer, a server computer, a robotic device or system, an aviation system, or other device. In some aspects, one or more of the devices include an image sensor (e.g., a camera) or multiple image sensors (e.g., multiple cameras) for capturing one or more images. In some aspects, one or more of the devices include one or more displays for displaying one or more images, notifications, and / or other displayable data. In some aspects, one or more of the devices include one or more speakers, one or more light-emitting devices, and / or one or more microphones. In some aspects, one or more of the above-mentioned devices may include one or more sensors. For example, the one or more sensors may include at least one of a light-based sensor (e.g., a LIDAR sensor, a radar sensor, etc.), an audio sensor, a motion sensor, a temperature sensor, a humidity sensor, an image sensor, an accelerometer, a gyroscope, a pressure sensor, a touch sensor, and a magnetometer. In some cases, the one or more sensors may be used to determine the location of the device, the state of the device, and / or for other purposes.

[0012] This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used in isolation to determine the scope of the claimed subject matter. The subject matter should be understood by reference to appropriate portions of the entire specification of this patent, any or all drawings, and each claim.

[0013] The foregoing and other features and embodiments will become more apparent upon reference to the following description, claims and accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Exemplary embodiments of the present application are described in detail below with reference to the following drawings:

[0015] Figure 1 is a diagram illustrating an example computing device according to some examples.

[0016] Figure 2 A key exchange process between users according to certain aspects of the present disclosure is illustrated.

[0017] Figure 3 Public key encryption and decryption processes according to certain aspects of the present disclosure are illustrated.

[0018] Figure 4 is a flow chart illustrating an example process for wireless communications in accordance with certain aspects of the present disclosure.

[0019] Figure 5 is a flow chart illustrating an example process for wireless communications using encryption in accordance with certain aspects of the present disclosure.

[0020] Figure 6 is a diagram illustrating an example of a system for implementing certain aspects of the present technology. DETAILED DESCRIPTION

[0021] Certain aspects of the present disclosure are provided below. Some of these aspects may be applied independently, and some of them may be applied in combination, which is obvious to those skilled in the art. In the following description, specific details are set forth for explanation purposes in order to provide a thorough understanding of each embodiment of the application. However, it will be apparent that each embodiment may be practiced without these specific details. Each drawing and description are not intended to be restrictive.

[0022] The following description provides only exemplary embodiments and is not intended to limit the scope, applicability or configuration of the present disclosure. On the contrary, the subsequent description of the exemplary embodiments will provide an enabling description for implementing the exemplary embodiments to those skilled in the art. It should be understood that various changes may be made to the function and arrangement of elements without departing from the essence and scope of the present application as set forth in the appended claims.

[0023] As described herein, data communicated over wireless media may be subject to security breaches. Key exchange and encryption are example cryptographic techniques that may be used to protect data used for communication. The strength of the cryptographic techniques used is important for ensuring the secure exchange of data across networks. For example, valuable data may be stolen from an individual by a third party due to a security breach. Therefore, systems and techniques for key exchange and encryption that provide strong security for data communications are needed.

[0024] Systems, apparatus, processes (also referred to as methods), and computer-readable media (collectively referred to herein as "systems and techniques") for key exchange and encryption are described herein. Certain aspects provide an algorithm for facilitating the secure exchange of messages between two devices. The algorithm allows a first device to receive a first value from a second device and select a secret value. The first device may also use the algorithm to generate a second value for transmission to the second device based on the secret value. Based on the received first value and the secret value, the first device may determine a cryptographic session key that can only be known by the first device and the second device. The algorithm may also be used to decrypt encrypted messages, as described in more detail herein. The system and techniques provide a new algorithm for key exchange and / or encryption. As described in more detail herein, a key exchange algorithm according to such systems and techniques does not require knowledge of factorization. For example, a number with an unknown but known composite factorization may be used as the factorization n. Further details and advantages are described herein.

[0025] Figure 1 1 is a diagram illustrating an example computing device 100 according to some examples. In the example shown, the computing device 100 may include a storage device 108, a processor 110, and a memory controller 112. The storage device 108 may include any storage device for storing data. The storage device 108 may store data from any of the components of the computing device 100. In some implementations, the processor 110 may include a central processing unit (CPU) 112, a graphics processing unit (GPU) 114, and / or a digital signal processor (DSP) 116. In some aspects, the computing device 100 includes a security system 138. The security system may be any system, device, or one or more components of a system or device configured to provide cryptographic security. In some aspects, the security system 138 may be implemented as part of the processor 110, the storage device 108, and / or the communication interface 140. The security system 138 may include a key exchange component 102, an encryption component 104, and a decryption component 106, which may be implemented in hardware, software, or a combination of hardware and software. In some aspects, computing device 100 may include a communication interface 140 that can send or receive signals via at least one antenna 150 .

[0026] Certain aspects provide an algorithm (e.g., represented by a function E(g, k)) for facilitating a key exchange process and a public key encryption process. The key exchange process described herein may be performed by the key exchange component 102 and / or the processor 110. In some examples, the algorithm may be represented by the function E(g, k). The algorithm may be provided with two inputs, including a value g a and value b, where g a is a function represented by the following formula:

[0027] g a =r a +r -a mod n

[0028] where n and r are any integers. The algorithm can be given two inputs g a and b, and provide the value g ab As output, g ab equal:

[0029] g ab =r ab +r -ba mod n

[0030] The output of the algorithm (e.g., the output of the function E(g, k)) can be used to implement a key exchange process and / or a public key encryption process. For the key exchange process, the values ​​of a and b can be used as a private key, and g a and g b can be used as a public key. a The difficulty in extracting the value of variable a promotes the security of key exchange. The function E(g, k) can be defined as the second coordinate of the following vector:

[0031]

[0032] Where M(g, k) is an auxiliary recursive function, and · is a dot product. The auxiliary recursive function M(g, k) can be implemented as an algorithm, including various operations. In an exemplary operation, if k is equal to 0, then M(g, k) returns a 2x2 identity matrix (I2). For example, the operation of the algorithm may include the following:

[0033] If k == 0, then return I2. (2x2 identity matrix)

[0034] In one illustrative example, if k is equal to 0, then g a The formula (for example, r 0 +r -0mod n) is equal to 2. Therefore, when k is equal to 0, M(g, k) can be set equal to the identity matrix (I2) so that E(g, k) is equal to 2. Another operation of the algorithm can include:

[0035] make

[0036] If k == 1, return m1

[0037] That is, when k is equal to 1, then M(g, k) can be set equal to m1, which can be set as:

[0038]

[0039] Make E(g, k) equal to g1 (for example, g a , where a is equal to 1). Other operations of the algorithm may include:

[0040] make (Round down with 2 as the divisor)

[0041] If k is even, return m2

[0042] Otherwise returns m1m2 mod n (standard matrix multiplication)

[0043] That is, if k is even, then M(g, k) may return m2, which may be set to:

[0044]

[0045] This includes floor division by 2. Otherwise (for example, if k is odd), standard matrix multiplication can be performed according to the following expression:

[0046] m1 m2mod n

[0047] The key property of this algorithm is that it satisfies the following equation for all a, b, and r:

[0048] E(g a ,b)=g ab

[0049] Because the expression Terminating after log k attempts, the algorithm terminates in time O(log k), and uses O(1) memory since the only value that can be stored is the current value of the calculation associated with the algorithm.

[0050] Figure 2An illustrative example of a key exchange process between users according to certain aspects of the present disclosure is illustrated. Device 1 and device 2 can agree on a value g1. For example, at block 202, device 1 determines the value g1, and at block 204, device 2 determines the value g1. For example, the value g1 can be calculated as:

[0051] g1=r 1 +r -1 mod n

[0052] The value of g1 may be preconfigured or indicated to each device.

[0053] At block 206, user 1 may select a secret (eg, private) value a, and at block 208, user 2 may select a secret (eg, private) value b. User 1 may then calculate g a =E(g1,a), and user 2 can calculate g b =E(g1,b), as described herein. That is, user 1 may compute the function E(g1,k) as described, where k equals a, and user 2 may compute the function E(g1,k) as described, where k equals b. User 1 may send g1 to user 2. a , and user 2 can send g to user 1 b , as shown in the figure. Once user 1 receives g a , user 1 calculates K at block 210 using the algorithm described herein (eg, E(g, k)) as:

[0054] K=E(g b ,a)=g ba

[0055] Similarly, using the algorithm described herein, User 2 calculates K' at block 212 as:

[0056] K′=E(g a ,b)=g ab

[0057] Assume g ab and g ba are equal, then the exchanged keys (e.g., g a and g b ) can be used to facilitate the computation of the same value (e.g., K at device 1 and K' at device 2), which can then be further processed and used to encrypt messages for communication 214 between device 1 and device 2. That is, K = K' is now a shared secret between device 1 and device 2, which can be used to derive a cryptographic session key. For added security, (e.g., for computing g a and g bThe integer n may be chosen to be difficult to factorize (e.g., so that a hacker cannot calculate or extract the value g by truncating it). a To easily calculate the secret value a).

[0058] Figure 3 Public key encryption and decryption processes that can be implemented using the algorithms described herein (e.g., E(g, k)) according to certain aspects of the present disclosure are illustrated. Public key cryptography is a process of encrypting and decrypting messages using a public key and a private key. The public key can be used to encrypt a message so that it can only be decrypted by a decryptor using a private key. For example, at box 302, device 1 can obtain a public key, and at box 304, obtain a message to be encrypted. At box 306, device 1 can encrypt the message using the public key to generate a ciphertext (c). The public key can be announced (e.g., broadcast) by device 2 and obtained by device 1 for encryption of the message. For example, at 301, device 2 can broadcast the public key, and device 1 can receive the public key.

[0059] The ciphertext can be generated using the following technique. For k first prime numbers p1=2,p2,...,p k and n is greater than the product of the cubes of prime numbers, device 1 may select S of u secret prime numbers, where s represents the product of u secret prime numbers. In addition, it may be assumed that where gcd is the greatest common divisor. gcd is equal to 1, which allows the calculation of negative powers of s (for example, s is not a reversible modulus of n because of other factors). make

[0060] To encrypt a k-bit message Device 1 can first calculate V as all y i The product of where the index i makes m i =1, and among them:

[0061]

[0062] The ciphertext (c) can be set as:

[0063] c=V+V -1 mod n

[0064] The public key can be And the private key can be S together with the factorization of n.

[0065] As an example, to encrypt a message having four bits, k is equal to 4. Furthermore, the k first prime numbers are p1=2, p2=3, p3=5, p4=7. Device 1 may select n to be any integer greater than the cube of a prime number. For example, n may be selected to be greater than 2. 3x3 3 x5 3 x7 3 A number (u) of secret prime numbers may be selected. For example, the prime numbers 2 and 3 may be selected, which may define the selection S. Then s may be equal to the product of 2 and 3 (e.g., 6). i It can be as follows:

[0066] y1=2 -6 mod n;y2=3 -6 mod n;y3=5 -6 mod n;y4=7 -6 mod n

[0067] The public key can be the value of n, k, and above y. The private key can be S together with the factorization of n. To encrypt four bits of a message, where the four bits are 1011, all y corresponding to bits that are logically high can be converted to S. i For example, for the bit 1011, V can be calculated as:

[0068] V=y1×y3×y4

[0069] The calculated value V can be used to generate the ciphertext c as described. The ciphertext is then sent to device 2.

[0070] At block 308, device 2 obtains the private key, and at block 310, decrypts the ciphertext (c). To decrypt c, device 2 first computes c′=E(c,s1), then computes c″=E(c',s2), and so on. For example, the value c may be inserted into algorithm E, providing a result c′, which is then input again into algorithm E to obtain c″, and so on. This process may be repeated for all prime numbers of S (or in some cases less than all prime numbers of S). This process may be described as a right fold operation foldr(c,S,E). The final result of this operation is

[0071]

[0072] where the product exceeds exponent i, such that m i = 1. For example, for a message with bits 1011, the final result may be equal to (2x5x7)+(2x5x7) -1 mod n. This is to calculate a(given (g1,g a )) that is just as hard as factoring n (e.g., involves as much or more computation than factoring n), but can be solved by the decryptor because the decryptor knows the factorization of n. The decryptor recovers (For example, because of the size constraints on n, for modular functions, the product does not wrap around.) Then by determining which factors p iappears in P to recover the bits of message m, that is:

[0073]

[0074] Regarding security, there is a computation g ab (Given (g1,g a ,g b )) or calculate a(given (g1,g a )). These problems are similar to discrete logarithm problems. Note that r does not appear explicitly in either problem. For carefully chosen values ​​of r and n, these problems are as difficult as factoring n, and therefore provide strong cryptographic security. For example, when solving a general quadratic formula, computing modulo n is similar to factoring n from a computational difficulty perspective. The formula modulo n can be solved for each prime factor of n, and the solutions recombined using the Chinese remainder theorem. Solving g1 for r is such a formula, and more generally for r a Solving for g a Recovering a is the discrete logarithm problem modulo n, which is also generally as hard as factoring.

[0075] and calculate g ab (Given (g1,g a ,g b )) is easy to guess. An example of a general attack that can be used to deal with this problem is to solve the problem of computing a(given (g1,g a )) problem. To improve security, n can be set to the product of two large secure prime numbers (e.g., n=pq, where p and q make (p-1) / 2 and (q-1) / 2 prime numbers, and p, q are higher than 1024 bits), and for r, the value achieves the longest cycle.

[0076] In addition, for varying values ​​of a g a can be set to not form an Abelian group. Therefore, computing the "inverse" is neither guaranteed to be possible nor easy (e.g., a device can check that g -a =g a and g a g b ≠g a+b ). Standard multiplication may be difficult to use for E operations (e.g., the device may check E(x ga ,b)≠E(x,b)g ab ). This has several consequences both for the attacker (who cannot, for example, rely on well-known group-theoretic techniques for attack) and for the designer (who cannot rely on well-known group-theoretic constructions).

[0077] The security of the encryption and key exchange techniques described herein relies on the difficulty of integer factorization. Even if n is factorized within the reach of an attacker, there may be no obvious way to crack the described public key encryption scheme. The key exchange algorithm does not need to know the factorization, so a number whose factorization is unknown but known to be a composite number can be used as n. An example is a large Mersenne number that is not a Mersenne prime. In addition, such numbers make modular reduction effective. The implementation of these algorithms can involve a small amount of operations (e.g., linear algebra operations), which can reduce computational complexity. The absence of a group structure makes common attack techniques less relevant to the scheme. The key exchange scheme provides forward secrecy.

[0078] In some aspects, the algorithms described herein may be implemented using integers β (eg, “fine tuning” β) and l (eg, “level” l). For example, consider the following formula:

[0079]

[0080] When β equals 0, the formula reverts to the classic exponentiation. The level l does not matter, since β = 0 for all l. When β is set to 1, the level l does not matter, since β l =1. Otherwise, generally speaking, the following formula holds:

[0081]

[0082] The case β=1 is particularly simple, and in this case the level l can be either 0 or 1. This gives consistency such as:

[0083]

[0084]

[0085]

[0086] Together, these consistencies suggest that there may be a way to efficiently compute (and possible )'s Montgomery ladder algorithm. Due to leveling, key exchange and encryption algorithms for β=1 can also be used with β=-1, using β=-1 essentially doubles the output domain. Using n as the product of secure primes means that there are no other small-order βs known to the attacker. There are non-trivial square roots of -1 and 1, but knowing them is equivalent to factorizing n, and therefore, may not be sent. It is conceptually possible to implement the constructions discussed here on any commutative ring. Not all such rings are suitable from a security point of view. Examples of non-insecure rings include (quotients of) multivariate polynomial rings over finite fields and matrix rings.

[0087] Figure 4 4 is a flow chart illustrating an example process 400 for wireless communication according to certain aspects of the present disclosure. The operations of process 400 may be performed by a first device such as Figure 1 Executed by computing device 100).

[0088] At block 402, the computing system determines a first output associated with a first expression (eg, g received by device 2 from device 1). a ,like Figure 2 ), the first expression has the variables of the first expression (e.g., as Figure 2 In some aspects, the first expression comprises:

[0089] r a +r -a mod n

[0090] Where a is a variable of the first expression, r is a positive integer, and n is a positive integer. In some aspects, the computing system receives an indication of the first output from a second device (e.g., device 2 receives g from device 1). a , such as about Figure 2 described).

[0091] At block 404, the computing device determines a second value (eg, as determined by Figure 2 b) selected by the computing device 2 shown.

[0092] At block 406, the computing device evaluates a second expression (eg, an E function) based on the first output and the second value, the second expression being evaluated to determine a second output (eg, g) associated with the first expression having the first variable. ab ), the first variable has a third value (e.g., the product of a and b), the third value being the product of the first value (e.g., a) and the second value (e.g., b).

[0093] In some aspects, the computing device may determine (eg, at key exchange component 102) a third output value (eg, gb ), the third output value is associated with the first expression, the first expression having the second value of the variable of the first expression (e.g., Figure 2 b) as shown, the computing device may send an indication of the third output value to the second device.

[0094] In some aspects, the second expression is evaluated according to one or more rules for determining the output of an auxiliary recursive function (e.g., function M described herein) of the second expression. The one or more rules may include: if the second value is 0, setting the output of the auxiliary recursive function to the identity matrix. In some aspects, the one or more rules may include: if the second value is 1, setting the output of the auxiliary recursive function to:

[0095]

[0096] Where g represents the first output.

[0097] In some aspects, the one or more rules may include, if the second value is even, setting the output of the auxiliary recursive function to:

[0098]

[0099] Where M represents the auxiliary recursive function, g represents the first output value, k represents the second value, and n is a positive integer. In some aspects, the one or more rules include: if the second value is an odd number and greater than 1, setting the output of the auxiliary recursive function to:

[0100] m1m2 mod n

[0101] Where n is a positive integer, and where m1 is:

[0102]

[0103] where g represents the first output value, and where m2 is:

[0104]

[0105] Wherein M represents an auxiliary recursive function, k represents a second value, and n is a positive integer.

[0106] At block 408, the computing device communicates a message with the device based on the second output. For example, the second output may be a cryptographic session key used to communicate the message.

[0107] In some aspects, a first output is received from a second device (e.g., where the first output is a ciphertext c), the first output being a ciphertext associated with the message. The second value may include a first prime number (e.g., s1). In this case, the second output is referred to herein as c'. The computing device may evaluate a second expression (e.g., E(c', s2)) based on the second output and the second prime number to determine a third output (e.g., c'). The computing device then decrypts the message based on the third output value (e.g., via decryption component 106). The first prime number and the second prime number may be private keys for decrypting the message.

[0108] In some aspects, the computing device may select a subset of prime numbers (e.g., as described with respect to Figure 3 For each of the prime numbers, the computing device may calculate the number of secret primes based on the product of the subset of prime numbers (e.g., as described with respect to Figure 3 s) to calculate the public key value (e.g., as described with respect to Figure 3 Described i ), and sends the public key value to the second device. For example, to calculate the public key value, the computing device may calculate the public key value based on the following expression:

[0109]

[0110] where p i is the corresponding prime number, s is the product of a subset of prime numbers, and n is a positive integer.

[0111] Figure 5 5 is a flow chart illustrating an example process 500 for wireless communication according to certain aspects of the present disclosure. The operations of process 500 may be performed by a first device such as Figure 1 Executed by computing device 100).

[0112] At block 502, a computing device may determine a message having a plurality of bits (e.g., k bits) to be encrypted. Each bit in the plurality of bits may be associated with a public key value (e.g., as shown in reference Figure 3 Described i In some cases, the public key value may be received from a receiver device.

[0113] At block 504, the computing device may calculate a product of one or more of the public key values ​​associated with one or more of the plurality of bits (eg, as described with respect to Figure 3 V), one or more of the plurality of bits are logic high.

[0114] At block 506, the computing device generates a ciphertext based on the product of the one or more public key values ​​(e.g., via encryption component 104), and sends the ciphertext to the receiver device at block 508. For example, the computing device may generate the ciphertext based on the following formula:

[0115] V+V -1 mod n

[0116] Where V is the product of the one or more public key values, and n is a positive integer.

[0117] Figure 6 is a diagram illustrating an example of a system for implementing certain aspects of the present technology. Specifically, Figure 6 An example of a computing system 600 is illustrated, which may be any computing device, for example, constituting an internal computing system, a remote computing system, a camera, or any components thereof, wherein the components of the system communicate with each other using connection 605. Connection 605 may be a physical connection using a bus, or a direct connection into processor 610, such as in a chipset architecture. Connection 605 may also be a virtual connection, a networked connection, or a logical connection.

[0118] In some aspects, computing system 600 is a distributed system in which the functionality described in the present disclosure may be distributed within a data center, multiple data centers, a peer-to-peer network, etc. In some aspects, one or more of the described system components represent a number of such components that each perform some or all of the functionality for which the component is described. In some aspects, each component may be a physical or virtual device.

[0119] The example system 600 includes at least one processing unit (CPU or processor) 610 and connections 605 that couple various system components including system memory 615, such as read only memory (ROM) 620 and random access memory (RAM) 625, to the processor 610. The computing system 600 may include a cache 612 of high-speed memory directly connected to the processor 610, in close proximity to the processor, or integrated as part of the processor.

[0120] Processor 610 may include any general purpose processor and hardware services or software services. In some aspects, the code stored in storage device 630 may be configured to control processor 610 to perform the operations described herein. In some aspects, processor 610 may be a dedicated processor in which instructions or circuits are incorporated into the actual processor design to perform the operations described herein. Processor 610 may be essentially a completely independent computing system that includes multiple cores or processors, buses, memory controllers, caches, etc. Multi-core processors may be symmetric or asymmetric. Processor 610 may include a circuit 660 for determining (e.g., determining an output or value), a circuit 662 for evaluating (e.g., evaluating an expression), a circuit 664 for communicating, a circuit 666 for encrypting (e.g., selecting a prime number, calculating a key, or generating a ciphertext), and a circuit 668 for decrypting.

[0121] The storage device 630 may store code that, when executed by the processor 610, performs the operations described herein. For example, the storage device 630 may include code 670 for determining (e.g., determining an output or value), code 672 for evaluating (e.g., evaluating an expression), code 674 for communicating, code 676 for encrypting (e.g., selecting a prime number, calculating a key, or generating ciphertext), and code 678 for decrypting.

[0122] To enable user interaction, the computing system 600 includes an input device 645, which may represent any number of input mechanisms, such as a microphone for voice, a camera for generating images or video, a touch-sensitive screen for gesture or graphical input, a keyboard, a mouse, motion input, voice, etc. The computing system 600 may also include an output device 635, which may be one or more of a plurality of output mechanisms. In some instances, a multimodal system may enable a user to provide multiple types of input / output to communicate with the computing system 600. The computing system 600 may include a communication interface 640, which may generally govern and manage user input and system output. The communication interface may perform or facilitate the use of a wired and / or wireless transceiver to receive and / or send wired or wireless communications, including the use of an audio jack / plug, a microphone jack / plug, a universal serial bus (USB) port / plug, Ports / plugs, Ethernet ports / plugs, Fiber optic ports / plugs, Dedicated wired ports / plugs, Wireless signal transfer, Low Energy (BLE) wireless signal transfer, Wireless signal transfer, radio frequency identification (RFID) wireless signal transfer, near field communication (NFC) wireless signal transfer, dedicated short range communication (DSRC) wireless signal transfer, 802.11 Wi-Fi wireless signal transfer, wireless local area network (WLAN) signal transfer, visible light communication (VLC), Worldwide Interoperability for Microwave Access (WiMAX), infrared (IR) communication wireless signal transfer, public switched telephone network (PSTN) signal transfer, integrated services digital network (ISDN) signal transfer, 3G / 4G / 5G / LTE cellular data network wireless signal transfer, ad hoc network signal transfer, radio wave signal transfer, microwave signal transfer, infrared signal transfer, visible light signal transfer, ultraviolet light signal transfer, wireless signal transfer along the electromagnetic spectrum, or some combination thereof. The communication interface 640 may also include one or more global navigation satellite system (GNSS) receivers or transceivers for determining the location of the computing system 600 based on receiving one or more signals from one or more satellites associated with one or more GNSS systems. GNSS systems include, but are not limited to, the United States' Global Positioning System (GPS), Russia's Global Navigation Satellite System (GLONASS), China's BeiDou Navigation Satellite System (BDS), and Europe's Galileo GNSS. There is no restriction to operating on any particular hardware arrangement, and thus the base features herein may be easily substituted for improved hardware or firmware arrangements as they are developed.

[0123] The storage device 630 may be a non-volatile and / or non-transitory and / or computer-readable memory device and may be a hard disk or other type of computer-readable medium that can store data that can be accessed by a computer, such as a magnetic tape cartridge, a flash memory card, a solid-state memory device, a digital versatile disk, a magnetic cassette, a floppy disk, a flexible disk, a hard disk, a magnetic tape, a magnetic stripe / strip, any other magnetic storage medium, a flash memory, a memristor memory, any other solid-state memory, a compact disk-read only memory (CD-ROM) optical disk, a rewritable compact disk (CD) optical disk, a digital video disk (DVD) optical disk, a Blu-ray disc (BDD) optical disk, a holographic optical disk, another optical medium, a secure digital (SD) card, a micro secure digital (microSD) card, a memory ... card, a smart card chip, an EMV chip, a subscriber identity module (SIM) card, a mini / micro / nano / pico SIM card, another integrated circuit (IC) chip / card, a random access memory (RAM), a static RAM (SRAM), a dynamic RAM (DRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash EPROM (FLASHEPROM), a cache memory (L1 / L2 / L3 / L4 / L5 / L#), a resistive random access memory (RRAM / ReRAM), a phase change memory (PCM), a spin transfer torque RAM (STT-RAM), another memory chip or box, and / or a combination thereof.

[0124] Storage device 630 may include software services, servers, services, etc. that cause the system to perform functions when code defining such software is executed by processor 610. In some aspects, hardware services that perform a particular function may include software components for performing functions stored in a computer-readable medium connected to necessary hardware components such as processor 610, connection 605, output device 635, etc.

[0125] The term "computer-readable medium" includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other media capable of storing, containing or carrying instructions and / or data. Computer-readable media may include non-transient media in which data may be stored and does not include carrier waves and / or transient electronic signals that are propagated wirelessly or on a wired connection. Examples of non-transient media may include, but are not limited to, disks or tapes, optical storage media (such as compact disks (CDs) or digital versatile disks (DVDs)), flash memory, memory, or memory devices. Computer-readable media may store thereon code and / or machine-executable instructions, which may represent procedures, functions, subroutines, programs, routines, subroutines, modules, software packages, categories, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and / or receiving information, data, independent variables, parameters, or memory contents. Information, independent variables, parameters, data, etc. may be passed, forwarded, or sent via any suitable means, including memory sharing, message passing, token passing, network sending, etc.

[0126] In some embodiments, computer-readable storage devices, media, and memories may include wired or wireless signals including bit streams, etc. However, when referred to, non-transitory computer-readable storage media specifically excludes media such as power consumption, carrier signals, electromagnetic waves, and signals themselves.

[0127] Specific details are provided in the above description to provide a thorough understanding of the embodiments and examples provided herein. However, it will be appreciated by those skilled in the art that embodiments may be practiced without these specific details. For clarity, in some cases, the present technology may be presented as including separate functional blocks, including functional blocks comprising devices, device components, steps or routines in the method embodied in a combination of software or hardware and software. Additional components other than those components shown in the accompanying drawings and / or described herein may be used. For example, circuits, systems, networks, processes and other components may be shown as components in block diagram form in order to avoid confusing these embodiments in unnecessary details. In other cases, well-known circuits, processes, algorithms, structures and techniques may be shown in order to avoid confusing each embodiment without necessary details.

[0128] Individual embodiments may be described above as processes or methods depicted as flow charts, flow diagrams, data flow diagrams, structure diagrams, or block diagrams. Although a flow chart may describe an operation as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. The process is terminated when the operations of the process are completed, but the process may have additional steps not included in the accompanying drawings. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. When a process corresponds to a function, the termination of the process may correspond to the function returning to the calling function or main function.

[0129] The processes and methods according to the above examples can be implemented using stored computer executable instructions or otherwise obtained from computer readable media. These instructions may include, for example, instructions and data that configure a general-purpose computer, a special-purpose computer, or a processing device to perform a certain function or group of functions. Parts of the computer resources used may be accessible over a network. Computer executable instructions may be, for example, binary, intermediate format instructions, such as assembly language, firmware, source code, etc. Examples of computer readable media that can be used to store instructions, information used, and / or information created during the methods according to the described examples include disks or optical disks, flash memory, USB devices with non-volatile memory, networked storage devices, etc.

[0130] Devices implementing the processes and methods according to these disclosures may include hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof, and may take any of a variety of form factors. When implemented in software, firmware, middleware, or microcode, program code or code segments (e.g., computer program products) for performing the necessary tasks may be stored in a computer-readable or machine-readable medium. The processor may perform the necessary tasks. Typical examples of form factors include laptop computers, smart phones, mobile phones, tablet devices or other small form factor personal computers, personal digital assistants, rack-mounted devices, stand-alone devices, etc. The functionality described herein may also be embodied in peripheral devices or add-in cards. By way of additional examples, such functionality may also be implemented on circuit boards among different chips or different processes executed on a single device.

[0131] Instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are example means for providing the functionality described in this disclosure.

[0132] In the foregoing description, various aspects of the present application are described with reference to the specific embodiments of the present application, but those skilled in the art will recognize that the present application is not limited thereto. Therefore, although the exemplary embodiments of the present application have been described in detail herein, it is to be understood that the inventive concept can be embodied and adopted in various other ways, and the appended claims are intended to be interpreted as including these variations, unless limited by the prior art. Various features and aspects of the above-mentioned applications can be used individually or in combination. In addition, without departing from the broader essence and scope of this specification, the embodiments can be used in any number of environments and applications beyond the environment and application described herein. Therefore, the description and the accompanying drawings should be considered as illustrative rather than restrictive. For the purpose of illustration, each method is described in a specific order. It should be understood that in an alternative embodiment, each method can be performed in a different order than described.

[0133] One of ordinary skill in the art will appreciate that the less than ("<") and greater than (">") symbols or terms used herein may be replaced by less than or equal to ("≤") and greater than or equal to ("≥") symbols, respectively, without departing from the scope of this specification.

[0134] Where a component is described as being “configured to” perform certain operations, such configuration may be achieved, for example, by designing electronic circuits or other hardware to perform the operations, by programming programmable electronic circuits (e.g., a microprocessor or other suitable electronic circuits) to perform the operations, or any combination thereof.

[0135] The phrase "coupled to" means that any component is directly or indirectly physically connected to another component, and / or any component is directly or indirectly in communication with another component (e.g., connected to another component via a wired or wireless connection and / or other suitable communication interface).

[0136] Claim language or other language that states "at least one of" a set and / or "one or more of" a set indicates that one member of the set or multiple members of the set (in any combination) satisfies the claim. For example, claim language that states "at least one of A and B" means A, B, or A and B. In another example, claim language that states "at least one of A, B, and C" means A, B, C, or A and B, or A and C, or B and C, or A and B and C. The language "at least one of" a set and / or "one or more of" a set does not limit the set to the items listed in the set. For example, claim language that states "at least one of A and B" may mean A, B, or A and B, and may additionally include items not listed in the set of A and B.

[0137] Various exemplary logic blocks, modules, circuits and algorithm steps described in conjunction with the embodiments disclosed herein can be implemented as electronic hardware, computer software, firmware or a combination thereof. In order to clearly illustrate this interchangeability of hardware and software, various exemplary components, blocks, modules, circuits and steps have been generally described above in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints proposed to the entire system. The technician can implement the described functionality in different ways for each specific application, but such specific implementation decisions should not be interpreted as making it depart from the scope of the application.

[0138] The techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices, such as general-purpose computers, wireless communication device mobile phones, or integrated circuit devices with multiple uses, including applications in wireless communication device mobile phones and other devices. Any features described as modules or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, these techniques may be implemented at least in part by a computer-readable data storage medium including a program code, the program code including instructions, which execute one or more of the above methods when executed. A computer-readable data storage medium may form a part of a computer program product, which may include packaging materials. A computer-readable medium may include a memory or data storage medium, such as a random access memory (RAM) (such as a synchronous dynamic random access memory (SDRAM)), a read-only memory (ROM), a non-volatile random access memory (NVRAM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic or optical data storage medium, and the like. Additionally or alternatively, the technology may be implemented at least in part by a computer-readable communication medium that carries or communicates program code in the form of instructions or data structures and that can be accessed, read, and / or executed by a computer, such as a propagated signal or wave.

[0139] The program code may be executed by a processor, which may include one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Such a processor may be configured to perform any of the techniques described in the present disclosure. A general-purpose processor may be a microprocessor; however, in an alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. Therefore, the term "processor" as used herein may refer to any of the aforementioned structures, any combination of the aforementioned structures, or any other structure or device suitable for implementing the techniques described herein.

[0140] Illustrative aspects of the present disclosure include:

[0141] Aspect 1. An apparatus for wireless communication by a first device, the apparatus comprising: at least one memory; and one or more processors, the one or more processors coupled to the at least one memory and configured to: determine a first output associated with a first expression at a security system, the first expression having a first value of a variable of the first expression; determine a second value at the security system; evaluate a second expression at the security system based on the first output and the second value, the second expression being evaluated to determine a second output associated with the first expression having the variable, the variable having a third value, the third value being the product of the first value and the second value; and convey a message via a communication interface coupled to the security system based on the second output.

[0142] Aspect 2. The apparatus according to claim 1, wherein the first expression comprises: a +r -a mod n, where a is the variable of the first expression, r is a positive integer, and n is a positive integer.

[0143] Aspect 3. The apparatus of claim 1, wherein the second output comprises a cryptographic session key used to communicate the message.

[0144] Aspect 4. The apparatus of claim 1, wherein the one or more processors are further configured to: receive an indication of the first output from a second device and via the communication interface.

[0145] Aspect 5. An apparatus according to claim 1, wherein the one or more processors are further configured to: determine a third output value at the security system, the third output value being associated with the first expression, the first expression having the second value of the variable of the first expression; and send an indication of the third output value to a second device via the communication interface.

[0146] Aspect 6. The apparatus of claim 1, wherein the one or more processors are configured to: evaluate the second expression at the security system according to one or more rules for determining an output of an auxiliary recursive function of the second expression.

[0147] Aspect 7. The apparatus of claim 6, wherein the one or more rules include: when the second value is 0, setting the output of the auxiliary recursive function to an identity matrix.

[0148] Aspect 8. The apparatus of claim 6, wherein the one or more rules include: in the case where the second value is 1, setting the output of the auxiliary recursive function to: Wherein g represents the first output.

[0149] Aspect 9. The apparatus of claim 6, wherein the one or more rules include: in the case where the second value is an even number, setting the output of the auxiliary recursive function to: Wherein M represents the auxiliary recursive function, g represents the first output, k represents the second value, and n is a positive integer.

[0150] Aspect 10. The apparatus of claim 6, wherein the one or more rules include: if the second value is an odd number and greater than 1, setting the output of the auxiliary recursive function to: m1m2 mod n where n is a positive integer, and where m1 is: where g represents the first output, and where m2 is: Wherein M represents the auxiliary recursive function, k represents the second value, and n is a positive integer.

[0151] Aspect 11. An apparatus according to claim 1, wherein the first output is received from a second device, the first output is a ciphertext associated with the message, and wherein the second value includes a first prime number, and the one or more processors are further configured to: evaluate the second expression at the security system based on the second output and the second prime number to determine a third output; and decrypt the message at the security system based on the third output.

[0152] Aspect 12. The apparatus of claim 11, wherein the first prime number and the second prime number are private keys for decrypting the message.

[0153] Aspect 13. An apparatus according to claim 1, wherein the one or more processors are further configured to: select a subset of prime numbers from a plurality of prime numbers at the security system; for each prime number in the plurality of prime numbers, calculate a public key value at the security system based on the product of the subset of the prime numbers; and send each public key calculated for each prime number in the plurality of prime numbers to a second device via the communication interface.

[0154] Aspect 14. The apparatus of claim 13, wherein to calculate a public key value associated with a prime number, the one or more processors are configured to calculate the public key value based on the following expression: where p i is the prime number, s is the product of the subset of prime numbers, and n is a positive integer.

[0155] Aspect 15. An apparatus for wireless communication by a first device, the apparatus comprising: at least one memory; and one or more processors, the one or more processors being coupled to the at least one memory and configured to: obtain a message having a plurality of bits to be encrypted, wherein each of the plurality of bits is associated with a public key value from a plurality of public key values; calculate a product of one or more public key values ​​from the plurality of public key values ​​associated with one or more of the plurality of bits, the one or more of the plurality of bits being logically high; generate a ciphertext based on the product of the one or more public key values; and send the ciphertext via a communication interface.

[0156] Aspect 16. The apparatus of claim 15, wherein the one or more processors are configured to generate the ciphertext based on the following formula: V + V -1 mod n where V is the product of the one or more public key values, and n is a positive integer.

[0157] Aspect 17. The apparatus of claim 15, wherein the public key value is received from a receiver device.

[0158] Aspect 18. A method for wireless communication by a first device, the method comprising: determining a first output associated with a first expression at a security system, the first expression having a first value of a variable of the first expression; determining a second value at the security system; evaluating a second expression at the security system based on the first output and the second value, the second expression being evaluated to determine a second output associated with the first expression having the variable, the variable having a third value, the third value being the product of the first value and the second value; and communicating a message via a communication interface coupled to the security system based on the second output.

[0159] Aspect 19. The method according to claim 18, wherein the first expression comprises: a +r -a mod n, where a is the variable of the first expression, r is a positive integer, and n is a positive integer.

[0160] Aspect 20. The method of claim 18, wherein the second output comprises a cryptographic session key used to communicate the message.

[0161] Aspect 21. The method of claim 18, further comprising receiving an indication of the first output from a second device via the communication interface.

[0162] Aspect 22. The method according to claim 18 further includes: determining a third output value at the security system, the third output value being associated with the first expression, the first expression having the second value of the variable of the first expression; and sending an indication of the third output value to the second device via the communication interface.

[0163] Aspect 23. The method of claim 18, wherein the second expression is evaluated according to one or more rules for determining an output of an auxiliary recursive function of the second expression.

[0164] Aspect 24. The method of claim 23, wherein the one or more rules include: if the second value is 0, setting the output of the auxiliary recursive function to an identity matrix.

[0165] Aspect 25. The method of claim 23, wherein the one or more rules include: in the case where the second value is 1, setting the output of the auxiliary recursive function to: Wherein g represents the first output.

[0166] Aspect 26. The method of claim 23, wherein the one or more rules include: if the second value is an even number, setting the output of the auxiliary recursive function to: Wherein M represents the auxiliary recursive function, g represents the first output, k represents the second value, and n is a positive integer.

[0167] Aspect 27. The method of claim 23, wherein the one or more rules include: if the second value is an odd number and greater than 1, setting the output of the auxiliary recursive function to: m1m2 mod n where n is a positive integer, and where m1 is: where g represents the first output, and where m2 is: Wherein M represents the auxiliary recursive function, k represents the second value, and n is a positive integer.

[0168] Aspect 28. A method according to claim 18, wherein the first output is received from a second device, the first output is a ciphertext associated with the message, and wherein the second value includes a first prime number, the method further comprising: evaluating the second expression at the security system based on the second output and the second prime number to determine a third output; and decrypting the message at the security system based on the third output.

[0169] Aspect 29. The method of claim 28, wherein the first prime number and the second prime number are private keys for decrypting the message.

[0170] Aspect 30. The method of claim 18, further comprising: selecting a subset of prime numbers from a plurality of prime numbers at the security system; for each prime number in the plurality of prime numbers, calculating a public key value at the security system based on the product of the subset of the prime numbers; and sending each public key calculated for each prime number in the plurality of prime numbers to a second device via the communication interface.

[0171] Aspect 31. The method of claim 30, wherein calculating a public key value associated with a prime number comprises calculating the public key value based on the following expression: where p i is the prime number, s is the product of the subset of prime numbers, and n is a positive integer.

[0172] Aspect 32. A method for wireless communication by a first device, the method comprising: obtaining a message having a plurality of bits to be encrypted, wherein each bit of the plurality of bits is associated with a public key value of a plurality of public key values; calculating the product of one or more public key values ​​from the plurality of public key values ​​associated with one or more bits of the plurality of bits, the one or more bits of the plurality of bits being logically high; generating a ciphertext based on the product of the one or more public key values; and sending the ciphertext via a communication interface.

[0173] Aspect 33. The method according to claim 32, wherein the ciphertext is generated based on the following formula: V+V -1 mod n where V is the product of the one or more public key values, and n is a positive integer.

[0174] Aspect 34. The method of claim 32, wherein the public key value is received from a receiver device.

[0175] Aspect 35. A non-transitory computer-readable medium having instructions stored thereon, which, when executed by one or more processors, cause the one or more processors to perform operations according to any one of Aspects 1 to 34.

[0176] Aspect 36. An apparatus for wireless communication, the apparatus comprising: one or more means for performing the operations according to any one of aspects 1 to 35.

Claims

1. An apparatus for wireless communication by a first device, the apparatus comprising: at least one memory; and one or more processors coupled to the at least one memory and configured to: determining, at the security system, a first output associated with a first expression having first values ​​for variables of the first expression; determining a second value at the security system; evaluating a second expression at the safety system based on the first output and the second value, the second expression being evaluated to determine a second output associated with the first expression having the variable, the variable having a third value, the third value being a product of the first value and the second value; as well as A message is communicated via a communication interface coupled to the security system based on the second output.

2. The apparatus according to claim 1, wherein the first expression comprises: r a +r -a mod n, wherein a is the variable of the first expression, r is a positive integer, and n is a positive integer.

3. The apparatus of claim 1, wherein the second output comprises a cryptographic session key used to communicate the message. 4 . The apparatus of claim 1 , wherein the one or more processors are further configured to receive an indication of the first output from a second device via the communication interface.

5. The apparatus of claim 1 , wherein the one or more processors are further configured to: determining, at the safety system, a third output value associated with the first expression having the second value of the variable of the first expression; and An indication of the third output value is sent to a second device via the communication interface.

6. The apparatus of claim 1, wherein the one or more processors are configured to evaluate the second expression at the security system according to one or more rules for determining an output of an auxiliary recursive function of the second expression.

7. The apparatus of claim 6, wherein the one or more rules include: In case the second value is 0, the output of the auxiliary recursive function is set to the identity matrix.

8. The apparatus of claim 6, wherein the one or more rules include: In the case where the second value is 1, the output of the auxiliary recursive function is set to: Wherein g represents the first output.

9. The apparatus of claim 6, wherein the one or more rules include: In case the second value is an even number, the output of the auxiliary recursive function is set to: Wherein M represents the auxiliary recursive function, g represents the first output, k represents the second value, and n is a positive integer.

10. The apparatus of claim 6, wherein the one or more rules include: When the second value is an odd number and greater than 1, the output of the auxiliary recursive function is set to: Where n is a positive integer, and where m1 is: where g represents the first output, and where m2 is: Wherein M represents the auxiliary recursive function, k represents the second value, and n is a positive integer.

11. The apparatus of claim 1 , wherein the first output is received from a second device, the first output being ciphertext associated with the message, and wherein the second value comprises a first prime number, the one or more processors being further configured to: evaluating the second expression at the security system based on the second output and a second prime number to determine a third output; and The message is decrypted at the security system based on the third output.

12. The apparatus of claim 11, wherein the first prime number and the second prime number are private keys for decrypting the message.

13. The apparatus of claim 1, wherein the one or more processors are further configured to: At the security system, selecting a subset of prime numbers from a plurality of prime numbers; for each prime number in the plurality of prime numbers, calculating a public key value at the security system based on a product of the subset of the prime numbers; as well as Each public key calculated for each prime number in the plurality of prime numbers is sent to a second device via the communication interface.

14. The apparatus of claim 13, wherein in order to calculate a public key value associated with a prime number, the one or more processors are configured to calculate the public key value based on the following expression: where p i is the prime number, s is the product of the subset of prime numbers, and n is a positive integer.

15. An apparatus for wireless communication by a first device, the apparatus comprising: at least one memory; and one or more processors coupled to the at least one memory and configured to: obtaining a message having a plurality of bits to be encrypted, wherein each bit of the plurality of bits is associated with a public key value of a plurality of public key values; calculating a product of one or more public key values ​​from the plurality of public key values ​​associated with one or more bits of the plurality of bits, the one or more bits of the plurality of bits being logic high; generating a ciphertext based on the product of the one or more public key values; and The ciphertext is sent via a communication interface.

16. The apparatus of claim 15, wherein the one or more processors are configured to generate the ciphertext based on the following formula: V+V -1 mod n wherein V is the product of the one or more public key values, and n is a positive integer.

17. The apparatus of claim 15, wherein the public key value is received from a receiver device.

18. A method for wireless communication by a first device, the method comprising: determining, at the security system, a first output associated with a first expression having first values ​​for variables of the first expression; determining a second value at the security system; evaluating a second expression at the safety system based on the first output and the second value, the second expression being evaluated to determine a second output associated with the first expression having the variable, the variable having a third value, the third value being a product of the first value and the second value; as well as A message is communicated via a communication interface coupled to the security system based on the second output.

19. The method of claim 18, wherein the first expression comprises: r a +r -a mod n, wherein a is the variable of the first expression, r is a positive integer, and n is a positive integer.

20. The method of claim 18, wherein the second output comprises a cryptographic session key used to communicate the message.

21. The method according to claim 18, further comprising: An indication of the first output is received from a second device via the communication interface.

22. The method of claim 18, further comprising: determining, at the security system, a third output value, the third output value associated with the first expression having the second value of the variable of the first expression; as well as An indication of the third output value is sent to a second device via the communication interface.

23. The method of claim 18, wherein the second expression is evaluated according to one or more rules for determining an output of an auxiliary recursive function of the second expression.

24. The method of claim 23, wherein the one or more rules include: In the case where the second value is 1, the output of the auxiliary recursive function is set to: Wherein g represents the first output.

25. The method of claim 23, wherein the one or more rules include: In case the second value is an even number, the output of the auxiliary recursive function is set to: Wherein M represents the auxiliary recursive function, g represents the first output, k represents the second value, and n is a positive integer.

26. The method of claim 23, wherein the one or more rules include: When the second value is an odd number and greater than 1, the output of the auxiliary recursive function is set to: Where n is a positive integer, and where m1 is: where g represents the first output, and where m2 is: Wherein M represents the auxiliary recursive function, k represents the second value, and n is a positive integer.

27. The method of claim 18, wherein the first output is received from a second device, the first output being ciphertext associated with the message, and wherein the second value comprises a first prime number, the method further comprising: evaluating the second expression at the security system based on the second output and a second prime number to determine a third output; as well as The message is decrypted at the security system based on the third output.

28. The method of claim 18, further comprising: At the security system, selecting a subset of prime numbers from a plurality of prime numbers; for each prime number in the plurality of prime numbers, calculating a public key value at the security system based on a product of the subset of the prime numbers; as well as Each public key calculated for each prime number in the plurality of prime numbers is sent to a second device via the communication interface.

29. method according to claim 28, wherein calculating the public key value associated with the prime number comprises calculating the public key value based on the following expression: where p i is the prime number, s is the product of the subset of prime numbers, and n is a positive integer.

30. A method for wireless communication by a first device, the method comprising: obtaining a message having a plurality of bits to be encrypted, wherein each bit of the plurality of bits is associated with a public key value of a plurality of public key values; calculating a product of one or more public key values ​​from the plurality of public key values ​​associated with one or more bits of the plurality of bits, the one or more bits of the plurality of bits being logic high; generating a ciphertext based on the product of the one or more public key values; and The ciphertext is sent via a communication interface.