CN109102294B - Information transmission method and device - Google Patents

Information transmission method and device Download PDF

Info

Publication number
CN109102294B
CN109102294B CN201810970023.3A CN201810970023A CN109102294B CN 109102294 B CN109102294 B CN 109102294B CN 201810970023 A CN201810970023 A CN 201810970023A CN 109102294 B CN109102294 B CN 109102294B
Authority
CN
China
Prior art keywords
user
key
transaction
representing
temporary
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.)
Active
Application number
CN201810970023.3A
Other languages
Chinese (zh)
Other versions
CN109102294A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201810970023.3A priority Critical patent/CN109102294B/en
Publication of CN109102294A publication Critical patent/CN109102294A/en
Application granted granted Critical
Publication of CN109102294B publication Critical patent/CN109102294B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The disclosure provides an information transmission method and an information transmission device, and relates to the field of information security. In the present disclosure, a session key shared by both session parties is generated based on transaction data such as a signature result existing in a blockchain public account, so that both session parties can securely transmit information using the session key, thereby securing the security of transmission of information after the transaction on the chain is completed. In addition, in the process of forming the session key, the support of external platforms such as the traditional public key infrastructure is not needed, so that the formation of the session key is more efficient, and the mutual information of the two parties of the session is not needed, so that the formation of the session key is safer.

Description

Information transmission method and device
Technical Field
The present disclosure relates to the field of information security, and in particular, to an information transmission method and apparatus.
Background
In the block chain, the non-repudiation of the transaction on the chain can be guaranteed through a digital signature technology. However, after the transaction on the chain is finished, there are some cases where the two parties to the transaction need to transmit some information, such as the confirmation of receipt of the bill after payment and receipt of the bill. At present, information after the transaction on the link is finished is generally transmitted by means of e-mail or the like.
Disclosure of Invention
The inventors have found that information after the transaction on the chain is completed may contain private information and needs to be protected as well. The related technology is difficult to ensure the transmission safety of the information after the transaction on the chain is finished.
In view of this, the present disclosure provides a method for guaranteeing the security of information transmission after the transaction on the link is completed.
Some embodiments of the present disclosure provide an information transmission method, including:
inquiring a first transaction of a first user from the block chain to obtain a signature result corresponding to the first transaction;
determining a temporary private key of a first user according to a signature result corresponding to the first transaction;
querying a second transaction of a second user from the blockchain to obtain a signature result corresponding to the second transaction;
determining a temporary public key of the second user according to a signature result corresponding to the second transaction;
generating a session key of a first user side according to the temporary private key of the first user and the temporary public key of a second user, wherein the session key of the first user side is the same as the session key of the second user side, and the session key of the second user side is generated according to the temporary private key of the second user and the temporary public key of the first user;
and encrypting the information of the first user by using the session key of the first user side and then transmitting the encrypted information to the second user, so that the second user can decrypt the encrypted information by using the session key of the second user side to obtain the transmitted information.
Optionally, the method for generating a session key on the second user side includes:
querying a second transaction of a second user from the blockchain to obtain a signature result corresponding to the second transaction;
determining a temporary private key of the second user according to a signature result corresponding to the second transaction;
inquiring a first transaction of a first user from the block chain to obtain a signature result corresponding to the first transaction;
determining a temporary public key of the first user according to a signature result corresponding to the first transaction;
and generating a session key of the second user side according to the temporary private key of the second user and the temporary public key of the first user.
Optionally, determining the temporary private key of the first user includes:
and calculating a random number used in the signing of the first transaction according to a signature result corresponding to the first transaction, and taking the random number as a temporary private key of the first user.
Optionally, the blockchain is implemented by elliptic curve based cryptographyThe SM2 algorithm signs the transaction with the base point of the elliptic curve being G (x)G,yG) The order is a prime number n,
the temporary private key of the first user is determined to be kA=(sA·(1+dA)+rAdA) mod n, where kATemporary private key, r, representing the first userAAnd sARespectively representing the signature results (r) corresponding to the first transactionA,sA) First and second parts of dAA private key representing the first user in the blockchain;
the temporary public key of the second user is determined as xB=(rB-Hv(ZB||MB) Mod n, where xBTemporary public key representing the second user, rBAnd sBRespectively representing the corresponding signature results (r) of the second transactionB,sB) First and second parts of (1), Hv() Is a hash function of output length v, ZBHash value, M, representing a parameter associated with a second user in a blockchainBA message indicating that the second user is signed in the blockchain;
session key sk at first subscriber sideAB=KDF(kAxB) Wherein KDF () represents a key derivation function;
session key sk of second user sideBA=KDF(kBxA) And skAB=skBA=KDF(kAkBxG),kBTemporary private key, x, representing the second userARepresenting the temporary public key of the first user.
Optionally, the blockchain signs the transaction with a digital signature algorithm DSA,
the temporary private key of the first user is determined to be kA=(H(mA)+xArA)sA -1Wherein k isATemporary private key, H (m), representing the first userA) Message m representing a signature in a blockchain for a first userAPerforming a hash operation, xADenotes the first user's private key in the blockchain, rAAnd sARespectively representing the signature results (r) corresponding to the first transactionA,sA) A first portion and a second portion of (a);
the temporary public key of the second user is determined as rBWherein r isBRepresenting the corresponding signature result (r) of the second transactionB,sB) First part of, sBA second portion representing a signature result;
session key for a first subscriber side
Figure BDA0001775898450000031
Wherein KDF denotes a key derivation function;
session key for the second subscriber side
Figure BDA0001775898450000032
And is
Figure BDA0001775898450000033
Figure BDA0001775898450000034
kBTemporary private key representing the second user, rAA temporary public key representing the first user, g is a group generator,
Figure BDA0001775898450000035
optionally, the blockchain signs the transaction using the Schnorr signature algorithm,
the temporary private key of the first user is determined to be kA=sA+eAxAWherein k isATemporary private key, x, representing a first userARepresenting the private key, s, of the first user in the blockchainAAnd eARespectively representing the signature results(s) corresponding to the first transactionA,eA) A first portion and a second portion of (a);
the temporary public key of the second user is determined as
Figure BDA0001775898450000036
Wherein r isBIndicating proximity of a second userTime public key, sBAnd eBRespectively representing the signature results(s) corresponding to the second transactionB,eB) G is a group generator, yBA public key representing the second user in the blockchain;
session key for a first subscriber side
Figure BDA0001775898450000037
Wherein KDF denotes a key derivation function;
session key for the second subscriber side
Figure BDA0001775898450000038
And is
Figure BDA0001775898450000039
Figure BDA00017758984500000310
kBTemporary private key representing the second user, rAA temporary public key representing the first user,
Figure BDA00017758984500000311
some embodiments of the present disclosure provide an information transmission apparatus, including:
the first user data acquisition module is used for inquiring a first transaction of a first user from the block chain so as to acquire a signature result corresponding to the first transaction;
the temporary private key determining module is used for determining a temporary private key of the first user according to a signature result corresponding to the first transaction;
the second user data acquisition module is used for inquiring a second transaction of a second user from the block chain so as to acquire a signature result corresponding to the second transaction;
the temporary public key determining module is used for determining a temporary public key of the second user according to the signature result corresponding to the second transaction;
the session key generation module is used for generating a session key of a first user side according to the temporary private key of the first user and the temporary public key of a second user, wherein the session key of the first user side is the same as the session key of the second user side, and the session key of the second user side is generated according to the temporary private key of the second user and the temporary public key of the first user;
and the information transmission module is used for encrypting the information of the first user by using the session key of the first user side and then transmitting the encrypted information to the second user, so that the second user can decrypt the encrypted information by using the session key of the second user side to obtain the transmitted information.
Optionally, the temporary private key determining module is further configured to determine a temporary private key of the second user according to a signature result corresponding to the second transaction;
the temporary public key determining module is further used for determining a temporary public key of the first user according to a signature result corresponding to the first transaction;
the session key generation module is further configured to generate a session key of the second user side according to the temporary private key of the second user and the temporary public key of the first user;
the information transmission module is further configured to encrypt the information of the second user with the session key of the second user side and transmit the encrypted information to the first user, so that the first user decrypts the encrypted information with the session key of the first user side to obtain the transmitted information.
Optionally, the temporary private key determining module is configured to calculate a random number used in signing the first transaction according to a signature result corresponding to the first transaction, and use the random number as the temporary private key of the first user.
Optionally, the blockchain signs the transaction using the SM2 algorithm implemented based on elliptic curve cryptography with base point G (x)G,yG) The order is a prime number n,
the temporary private key determining module is used for determining the temporary private key of the first user as kA=(sA·(1+dA)+rAdA) mod n, where kATemporary private key, r, representing the first userAAnd sARespectively representing the signature results (r) corresponding to the first transactionA,sA) First and second parts of dAA private key representing the first user in the blockchain;
the temporary public key determining module is used for determining the temporary public key of the second user as xB=(rB-Hv(ZB||MB) Mod n, where xBTemporary public key representing the second user, rBAnd sBRespectively representing the corresponding signature results (r) of the second transactionB,sB) First and second parts of (1), Hv() Is a hash function of output length v, ZBHash value, M, representing a parameter associated with a second user in a blockchainBA message indicating that the second user is signed in the blockchain;
the session key generation module is used for determining the session key sk of the first user sideAB=KDF(kAxB) Wherein KDF () represents a key derivation function; determining a session key sk on a second user sideBA=KDF(kBxA) And skAB=skBA=KDF(kAkBxG),kBTemporary private key, x, representing the second userARepresenting the temporary public key of the first user.
Optionally, the blockchain signs the transaction with a digital signature algorithm DSA,
the temporary private key determining module is used for determining the temporary private key of the first user as kA=(H(mA)+xArA)sA -1Wherein k isATemporary private key, H (m), representing the first userA) Message m representing a signature in a blockchain for a first userAPerforming a hash operation, xADenotes the first user's private key in the blockchain, rAAnd sARespectively representing the signature results (r) corresponding to the first transactionA,sA) A first portion and a second portion of (a);
the temporary public key determining module is used for determining the temporary public key of the second user as rBWherein r isBRepresenting the corresponding signature result (r) of the second transactionB,sB) First part of, sBRepresenting a signature knotA second portion of the fruit;
the session key generation module is used for determining the session key of the first user side
Figure BDA0001775898450000051
Wherein KDF denotes a key derivation function; determining a session key on a second user side
Figure BDA0001775898450000052
And is
Figure BDA0001775898450000053
kBTemporary private key representing the second user, rAA temporary public key representing the first user, g is a group generator,
Figure BDA0001775898450000054
optionally, the blockchain signs the transaction using the Schnorr signature algorithm,
the temporary private key determining module is used for determining the temporary private key of the first user as kA=sA+eAxAWherein k isATemporary private key, x, representing a first userARepresenting the private key, s, of the first user in the blockchainAAnd eARespectively representing the signature results(s) corresponding to the first transactionA,eA) A first portion and a second portion of (a);
the temporary public key determining module is used for determining the temporary public key of the second user as the temporary public key
Figure BDA0001775898450000061
Wherein r isBTemporary public key, s, representing the second userBAnd eBRespectively representing the signature results(s) corresponding to the second transactionB,eB) G is a group generator, yBA public key representing the second user in the blockchain;
the session key generation module is used for determining the session key of the first user side
Figure BDA0001775898450000062
Wherein KDF denotes a key derivation function; determining a session key on a second user side
Figure BDA0001775898450000063
And is
Figure BDA0001775898450000064
kBTemporary private key representing the second user, rAA temporary public key representing the first user,
Figure BDA0001775898450000065
Figure BDA0001775898450000066
some embodiments of the present disclosure provide an information transmission apparatus, including:
a memory; and
a processor coupled to the memory, the processor configured to perform any of the foregoing information transfer methods based on instructions stored in the memory.
Some embodiments of the present disclosure provide a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements any one of the aforementioned information transmission methods.
In the present disclosure, a session key shared by both session parties is generated based on transaction data such as a signature result existing in a blockchain public account, so that both session parties can securely transmit information using the session key, thereby securing the security of transmission of information after the transaction on the chain is completed. In addition, in the process of forming the session key, the support of external platforms such as the traditional public key infrastructure is not needed, so that the formation of the session key is more efficient, and the mutual information of the two parties of the session is not needed, so that the formation of the session key is safer.
Drawings
The drawings that will be used in the description of the embodiments or the related art will be briefly described below. The present disclosure will be more clearly understood from the following detailed description, which proceeds with reference to the accompanying drawings,
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 undue inventive faculty.
Fig. 1 is a schematic flow chart diagram of some embodiments of the disclosed information transmission method.
Fig. 2 is a schematic structural diagram of some embodiments of an information transmission apparatus according to the present disclosure.
Fig. 3 is a schematic structural diagram of some embodiments of an information transmission apparatus according to the present disclosure.
Detailed Description
The technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure.
Fig. 1 is a schematic flow chart diagram of some embodiments of the disclosed information transmission method.
As shown in fig. 1, the method of this embodiment includes: 110 to 160.
In step 110, the information transmission device of the first user side generates a session key of the first user side, and the specific generation process is shown in steps 111-115.
In step 111, a first transaction of the first user is queried from the blockchain (e.g., public ledger of the blockchain) to obtain a signature result corresponding to the first transaction.
The first transaction is a transaction of the first user in the blockchain, and the transaction can be a transaction of the first user with any one user in the blockchain, and is not limited to a transaction of the first user with the second user. The same is true of the first transaction mentioned in the subsequent steps.
At step 112, a temporary private key of the first user is determined according to the signature result corresponding to the first transaction.
For example, according to the signature result corresponding to the first transaction, a random number used in the signature of the first transaction is calculated, and the random number is used as the temporary private key of the first user.
In step 113, a second transaction of the second user is queried from the blockchain (e.g., public ledger of the blockchain) to obtain a signature result corresponding to the second transaction.
The second transaction is a transaction of the second user in the blockchain, and the transaction can be a transaction of the second user with any one user in the blockchain, but is not limited to the transaction of the second user with the first user. The same is true of the second transaction mentioned in the subsequent step.
At step 114, a temporary public key of the second user is determined according to the signature result corresponding to the second transaction.
In step 115, a session key on the first user side is generated according to the temporary private key of the first user and the temporary public key of the second user.
In step 120, the information transmission device of the second user side generates a session key of the second user side, and the specific generation process is shown in steps 121 to 125.
In step 121, a second transaction of the second user is queried from the blockchain (e.g., public ledger of the blockchain) to obtain a signature result corresponding to the second transaction.
In step 122, a temporary private key of the second user is determined according to the signature result corresponding to the second transaction.
For example, according to the signature result corresponding to the second transaction, a random number used in the signature of the second transaction is calculated, and the random number is used as the temporary private key of the second user.
In step 123, a first transaction of the first user is queried from the blockchain (e.g., a public ledger of the blockchain) to obtain a signature result corresponding to the first transaction.
At step 124, a temporary public key of the first user is determined according to the signature result corresponding to the first transaction.
In step 125, a session key on the second user side is generated according to the temporary private key of the second user and the temporary public key of the first user.
To this end, the information transmission apparatus of the first user side generates a session key of the first user side. The information transmission apparatus on the second user side generates a session key on the second user side in the same method as the session key on the first user side. And the session key of the first user side is the same as the session key of the second user side. Subsequently, the first user and the second user can perform secure transmission of information based on the shared session key.
Wherein, the same method refers to that: for both parties of the session (the home terminal user and the opposite terminal user), the home terminal user generates a session key of the home terminal user according to the temporary private key of the home terminal user and the temporary public key of the opposite terminal user. In steps 110-115, the home terminal user is a first user, and the opposite terminal user is a second user. In the subsequent steps 210-215, the home user is the second user, and the opposite user is the first user.
In step 130, the information transmission apparatus on the first user side transmits the information of the first user to the second user after encrypting the information by using the session key on the first user side.
In step 140, since the session key of the first user side is the same as the session key of the second user side, the second user decrypts the information transmitted by the first user by using the session key of the second user side.
In step 150, the information transmission apparatus on the second user side transmits the information of the second user to the first user after encrypting the information by using the session key on the second user side.
In step 160, since the session key of the second user side is the same as the session key of the first user side, the first user decrypts the information transmitted by the second user by using the session key of the first user side.
The steps 130-140 and the steps 150-160 are not executed in sequence.
In the above embodiment, the session key shared by the two parties of the session is generated according to the transaction data such as the existing signature result in the blockchain public account, so that the two parties of the session can safely transmit information by using the session key, thereby ensuring the transmission safety of the information after the transaction on the chain is finished. In addition, in the process of forming the session key, the support of external platforms such as the traditional public key infrastructure is not needed, so that the formation of the session key is more efficient, and the mutual information of the two parties of the session is not needed, so that the formation of the session key is safer.
The blockchain may employ a variety of signature methods. For each signature method, the specific method for determining the temporary private key of the local user and the temporary public key of the opposite user and generating the session key of the local user according to the temporary private key and the temporary public key is different. The generation process of the session key is described below with reference to a specific signing method.
Example 1
The blockchain signs the transaction using the SM2 algorithm implemented based on elliptic curve cryptography, for example, the elliptic curve equation y2=x3+ ax + b, the base point of the elliptic curve being G (x)G,yG),xGAnd yGRespectively, the coordinates of the base point G, and the order is a prime number n.
The following briefly describes the signature based on the SM2 algorithm and the process of verifying the signature.
1. Signer A uses the key generation algorithm to generate a public and private key pair according to the parameters related to the elliptic curve (d)A,PA=dAG) Wherein d isAIs a private key, PAIs the public key, base point G.
2. Signer a generates a message MASignature value (r)A,sA) The following operations are required:
a) order to
Figure BDA0001775898450000091
Wherein ZAIs a hash value of a public key of a signer or other related parameters
Figure BDA0001775898450000092
ENTLAIdentity ID representing the signerABit length, a and b are parameters of the above-mentioned elliptic equation, xGAnd yG are the coordinates of the base point G, respectively, and
Figure BDA0001775898450000093
and
Figure BDA0001775898450000094
are respectively a public key PAThe coordinates of (1) | | representing the data on the left and right sides thereofAnd (4) connecting.
b) Computing
Figure BDA0001775898450000095
HvIs a hash function with output length v, default to SM3 algorithm.
c) Generating a random number kA∈[1,n-1]Calculating (x)A,yA)=[kA]G=[kAxG,kAyG]。
d) Calculating rA=(eA+xA) mod n, if rA0 or rA+kAAnd returning to the step c) when n is equal to n.
e) Calculating sA=((1+dA)-1·(kA-rAdA) Mod n, if sAAnd returning to the step c) when the value is 0.
3. Verifier B checks received message M'AAnd a signature (r'A,s′A) The following operations are required:
a) inspection of r'A,s′A∈[1,n-1]And if not, the verification is not passed.
b) Order to
Figure BDA0001775898450000101
ZAThe process of generation is the same as above.
c) Computing
Figure BDA0001775898450000102
d) Calculating tA=(r′A+s′A) mod n, if tAIf 0, the verification fails.
e) Calculating (x'A+y′A)=[s′A]G+[tA]PA
f) Calculation of RA=(e′A+x′A) mod n, test RA=r′AAnd if so, the verification is passed, otherwise, the verification is not passed.
Based on the SM2 algorithm described above, the process for the first user a to generate the session key is as follows. Wherein, the same reference numerals are used as above.
1. The temporary private key of the first user is determined to be kA=(sA·(1+dA)+rAdA) mod n, where kATemporary private key, r, representing the first userAAnd sARespectively representing the signature results (r) corresponding to the first transaction of the first userA,sA) dA represents the first user's private key in the blockchain.
2. The temporary public key of the second user is determined as xB=(rB-Hv(ZB||MB) Mod n, where xBTemporary public key representing the second user, rBAnd sBRespectively representing the signature results (r) corresponding to the second transactions of the second usersB,sB) First and second parts of (1), Hv() Is a hash function of output length v, ZBThe hash value of the parameter associated with the second user in the blockchain is shown, and the specific parameter is referred to as ZA,MBA message representing that the second user is signed in the blockchain.
3. Session key sk at first subscriber sideAB=KDF(kAxB) The KDF () represents a Key derivation function (Key derivation function), and the detailed description of the KDF refers to the national cryptographic standard.
Based on the SM2 algorithm described above, the process for the second user B to generate the session key is as follows. Wherein, the same reference numerals are used as above.
1. The temporary private key of the second user is determined to be kB=(sB·(1+dB)+rBdB) mod n, where kBTemporary private key representing the second user, rBAnd sBRespectively representing the signature results (r) corresponding to the second transactions of the second usersB,sB) First and second parts of dBRepresenting the second user's private key in the blockchain.
2. The temporary public key of the first user is determined as xA=(rA-Hv(ZA||MA) Mod n, where xATemporary public key representing the first user, rAAnd sARespectively representing the signature results (r) corresponding to the first transaction of the first userA,sA) First and second parts of (1), Hv() Is a hash function of output length v, ZAHash value, M, representing a parameter associated with a first user in a blockchainARepresenting a message that the first user is signed in the blockchain.
3. Session key sk of second user sideBA=KDF(kBxA)。
Wherein skAB=skBA=KDF(kAkBGx) That is, the session key of the first user side is the same as the session key of the second user side. Subsequently, the first user and the second user can perform secure transmission of information based on the shared session key.
Example two
The blockchain signs the transaction using a Digital Signature Algorithm (DSA).
The following briefly describes a signature based on a DSA algorithm and a process of verifying the signature.
(1) The signer uses a key generation algorithm to generate a public and private key pair (x, y ═ g)x) Where g is the group generator, x represents the private key of the signer and y represents the public key of the signer.
(2) The signer takes the private key x and the message m to be signed as input, and generates a signature value (r, s), where r is gkK is a random number selected by the signer, and s ═ k-1(H (m) + xr), H is a hash function.
(3) The verifier takes the signature value (r, s), the public key y of the signer and the message m as input to calculate
Figure BDA0001775898450000111
And if the verification result is that r' is true, the verification is passed, otherwise, if the verification result is false, the verification fails.
Based on the DSA algorithm described above, the process of the first user a generating the session key is as follows. Wherein, the same reference numerals are used as above.
(1) The temporary private key of the first user is determined to be kA=(H(mA)+xArA)sA -1Wherein k isATemporary private key, H (m), representing the first userA) Message m representing a signature in a blockchain for a first userAPerforming a hash operation, xADenotes the first user's private key in the blockchain, rAAnd sARespectively representing the signature results (r) corresponding to the first transactionA,sA) The first portion and the second portion of (a).
(2) The temporary public key of the second user is determined as rBWherein r isBA signature result (r) representing a second transaction of a second userB,sB) First part of, sBRepresenting a second portion of the signature result.
(3) Session key for a first subscriber side
Figure BDA0001775898450000121
Where KDF denotes a key derivation function.
Based on the DSA algorithm described above, the process of the second user B generating the session key is as follows. Wherein, the same reference numerals are used as above.
(1) The temporary private key of the second user is determined to be kB=(H(mB)+xBrB)sB -1Wherein k isBTemporary private key, H (m), representing the second userB) Message m representing a signature in a blockchain for a second userBPerforming a hash operation, xBDenotes the second user's private key in the blockchain, rBAnd sBRespectively representing the signature results (r) corresponding to the second transactions of the second usersB,sB) The first portion and the second portion of (a).
(2) The temporary public key of the first user is determined as rAWherein r isAA signature result (r) representing a correspondence of a first transaction of a first userA,sA) First part of, sARepresenting a second portion of the signature result.
(3) Session key for the second subscriber side
Figure BDA0001775898450000122
Where KDF denotes a key derivation function.
Wherein
Figure BDA0001775898450000123
Therefore, the temperature of the molten metal is controlled,
Figure BDA0001775898450000124
that is, the session key of the first user side is the same as the session key of the second user side. Subsequently, the first user and the second user can perform secure transmission of information based on the shared session key.
Example three
The blockchain signs the transaction using the Schnorr signature algorithm. The following briefly describes the signature based on the Schnorr signature algorithm and the process of verifying the signature.
(1) The signer uses a key generation algorithm to generate a public and private key pair (x, y ═ g)x) Where g is the group generator, x represents the private key of the signer and y represents the public key of the signer.
(2) The signer takes the private key x and the message m to be signed as input, and generates a signature value (s, e), where e ═ H (r | | m), s ═ k-ex, r ═ gkK is a random number chosen by the signer and H is a hash function.
(3) The verifier receives the signature value (s, e), the public key y of the signer, and the message m as input, and calculates e' ═ H (g)syeI | m), verifying whether e' is true, if true, the verification is passed, otherwise, if false, the verification fails.
Based on the Schnorr signature algorithm described above, the process of the first user a generating the session key is as follows. Wherein, the same reference numerals are used as above.
(1) The temporary private key of the first user is determined to be kA=sA+eAxAWherein k isATemporary private key, x, representing a first userARepresenting the private key, s, of the first user in the blockchainAAnd eARespectively representing the signature results(s) corresponding to the first transaction of the first userA,eA) The first portion and the second portion of (a).
(2) The temporary public key of the second user is determined as
Figure BDA0001775898450000131
Wherein r isBTemporary public key, s, representing the second userBAnd eBRespectively representing the signature results(s) corresponding to the second transactions of the second usersB,eB) G is a group generator, yBRepresenting the public key of the second user in the blockchain.
(3) Session key for a first subscriber side
Figure BDA0001775898450000132
Where KDF denotes a key derivation function.
Based on the Schnorr signature algorithm described above, the process for the second user B to generate the session key is as follows. Wherein, the same reference numerals are used as above.
(1) The temporary private key of the second user is determined to be kB=sB+eBxBWherein k isBTemporary private key, x, representing the second userBRepresenting the private key, s, of the second user in the blockchainBAnd eBRespectively representing the signature results(s) corresponding to the second transactions of the second usersB,eB) The first portion and the second portion of (a).
(2) The temporary public key of the first user is determined as
Figure BDA0001775898450000133
Wherein r isATemporary public key, s, representing a first userAAnd eARespectively representing the signature results(s) corresponding to the first transaction of the first userA,eA) G is a group generator, yARepresenting the public key of the first user in the blockchain.
(3) Session key for the second subscriber side
Figure BDA0001775898450000141
Where KDF denotes a key derivation function.
Wherein the content of the first and second substances,
Figure BDA0001775898450000142
therefore, the temperature of the molten metal is controlled,
Figure BDA0001775898450000143
that is, the session key of the first user side is the same as the session key of the second user side. Subsequently, the first user and the second user can perform secure transmission of information based on the shared session key.
Fig. 2 is a schematic structural diagram of some embodiments of an information transmission apparatus according to the present disclosure.
As shown in fig. 2, the information transmission apparatus 200 of this embodiment includes: modules 210-260.
The functions of the modules of the information transmission apparatus 200 on the first user side as the session sender are as follows:
the first user data obtaining module 210 is configured to query the first transaction of the first user from the blockchain to obtain a signature result corresponding to the first transaction.
The temporary private key determining module 220 is configured to determine a temporary private key of the first user according to a signature result corresponding to the first transaction.
The second user data obtaining module 230 is configured to query a second transaction of the second user from the blockchain to obtain a signature result corresponding to the second transaction.
And a temporary public key determining module 240, configured to determine the temporary public key of the second user according to the signature result corresponding to the second transaction.
The session key generating module 250 is configured to generate a session key of the first user side according to the temporary private key of the first user and the temporary public key of the second user, where the session key of the first user side is the same as the session key of the second user side, and the session key of the second user side is generated according to the temporary private key of the second user and the temporary public key of the first user.
The information transmission module 260 is configured to encrypt the information of the first user with the session key of the first user side and transmit the encrypted information to the second user, so that the second user decrypts the encrypted information with the session key of the second user side to obtain the transmitted information.
The functions of the respective modules of the information transmission apparatus 200 on the second user side as the session receiver are as follows:
the temporary private key determining module 220 is further configured to determine a temporary private key of the second user according to a signature result corresponding to the second transaction.
The temporary public key determining module 240 is further configured to determine the temporary public key of the first user according to the signature result corresponding to the first transaction.
The session key generating module 250 is further configured to generate a session key on the second user side according to the temporary private key of the second user and the temporary public key of the first user.
The information transmission module 260 is further configured to encrypt the information of the second user with the session key of the second user side and transmit the encrypted information to the first user, so that the first user decrypts the encrypted information with the session key of the first user side to obtain the transmitted information.
Those skilled in the art will appreciate that the respective modules of the information transmission apparatus 200 may have the function of the first user side as the session sender and the function of the second user side as the session receiver, respectively or simultaneously.
In some embodiments, the temporary private key determining module 220 is configured to calculate a random number used in signing the first transaction according to a signature result corresponding to the first transaction, and use the random number as the temporary private key of the first user.
In some embodiments, the temporary private key determining module 220 is configured to calculate a random number used in signing the second transaction according to a signature result corresponding to the second transaction, and use the random number as the temporary private key of the second user.
In some embodiments, the blockchain signs the transaction using the SM2 algorithm implemented based on elliptic curve cryptography with the base point of the elliptic curve being G (x)G,yG) The order is a prime number n,
a temporary private key determining module 220 for determining the temporary private key of the first user as kA=(sA·(1+dA)+rAdA) mod n, where kATemporary private key, r, representing the first userAAnd sARespectively representing the signature results (r) corresponding to the first transactionA,sA) First and second parts of dAA private key representing the first user in the blockchain;
a temporary public key determining module 240 for determining the temporary public key of the second user as xB=(rB-Hv(ZB||MB) Mod n, where xBTemporary public key representing the second user, rBAnd sBRespectively representing the corresponding signature results (r) of the second transactionB,sB) First and second parts of (1), Hv() Is a hash function of output length v, ZBHash value, M, representing a parameter associated with a second user in a blockchainBA message indicating that the second user is signed in the blockchain;
a session key generation module 250 for determining the session key sk of the first user sideAB=KDF(kAxB) Wherein KDF () represents a key derivation function; determining a session key sk on a second user sideBA=KDF(kBxA) And skAB=skBA=KDF(kAkBxG),kBTemporary private key, x, representing the second userARepresenting the temporary public key of the first user.
In some embodiments, the blockchain signs the transaction with a digital signature algorithm, DSA,
a temporary private key determining module 220 for determining the temporary private key of the first user as kA=(H(mA)+xArA)sA -1Wherein k isATemporary private key, H (m), representing the first userA) Message m representing a signature in a blockchain for a first userAPerforming a hash operation, xAIndicating that a first user is in a zonePrivate key in the chain of blocks, rAAnd sARespectively representing the signature results (r) corresponding to the first transactionA,sA) The first portion and the second portion of (a).
A temporary public key determining module 240, configured to determine the temporary public key of the second user as rBWherein r isBRepresenting the corresponding signature result (r) of the second transactionB,sB) First part of, sBRepresenting a second part of the signature result.
A session key generation module 250 for determining a session key of the first user side
Figure BDA0001775898450000161
Wherein KDF denotes a key derivation function; determining a session key on a second user side
Figure BDA0001775898450000162
And is
Figure BDA0001775898450000163
kBTemporary private key representing the second user, rAA temporary public key representing the first user, g is a group generator,
Figure BDA0001775898450000164
in some embodiments, the blockchain signs the transaction using the Schnorr signature algorithm,
a temporary private key determining module 220 for determining the temporary private key of the first user as kA=sA+eAxAWherein k isATemporary private key, x, representing a first userARepresenting the private key, s, of the first user in the blockchainAAnd eARespectively representing the signature results(s) corresponding to the first transactionA,eA) The first portion and the second portion of (a).
A temporary public key determining module 240 for determining the temporary public key of the second user as the temporary public key
Figure BDA0001775898450000165
Wherein r isBTemporary public key, s, representing the second userBAnd eBRespectively representing the signature results(s) corresponding to the second transactionB,eB) G is a group generator, yBRepresenting the public key of the second user in the blockchain.
A session key generation module 250 for determining a session key of the first user side
Figure BDA0001775898450000166
Wherein KDF denotes a key derivation function; determining a session key on a second user side
Figure BDA0001775898450000167
And is
Figure BDA0001775898450000168
kBTemporary private key representing the second user, rAA temporary public key representing the first user,
Figure BDA0001775898450000169
Figure BDA00017758984500001610
fig. 3 is a schematic structural diagram of some embodiments of an information transmission apparatus according to the present disclosure.
As shown in fig. 3, the information transmission apparatus 300 of this embodiment includes: a memory 310 and a processor 320 coupled to the memory 310, the processor 320 being configured to perform the information transmission method of any of the foregoing embodiments based on instructions stored in the memory 310.
Memory 310 may include, for example, system memory, fixed non-volatile storage media, and the like. The system memory stores, for example, an operating system, an application program, a Boot Loader (Boot Loader), and other programs.
The information transmission apparatus 300 may further include an input-output interface 330, a network interface 340, a storage interface 350, and the like. These interfaces 330, 340, 350 and the memory 310 and the processor 320 may be connected, for example, by a bus 360. The input/output interface 330 provides a connection interface for input/output devices such as a display, a mouse, a keyboard, and a touch screen. The network interface 340 provides a connection interface for various networking devices. The storage interface 350 provides a connection interface for external storage devices such as an SD card and a usb disk.
The present disclosure also proposes a computer-readable storage medium on which a computer program is stored, which program, when executed by a processor, implements the information transmission method in any of the foregoing embodiments.
As will be appreciated by one skilled in the art, embodiments of the present disclosure may be provided as a method, system, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only exemplary of the present disclosure and is not intended to limit the present disclosure, so that any modification, equivalent replacement, or improvement made within the spirit and principle of the present disclosure should be included in the scope of the present disclosure.

Claims (6)

1. An information transmission method, comprising:
inquiring a first transaction of a first user from the block chain to obtain a signature result corresponding to the first transaction;
calculating a random number used in the first transaction during signing according to a signature result corresponding to the first transaction of the first user, and determining the random number as a temporary private key of the first user;
querying a second transaction of a second user from the blockchain to obtain a signature result corresponding to the second transaction;
determining a temporary public key of the second user according to a signature result corresponding to the second transaction of the second user;
generating a session key of a first user side according to the temporary private key of the first user and the temporary public key of a second user, wherein the session key of the first user side is the same as the session key of the second user side, and the session key of the second user side is generated according to the temporary private key of the second user and the temporary public key of the first user;
the information of the first user is encrypted by using the session key of the first user side and then transmitted to the second user, so that the second user can decrypt the information by using the session key of the second user side to obtain the transmitted information;
wherein, if the block chain adopts SM2 algorithm based on elliptic curve cipher to sign the transaction, the base point of the elliptic curve is G (x)G,yG) The order is a prime number n,
the temporary private key of the first user is determined to be kA=(sA·(1+dA)+rAdA) mod n, where kATemporary private key, r, representing the first userAAnd sARespectively representing the signature results (r) corresponding to the first transactionA,sA) First and second parts of dAA private key representing the first user in the blockchain;
the temporary public key of the second user is determined as xB=(rB-Hv(ZB||MB) Mod n, where xBTemporary public key representing the second user, rBAnd sBRespectively representing the corresponding signature results (r) of the second transactionB,sB) First and second parts of (1), Hv() Is a hash function of output length v, ZBHash value, M, representing a parameter associated with a second user in a blockchainBA message indicating that the second user is signed in the blockchain;
session key sk at first subscriber sideAB=KDF(kAxB) Wherein KDF () represents a key derivation function;
session key sk of second user sideBA=KDF(kBxA) And skAB=skBA=KDF(kAkBxG),kBTemporary private key, x, representing the second userAA temporary public key representing the first user;
alternatively, if the blockchain signs the transaction with the digital signature algorithm DSA,
the temporary private key of the first user is determined to be kA=(H(mA)+xArA)sA -1Wherein k isATemporary private key, H (m), representing the first userA) Message m representing a signature in a blockchain for a first userAPerforming a hash operation, xADenotes the first user's private key in the blockchain, rAAnd sARespectively representing the signature results (r) corresponding to the first transactionA,sA) A first portion and a second portion of (a);
the temporary public key of the second user is determined as rBWherein r isBRepresenting the corresponding signature result (r) of the second transactionB,sB) First part of, sBA second portion representing a signature result;
session key for a first subscriber side
Figure FDA0002950284720000021
Wherein KDF denotes a key derivation function;
session key for the second subscriber side
Figure FDA0002950284720000022
And is
Figure FDA0002950284720000023
Figure FDA0002950284720000024
kBTemporary private key representing the second user, rAA temporary public key representing the first user, g is a group generator,
Figure FDA0002950284720000025
alternatively, if the blockchain signs the transaction with the Schnorr signature algorithm,
the temporary private key of the first user is determined to be kA=sA+eAxAWherein k isATemporary private key, x, representing a first userARepresenting the private key, s, of the first user in the blockchainAAnd eARespectively representing the signature results(s) corresponding to the first transactionA,eA) A first portion and a second portion of (a);
the temporary public key of the second user is determined as
Figure FDA0002950284720000026
Wherein r isBTemporary public key, s, representing the second userBAnd eBRespectively representing the signature results(s) corresponding to the second transactionB,eB) G is a group generator, yBA public key representing the second user in the blockchain;
session key for a first subscriber side
Figure FDA0002950284720000027
Wherein KDF denotes a key derivation function;
session key for the second subscriber side
Figure FDA0002950284720000028
And is
Figure FDA0002950284720000029
Figure FDA00029502847200000210
kBTemporary private key representing the second user, rAA temporary public key representing the first user,
Figure FDA00029502847200000211
2. the method of claim 1, wherein the generation method of the session key at the second user side comprises:
querying a second transaction of a second user from the blockchain to obtain a signature result corresponding to the second transaction;
determining a temporary private key of the second user according to a signature result corresponding to the second transaction;
inquiring a first transaction of a first user from the block chain to obtain a signature result corresponding to the first transaction;
determining a temporary public key of the first user according to a signature result corresponding to the first transaction;
and generating a session key of the second user side according to the temporary private key of the second user and the temporary public key of the first user.
3. An information transmission apparatus comprising:
the first user data acquisition module is used for inquiring a first transaction of a first user from the block chain so as to acquire a signature result corresponding to the first transaction;
the temporary private key determining module is used for calculating a random number used in signing of the first transaction according to a signature result corresponding to the first transaction of the first user and determining the random number as the temporary private key of the first user;
the second user data acquisition module is used for inquiring a second transaction of a second user from the block chain so as to acquire a signature result corresponding to the second transaction;
the temporary public key determining module is used for determining a temporary public key of the second user according to a signature result corresponding to the second transaction of the second user;
the session key generation module is used for generating a session key of a first user side according to the temporary private key of the first user and the temporary public key of a second user, wherein the session key of the first user side is the same as the session key of the second user side, and the session key of the second user side is generated according to the temporary private key of the second user and the temporary public key of the first user;
the information transmission module is used for encrypting the information of the first user by using the session key of the first user side and then transmitting the encrypted information to the second user so that the second user can decrypt the encrypted information by using the session key of the second user side to obtain the transmitted information;
wherein, if the block chain adopts SM2 algorithm based on elliptic curve cipher to sign the transaction, the base point of the elliptic curve is G (x)G,yG) The order is a prime number n,
the temporary private key determining module is used for determining the temporary private key of the first user as kA=(sA·(1+dA)+rAdA) mod n, where kATemporary private key, r, representing the first userAAnd sARespectively representing the signature results (r) corresponding to the first transactionA,sA) First and second parts of dAA private key representing the first user in the blockchain;
the temporary public key determining module is used for determining the temporary public key of the second user as xB=(rB-Hv(ZB||MB) Mod n, where xBTemporary public key representing the second user, rBAnd sBRespectively representing the corresponding signature results (r) of the second transactionB,sB) First and second parts of (1), Hv() Is a hash function of output length v, ZBHash value, M, representing a parameter associated with a second user in a blockchainBA message indicating that the second user is signed in the blockchain;
the session key generation module is used for determining the session key sk of the first user sideAB=KDF(kAxB) Wherein KDF () represents a key derivation function; determining a session key sk on a second user sideBA=KDF(kBxA) And skAB=SkBA=KDF(kAkBxG),kBTemporary private key, x, representing the second userAA temporary public key representing the first user;
alternatively, if the blockchain signs the transaction with the digital signature algorithm DSA,
the temporary private key determining module is used for determining the temporary private key of the first user as kA=(H(mA)+xArA)sA -1Wherein k isATemporary private key, H (m), representing the first userA) Message m representing a signature in a blockchain for a first userAPerforming a hash operation, xADenotes the first user's private key in the blockchain, rAAnd sARespectively representing the signature results (r) corresponding to the first transactionA,sA) A first portion and a second portion of (a);
the temporary public key determining module is used for determining the temporary public key of the second user as rBWherein r isBRepresenting the corresponding signature result (r) of the second transactionB,sB) First part of, sBA second portion representing a signature result;
the session key generation module is used for determining the session key of the first user side
Figure FDA0002950284720000041
Wherein KDF denotes a key derivation function; determining a session key on a second user side
Figure FDA0002950284720000042
And is
Figure FDA0002950284720000043
kBTemporary private key representing the second user, rAA temporary public key representing the first user, g is a group generator,
Figure FDA0002950284720000044
alternatively, if the blockchain signs the transaction with the Schnorr signature algorithm,
the temporary private key determining module is used for determining the temporary private key of the first user as kA=sA+eAxAWherein k isATemporary private key, x, representing a first userARepresenting the private key, s, of the first user in the blockchainAAnd eARespectively representing the signature results(s) corresponding to the first transactionA,eA) A first portion and a second portion of (a);
the temporary public key determining module is used for determining the temporary public key of the second user as the temporary public key
Figure FDA0002950284720000051
Wherein r isBTemporary public key, s, representing the second userBAnd eBRespectively representing the signature results(s) corresponding to the second transactionB,eB) G is a group generator,yBa public key representing the second user in the blockchain;
the session key generation module is used for determining the session key of the first user side
Figure FDA0002950284720000052
Wherein KDF denotes a key derivation function; determining a session key on a second user side
Figure FDA0002950284720000053
And is
Figure FDA0002950284720000054
kBTemporary private key representing the second user, rAA temporary public key representing the first user,
Figure FDA0002950284720000055
Figure FDA0002950284720000056
4. the apparatus of claim 3, wherein,
the temporary private key determining module is further used for determining a temporary private key of the second user according to a signature result corresponding to the second transaction;
the temporary public key determining module is further used for determining a temporary public key of the first user according to a signature result corresponding to the first transaction;
the session key generation module is further configured to generate a session key of the second user side according to the temporary private key of the second user and the temporary public key of the first user;
the information transmission module is further configured to encrypt the information of the second user with the session key of the second user side and transmit the encrypted information to the first user, so that the first user decrypts the encrypted information with the session key of the first user side to obtain the transmitted information.
5. An information transmission apparatus comprising:
a memory; and
a processor coupled to the memory, the processor configured to perform the information transfer method of any of claims 1-2 based on instructions stored in the memory.
6. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, implements the information transmission method according to any one of claims 1-2.
CN201810970023.3A 2018-08-24 2018-08-24 Information transmission method and device Active CN109102294B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810970023.3A CN109102294B (en) 2018-08-24 2018-08-24 Information transmission method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810970023.3A CN109102294B (en) 2018-08-24 2018-08-24 Information transmission method and device

Publications (2)

Publication Number Publication Date
CN109102294A CN109102294A (en) 2018-12-28
CN109102294B true CN109102294B (en) 2021-07-30

Family

ID=64851187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810970023.3A Active CN109102294B (en) 2018-08-24 2018-08-24 Information transmission method and device

Country Status (1)

Country Link
CN (1) CN109102294B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677246A (en) * 2019-10-08 2020-01-10 北京中电普华信息技术有限公司 Key generation method and device based on block chain
CN115134163B (en) * 2022-07-18 2023-08-25 西交利物浦大学 Cross-domain key management system, cross-domain key establishment method, device and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107276754A (en) * 2017-07-10 2017-10-20 北京云知科技有限公司 A kind of method and device that private key is largely generated based on block chain
CN107395574A (en) * 2017-06-30 2017-11-24 上海策赢网络科技有限公司 Message identification, information request and offer method and apparatus, storage medium and equipment
CN108235799A (en) * 2017-12-27 2018-06-29 深圳达闼科技控股有限公司 Block generation method, device, storage medium and block chain network
CN108366057A (en) * 2018-02-06 2018-08-03 武汉斗鱼网络科技有限公司 A kind of data processing method, client and electronic equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170346639A1 (en) * 2016-05-24 2017-11-30 Business Information Exchange System Corp. Public Key Infrastructure based on the Public Certificates Ledger

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395574A (en) * 2017-06-30 2017-11-24 上海策赢网络科技有限公司 Message identification, information request and offer method and apparatus, storage medium and equipment
CN107276754A (en) * 2017-07-10 2017-10-20 北京云知科技有限公司 A kind of method and device that private key is largely generated based on block chain
CN108235799A (en) * 2017-12-27 2018-06-29 深圳达闼科技控股有限公司 Block generation method, device, storage medium and block chain network
CN108366057A (en) * 2018-02-06 2018-08-03 武汉斗鱼网络科技有限公司 A kind of data processing method, client and electronic equipment

Also Published As

Publication number Publication date
CN109102294A (en) 2018-12-28

Similar Documents

Publication Publication Date Title
US11323276B2 (en) Mutual authentication of confidential communication
CN107196763B (en) SM2 algorithm collaborative signature and decryption method, device and system
CN107948189B (en) Asymmetric password identity authentication method and device, computer equipment and storage medium
CN107124274B (en) Digital signature method and device based on SM2
CN106470104B (en) Method, device, terminal equipment and system for generating shared key
CN103118027B (en) The method of TLS passage is set up based on the close algorithm of state
CN109818741B (en) Decryption calculation method and device based on elliptic curve
US9705683B2 (en) Verifiable implicit certificates
CN110213044B (en) Quantum-computation-resistant HTTPS signcryption communication method and system based on multiple asymmetric key pools
CN112737779B (en) Cryptographic machine service method, device, cryptographic machine and storage medium
US9692770B2 (en) Signature verification using unidirectional function
CN109905877B (en) Message verification method of communication network system, communication method and communication network system
CN107425971B (en) Certificateless data encryption/decryption method and device and terminal
CN106972924B (en) Method and device for encryption, decryption, electronic signature and verification signature
CN110022320B (en) Communication pairing method and communication device
CN105577377A (en) Identity-based authentication method and identity-based authentication system with secret key negotiation
CN109005184A (en) File encrypting method and device, storage medium, terminal
CN112235107A (en) Data transmission method, device, equipment and storage medium
CN109102294B (en) Information transmission method and device
CN109644127B (en) System and method for obtaining a common session key between devices
CN110690969A (en) Method and system for completing bidirectional SSL/TLS authentication in cooperation of multiple parties
CN114257374B (en) Verifiable secure outsourcing calculation method and system for identifying cryptosystem
CN111526131B (en) Anti-quantum-computation electronic official document transmission method and system based on secret sharing and quantum communication service station
EP3361670B1 (en) Multi-ttp-based method and device for verifying validity of identity of entity
CN114692129A (en) Anti-quantum-computation electronic contract signing method and system

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