CN114301702A - Agent loss transmission method and device, storage medium and electronic equipment - Google Patents

Agent loss transmission method and device, storage medium and electronic equipment Download PDF

Info

Publication number
CN114301702A
CN114301702A CN202111655962.7A CN202111655962A CN114301702A CN 114301702 A CN114301702 A CN 114301702A CN 202111655962 A CN202111655962 A CN 202111655962A CN 114301702 A CN114301702 A CN 114301702A
Authority
CN
China
Prior art keywords
public
key
private key
shared
sender
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111655962.7A
Other languages
Chinese (zh)
Other versions
CN114301702B (en
Inventor
徐帅健妮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202111655962.7A priority Critical patent/CN114301702B/en
Publication of CN114301702A publication Critical patent/CN114301702A/en
Application granted granted Critical
Publication of CN114301702B publication Critical patent/CN114301702B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

The disclosure relates to the technical field of cryptography, and relates to a proxy walk-away transmission method and device, a storage medium, and an electronic device. The method comprises the following steps: determining a base point coordinate from the elliptic curve parameter, and generating a first public and private key pair according to the base point coordinate so as to send a first public key in the first public and private key pair to a selector; receiving a second public key sent by the selector, and generating a shared key shared with the selector according to the elliptic curve parameter, the second public key and a first private key in the first public-private key pair; and coding the data to be sent corresponding to the sender based on the shared secret key, and sending a coding result corresponding to the data to be sent to the agent side so that the agent side determines target data from the data to be sent. In the method and the device, the data to be sent is coded by using the shared secret key and then sent to the agent, so that the agent is ensured to only obtain target data in the data to be sent, and the data privacy of a sender is ensured.

Description

Agent loss transmission method and device, storage medium and electronic equipment
Technical Field
The present disclosure relates to the field of cryptography, and in particular, to a proxy-walk-away transmission method, a proxy-walk-away transmission apparatus, a computer-readable storage medium, and an electronic device.
Background
In recent years, in order to provide a theoretical solution to problems such as information leakage faced in development of security, the proxy is disappearing of applications of the transport protocol in a plurality of fields.
In the prior art, when a sender and a selector generate respective public and private key pairs, the complexity of the algorithm used is generally high, the performance of the algorithm is weak, and thus the data privacy of each participant in the proxy elusion transmission protocol cannot be ensured.
Accordingly, there is a need in the art to develop a new proxy ubiquitous transmission method and apparatus.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The present disclosure is directed to a proxy-based ubiquitous transmission method, a proxy-based ubiquitous transmission apparatus, a computer-readable storage medium, and an electronic device, so as to overcome, at least to some extent, the problem that privacy of data of each participant of a proxy-based ubiquitous transmission protocol cannot be ensured due to related technologies.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to a first aspect of the embodiments of the present invention, there is provided a proxy-based lossy transmission method applied to a sender, the method including: determining a base point coordinate from an elliptic curve parameter, and generating a first public and private key pair according to the base point coordinate so as to send a first public key in the first public and private key pair to a selector; receiving a second public key sent by the selector, and generating a shared key shared with the selector according to the elliptic curve parameter, the second public key and a first private key in the first public-private key pair; and coding the data to be sent corresponding to the sender based on the shared secret key, and sending a coding result corresponding to the data to be sent to an agent side so that the agent side determines target data from the data to be sent.
In an exemplary embodiment of the present invention, the elliptic curve parameter includes an order of a base point; generating a first public-private key pair according to the base point coordinates includes: generating a first random integer belonging to a first random interval by using a random number generator; wherein the first random interval is determined according to the order; and calculating the first random integer and the base point coordinate to obtain a first public key, and determining the first random integer as a first private key so as to determine a first public-private key pair consisting of the first public key and the first private key.
In an exemplary embodiment of the present invention, the generating a shared key shared with the selecting party according to the elliptic curve parameter, the second public key, and a first private key of the first public-private key pair includes: generating a first random number belonging to a second random interval by using the random number generator, and calculating the first random number and the coordinates of the base point to obtain a first curve point of the elliptic curve corresponding to the elliptic curve parameter so as to send the first curve point to a selector; wherein the second random interval is determined according to the order; and receiving a second curve point sent by the selector, and generating a shared key shared with the selector based on the first curve point, the second public key and the elliptic curve parameter.
In an exemplary embodiment of the present invention, the elliptic curve parameters include a cofactor; the generating a shared key shared with the selector based on the first curve point, the second public key, and the elliptic curve parameter comprises: calculating the order to obtain a first order calculation result; respectively updating a first curve point abscissa corresponding to the first curve point and a second curve point abscissa corresponding to the second curve point based on the first order number calculation result to obtain the updated first curve point abscissa and the updated second curve point abscissa; calculating the first random integer, the updated abscissa of the first curve point and the first random number to obtain a first calculation result, and generating a second calculation result according to the first calculation result, the cofactor, the second public key, the updated abscissa of the second curve point and the second curve point; and generating a shared key shared with the selector according to the first hash value corresponding to the sender, the second hash value corresponding to the selector, the second calculation result and a preset shared key length.
According to a second aspect of the embodiments of the present invention, there is provided a proxy obfuscated transfer protocol method, applied to a selecting party, the method including: determining a base point coordinate from an elliptic curve parameter, and generating a second public and private key pair according to the base point coordinate so as to send a second public key in the second public and private key pair to a sender; receiving a first public key sent by the sender, and generating a shared key shared with the sender according to the elliptic curve parameter, the first public key and a second private key in the second public-private key pair; and coding the identification corresponding to the receiving party based on the shared secret key so as to send a coding result corresponding to the identification to an agent party, so that the agent party determines the target data with the same number as the identification.
In an exemplary embodiment of the present invention, the elliptic curve parameter includes an order of a base point; generating a second public-private key pair according to the base point coordinates includes: generating a second random integer belonging to a third random interval by using a random number generator; wherein the third random interval is determined according to the order; and calculating the second random integer and the base point coordinate to obtain a second public key, and determining the second random integer as a second private key so as to determine a second public-private key pair consisting of the second public key and the second private key.
In an exemplary embodiment of the present invention, the generating a shared key shared with the sender according to the elliptic curve parameter, the first public key, and a second private key of the second public-private key pair includes: generating a second random number belonging to a fourth random interval by using the random number generator, and calculating the second random number and the coordinates of the base point to obtain a second curve point of the elliptic curve corresponding to the elliptic curve parameter so as to send the second curve point to a sender; wherein the fourth random interval is determined according to the order; and receiving a first curve point sent by the sender, and generating a shared key shared with the sender based on the first curve point, the second curve point, the first public key and the elliptic curve parameter.
In an exemplary embodiment of the present invention, the elliptic curve parameters include a cofactor; the generating a shared key shared with the sender based on the first curve point, the second curve point, the first public key, and the elliptic curve parameter includes: calculating the order to obtain a second order calculation result; respectively updating a first curve point abscissa corresponding to the first curve point and a second curve point abscissa corresponding to the second curve point based on the second order number calculation result to obtain the updated first curve point abscissa and the updated second curve point abscissa; calculating the second random integer, the updated abscissa of the first curve point and the second random number to obtain a third calculation result, and generating a fourth calculation result according to the third calculation result, the cofactor, the first public key, the updated abscissa of the second curve point and the second curve point; and generating a shared key shared with the sender according to the first hash value corresponding to the sender, the second hash value corresponding to the selector, the fourth calculation result and a preset shared key length.
According to a third aspect of the embodiments of the present invention, there is provided a proxy casual transmission method, applied to a proxy side, the method including: receiving a coding result which is sent by a sender and corresponds to data to be sent; the encoding result corresponding to the data to be transmitted is obtained by encoding the data to be transmitted corresponding to the sender by the sender based on a shared key, wherein the shared key is generated according to an elliptic curve parameter, a second public key and a first private key in a first public-private key pair, the second public key is transmitted to the sender in a selected direction, and the first public-private key pair is generated by the sender according to base point coordinates in the elliptic curve parameter; receiving a coding result which is sent by a selector and corresponds to the identifier; the encoding result corresponding to the identifier is obtained by encoding the identifier corresponding to the selector by the selector based on a shared key, the shared key is generated according to an elliptic curve parameter, a first public key and a second private key in a second public-private key pair, the first public key is sent to the selector by a sending party, and the second public-private key pair is generated by the selector according to base point coordinates in the elliptic curve parameter; and determining target data with the same number as the identifiers in the data to be transmitted by using the coding result corresponding to the data to be transmitted and the coding result corresponding to the identifiers.
According to a fourth aspect of the embodiments of the present invention, there is provided a proxy-walkable transfer apparatus, including: the first generation module is configured to determine base point coordinates from the elliptic curve parameters and generate a first public and private key pair according to the base point coordinates so as to send a first public key in the first public and private key pair to a selector; a second generating module configured to receive a second public key sent by the selecting party, and generate a shared key shared with the selecting party according to the elliptic curve parameter, the second public key, and a first private key of the first public-private key pair; the first sending module is configured to encode data to be sent corresponding to the sender based on the shared secret key, and send an encoding result corresponding to the data to be sent to an agent, so that the agent determines target data from the data to be sent.
According to a fifth aspect of the embodiments of the present invention, there is provided a proxy-walkable transfer apparatus, including: the third generation module is configured to determine base point coordinates from the elliptic curve parameters and generate a second public and private key pair according to the base point coordinates so as to send a second public key in the second public and private key pair to a sender; a fourth generation module, configured to receive the first public key sent by the sender, and generate a shared key shared with the sender according to the elliptic curve parameter, the first public key, and a second private key of the second public-private key pair; and the second sending module is configured to encode the identification corresponding to the receiving party based on the shared secret key so as to send the encoding result corresponding to the identification to the agent party, so that the agent party determines the target data consistent with the identification number.
According to a sixth aspect of the embodiments of the present invention, there is provided a proxy-walkable transfer apparatus, including: the first receiving module is configured to receive an encoding result which is sent by a sender and corresponds to data to be sent; the encoding result corresponding to the data to be transmitted is obtained by encoding the data to be transmitted corresponding to the sender by the sender based on a shared key, wherein the shared key is generated according to an elliptic curve parameter, a second public key and a first private key in a first public-private key pair, the second public key is transmitted to the sender in a selected direction, and the first public-private key pair is generated by the sender according to base point coordinates in the elliptic curve parameter; the second receiving module is configured to receive the coding result which is sent by the selector and corresponds to the identifier; the encoding result corresponding to the identifier is obtained by encoding the identifier corresponding to the selector by the selector based on a shared key, the shared key is generated according to an elliptic curve parameter, a first public key and a second private key in a second public-private key pair, the first public key is sent to the selector by a sending party, and the second public-private key pair is generated by the selector according to base point coordinates in the elliptic curve parameter; and the determining module is configured to determine target data with the same number as the identifiers in the data to be transmitted by using the coding result corresponding to the data to be transmitted and the coding result corresponding to the identifiers.
According to a seventh aspect of the embodiments of the present invention, there is provided an electronic apparatus, including: a processor and a memory; wherein the memory has stored thereon computer readable instructions that, when executed by the processor, implement the proxy-obfuscated transfer method of any of the above-described exemplary embodiments.
According to an eighth aspect of embodiments of the present invention, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the proxy casual transfer method in any of the above-described exemplary embodiments.
As can be seen from the foregoing technical solutions, the agent ubiquitous transmission method, the agent ubiquitous transmission apparatus, the computer storage medium, and the electronic device in the exemplary embodiment of the present invention have at least the following advantages and positive effects:
in the method and apparatus provided by the exemplary embodiment of the present disclosure, on one hand, the shared key is generated according to the elliptic curve parameter, the second public key and the first private key of the first public-private key pair, and the first public-private key pair is determined according to the coordinates of the base point, thereby reducing the complexity of generating the shared key; on the other hand, the data to be sent is sent to the agent party after being encoded by the shared secret key, so that the agent party is ensured not to obtain other data except the target data in the data to be sent, and the data privacy of the sending party is ensured.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
Fig. 1 schematically illustrates a flow chart of a proxy casual transmission method according to an embodiment of the present disclosure;
FIG. 2 is a schematic diagram illustrating a flow of generating a first public-private key pair according to base point coordinates in an embodiment of the present disclosure;
FIG. 3 is a flow diagram schematically illustrating a flow diagram of a process of generating a shared key shared with a selector in an embodiment of the present disclosure;
FIG. 4 is a schematic flow chart illustrating the generation of a shared key shared with a selector in an embodiment of the present disclosure;
fig. 5 is a flow diagram schematically illustrating a flow diagram of a proxy casual transmission method according to an embodiment of the present disclosure;
FIG. 6 is a schematic flow chart illustrating the generation of a second public-private key pair according to base point coordinates in the embodiment of the present disclosure;
FIG. 7 schematically illustrates a flow diagram for generating a shared key in an embodiment of the disclosure;
FIG. 8 is a schematic flow chart illustrating the generation of a shared key in an embodiment of the present disclosure;
fig. 9 is a flow diagram schematically illustrating a flow diagram of a proxy casual transmission method according to an embodiment of the present disclosure;
FIG. 10 is a schematic diagram illustrating the structure of three participants in a proxy casual transmission in an embodiment of the present disclosure;
fig. 11 is a schematic diagram illustrating a structure of an agent casual transmission apparatus according to an embodiment of the present disclosure;
fig. 12 is a schematic diagram illustrating a structure of an agent casual transmission apparatus according to an embodiment of the present disclosure;
fig. 13 is a schematic diagram illustrating a structure of an agent casual transmission apparatus according to an embodiment of the present disclosure;
FIG. 14 schematically illustrates an electronic device for a proxy-parking transfer method in an embodiment of the disclosure;
fig. 15 schematically illustrates a computer-readable storage medium for a proxy-lazy transfer method in an embodiment of the disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and the like. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.
The terms "a," "an," "the," and "said" are used in this specification to denote the presence of one or more elements/components/parts/etc.; the terms "comprising" and "having" are intended to be inclusive and mean that there may be additional elements/components/etc. other than the listed elements/components/etc.; the terms "first" and "second", etc. are used merely as labels, and are not limiting on the number of their objects.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities.
In view of the problems in the related art, the present disclosure provides a proxy-based ubiquitous transmission method. Fig. 1 is a flowchart illustrating a proxy-based delivery method, which is applied to a sender, and as shown in fig. 1, the proxy-based delivery method at least includes the following steps:
and S110, determining base point coordinates from the elliptic curve parameters, and generating a first public and private key pair according to the base point coordinates so as to send a first public key in the first public and private key pair to a selector.
And S120, receiving the second public key sent by the selector, and generating a shared key shared with the selector according to the elliptic curve parameter, the second public key and the first private key in the first public-private key pair.
In step s130, data to be transmitted corresponding to the sender is encoded based on the shared key, and an encoding result corresponding to the data to be transmitted is sent to the agent, so that the agent determines target data from the data to be transmitted.
In the method and apparatus provided by the exemplary embodiment of the present disclosure, on one hand, the shared key is generated according to the elliptic curve parameter, the second public key and the first private key of the first public-private key pair, and the first public-private key pair is determined according to the coordinates of the base point, thereby reducing the complexity of generating the shared key; on the other hand, the data to be sent is coded by the shared secret key and then sent to the agent, so that the agent cannot directly acquire the data to be sent, and the data privacy of the sender is ensured.
The following describes each step of the agent-based transmission method in detail.
In step S110, base point coordinates are determined from the elliptic curve parameters, and a first public-private key pair is generated according to the base point coordinates to transmit a first public key of the first public-private key pair to the selecting party.
In an exemplary embodiment of the present disclosure, the proxy ubiquitous transmission method includes three participating parties, namely a sender, a selector and a proxy, where the sender has n data, which are respectively denoted as m1,m2,m3,…,mnAnd the agent side calculates the data sent by the sender and the data sent by the selector side to obtain k data in the n data sent by the sender.
Specifically, when n >2, 1 ≦ k ≦ n, the protocol is referred to as an n-out-of-k proxy-lossy transport protocol; when n is 2 and k is 1, the protocol is called the proxy-1-from-2 lossy transmission, and the scheme is suitable for the proxy-1-from-2 lossy transmission method.
The elliptic curve parameter refers to a parameter preset in the three participants and specific to the same elliptic curve, specifically, the elliptic curve parameter may include a base point coordinate, an order of the base point, and a cofactor, which is not particularly limited in this exemplary embodiment.
The first public-private key pair refers to a key pair generated by using the base point coordinates and specific to the sender, and includes a first public key and a first private key in the first public-private key pair, and after the first public-private key pair is determined, the first public key needs to be sent to the selector.
For example, a base point coordinate G is determined from the elliptic curve parameter T, and a first public-private key pair may be generated according to the base point coordinate G, where the first public key pk is included in the first public-private key pairsAnd a first private key sks
In an alternative embodiment, fig. 2 shows a schematic flow chart of generating a first public-private key pair according to base point coordinates in the proxy casual transmission method, where an elliptic curve parameter includes an order of a base point, as shown in fig. 2, the method at least includes the following steps: in step S210, a random number generator is used to generate a first random integer belonging to a first random interval; wherein the first random interval is determined according to the order.
The random number generator may be a model for generating a random number, or may be an algorithm for generating a random number, which is not particularly limited in this exemplary embodiment.
The first random integer refers to a random number belonging to a first random interval determined according to the order of the base point, and the random number belongs to an integer.
For example, if the base point has an order of N, then the first random interval can be determined to be [1N-2 ] according to the order of N]Further, a random generator is used to generate a random signal belonging to a first random interval [1N-2 ]]Is a first random integer ds
In step S220, a first random integer and the base point coordinates are calculated to obtain a first public key, and the first random integer is determined as a first private key, so as to determine a first public-private key pair composed of the first public key and the first private key.
The first public key is determined by using a first random integer and base point coordinates, and the values of the first private key and the first random integer are the same, so that a first public-private key pair consisting of the first public key and the first private key is obtained.
For example, the first random integer is dsThe base point coordinate is G, specifically, a first random integer d is usedsThe calculation procedure for calculating the first public key from the base point coordinates G is shown in equation (1).
Ps=(xs,ys)=[ds]×G (1)
Wherein, PsIs a first public key, dsIs a first random integer, [ d ]s]Means that d is not exceededsG denotes the coordinates of the base point, and the first public key specifically includes xsAnd ysFirst private key sksD in accordance with the first random integersFirst private key sks=ds
In the exemplary embodiment, the first public-private key pair is determined by using the elliptic curve parameters, so that the complexity of calculating the first public-private key pair is reduced, and besides, a foundation is not laid for the subsequent generation of the shared key.
In step S120, the second public key sent by the selecting party is received, and a shared key shared with the selecting party is generated according to the elliptic curve parameter, the second public key, and the first private key of the first public-private key pair.
In an embodiment of the present disclosure, the second public key refers to a second public key in a second public-private key pair generated by the selector using the base point coordinates, and the shared key refers to a key generated by only two parties, namely the sender and the selector.
For example, the second public key sent by the receiving selector is pkcThe first private key is pksAnd further according to the elliptic curve parameter, pkcAnd pksA shared secret K may be generated.
In an alternative embodiment, fig. 3 is a schematic flowchart illustrating a process of generating a shared key shared with a selecting party in a proxy casual transmission method, where as shown in fig. 3, the method at least includes the following steps: in step S310, a random number generator is used to generate a first random number belonging to a second random interval, and the first random number and the coordinates of the base point are calculated to obtain a first curve point of the elliptic curve corresponding to the elliptic curve parameter, so as to send the first curve point to the selector; wherein the second random interval is determined according to the order.
Wherein the second random interval refers to an interval determined according to the order of the base point, which is different from the first random interval, and to which the first random number belongs.
The first curve point refers to a curve point of the elliptic curve corresponding to the elliptic curve parameter obtained by using the first random number and the base point coordinates, and is transmitted to the selector after being determined.
For example, a second random interval [1N-1 ] associated with the order N of the base point may be determined]Further, a random number generator is used to generate a first random number R belonging to a second random intervalsThen, a first curve point of the elliptic curve corresponding to the elliptic curve parameter is calculated using formula (2), and the first curve point is transmitted to the selecting party after the first curve point is calculated.
Rs=[rs]×G=(x1,y1) (2)
Wherein R issIs a first curve point, [ r ]s]Means that no more than a first random number r is calculatedsG is the base point coordinate, and the first curve point RsFrom x1And y1And (4) forming.
In step S320, the second curve point sent by the selecting party is received, and a shared key shared with the selecting party is generated based on the first curve point, the second public key and the elliptic curve parameter.
The second curve point is a curve point of the elliptic curve corresponding to the elliptic curve parameter and calculated by the selector by using a second random number and the base point coordinate, and the second random number is different from the first random number and is a random number generated by the selector by using a random number generator.
After the second curve point is obtained, a shared secret key known only to the two parties, the sender and the selector, may be generated based on the first curve point, the second public key, and the elliptic curve parameter.
For example, the second curve point R sent by the selector is receivedcAnd based on the first curve point RsA second curve point RcThe second public key pkcAnd generating the shared key K by the elliptic curve parameters.
In the exemplary embodiment, the shared key is a key shared with the selector, so that it is ensured that the subsequent agent cannot directly obtain the data to be sent and the identifier, and the data privacy of the sender and the selector is ensured.
In an alternative embodiment, fig. 4 is a schematic flow chart illustrating a process of generating a shared key shared with a selector in a proxy casual transmission method, where an elliptic curve parameter includes a cofactor, as shown in fig. 4, the method at least includes the following steps: in step S410, the order is calculated to obtain a first order calculation result.
The elliptic curve parameters also comprise a cofactor, and the first order calculation result refers to a result obtained by calculating the order.
For example, the order of the base point can be calculated by using formula (3) to obtain the first order calculation result.
Figure BDA0003448307890000121
Wherein w is the calculation result of the first order number, and n is the order number of the base point.
In step S420, a first curve point abscissa corresponding to the first curve point and a second curve point abscissa corresponding to the second curve point are respectively updated based on the first order number calculation result, so as to obtain an updated first curve point abscissa and an updated second curve point abscissa.
The coordinate information corresponding to the first curve point comprises a first curve point abscissa, the coordinate information corresponding to the second curve point comprises a second curve point abscissa, based on the first curve point abscissa, the first curve point abscissa can be updated by using the first order number calculation result to obtain the updated first curve point abscissa, and the second curve point abscissa can be updated by using the first order number calculation result to obtain the updated second curve point abscissa.
For example, the updated abscissa of the first curve point is obtained by using formula (4), and the updated abscissa of the second curve point is obtained by using formula (5).
x1’=2w+(x1&(2W-1)) (4)
x2’=2w+(x2&(2W-1)) (5)
Wherein x is1’For the updated first curve point abscissa, x2’Is the updated abscissa of the second curve point, w is the first order number calculation result, x1To the first curve point abscissa, x before updating2Is the abscissa of the second curve point before updating.
In step S430, the first random integer, the updated abscissa of the first curve point, and the first random number are calculated to obtain a first calculation result, and a second calculation result is generated according to the first calculation result, the cofactor, the second public key, the updated abscissa of the second curve point, and the second curve point.
The first calculation result refers to a result obtained by calculating the first random integer, the abscissa of the first curve point and the first random number, and the second calculation result refers to a result obtained by calculating the first calculation result, the cofactor, the second public key, the updated abscissa of the second curve point and the second curve point.
For example, the first calculation result is obtained by using formula (6), and the second calculation result is obtained by using formula (7).
ts=ds+x1’×rs (6)
U=(h×ts)×(Pc+[x2’]×Rc)=(xU,yU) (7)
Wherein, tsAs a result of the first calculation, dsIs a first random integer, x1’Is the updated abscissa, r, of the first curve pointsIs a first random number, U is a second calculation result, h is a cofactor, PcIs the second public key, x2’For the updated second curve point abscissa, RcIs the second curve point.
In step S440, a shared key shared with the selected party is generated according to the first hash value corresponding to the sender, the second hash value corresponding to the selected party, the second calculation result, and the predetermined shared key length.
The first hash value refers to a hash value set by the sender for data to be sent, correspondingly, the second hash value refers to a hash value set by the selector for the identifier, and the preset shared key length refers to a string length of a preset shared key.
For example, the shared key K is generated using equation (8).
K=KDF(xU||yU||ZA||ZB,klen) (8)
Where K is the shared secret, KDF is the secret derivation function, xUAnd yUAs a result of the second calculation, ZAIs a first hash value, ZBFor the second hash value, klen is the preset shared key length.
In the exemplary embodiment, the shared key is a key shared with the selector, so that it is ensured that the subsequent agent cannot directly obtain the data to be sent and the identifier, and the data privacy of the sender and the selector is ensured.
In step S130, data to be transmitted corresponding to the transmitting party is encoded based on the shared key, and an encoding result corresponding to the data to be transmitted is transmitted to the agent, so that the agent determines target data from the data to be transmitted.
The data to be sent refers to data possessed by a sender, the data to be sent is coded by using the shared secret key, so that the agent side cannot directly obtain the data to be sent when receiving the coding result, the data privacy of the sender is ensured, and the target data refers to some data in the data to be sent.
For example, three random numbers are generated by using formula (9).
(z0,z1,π)=prfK(t) (9)
Wherein pi is 0 or 1, K is a shared key, prf is the same pseudo-random function set by the cosine in the three parties of the sender, the selector and the agent, t is the binary code of the current transmission round number, and then three random numbers of z0, z1 and pi can be obtained by using formula 1.
Based on this, the transmission side transmits the encoding result to the agent side as α ═ α (α)0,α1) Wherein, when pi is 0, alpha0As a result of the XOR of Z0 and x0 in the data to be transmitted, α1When pi is 1, alpha is the exclusive OR result of Z1 and x1 in the data to be transmitted1As a result of the XOR of Z0 and x0 in the data to be transmitted, α0The result of exclusive or of Z1 and x1 in the data to be transmitted is obtained, so as to determine the target data from the data to be transmitted according to the coding result.
In the method and apparatus provided by the exemplary embodiment of the present disclosure, on one hand, the shared key is generated according to the elliptic curve parameter, the second public key and the first private key of the first public-private key pair, and the first public-private key pair is determined according to the coordinates of the base point, thereby reducing the complexity of generating the shared key; on the other hand, the data to be sent is sent to the agent party after being encoded by the shared secret key, so that the agent party is ensured not to obtain other data except the target data in the data to be sent, and the data privacy of the sending party is ensured.
In view of the problems in the related art, the present disclosure provides a proxy-based ubiquitous transmission method. Fig. 5 is a flowchart illustrating a proxy-walk-off transfer method, applied to a selecting party, as illustrated in fig. 5, the proxy-walk-off transfer method includes at least the following steps:
and step S510, determining the base point coordinate from the elliptic curve parameter, and generating a second public-private key pair according to the base point coordinate so as to send a second public key in the second public-private key pair to the sender.
And S520, receiving the first public key sent by the sender, and generating a shared key shared with the sender according to the elliptic curve parameter, the first public key and a second private key in a second public-private key pair.
At step s530, the identifier corresponding to the receiving party is encoded based on the shared secret key, so as to send the encoding result corresponding to the identifier to the agent party, so that the agent party determines the target data consistent with the number of the identifiers.
In the method and apparatus provided by the exemplary embodiment of the present disclosure, on one hand, the shared key is generated according to the elliptic curve parameter, the first public key and the second private key of the second public-private key pair, and the second public-private key pair is determined according to the base point coordinates, thereby reducing the complexity of generating the shared key; on the other hand, the identification is coded by the shared secret key and then sent to the agent side, so that the agent side is ensured not to directly obtain the identification, and the data privacy of the selecting side is ensured.
The following describes each step of the agent-based transmission method in detail.
In step S510, base point coordinates are determined from the elliptic curve parameters, and a second public-private key pair is generated according to the base point coordinates, so as to send a second public key of the second public-private key pair to the sender.
In an exemplary embodiment of the present disclosure, the elliptic curve parameter refers to a parameter that is preset in three participants, namely, a sender, a selector, and an agent, and is specific to a same elliptic curve, and specifically, the elliptic curve parameter may include a base point coordinate, a base point order, and a cofactor, which is not particularly limited in this exemplary embodiment.
The second public-private key pair refers to a key pair generated by using the base point coordinates and specific to the selector, and includes a second public key and a second private key in the second public-private key pair, and after the second public-private key pair is determined, the second public key needs to be sent to the sender.
For example, a base point coordinate G is determined from the elliptic curve parameter T, and a second public-private key pair may be generated according to the base point coordinate G, where the second public key pk is included in the second public-private key paircAnd a first private key skc
In an alternative embodiment, fig. 6 is a schematic flow chart illustrating a process of generating a second public-private key pair according to base point coordinates in the proxy casual transmission method, where as shown in fig. 6, the method at least includes the following steps: in step S610, a second random integer belonging to a third random interval is generated by using the random number generator; wherein the third random interval is determined according to the order.
The random number generator may be a model for generating a random number, or may be an algorithm for generating a random number, which is not particularly limited in this exemplary embodiment.
The second random integer refers to a random number belonging to a third random interval determined according to the order of the base point, and the random number is an integer.
For example, if the base point has an order of N, then a third random interval of [1N-2 ] can be determined according to the order of N]Further, a random generator is used to generate a random signal belonging to a third random interval [1N-2 ]]Second random number d ofc
In step S620, a second random integer and the base point coordinates are calculated to obtain a second public key, and the second random integer is determined as a second private key, so as to determine a second public-private key pair composed of the second public key and the second private key.
The second public key is determined by using a second random integer and the base point coordinate, and the values of the second private key and the second random integer are the same, so that a second public-private key pair consisting of the second public key and the second private key is obtained.
For example, the first random integer is dcThe base point coordinate is G, specifically, a second random integer d is usedcThe calculation process for calculating the second public key from the base point coordinates G is shown in equation (10).
Pc=(xc,yc)=[dc]×G (10)
Wherein, PcIs the second public key, dcIs a second random integer, [ dc]Means that d is not exceededcG denotes the base point coordinates, and the second public key specifically includes xcAnd ycSecond private key skcD in accordance with the second random integercI.e. the second private key skc=dc
In the exemplary embodiment, the second public-private key pair is determined by using the elliptic curve parameters, so that the complexity of calculating the second public-private key pair is reduced, and besides, a foundation is not laid for subsequent generation of the shared key.
In the present exemplary embodiment, in step S520, a first public key sent by the sender is received, and a shared key shared with the sender is generated according to the elliptic curve parameter, the first public key, and a second private key of the second public-private key pair.
In an exemplary embodiment of the present disclosure, the first public key refers to a first public key in a first public-private key pair generated by using the base point coordinates at the transmitting party, and the shared key refers to a key generated by only two parties, the transmitting party and the selecting party, which are known.
For example, the first public key sent by the receiving and sending party is pksThe second private key is pkcAnd further according to the elliptic curve parameter, pksAnd pkcA shared secret K may be generated.
In an alternative embodiment, fig. 7 is a schematic flowchart illustrating a process of generating a shared key in an agent casual transmission method, where as shown in fig. 7, the method at least includes the following steps: in step S710, a second random number belonging to a fourth random interval is generated by using the random number generator, and the second random number and the coordinates of the base point are calculated to obtain a second curve point of the elliptic curve corresponding to the elliptic curve parameter, so as to send the second curve point to the sender; wherein the fourth random interval is determined according to the order.
Wherein the fourth random interval refers to one interval, which is determined according to the order of the base point, and is distinguished from the first random interval, the second random interval, and the third random interval, and the second random number belongs to the fourth random interval.
The second curve point refers to a curve point of the elliptic curve corresponding to the elliptic curve parameter obtained by using the second random number and the base point coordinate, and is transmitted to the sender after being determined.
For example, a fourth random interval [1N-1 ] associated with the order N of the base point may be determined]Further, a random number generator is used to generate a second random number r belonging to a fourth random intervalcThen, a second curve point of the elliptic curve corresponding to the elliptic curve parameter is calculated using equation (11), and the second curve point is transmitted to the transmission side after the second curve point is calculated.
Rc=[rc]×G=(x2,y2) (11)
Wherein R iscIs the second curve point, [ r ]c]Means that no more than a second random number r is calculatedcG is the base point coordinate, and the second curve point RcFrom x2And y2And (4) forming.
In step S720, a first curve point sent by the sender is received, and a shared key shared with the sender is generated based on the first curve point, the second curve point, the first public key and the elliptic curve parameter.
The first curve point is a curve point of the elliptic curve corresponding to the elliptic curve parameter and calculated by the sender by using a first random number and the base point coordinate, and the first random number is a random number generated by the sender by using a random number generator.
After the first curve point is obtained, a shared secret key known only to the two parties, the sender and the selector, may be generated based on the first curve point, the second curve point, the first public key, and the elliptic curve parameters.
For example, a first curve point R sent by a sender is receivedsAnd based on the first curve point RsThe second curvePoint RcFirst public key pksAnd generating the shared key K by the elliptic curve parameters.
In the exemplary embodiment, the shared key is a key shared with the selector, so that it is ensured that the subsequent agent cannot directly obtain the data to be sent and the identifier, and the data privacy of the sender and the selector is ensured.
In an alternative embodiment, fig. 8 is a schematic flow chart illustrating a process of generating a shared key in an agent casual transmission method, where an elliptic curve parameter includes a cofactor, as shown in fig. 8, the method at least includes the following steps: in step S810, the order is calculated to obtain a second order calculation result.
The elliptic curve parameters also comprise a cofactor, and the second order number calculation result refers to a result obtained by calculating the order number.
For example, the order of the base point can be calculated by using formula (3) to obtain the second order calculation result.
Figure BDA0003448307890000191
Wherein w is the second order number calculation result, and n is the order number of the base point.
In step S820, a first curve point abscissa corresponding to the first curve point and a second curve point abscissa corresponding to the second curve point are respectively updated based on the second order number calculation result, so as to obtain an updated first curve point abscissa and an updated second curve point abscissa.
The coordinate information corresponding to the first curve point comprises a first curve point abscissa, the coordinate information corresponding to the second curve point comprises a second curve point abscissa, based on the first curve point abscissa, the first curve point abscissa can be updated by using a second order number calculation result to obtain an updated first curve point abscissa, and the second curve point abscissa can be updated by using the second order number calculation result to obtain an updated second curve point abscissa.
For example, the updated abscissa of the first curve point is obtained by using formula (4), and the updated abscissa of the second curve point is obtained by using formula (5).
x1’=2w+(x1&(2W-1)) (4)
x2’=2w+(x2&(2W-1)) (5)
Wherein x is1’For the updated first curve point abscissa, x2’Is the updated abscissa of the second curve point, w is the second order number calculation result, x1To the first curve point abscissa, x before updating2Is the abscissa of the second curve point before updating.
In step S830, the second random integer, the updated abscissa of the first curve point, and the second random number are calculated to obtain a third calculation result, and a fourth calculation result is generated according to the third calculation result, the cofactor, the first public key, the updated abscissa of the second curve point, and the second curve point.
The third calculation result refers to a result obtained by calculating the second random integer, the abscissa of the first curve point and the second random number, and the fourth calculation result refers to a result obtained by calculating the third calculation result, the cofactor, the first public key, the updated abscissa of the second curve point and the second curve point.
For example, the third calculation result is obtained by using formula (12), and the fourth calculation result is obtained by using formula (13).
tc=dc+x2’×rc (12)
V=(h×tc)×(Ps+[x1’]×RS)=(xV,yV) (13)
Wherein, tcAs a result of the third calculation, dcIs a second random integer, x2’For the updated abscissa, r, of the second curve pointcIs the second random number, V is the fourth calculation result, h is the cofactor, PSIs a first public key, x1’For the updated first curve point abscissa, RSIs the first curve point.
In step S840, a shared key shared with the sender is generated according to the first hash value corresponding to the sender, the second hash value corresponding to the selector, the fourth calculation result, and the predetermined shared key length.
The first hash value refers to a hash value set by the sender for data to be sent, correspondingly, the second hash value refers to a hash value set by the selector for the identifier, and the preset shared key length refers to a string length of a preset shared key.
For example, the shared secret K is generated using equation (14).
K=KDF(xV||yV||ZA||ZB,klen) (14)
Where K is the shared secret, KDF is the secret derivation function, xVAnd yVAs a result of the fourth calculation, ZAIs a first hash value, ZBFor the second hash value, klen is the preset shared key length.
In the exemplary embodiment, the shared key is a key shared with the selector, so that it is ensured that the subsequent agent cannot directly obtain the data to be sent and the identifier, and the data privacy of the sender and the selector is ensured.
In step S530, the identifier corresponding to the receiving party is encoded based on the shared key, so as to send the encoding result corresponding to the identifier to the agent, so that the agent determines the target data in accordance with the number of the identifiers.
In the exemplary embodiment of the disclosure, the identifier refers to data possessed by the selecting party, and the identifier to be sent is encoded by using the shared key, so that the agent party cannot directly acquire the identifier when receiving the encoding result, the data privacy of the selecting party is ensured, and the target data is determined data with the same number as the identifier.
For example, formula (9) is used to generate three random numbers z0, z1, and pi, based on which the encoding result sent to the agent is selected to be β ═ b (xoring pi, zb), where b is the identifier.
In the method and apparatus provided by the exemplary embodiment of the present disclosure, on one hand, the shared key is generated according to the elliptic curve parameter, the first public key and the second private key of the second public-private key pair, and the second public-private key pair is determined according to the base point coordinates, thereby reducing the complexity of generating the shared key; on the other hand, the identification is coded by the shared secret key and then sent to the agent side, so that the agent side is ensured not to directly obtain the identification, and the data privacy of the selecting side is ensured.
In view of the problems in the related art, the present disclosure provides a proxy-based ubiquitous transmission method. Fig. 9 is a flowchart illustrating a proxy-walk-off transmission method, applied to a proxy side, where the proxy-walk-off transmission method, as illustrated in fig. 9, includes at least the following steps:
step S910, receiving a coding result which is sent by a sender and corresponds to data to be sent; the encoding result corresponding to the data to be transmitted is obtained by encoding the data to be transmitted corresponding to the sender by the sender based on a shared key, the shared key is generated according to the elliptic curve parameter, a second public key and a first private key in a first public-private key pair, the second public key is transmitted to the sender in a selected direction, and the first public-private key pair is generated by the sender according to base point coordinates in the elliptic curve parameter.
S920, receiving a coding result which is sent by a selector and corresponds to the identifier; the encoding result corresponding to the identifier is obtained by encoding the identifier corresponding to the selector by the selector based on a shared key, the shared key is generated according to the elliptic curve parameter, the first public key and a second private key in a second public-private key pair, the first public key is sent by the selector to the sending direction, and the second public-private key pair is generated by the selector according to base point coordinates in the elliptic curve parameter.
In step s930, target data with the same number as the identifiers is determined in the data to be transmitted by using the coding result corresponding to the data to be transmitted and the coding result corresponding to the identifiers.
The target data refers to data which is determined from data to be transmitted and is consistent with the identification number.
The target data may be determined, for example, using equation (15).
Figure BDA0003448307890000221
Wherein b is the mark, y is the target data,
Figure BDA0003448307890000222
may be alpha0May be α1Zb may be z1 or z 0.
In the method and apparatus provided by the exemplary embodiment of the present disclosure, on one hand, the shared key is generated according to the elliptic curve parameter, the first public key and the second private key of the second public-private key pair, and the second public-private key pair is determined according to the base point coordinates, thereby reducing the complexity of generating the shared key; on the other hand, the coded data to be sent and the coded identifier are acquired by the agent, so that the agent cannot directly acquire the data to be sent and the identifier, and the data privacy of the sender and the selector is ensured; in another aspect, the target data is data determined from the data to be sent, the quantity of which is consistent with the identification quantity, and the agent does not know the data to be sent except the target data, so that the privacy of the data of each participant in the process of casual transmission by the agent is further ensured.
The following describes each step of the agent-based transmission method in detail.
In step S910, receiving an encoding result corresponding to data to be transmitted from a transmitter; the encoding result corresponding to the data to be transmitted is obtained by encoding the data to be transmitted corresponding to the sender by the sender based on a shared key, the shared key is generated according to the elliptic curve parameter, a second public key and a first private key in a first public-private key pair, the second public key is transmitted to the sender in a selected direction, and the first public-private key pair is generated by the sender according to base point coordinates in the elliptic curve parameter.
Wherein, the encoding result corresponding to the data to be transmitted is consistent with that in step S130, the shared secret key, the elliptic curve parameter, the base point coordinate and the first private key are consistent with that in step S110, and the second public key is consistent with that in step S120.
For example, the coded data to be transmitted sent by the receiving and sending party is α ═ (α)0,α1) Wherein α is0In line with the example in step S130, α1In accordance with the example in step S130.
In step S920, receiving an encoding result corresponding to the identifier sent by the selecting party; the encoding result corresponding to the identifier is obtained by encoding the identifier corresponding to the selector by the selector based on a shared key, the shared key is generated according to the elliptic curve parameter, a first public key and a second private key in a second public-private key pair, the first public key is sent by the selector to the sending direction, and the second public-private key pair is generated by the selector according to base point coordinates in the elliptic curve parameter
Wherein the encoding result corresponding to the identifier is consistent with that in step S530, the shared secret key, the elliptic curve parameter, the base point coordinate and the second private key are consistent with that in step S510, and the first public key is consistent with that in step S520.
For example, the encoded flag sent by the selector is β ═ (b exclusive or pi, zb), where pi is a pseudo-random number generated by equation (9), b is the flag, zb is z0 when b is 0, zb is z1 when b is 1, and z0 and z1 are also pseudo-random numbers generated by equation (9).
In step S930, target data with the same number as the identifiers is determined in the data to be transmitted by using the encoding result corresponding to the data to be transmitted and the encoding result corresponding to the identifiers.
The target data refers to data which is consistent with the identification number determined from the data to be transmitted.
For example, the target data may be calculated using equation (15).
In the method and apparatus provided by the exemplary embodiment of the present disclosure, on one hand, the shared key is generated according to the elliptic curve parameter, the first public key and the second private key of the second public-private key pair, and the second public-private key pair is determined according to the base point coordinates, thereby reducing the complexity of generating the shared key; on the other hand, the coded data to be sent and the coded identifier are acquired by the agent, so that the agent cannot directly acquire the data to be sent and the identifier, and the data privacy of the sender and the selector is ensured; in another aspect, the target data is data determined from the data to be sent, the quantity of which is consistent with the identification quantity, and the agent does not know the data to be sent except the target data, so that the privacy of the data of each participant in the process of casual transmission by the agent is further ensured.
The agent ubiquitous transmission method in the embodiment of the present disclosure is described in detail below with reference to an application scenario.
Fig. 10 schematically illustrates a schematic structure of three participants in the proxy-blackout transmission, as shown in fig. 10, where a participant 1010 is a sender, a participant 1020 is a selector, and a participant 1030 is a proxy.
In step S1040, the sender generates a first public-private key pair and sends the first public key to the selector 1020, in step S1050, the selector generates a second public-private key pair and sends the second public key to the sender 1010, in step S1060, the sender generates a shared key based on the second public key, in step S1070, the selector generates a shared key based on the first public key, in step S1080, the data to be sent is encoded using the shared key in step S1060, in step S1090, the identifier is encoded using the shared key in step S1070, and in step S1092, the target data is generated from the encoded data to be sent and the encoded identifier.
In the application scenario, on one hand, the shared key is generated according to the elliptic curve parameter, the first public key and a second private key in a second public-private key pair, and the second public-private key pair is determined according to the base point coordinate, so that the complexity of generating the shared key is reduced; on the other hand, the coded data to be sent and the coded identifier are acquired by the agent, so that the agent cannot directly acquire the data to be sent and the identifier, and the data privacy of the sender and the selector is ensured; in another aspect, the target data is data determined from the data to be sent, the quantity of which is consistent with the identification quantity, and the agent does not know the data to be sent except the target data, so that the privacy of the data of each participant in the process of casual transmission by the agent is further ensured.
Further, in an exemplary embodiment of the present disclosure, a proxy-walkable transfer device is also provided. Fig. 11 is a schematic diagram illustrating a configuration of the agent-misplaced transfer apparatus, and as shown in fig. 11, the agent-misplaced transfer apparatus 1100 may include: a first generation module 1110, a second generation module 1120, and a first delivery module 1130. Wherein:
a first generating module 1110 configured to determine base point coordinates from the elliptic curve parameters and generate a first public-private key pair according to the base point coordinates, so as to send a first public key of the first public-private key pair to a selecting party; a second generating module 1120, configured to receive the second public key sent by the selecting party, and generate a shared key shared with the selecting party according to the elliptic curve parameter, the second public key, and the first private key of the first public-private key pair; the first sending module 1130 is configured to encode data to be sent corresponding to the sender based on the shared key, and send an encoding result corresponding to the data to be sent to the agent, so that the agent determines target data from the data to be sent.
The details of the agent-based transmission apparatus 1100 have already been described in detail in the corresponding agent-based transmission method, and therefore are not described herein again.
Further, in an exemplary embodiment of the present disclosure, a proxy-walkable transfer device is also provided. Fig. 12 is a schematic diagram illustrating a configuration of the agent-misplaced transfer apparatus, and as shown in fig. 12, the agent-misplaced transfer apparatus 1200 may include: a third generation module 1210, a fourth generation module 11220, and a second square delivery module 1230. Wherein:
a third generating module 1210 configured to determine base point coordinates from the elliptic curve parameters, and generate a second public-private key pair according to the base point coordinates, so as to send a second public key of the second public-private key pair to the sender; a fourth generating module 1220, configured to receive the first public key sent by the sender, and generate a shared key shared with the sender according to the elliptic curve parameter, the first public key, and a second private key of the second public-private key pair; the second sending module 1230 is configured to encode the identifier corresponding to the receiving party based on the shared key, so as to send the encoding result corresponding to the identifier to the agent, so that the agent determines the target data consistent with the number of the identifiers.
Further, in an exemplary embodiment of the present disclosure, a proxy-walkable transfer device is also provided. Fig. 13 is a schematic diagram illustrating a configuration of the agent-misplaced transfer device, and as shown in fig. 13, the agent-misplaced transfer device 1300 may include: a first receiving module 1310, a second receiving module 1320, and a determining module 1330. Wherein:
a first receiving module 1310 configured to receive an encoding result corresponding to data to be transmitted, which is transmitted by a transmitter; the encoding result corresponding to the data to be transmitted is obtained by encoding the data to be transmitted corresponding to the sender by the sender based on a shared key, the shared key is generated according to an elliptic curve parameter, a second public key and a first private key in a first public-private key pair, the second public key is transmitted to the sender in a selected direction, and the first public-private key pair is generated by the sender according to base point coordinates in the elliptic curve parameter; a second receiving module 1320, configured to receive the encoding result corresponding to the identifier sent by the selecting party; the encoding result corresponding to the identifier is obtained by encoding the identifier corresponding to the selector by the selector based on a shared key, the shared key is generated according to the elliptic curve parameter, a first public key and a second private key in a second public-private key pair, the first public key is sent by the selector to the sending direction, and the second public-private key pair is generated by the selector according to base point coordinates in the elliptic curve parameter; the determining module 1330 is configured to determine, from the data to be transmitted, target data with the same number as the identifiers by using the encoding result corresponding to the data to be transmitted and the encoding result corresponding to the identifiers.
The details of the agent-based transmission apparatus 1300 have already been described in detail in the corresponding agent-based transmission method, and therefore are not described herein again.
It should be noted that although reference is made in the above detailed description to the agent-starved transfer device 1100, the agent-starved transfer device 1200, and the agents-starved transfer devices 1300 modules or units, such partitioning is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
In addition, in an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
An electronic device 1400 according to such an embodiment of the invention is described below with reference to fig. 14. The electronic device 1400 shown in fig. 14 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 14, the electronic device 1400 is embodied in the form of a general purpose computing device. The components of the electronic device 1400 may include, but are not limited to: the at least one processing unit 1410, the at least one memory unit 1420, the bus 1430 that connects the various system components (including the memory unit 1420 and the processing unit 1410), and the display unit 1440.
Wherein the storage unit stores program code that is executable by the processing unit 1410, such that the processing unit 1410 performs steps according to various exemplary embodiments of the present invention described in the above section "exemplary methods" of the present specification.
The storage unit 1420 may include readable media in the form of volatile memory units, such as a random access memory unit (RAM)1421 and/or a cache memory unit 1422, and may further include a read only memory unit (ROM) 1423.
The storage unit 1420 may also include a program/usage tool 1424 having a set (at least one) of program modules 1425, such program modules 1425 include, but are not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, and in some combination, may comprise a representation of a network environment.
Bus 1430 may be any type of bus structure including a memory cell bus or memory cell controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
The electronic device 1400 may also communicate with one or more external devices 1470 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 1400, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 1400 to communicate with one or more other computing devices. Such communication can occur via an input/output (I/O) interface 1450. Also, the electronic device 1400 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the internet) via the network adapter 1460. As shown, the network adapter 1460 communicates with the other modules of the electronic device 1400 via the bus 1430. It should be appreciated that although not shown in the figures, other hardware and/or software modules may be used in conjunction with the electronic device 1400, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, aspects of the invention may also be implemented in the form of a program product comprising program code means for causing a terminal device to carry out the steps according to various exemplary embodiments of the invention described in the above-mentioned "exemplary methods" section of the present description, when said program product is run on the terminal device.
Referring to fig. 15, a program product 1500 for implementing the above method according to an embodiment of the present invention is described, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited in this regard and, in the present document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.

Claims (14)

1. A proxy-based lossy transmission method applied to a sender, the method comprising:
determining a base point coordinate from an elliptic curve parameter, and generating a first public and private key pair according to the base point coordinate so as to send a first public key in the first public and private key pair to a selector;
receiving a second public key sent by the selector, and generating a shared key shared with the selector according to the elliptic curve parameter, the second public key and a first private key in the first public-private key pair;
and coding the data to be sent corresponding to the sender based on the shared secret key, and sending a coding result corresponding to the data to be sent to an agent side so that the agent side determines target data from the data to be sent.
2. The proxy-based casual transmission method of claim 1, wherein the elliptic curve parameters include an order of a base point;
generating a first public-private key pair according to the base point coordinates includes:
generating a first random integer belonging to a first random interval by using a random number generator; wherein the first random interval is determined according to the order;
and calculating the first random integer and the base point coordinate to obtain a first public key, and determining the first random integer as a first private key so as to determine a first public-private key pair consisting of the first public key and the first private key.
3. The agent casual transmission method of claim 2, wherein the generating a shared key shared with the selector based on the elliptic curve parameter, the second public key, and a first private key of the first public-private key pair comprises:
generating a first random number belonging to a second random interval by using the random number generator, and calculating the first random number and the coordinates of the base point to obtain a first curve point of the elliptic curve corresponding to the elliptic curve parameter so as to send the first curve point to a selector; wherein the second random interval is determined according to the order;
and receiving a second curve point sent by the selector, and generating a shared key shared with the selector based on the first curve point, the second public key and the elliptic curve parameter.
4. The agent casual transmission method of claim 3, wherein the elliptic curve parameter includes a cofactor;
the generating a shared key shared with the selector based on the first curve point, the second public key, and the elliptic curve parameter comprises:
calculating the order to obtain a first order calculation result;
respectively updating a first curve point abscissa corresponding to the first curve point and a second curve point abscissa corresponding to the second curve point based on the first order number calculation result to obtain the updated first curve point abscissa and the updated second curve point abscissa;
calculating the first random integer, the updated abscissa of the first curve point and the first random number to obtain a first calculation result, and generating a second calculation result according to the first calculation result, the cofactor, the second public key, the updated abscissa of the second curve point and the second curve point;
and generating a shared key shared with the selector according to the first hash value corresponding to the sender, the second hash value corresponding to the selector, the second calculation result and a preset shared key length.
5. An agent-based walk-in transmission method applied to a selecting party, the method comprising:
determining a base point coordinate from an elliptic curve parameter, and generating a second public and private key pair according to the base point coordinate so as to send a second public key in the second public and private key pair to a sender;
receiving a first public key sent by the sender, and generating a shared key shared with the sender according to the elliptic curve parameter, the first public key and a second private key in the second public-private key pair;
and coding the identification corresponding to the receiving party based on the shared secret key so as to send a coding result corresponding to the identification to an agent party, so that the agent party determines the target data with the same number as the identification.
6. The proxy-based casual transmission method of claim 5, wherein the elliptic curve parameters include an order of a base point;
generating a second public-private key pair according to the base point coordinates includes:
generating a second random integer belonging to a third random interval by using a random number generator; wherein the third random interval is determined according to the order;
and calculating the second random integer and the base point coordinate to obtain a second public key, and determining the second random integer as a second private key so as to determine a second public-private key pair consisting of the second public key and the second private key.
7. The agent-based casual transmission method of claim 6, wherein the generating a shared key shared with the sender based on the elliptic curve parameter, the first public key, and a second private key of the second public-private key pair comprises:
generating a second random number belonging to a fourth random interval by using the random number generator, and calculating the second random number and the coordinates of the base point to obtain a second curve point of the elliptic curve corresponding to the elliptic curve parameter so as to send the second curve point to a sender; wherein the fourth random interval is determined according to the order;
and receiving a first curve point sent by the sender, and generating a shared key shared with the sender based on the first curve point, the second curve point, the first public key and the elliptic curve parameter.
8. The agent-based casual transmission method of claim 7, wherein the elliptic curve parameters include a cofactor;
the generating a shared key shared with the sender based on the first curve point, the second curve point, the first public key, and the elliptic curve parameter includes:
calculating the order to obtain a second order calculation result;
respectively updating a first curve point abscissa corresponding to the first curve point and a second curve point abscissa corresponding to the second curve point based on the second order number calculation result to obtain the updated first curve point abscissa and the updated second curve point abscissa;
calculating the second random integer, the updated abscissa of the first curve point and the second random number to obtain a third calculation result, and generating a fourth calculation result according to the third calculation result, the cofactor, the first public key, the updated abscissa of the second curve point and the second curve point;
and generating a shared key shared with the sender according to the first hash value corresponding to the sender, the second hash value corresponding to the selector, the fourth calculation result and a preset shared key length.
9. An agent-based ubiquitous transmission method applied to an agent side, the method comprising:
receiving a coding result which is sent by a sender and corresponds to data to be sent; the encoding result corresponding to the data to be transmitted is obtained by encoding the data to be transmitted corresponding to the sender by the sender based on a shared key, wherein the shared key is generated according to an elliptic curve parameter, a second public key and a first private key in a first public-private key pair, the second public key is transmitted to the sender in a selected direction, and the first public-private key pair is generated by the sender according to base point coordinates in the elliptic curve parameter;
receiving a coding result which is sent by a selector and corresponds to the identifier; the encoding result corresponding to the identifier is obtained by encoding the identifier corresponding to the selector by the selector based on a shared key, the shared key is generated according to an elliptic curve parameter, a first public key and a second private key in a second public-private key pair, the first public key is sent to the selector by a sending party, and the second public-private key pair is generated by the selector according to base point coordinates in the elliptic curve parameter;
and determining target data with the same number as the identifiers in the data to be transmitted by using the coding result corresponding to the data to be transmitted and the coding result corresponding to the identifiers.
10. A proxy-parking transport apparatus for use with a sender, comprising:
the first generation module is configured to determine base point coordinates from the elliptic curve parameters and generate a first public and private key pair according to the base point coordinates so as to send a first public key in the first public and private key pair to a selector;
a second generating module configured to receive a second public key sent by the selecting party, and generate a shared key shared with the selecting party according to the elliptic curve parameter, the second public key, and a first private key of the first public-private key pair;
the first sending module is configured to encode data to be sent corresponding to the sender based on the shared secret key, and send an encoding result corresponding to the data to be sent to an agent, so that the agent determines target data from the data to be sent.
11. An agent-based parking transmission apparatus for a selecting party, comprising:
the third generation module is configured to determine base point coordinates from the elliptic curve parameters and generate a second public and private key pair according to the base point coordinates so as to send a second public key in the second public and private key pair to a sender;
a fourth generation module, configured to receive the first public key sent by the sender, and generate a shared key shared with the sender according to the elliptic curve parameter, the first public key, and a second private key of the second public-private key pair;
and the second sending module is configured to encode the identification corresponding to the receiving party based on the shared secret key so as to send the encoding result corresponding to the identification to the agent party, so that the agent party determines the target data consistent with the identification number.
12. An agent-based transmission apparatus applied to an agent side, comprising:
the first receiving module is configured to receive an encoding result which is sent by a sender and corresponds to data to be sent; the encoding result corresponding to the data to be transmitted is obtained by encoding the data to be transmitted corresponding to the sender by the sender based on a shared key, wherein the shared key is generated according to an elliptic curve parameter, a second public key and a first private key in a first public-private key pair, the second public key is transmitted to the sender in a selected direction, and the first public-private key pair is generated by the sender according to base point coordinates in the elliptic curve parameter;
the second receiving module is configured to receive the coding result which is sent by the selector and corresponds to the identifier; the encoding result corresponding to the identifier is obtained by encoding the identifier corresponding to the selector by the selector based on a shared key, the shared key is generated according to an elliptic curve parameter, a first public key and a second private key in a second public-private key pair, the first public key is sent to the selector by a sending party, and the second public-private key pair is generated by the selector according to base point coordinates in the elliptic curve parameter;
and the determining module is configured to determine target data with the same number as the identifiers in the data to be transmitted by using the coding result corresponding to the data to be transmitted and the coding result corresponding to the identifiers.
13. An electronic device, comprising:
a processor;
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the brokered transmission method of any one of claims 1-9 via execution of the executable instructions.
14. A computer-readable storage medium on which a computer program is stored, the computer program, when being executed by a processor, implementing the proxy casual transmission method according to any one of claims 1 to 9.
CN202111655962.7A 2021-12-30 2021-12-30 Proxy confusing transmission method and device, storage medium and electronic equipment Active CN114301702B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111655962.7A CN114301702B (en) 2021-12-30 2021-12-30 Proxy confusing transmission method and device, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111655962.7A CN114301702B (en) 2021-12-30 2021-12-30 Proxy confusing transmission method and device, storage medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN114301702A true CN114301702A (en) 2022-04-08
CN114301702B CN114301702B (en) 2024-01-30

Family

ID=80974519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111655962.7A Active CN114301702B (en) 2021-12-30 2021-12-30 Proxy confusing transmission method and device, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN114301702B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115766006A (en) * 2022-11-17 2023-03-07 上海芷锐电子科技有限公司 Key agreement method, device, electronic equipment and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200259800A1 (en) * 2019-02-12 2020-08-13 Visa International Service Association Fast oblivious transfers
CN112055021A (en) * 2020-09-08 2020-12-08 苏州同济区块链研究院有限公司 Imperial transmission method and device based on elliptic curve
CN113259329A (en) * 2021-04-26 2021-08-13 北京信安世纪科技股份有限公司 Method and device for data inadvertent transmission, electronic equipment and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200259800A1 (en) * 2019-02-12 2020-08-13 Visa International Service Association Fast oblivious transfers
CN112055021A (en) * 2020-09-08 2020-12-08 苏州同济区块链研究院有限公司 Imperial transmission method and device based on elliptic curve
CN113259329A (en) * 2021-04-26 2021-08-13 北京信安世纪科技股份有限公司 Method and device for data inadvertent transmission, electronic equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
魏晓超等: "一个高效可完全模拟的n取1茫然传输协议", 计算机研究与发展, vol. 53, no. 11 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115766006A (en) * 2022-11-17 2023-03-07 上海芷锐电子科技有限公司 Key agreement method, device, electronic equipment and computer readable storage medium

Also Published As

Publication number Publication date
CN114301702B (en) 2024-01-30

Similar Documents

Publication Publication Date Title
CN109150499B (en) Method and device for dynamically encrypting data, computer equipment and storage medium
CN111510281B (en) Homomorphic encryption method and device
CN107483192B (en) Data transmission method and device based on quantum communication
CN113141252B (en) Quantum key distribution method, quantum communication method, device and system
CN116204912B (en) Data processing method and device based on isomorphic encryption
KR20130004841A (en) Method and apparatus for group key menagement to mobile device
US20180302220A1 (en) User attribute matching method and terminal
CN111555880B (en) Data collision method and device, storage medium and electronic equipment
CN105721156A (en) General Encoding Functions For Modular Exponentiation Encryption Schemes
CN111931474B (en) Information table generation method, device, electronic equipment and computer readable medium
CN111614679B (en) Federal learning qualification recovery method, device and readable storage medium
US20130010953A1 (en) Encryption and decryption method
CN115242369A (en) Multi-key homomorphic encryption-based federal learning privacy protection method and device
CN114301702B (en) Proxy confusing transmission method and device, storage medium and electronic equipment
CN109495266A (en) Data ciphering method and device based on random number
CN115664747A (en) Encryption method and device
Cao et al. Realization of quantum secure direct communication with continuous variable
CN113032833A (en) User query method and device, storage medium and electronic equipment
CN113158247B (en) User query method and device, storage medium and electronic equipment
CN116488919A (en) Data processing method, communication node and storage medium
CN115361196A (en) Service interaction method based on block chain network
Zhou et al. Three-party quantum secure direct communication protocol with adaptive capacity
CN114840739A (en) Information retrieval method, information retrieval device, electronic equipment and storage medium
CN107872312A (en) Symmetric key dynamic creation method, device, equipment and system
CN112348674A (en) Block chain transaction data storage and acquisition method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant