Address book synchronization method and device, electronic equipment and storage medium

By employing hierarchical encryption of contact information and constructing a tree structure, combined with an asymmetric hash algorithm, the issues of privacy and security in cloud-based address book synchronization are resolved, achieving efficient and secure address book synchronization.

CN121864375APending Publication Date: 2026-04-14CHINA MOBILE INTERNET CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-18
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing cloud-based contact synchronization methods use a single encryption strategy, which means that once the contact key is leaked, the privacy and security of the contact list cannot be guaranteed.

Method used

A multi-layered encryption mechanism is adopted. First, the contact information is encrypted in a hierarchical manner. Then, a tree structure is constructed, the node information in the tree structure is encrypted, and an asymmetric hash algorithm is used to calculate the hash data to achieve secure information synchronization.

Benefits of technology

By combining hierarchical encryption and hash algorithms, the privacy and security of the address book are improved, ensuring the safety of user information even in the event of key leakage, and achieving efficient multi-device address book synchronization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121864375A_ABST
    Figure CN121864375A_ABST
Patent Text Reader

Abstract

The invention provides an address book synchronization method and device, electronic equipment, a chip and a storage medium, the method is applied to a first terminal, an address book of the first terminal comprises a plurality of contact persons, and the method comprises the following steps: encrypting information of the first contact person according to encrypted information corresponding to the information of the first contact person in the plurality of contact persons; obtaining ciphertext information of the first contact person; according to encryption information corresponding to the information of the first node in a preset first structure tree, encrypting the information of the first node to obtain ciphertext information of the first node; wherein the information of the first node at least comprises ciphertext information of the first contact person; and synchronizing the ciphertext information of the first node in the first structure tree to the cloud.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of cloud synchronization technology, and in particular to a method, apparatus, electronic device and storage medium for synchronizing contacts. Background Technology

[0002] In today's internet, storing contacts in the cloud allows for synchronization between different devices, greatly improving ease of use.

[0003] Currently, cloud synchronization services use a single encryption strategy to upload the terminal's address book to the cloud for storage and synchronization. Once the key is leaked, the address book will be leaked, which cannot guarantee the privacy and security of the address book. Summary of the Invention

[0004] This disclosure provides a method, apparatus, electronic device, and storage medium for synchronizing contacts, which can ensure the privacy and security of the contacts.

[0005] A first aspect of this disclosure provides a contact book synchronization method. The method is applied to a first terminal, and the contact book of the first terminal includes multiple contacts. The method includes: encrypting the information of the first contact according to the encryption information corresponding to the information of the first contact among the multiple contacts to obtain the encrypted information of the first contact; encrypting the information of the first node according to the encryption information corresponding to the information of the first node in a preset first structure tree to obtain the encrypted information of the first node; wherein the information of the first node includes at least the encrypted information of the first contact; and synchronizing the encrypted information of the first node in the first structure tree to the cloud.

[0006] In some embodiments of this disclosure, the information of the first contact is encrypted according to the encryption information corresponding to the information of the first contact among multiple contacts to obtain the ciphertext information of the first contact, including: determining a first level among multiple contacts corresponding to the information of the first contact; encrypting the information of the first contact according to the encryption information corresponding to the first level to obtain the ciphertext information of the first contact.

[0007] In some embodiments of this disclosure, determining the first level corresponding to the information of the first contact among a plurality of contacts includes: determining the importance coefficient of the first contact based on the information of the first contact among a plurality of contacts; and determining the first level corresponding to the information of the first contact based on the importance coefficient of the first contact.

[0008] In some embodiments of this disclosure, if the information of the first contact includes contact frequency information, category information, and call duration information, then the importance coefficient of the first contact is determined based on the information of the first contact among multiple contacts, including: performing a Fourier transform on the contact frequency information of the first contact among multiple contacts to obtain a first coefficient; performing a wavelet transform on the category information of the first contact among multiple contacts to obtain a second coefficient; performing fractional calculus processing on the call duration information of the first contact among multiple contacts to obtain a third coefficient; and determining the importance coefficient of the first contact based on the first coefficient, the second coefficient, and the third coefficient.

[0009] In some embodiments of this disclosure, determining the importance coefficient of the first contact person based on the first coefficient, the second coefficient, and the third coefficient includes: determining the importance coefficient of the first contact person based on the first coefficient and its corresponding first weight, the second coefficient and its corresponding second weight, and the third coefficient and its corresponding third weight.

[0010] In some embodiments of this disclosure, the sum of the first weight, the second weight, and the third weight is 1.

[0011] In some embodiments of this disclosure, synchronizing the ciphertext information of the first node in the first structure tree to the cloud includes: determining the hash data of the first node based on the ciphertext information of the first node in the first structure tree; and synchronizing the hash data of the first node to the cloud.

[0012] In some embodiments of this disclosure, the information of the first node also includes the node type of the first node. If the node type of the first node is a leaf node, the encrypted information of the first node in the first structure tree is synchronized to the cloud, including: constructing an initial first structure tree; wherein the first structure tree includes at least leaf nodes, non-leaf nodes, and a root node; determining the hash data of the leaf nodes according to the encrypted information of the first node in the first structure tree; sorting all leaf nodes to obtain a node sequence; recursively calculating the hash data of the j-th non-leaf node in the first structure tree according to the hash data of the j-th pair of adjacent leaf nodes in the node sequence, until the hash data of the root node is obtained; wherein j is a positive integer; and synchronizing the hash data of each node in the first structure tree to the cloud.

[0013] In some embodiments of this disclosure, the information of the first node is encrypted according to the encryption information corresponding to the information of the first node in the preset first structure tree to obtain the ciphertext information of the first node, including: taking the ciphertext information of the first contact person as the information of the leaf node in the first structure tree, and encrypting the information of the leaf node according to the encryption information corresponding to the information of the leaf node to obtain the ciphertext information of the leaf node.

[0014] In some embodiments of this disclosure, if the information of the first node further includes: environmental parameter information; wherein the environmental parameter information is used to characterize the operating environment information, time information and user behavior information of the first terminal; then the environmental parameter information is determined based on the following steps: determining the environmental parameter information according to the operating environment information and the corresponding encryption information, the time information and the corresponding encryption information, and the user behavior information and the corresponding encryption key.

[0015] In some embodiments of this disclosure, determining the hash data of a leaf node based on the ciphertext information of a first node in a first structure tree includes: processing the ciphertext information of the first node using an asymmetric hash algorithm to obtain the hash data of the leaf node.

[0016] In some embodiments of this disclosure, the hash data of the j-th non-leaf node in the first structure tree is recursively calculated based on the hash data of the j-th pair of adjacent leaf nodes in the node sequence, including: determining the ciphertext information of the j-th non-leaf node based on the hash data of the j-th pair of adjacent leaf nodes in the node sequence; processing the ciphertext information of the j-th non-leaf node using an asymmetric hash algorithm to obtain first hash data; and recursively calculating the hash data of the j-th non-leaf node based on the first hash data and the hash data of the j-th pair of adjacent leaf nodes.

[0017] In some embodiments of this disclosure, sorting all leaf nodes to obtain a node sequence includes: determining the name hash data of the first contact among multiple contacts; using the name hash data of the first contact as a sorting key to sort all leaf nodes to obtain a node sequence.

[0018] In some embodiments of this disclosure, synchronizing the hash data of each node in the first structure tree to the cloud includes: encrypting the hash data of each node in the first structure tree to obtain the encrypted homomorphic hash data of each node; and synchronizing the encrypted homomorphic hash data of each node to the cloud.

[0019] In some embodiments of this disclosure, the method further includes: detecting whether the information of the first contact has changed; in response to detecting that the information of the first contact has changed, performing the step of encrypting the information of the first contact according to the encryption information corresponding to the information of the first contact among a plurality of contacts to obtain the ciphertext information of the first contact.

[0020] In some embodiments of this disclosure, the method further includes: sending a request to the cloud to synchronize the address book; receiving hash data of a second node in a second structure tree sent by the cloud; determining whether there is a difference between the hash data of a first node in a first structure tree and the hash data of a second node in a second structure tree; if there is a difference, determining the information of the second contact with the difference based on the difference data, and updating the first structure tree and the address book based on the information of the second contact.

[0021] In some embodiments of this disclosure, determining whether there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree includes: determining the difference data between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree; comparing the difference data with a preset data threshold; if the difference data is greater than the preset data threshold, then determining that there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree.

[0022] In some embodiments of this disclosure, determining the information of the second contact person with discrepancies based on the discrepancy data includes: determining the ciphertext information of the third node with discrepancies based on the discrepancy data; and decrypting the ciphertext information of the third node using the decryption information corresponding to the ciphertext information of the third node to obtain the information of the second contact person.

[0023] In some embodiments of this disclosure, the encrypted information corresponding to the first contact person includes: an encryption algorithm and / or an encryption key corresponding to the first level of the first contact person.

[0024] In some embodiments of this disclosure, the first terminal includes a SIM card.

[0025] A second aspect of this disclosure provides a contact list synchronization method applied to a second terminal. The method includes: sending a request to the cloud to synchronize the contact list; receiving hash data of a second node in a second structure tree sent by the cloud; determining difference data based on the hash data of a first node in its own first structure tree and the hash data of the second node in the second structure tree; sending the difference data to the cloud; receiving encrypted information of a fourth node sent by the cloud; determining information of a third contact based on the encrypted information of the fourth node; and updating the first structure tree and the contact list based on the information of the third contact.

[0026] A third aspect of this disclosure provides a method for synchronizing an address book, which is applied in the cloud. The method includes: receiving a request from a second terminal to synchronize the address book; sending the hash data of a second node in a second structure tree to the second terminal; receiving difference data between the hash data of a first node in a first structure tree and the hash data of a second node in a second structure tree, sent by the second terminal; determining whether there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree based on the difference data; if there is a difference, determining the encrypted information of a fourth node with a difference, and sending the encrypted information of the fourth node to the second terminal.

[0027] A fourth aspect of this disclosure provides a contact book synchronization device applied to a first terminal. The first terminal's contact book includes multiple contacts. The device includes: a first encryption module, used to encrypt the information of the first contact according to encryption information corresponding to the information of the first contact among the multiple contacts, to obtain the encrypted information of the first contact; a second encryption module, used to encrypt the information of the first node according to encryption information corresponding to the information of the first node in a preset first structure tree, to obtain the encrypted information of the first node; wherein the information of the first node includes at least the encrypted information of the first contact; and an information synchronization module, used to synchronize the encrypted information of the first node in the first structure tree to the cloud.

[0028] A fifth aspect of this disclosure provides a contact synchronization device applied to a second terminal. The device includes: a request sending module for sending a request to the cloud for contact synchronization; a first receiving module for receiving hash data of a second node in a second structure tree sent from the cloud; a data determining module for determining difference data based on the hash data of a first node in its own first structure tree and the hash data of a second node in the second structure tree; a first sending module for sending the difference data to the cloud; an information receiving module for receiving encrypted information of a fourth node sent from the cloud; a first determining module for determining information of a third contact based on the encrypted information of the fourth node; and an information updating module for updating the first structure tree and the contact list based on the information of the third contact.

[0029] A sixth aspect embodiment of this disclosure provides an address book synchronization device applied in the cloud. The device includes: a request receiving module for receiving a request to synchronize the address book sent by a second terminal; a second sending module for sending hash data of a second node in a second structure tree to the second terminal; a second receiving module for receiving difference data between hash data of a first node in a first structure tree and hash data of a second node in a second structure tree sent by the second terminal; a difference determining module for determining whether there is a difference between hash data of the first node in the first structure tree and hash data of the second node in the second structure tree based on the difference data; and a second determining module for determining, if a difference exists, the encrypted information of a fourth node with a difference, and sending the encrypted information of the fourth node to the second terminal.

[0030] A seventh aspect of this disclosure provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the methods described in the first aspect of this disclosure, or to perform the methods described in the second aspect of this disclosure, or to perform the methods described in the third aspect of this disclosure.

[0031] An eighth aspect of this disclosure provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are configured to cause a computer to perform the methods described in the first aspect of this disclosure, or to perform the methods described in the second aspect of this disclosure, or to perform the methods described in the third aspect of this disclosure.

[0032] A ninth aspect embodiment of this disclosure provides a chip including one or more interfaces and one or more processors; the interfaces are configured to receive signals from the memory of an electronic device and send signals to the processors, the signals including computer instructions stored in the memory, which, when executed by the processor, cause the electronic device to perform the methods described in the first aspect embodiment of this disclosure, or perform the methods described in the second aspect embodiment of this disclosure, or perform the methods described in the third aspect embodiment of this disclosure.

[0033] In summary, the contact synchronization method, device, electronic device, and storage medium proposed in this disclosure use contact information encryption as the first layer of encryption and node encryption in the structure tree as the second layer of encryption to ensure the privacy and security of the contact list.

[0034] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0035] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.

[0036] Figure 1 A flowchart illustrating a contact synchronization method provided in this embodiment of the disclosure; Figure 2 A schematic diagram of a SHHT tree provided in an embodiment of this disclosure; Figure 3 A flowchart illustrating a contact synchronization method provided in this embodiment of the disclosure; Figure 4 This is an application scenario diagram of a contact synchronization method provided in an embodiment of the present disclosure; Figure 5 This is a schematic diagram of the address book synchronization device provided in an embodiment of the present disclosure; Figure 6 This is a schematic diagram of the address book synchronization device provided in an embodiment of the present disclosure; Figure 7 This is a schematic diagram of the address book synchronization device provided in an embodiment of the present disclosure; Figure 8 This is a schematic diagram of the electronic device structure provided in the embodiments of this disclosure; Figure 9 This is a schematic diagram of the chip structure provided in an embodiment of this disclosure. Detailed Implementation

[0037] Embodiments of this disclosure are described in detail below. Examples of these embodiments are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this disclosure, and should not be construed as limiting this disclosure.

[0038] Figure 1 This is a flowchart illustrating a contact synchronization method provided in an embodiment of this disclosure. Figure 1 As shown, this method can be executed by a first terminal, whose address book includes multiple contacts. The method may include the following steps.

[0039] Step 101: Based on the encrypted information corresponding to the information of the first contact among multiple contacts, encrypt the information of the first contact to obtain the ciphertext information of the first contact.

[0040] Step 102: Encrypt the information of the first node according to the encryption information corresponding to the information of the first node in the preset first structure tree to obtain the ciphertext information of the first node; wherein, the information of the first node includes at least the ciphertext information of the first contact person.

[0041] Step 103: Synchronize the encrypted information of the first node in the first structure tree to the cloud.

[0042] The contact synchronization method disclosed herein encrypts the information of the first contact based on the encrypted information corresponding to the information of the first contact among multiple contacts, to obtain the encrypted information of the first contact; then, it encrypts the information of the first node based on the encrypted information corresponding to the information of the first node in a preset first structure tree, to obtain the encrypted information of the first node, wherein the information of the first node includes at least the encrypted information of the first contact; and then, it synchronizes the encrypted information of the first node in the first structure tree to the cloud.

[0043] The SIM card of the first terminal in the embodiments of this disclosure may have the following functions: a) SIM card, used to generate master key and hierarchical encryption key (i.e., encryption key corresponding to the level of information of the i-th contact among multiple contacts). and the node's encryption key This is then securely stored in a secure unit built into the SIM card for hierarchical encryption in subsequent steps. Optionally, the node's encryption key... It may include the encryption key of the i-th node. N is the number of nodes in the tree structure.

[0044] b) The SIM card is pre-configured with an asymmetric hash algorithm. It satisfies the additive homomorphism property. The definition is as follows:

[0045] Where p and q are two prime numbers, satisfying ,Right now Divisible g is the multiplication group A generator that satisfies . For a randomly selected hash algorithm, map the bit string to... .

[0046] c) The SIM card constructs an empty tree structure locally (i.e., the first tree structure) for synchronizing the address book.

[0047] Alternatively, the SIM card can be a Super SIM card.

[0048] The following is a detailed description of step 101 (that is, encrypting the information of the first contact person based on the encrypted information corresponding to the information of the first contact person among multiple contacts, to obtain the ciphertext information of the first contact person).

[0049] In the embodiments of this disclosure, the information of each first contact is encrypted based on the encryption information corresponding to the information of each first contact among multiple contacts, so as to obtain the ciphertext information of each first contact.

[0050] In one example, the first contact can be one or more of a plurality of contacts; or, the first contact can be each of the plurality of contacts. Optionally, the first contact can be the i-th contact mentioned above.

[0051] In the embodiments of this disclosure, before encrypting the information of the first contact among multiple contacts, a first level corresponding to the information of the first contact is determined among the multiple contacts; the information of the first contact is encrypted according to the first level corresponding to the information of the first contact to obtain the ciphertext information of the first contact.

[0052] Optionally, the first contact can be any one of multiple contacts. The information of the first contact may include the first contact's own information and information about the first contact's relationships with other contacts. The first contact's own information may include one or more of the following: name, nickname, occupation, home address, work address, profile picture, job title, and relationships with other contacts. The information about the first contact's relationships with other contacts may include the relationships between the first contact and other contacts, frequency of contact, tags associated with the contacts, and call durations.

[0053] It should be noted that each contact in the address book has different tags, such as relationship tags (e.g., classmate, relative, friend, etc.) and gender tags (male / female).

[0054] In one example, determining the first level corresponding to the information of the first contact among multiple contacts includes: determining the importance coefficient of the first contact based on the information of the first contact among multiple contacts; and determining the first level corresponding to the information of the first contact based on the importance coefficient of the first contact.

[0055] In this example, the importance coefficient of the first contact is first determined based on the information of the first contact among multiple contacts, and then the level of the first contact (i.e., the first level) is determined based on the importance coefficient of the first contact.

[0056] In one example, if the information of the first contact includes contact frequency information, category information, and call duration information, then the importance coefficient of the first contact is determined based on the information of the first contact among multiple contacts. This includes: performing a Fourier transform on the contact frequency information of the first contact among multiple contacts to obtain a first coefficient; performing a wavelet transform on the category information of the first contact among multiple contacts to obtain a second coefficient; performing fractional calculus processing on the call duration information of the first contact among multiple contacts to obtain a third coefficient; and determining the importance coefficient of the first contact based on the first, second, and third coefficients.

[0057] The security management module of the Super SIM card, constructed using an asymmetric hash algorithm, performs multi-dimensional frequency domain transformation and scale decomposition to encrypt the information of the i-th contact according to levels, obtaining the ciphertext information of the i-th contact. .

[0058] a) Classify contacts in the address book by importance according to predefined rules (such as contact frequency, tags, etc.), and categorize them into: There are N1 levels in total.

[0059] The calculation process is as follows: Constructing an importance coefficient algorithm The importance coefficient is calculated based on the attributes of the i-th contact (such as contact frequency, tags, etc.). As follows:

[0060] in:

[0061] in, : The contact frequency information of the i-th contact, indicating the contact frequency of the contact. The number of times contacted within a certain period of time (e.g., six months). The frequency variable in the Fourier transform represents the frequency coordinates of the time-domain signal after it has been transformed into the frequency domain. Imaginary unit, satisfying . The weights of the Fourier transform part are used to control the contribution of the importance coefficient.

[0062]

[0063] in, : The set of tags for the i-th contact, representing the various categories or tags (such as family, colleagues) to which the i-th contact belongs. A single tag in a tag set. Wavelet basis algorithms are used to perform wavelet transforms on a set of labels. Common wavelet basis algorithms include Haar wavelet, Daubechies wavelet, etc. The scaling parameter of the wavelet transform controls the scaling of the wavelet. express The absolute value of. : The translation parameter of the wavelet transform, which controls the translation of the wavelet. The weights of the wavelet transform component are used to control their contribution to the importance coefficient.

[0064]

[0065] in, : Centrality metric of the i-th contact, representing the call duration of the i-th contact within a certain period (e.g., six months). The order of the fractional derivative indicates the order of the calculus. When, it represents the conventional first derivative; when When , it represents the fractional derivative. An auxiliary parameter in fractional calculus formulas, usually taken as . Rounding up 1. : The upper limit of fractional calculus, representing the endpoint when calculating fractional derivatives. : The integration variable in fractional calculus, representing the intermediate moment when calculating the fractional derivative. The Gamma algorithm is a generalization of factorial and is used to calculate the normalization factor of fractional calculus. The weight of the fractional calculus component is used to control its contribution to the importance coefficient.

[0066] In this example, after determining the importance coefficient of the first contact (i.e., the importance coefficient of the i-th contact), the first level of the first contact (i.e., the i-th level of the i-th contact) is determined based on the importance coefficient threshold corresponding to the importance coefficient of the first contact. Optionally, one or more contacts among multiple contacts may correspond to one level.

[0067] This involves setting multiple importance thresholds, such as setting an importance coefficient threshold for the i-th contact among multiple contacts, thus dividing the multiple contacts into N1 levels. Optionally, N1 is less than or equal to the number of multiple contacts.

[0068] In some embodiments of this disclosure, the importance coefficient of the first contact person is determined based on a first coefficient, a second coefficient, and a third coefficient, including: The importance coefficient of the first contact person is determined based on the first coefficient and its corresponding first weight, the second coefficient and its corresponding second weight, and the third coefficient and its corresponding third weight.

[0069] It should be noted that, These are the first weight, the second weight, and the third weight, respectively.

[0070] In one example The first, second, and third weights determine the relative contributions of the first, second, and third coefficients to the importance coefficient, respectively.

[0071] This disclosure embodiment is illustrated through... The formula combines unequal Fourier transform, strong Fourier wavelet transform, and fractional calculus to assess the importance of contacts from multiple perspectives. Specifically, the Fourier transform is used to extract the periodicity and spectral distribution information of contact frequencies; the wavelet transform is used to capture the multi-scale relationships and local features of the tag set; and the fractional calculus part characterizes the long-range correlation and power-law characteristics of the centrality measure. The three coefficients (i.e., the first, second, and third coefficients) are organically combined through a weighted geometric average to generate an importance coefficient.

[0072] The following details how the information of the first contact person is encrypted according to the first level corresponding to the first contact person's information to obtain the ciphertext information of the first contact person.

[0073] In one example, the encrypted information corresponding to the first contact includes: the encryption algorithm and / or encryption key corresponding to the first level of the first contact.

[0074] The embodiments disclosed herein utilize the encryption capabilities of a Super SIM card, which increase in strength with each level, and employ a hierarchical encryption key corresponding to the i-th level. Information about the i-th contact Encryption is performed to obtain the ciphertext information of the i-th contact. , specifically: For the i-th level (i.e., ), using the hierarchical encryption key corresponding to the i-th level. Encrypt the information of the i-th contact (such as the first contact in step 101).

[0075] For example, encryption algorithms select secure and efficient symmetric encryption algorithms (such as AES) and authenticated encryption modes (such as GCM) to ensure confidentiality and integrity.

[0076] Optionally, the encrypted information of the i-th contact. It can be calculated using the following formula:

[0077] in, This is the hierarchical encryption key corresponding to level i. For additional authentication data (such as contact ID).

[0078] Optionally, the encryption key length increases with the level, providing different strengths of security protection. For example:

[0079] In some embodiments of this disclosure, the encrypted information of the i-th contact can be... Replace the original plaintext information (That is, the information of the i-th contact), is stored in the address book database.

[0080] The following describes step 102 (i.e., encrypting the information of the first node according to the encryption information corresponding to the information of the first node in the preset first structure tree to obtain the ciphertext information of the first node; wherein the information of the first node includes at least the ciphertext information of the first contact person) in detail.

[0081] In one example of this disclosure, a first structure tree, such as an SHHT tree, is constructed locally using a Super SIM card. Then, the information of the first node is encrypted according to the encryption information corresponding to the information of the first node in the preset first structure tree to obtain the ciphertext information of the first node. The information of the first node includes at least the ciphertext information of the first contact person.

[0082] The first node can be one or more nodes in the first structure tree. Optionally, the first node can be the i-th node in the first structure tree, which can be the i-th leaf node in the first structure tree.

[0083] The information of the first node includes at least the encrypted information of the first contact. Optionally, the information of the first node may also include at least one of the following: environmental parameter information, node type information, and pointer information.

[0084] Here, environmental parameter information is used to characterize the operating environment, time, and user behavior information of the first terminal. Node type information is used to characterize the type of each node in the first structure tree, such as the node types in the first structure tree including at least leaf nodes, non-leaf nodes, and root nodes.

[0085] In one example, encryption information can be set according to each node in the first structure tree. For example, encryption information corresponding to the leaf nodes in the first structure tree, encryption information corresponding to the j-th non-leaf node, and encryption information corresponding to the root node.

[0086] For example, encrypting the information of the first node according to the encryption information corresponding to the information of the first node in the preset first structure tree to obtain the ciphertext information of the first node may include the following steps: a) For the i-th contact among multiple contacts, the SuperSIM card utilizes its encryption capabilities, using the encryption key of the i-th node. Generate the ciphertext information of the i-th node. The encrypted information of the i-th node may include the encrypted encrypted information of the i-th contact. Environment parameter information E, node type information flag, pointer information (such as pointers to child nodes), etc.

[0087] The encryption process for the i-th node can be represented as:

[0088]

[0089] The Encrypt algorithm can be implemented using either a symmetric encryption algorithm (such as AES) or an asymmetric encryption algorithm (such as RSA). It is the encrypted ciphertext of the hierarchical information calculated in step two. This is the encryption key for the i-th node. `flag` represents node type information (e.g., root node, non-leaf node, leaf node), and `left` and `right` point to the left and right child nodes, respectively. `E` represents environmental parameter information, reflecting the current operating environment, time, and user behavior information of the first terminal, used to enhance node traceability.

[0090] In one example, E is calculated as follows:

[0091] Where E represents environmental parameter information; H is a hash algorithm (such as SHA-3); and AES-ECB is the electronic codebook mode of the Advanced Encryption Standard. S is a fixed key used for device status encryption; S is the device status vector, which contains information such as device ID, device model, and network operator; Padding is a padding field to meet the AES block size requirement; HMAC-SHA256 is a hash message authentication code based on SHA-256. It is a fixed key used for time information processing; T is a time vector containing time information such as the current timestamp and day of the week; Argon2 is a key derivation algorithm; U is a user operation habit vector containing average monthly call frequency, average monthly call duration, etc.; salt is the fixed salt value used by Argon2. , These are the runtime cost, memory usage cost, and parallelism parameters preset by Argon2; σ is a dynamically updated seed value; ⊕ represents the XOR operation.

[0092] The following is a detailed description of step 103 (i.e., synchronizing the encrypted information of the first node in the first structure tree to the cloud).

[0093] In this embodiment of the disclosure, the ciphertext information of the i-th node is... Insert it into the first SHHT tree (i.e., the first structure tree), and synchronize the ciphertext information of the i-th node to the cloud.

[0094] In some embodiments of this disclosure, before synchronizing the first structure tree to the cloud, the hash data of the first node in the first structure tree is determined, and the hash data of the first node is synchronized to the cloud.

[0095] In one example, synchronizing the ciphertext information of the first node in the first structure tree to the cloud includes: determining the hash data of the first node based on the ciphertext information of the first node in the first structure tree; and synchronizing the hash data of the first node to the cloud.

[0096] Here, the hash data in this embodiment can be used to perform addition or subtraction operations in an encrypted state, thereby improving security.

[0097] In another example, the information of the first node also includes the node type of the first node. If the node type of the first node is a leaf node, then the encrypted information of the first node in the first structure tree is synchronized to the cloud, including: constructing an initial first structure tree; wherein the first structure tree includes at least leaf nodes, non-leaf nodes, and a root node; determining the hash data of the leaf nodes based on the encrypted information of the first node in the first structure tree; sorting all leaf nodes to obtain a node sequence; recursively calculating the hash data of the j-th non-leaf node in the first structure tree based on the hash data of the j-th pair of adjacent leaf nodes in the node sequence, until the hash data of the root node is obtained; wherein j is a positive integer; and synchronizing the hash data of each node in the first structure tree to the cloud.

[0098] The embodiments of this disclosure utilize an asymmetric hash algorithm. Calculate the hash data of the i-th node. Asymmetric hash algorithms satisfy the following properties:

[0099] in, and These are the ciphertext information for the first and second nodes, respectively. The XOR operation represents the nodes. This refers to operations performed on hash data.

[0100] For the ciphertext information of the i-th node Its hash data It can be calculated using the following formula:

[0101] Where g and p are common parameters of asymmetric hash algorithms, and hash is the hash algorithm (such as SHA-256). This indicates a join operation.

[0102] In one example, the ciphertext information of the leaf nodes is determined based on the following steps: Based on the encryption information corresponding to the information of the first node in the preset first structure tree, the information of the first node is encrypted to obtain the ciphertext information of the first node, including: taking the ciphertext information of the first contact person as the information of the leaf node in the first structure tree, and encrypting the information of the leaf node according to the encryption information corresponding to the information of the leaf node to obtain the ciphertext information of the leaf node.

[0103] In one example, the hash data of the leaf nodes is determined based on the ciphertext information of the first node in the first tree structure, including: An asymmetric hash algorithm is used to process the ciphertext information of the first node to obtain the hash data of the leaf nodes.

[0104] In one example, the hash data of the j-th non-leaf node in the first tree structure is recursively calculated based on the hash data of the j-th pair of adjacent leaf nodes in the node sequence. This includes: determining the ciphertext information of the j-th non-leaf node based on the hash data of the j-th pair of adjacent leaf nodes in the node sequence; processing the ciphertext information of the j-th non-leaf node using an asymmetric hash algorithm to obtain the first hash data; and recursively calculating the hash data of the j-th non-leaf node based on the first hash data and the hash data of the j-th pair of adjacent leaf nodes.

[0105] In some embodiments of this disclosure, all leaf nodes are sorted to obtain a node sequence, including: Determine the name hash data of the first contact among multiple contacts; Using the hash data of the first contact's name as the sorting key, sort all the leaf nodes to obtain the node sequence.

[0106] c) Recursively calculate the hash data of the non-leaf nodes of the SHHT tree until the root node is reached, and obtain the hash data of the root. For the ciphertext information of the j-th non-leaf node The hash data of its left child node is The hash data of the right child node is Then the ciphertext information of the j-th non-leaf node hash data The calculation formula is:

[0107] Recursively calculate until the root node, obtaining the root's hash data:

[0108] in, and These are the hash data of the left and right child nodes of the root node (i.e., root).

[0109] This recursive calculation method can obtain the hash data of each node in the SHHT tree, which can be used for subsequent data integrity verification and synchronization operations.

[0110] In one example, Figure 2 In this process, constructing the first structure tree involves the following steps: Step 1: Initialization: The information of the i-th contact is encapsulated into the i-th leaf node. The information in the i-th leaf node includes the encrypted information of the i-th contact. The environment parameter information E, the node type information flag (marked as a leaf node), and the empty left and right pointers.

[0111] The second step is sorting: sorting the nodes.

[0112] In one example, the contact's name hash data is used as the sort key.

[0113] The third step is to build from the bottom up: (1) Starting from the leaf node, each time take two adjacent leaf nodes to create a non-leaf node.

[0114] (2) The left and right child pointers of the non-leaf nodes point to the two leaf nodes respectively.

[0115] (3) Encryption information of the j-th non-leaf node It encrypts the hash data of the two child nodes pointed to by its pointer.

[0116] (4) The hash data of the j-th non-leaf node is based on its It is calculated from the hash data of the two leaf nodes executed by its pointer.

[0117] Repeat this process until only one root node remains.

[0118] exist Figure 2In the first structure tree, the root homomorphic hash data (i.e., homomorphic hash value) is RHH; the leaf node corresponding to EN_1 (e.g., the first leaf node) has homomorphic hash data such as HH_3; the leaf node corresponding to EN_2 has homomorphic hash data such as HH_4; the intermediate node corresponding to EN_1 and EN_2 (i.e., non-leaf node) has homomorphic hash data such as HH_1; the leaf node corresponding to EN_3 has homomorphic hash data such as HH_5; the leaf node corresponding to EN_4 has homomorphic hash data such as HH_6; and the intermediate node corresponding to EN_3 and EN_4 (i.e., non-leaf node) has homomorphic hash data such as HH_2.

[0119] In some embodiments of this disclosure, synchronizing the hash data of each node in the first structure tree to the cloud includes: encrypting the hash data of each node in the first structure tree to obtain the encrypted homomorphic hash data of each node; and synchronizing the encrypted homomorphic hash data of each node to the cloud.

[0120] In some embodiments of this disclosure, based on the hash data of nodes in the SHHT tree, when an address book update is detected, the hash data RHH of the root node is updated. Specifically: a) The Super SIM card periodically scans the address book for changes, extracting information on newly added, modified, and deleted contacts. Assume the contact whose information has changed is the i-th contact (i.e., the information of the first contact has changed).

[0121] b) The Super SIM card uses its encryption capabilities to encrypt the information of the changed contact (i.e., the information of the i-th contact) to obtain the ciphertext information of the i-th contact. .

[0122] c) The Super SIM card generates the corresponding encrypted information for the node. (That is, the ciphertext information of the i-th leaf node corresponding to the i-th contact), and update the SHHT tree, recalculating the hash data of the root node. .

[0123] d) Upload the updated root node's hash data RHH to the cloud.

[0124] In this example, the method also includes: Check if the information of the primary contact person has changed; In response to the detection of a change in the information of the first contact, the step of encrypting the information of the first contact based on the encryption information corresponding to the information of the first contact among multiple contacts is performed to obtain the ciphertext information of the first contact.

[0125] The embodiments disclosed herein utilize an SHHT tree structure and an asymmetric hash algorithm to efficiently compare address book differences between different devices without disclosing plaintext node data. By generating and verifying encrypted content, the specific content does not need to be disclosed. Simultaneously, the incremental synchronization mechanism avoids full data transmission, significantly improving synchronization efficiency. While protecting user privacy, it achieves efficient, secure, and verifiable multi-device address book synchronization, providing users with better data security and a better user experience.

[0126] a) When a user needs to synchronize their contacts on a second device (i.e., when switching phones), the second device's Super SIM card retrieves the latest root hash data from the cloud. .

[0127] It should be noted that the second terminal may be the same as or different from the first terminal.

[0128] b) The second terminal's super SIM card and the cloud execute the SHHT tree consistency verification protocol to efficiently determine the differences between the local address book (corresponding to the first tree structure) and the cloud address book (corresponding to the second tree structure) without leaking plaintext node data. The specific process is as follows: (1) Let the SHHT tree in the cloud (i.e., the second structure tree) be... The SHHT tree of the second terminal is The two parties first generate a public-private key pair (pk, sk) based on asymmetric encryption, where pk is the public key and sk is the private key.

[0129] (2) For the ciphertext information of the i-th node in the SHHT tree The hash data of the i-th node can be calculated using the following formula. :

[0130] in, This represents an asymmetric encryption algorithm. It is a hash algorithm (such as SHA-3).

[0131] (3) The cloud will store the hash data of the i-th node. The data is sent to the second terminal. The second terminal utilizes the properties of asymmetric encryption to calculate the difference in hash data while the data is encrypted. :

[0132] in, The hash data of the i-th node is calculated locally on the second terminal. The encrypted information of the i-th node is computed locally on the second terminal. This represents the homomorphic subtraction operation.

[0133] (4) The second terminal will transfer the difference data. Send to the cloud. The cloud uses the private key. Decryption The plaintext difference data is obtained:

[0134] Where Dec represents the decryption algorithm and sk is the private key.

[0135] (5) According to The cloud can determine whether nodes differ without knowing the plaintext content of the nodes. A threshold value is set for this determination. ,like This indicates a discrepancy exists, and the difference needs to be synchronized with the second terminal. Assume the node with the discrepancy is the i-th node; c) The cloud will encrypt the information of the i-th node that differs. The super SIM card sent to the second terminal.

[0136] d) The second terminal's super SIM card utilizes its decryption capabilities, using the node's encryption key. Decryption In Obtain the encrypted information of the i-th contact. :

[0137] in, Algorithms and The corresponding algorithm enables symmetric decryption.

[0138] e) The second terminal's super SIM card continues to utilize its decryption capabilities, using the corresponding hierarchical decryption key to decrypt. It obtains the plaintext contact information and updates the local SHHT tree (i.e., the SHHT tree of the second terminal).

[0139]

[0140] Then, the super SIM card in the second terminal will decrypt the plaintext information of the contacts. Insert into the local address book.

[0141] In some embodiments of this disclosure, the method further includes: sending a request to the cloud to synchronize the address book; receiving hash data of a second node in a second structure tree sent by the cloud; determining whether there is a difference between the hash data of a first node in a first structure tree and the hash data of a second node in a second structure tree; if there is a difference, determining the information of the second contact with the difference based on the difference data, and updating the first structure tree and the address book based on the information of the second contact.

[0142] In some embodiments of this disclosure, determining whether there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree includes: determining the difference data between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree; comparing the difference data with a preset data threshold; if the difference data is greater than the preset data threshold, then determining that there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree.

[0143] In some embodiments of this disclosure, determining the information of the second contact person with discrepancies based on the discrepancy data includes: determining the ciphertext information of the third node with discrepancies based on the discrepancy data; and decrypting the ciphertext information of the third node using the decryption information corresponding to the ciphertext information of the third node to obtain the information of the second contact person.

[0144] It should be noted that the second contact can be the same as or different from the first contact. In this embodiment, it simply represents a contact that differs in the scenario of replacing a new device.

[0145] Figure 3 This is a flowchart illustrating a contact synchronization method provided in an embodiment of this disclosure. Figure 3 As shown. This method may include the following steps.

[0146] Step 301: The second terminal sends a request to the cloud to synchronize the address book.

[0147] Step 302: The cloud receives the request to synchronize the address book and sends the hash data of the second node in the second structure tree to the second terminal.

[0148] Step 303: The second terminal receives the hash data of the second node in the second structure tree sent by the cloud.

[0149] Step 304: The second terminal determines the difference data based on the hash data of the first node in its first structure tree and the hash data of the second node in its second structure tree.

[0150] Step 305: The second terminal sends the difference data to the cloud.

[0151] Step 306: Determine whether there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree based on the difference data.

[0152] Step 307: If there is a difference, determine the ciphertext information of the fourth node that has a difference, and send the ciphertext information of the fourth node to the second terminal.

[0153] Step 308: The second terminal receives the encrypted information of the fourth node sent by the cloud.

[0154] Step 309: The second terminal determines the information of the third contact person based on the encrypted information of the fourth node.

[0155] Step 310: The second terminal updates the first structure tree and address book based on the information of the third contact.

[0156] For the foregoing method embodiments, in order to simplify the description, they are all described as a series of actions. However, those skilled in the art should know that this disclosure is not limited to the described order of actions, because according to this disclosure, some steps may be performed in other orders or simultaneously.

[0157] Secondly, those skilled in the art should also know that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by this disclosure.

[0158] The following is combined with Figure 4 The technical solution disclosed herein will be further described in detail.

[0159] This disclosure provides a method for synchronizing a contact list, which may include the following steps: Step 1: Secure key generation and asymmetric hash algorithm based on Super SIM card.

[0160] a) SIM card, used to generate master key and hierarchical encryption key (i.e., encryption key corresponding to the level of information of the i-th contact among multiple contacts). and the node's encryption key This is then securely stored in a secure unit built into the SIM card for hierarchical encryption in subsequent steps. Optionally, the node's encryption key... It may include the encryption key of the i-th node. N is the number of nodes in the tree structure.

[0161] b) The SIM card is pre-configured with an asymmetric hash algorithm. It satisfies the additive homomorphism property. The definition is as follows:

[0162] Where p and q are two prime numbers, satisfying That is, q divides (p-1). For multiplication group A generator that satisfies . For a randomly selected hash algorithm, map the bit string to... .

[0163] c) The SIM card constructs an empty tree structure locally (i.e., the first tree structure) for synchronizing the address book.

[0164] Alternatively, the SIM card can be a Super SIM card.

[0165] Step 2: The security management module of the Super SIM card, based on an asymmetric hash algorithm, performs multi-dimensional frequency domain transformation and scale decomposition to encrypt the information of the i-th contact according to the level, obtaining the ciphertext information of the i-th contact. .

[0166] a) Classify contacts in the address book by importance according to predefined rules (such as contact frequency, tags, etc.), and categorize them into: There are N1 levels in total.

[0167] The calculation process is as follows: Construct an importance coefficient algorithm, Importance(i), which calculates the importance coefficient based on the attributes of the i-th contact (such as contact frequency, tags, etc.). As follows: Importance(i) = A * B * C in:

[0168] Wherein, Frequency(i) is the contact frequency information of the i-th contact, representing the number of times the i-th contact is contacted within a certain period of time (e.g., half a year). The frequency variable in the Fourier transform represents the frequency coordinates of the time-domain signal after it has been transformed into the frequency domain. Imaginary unit, satisfying . The weights of the Fourier transform part are used to control the contribution of the importance coefficient.

[0169]

[0170] Where LabelSet(i): the set of labels for the i-th contact, representing the various categories or labels to which the i-th contact belongs (such as family, colleagues). A single tag in a tag set. : Wavelet basis algorithm, used to perform wavelet transform on a set of labels. Common wavelet basis algorithms include Haar wavelet, Daubechies wavelet, etc. a: Scale parameter of wavelet transform, which controls the scaling of the wavelet. 'a' represents the absolute value of 'a'. 'b' is the translation parameter of the wavelet transform, which controls the translation of the wavelet. The weights of the wavelet transform component are used to control their contribution to the importance coefficient.

[0171]

[0172] Wherein, Centrality(i): the centrality metric of the i-th contact, representing the call duration of the i-th contact within a certain period of time (e.g., six months). The order of the fractional derivative indicates the order of the calculus. When, it represents the conventional first derivative; when When , it represents the fractional derivative. An auxiliary parameter in fractional calculus formulas, usually taken as . Rounded up. t: Upper limit of fractional calculus, representing the endpoint when calculating fractional derivatives. : The integration variable in fractional calculus, representing the intermediate moment when calculating the fractional derivative. The Gamma algorithm is a generalization of factorial and is used to calculate the normalization factor of fractional calculus. The weight of the fractional calculus component is used to control its contribution to the importance coefficient.

[0173] In this example, after determining the importance coefficient of the first contact (i.e., the importance coefficient of the i-th contact), the first level of the first contact (i.e., the i-th level of the i-th contact) is determined based on the importance coefficient threshold corresponding to the importance coefficient of the first contact. Optionally, one or more contacts among multiple contacts may correspond to one level.

[0174] This involves setting multiple importance thresholds, such as setting an importance coefficient threshold for the i-th contact among multiple contacts, thus dividing the multiple contacts into N1 levels.

[0175] In some embodiments of this disclosure, the importance coefficient of the first contact person is determined based on a first coefficient, a second coefficient, and a third coefficient, including: The importance coefficient of the first contact person is determined based on the first coefficient and its corresponding first weight, the second coefficient and its corresponding second weight, and the third coefficient and its corresponding third weight.

[0176] It should be noted that, These are the first weight, the second weight, and the third weight, respectively.

[0177] In one example The first, second, and third weights determine the relative contributions of the first, second, and third coefficients to the importance coefficient, respectively.

[0178] This disclosure combines the unequal Fourier transform, strong Fourier wavelet transform, and fractional calculus in the Importance(i) formula to evaluate the importance of contacts from multiple perspectives. Specifically, the Fourier transform is used to extract the periodic characteristics and spectral distribution information of contact frequencies; the wavelet transform is used to capture the multi-scale relationships and local features of the tag set; and the fractional calculus part characterizes the long-range correlation and power-law characteristics of the centrality measure. The three coefficients (i.e., the first coefficient, the second coefficient, and the third coefficient) are organically combined through a weighted geometric average to generate an importance coefficient.

[0179] By leveraging the encryption capabilities of the Super SIM card, which increase in strength with each level, a hierarchical encryption key corresponding to the i-th level is used. Information about the i-th contact Encryption is performed to obtain the ciphertext information of the i-th contact. , specifically: For the i-th level (i.e., ), using the hierarchical encryption key corresponding to the i-th level. Encrypt the information of the i-th contact (such as the first contact in step 101).

[0180] For example, encryption algorithms select secure and efficient symmetric encryption algorithms (such as AES) and authenticated encryption modes (such as GCM) to ensure confidentiality and integrity.

[0181] Optionally, the encrypted information of the i-th contact. It can be calculated using the following formula:

[0182] in, This is the hierarchical encryption key corresponding to level i. For additional authentication data (such as contact ID).

[0183] Step 3: Encrypt the information of the i-th contact. The SHHT tree node environment fingerprint is encapsulated and encrypted again based on the super SIM encrypted environment parameter information to obtain the hash data of the i-th node in the SHHT tree.

[0184] a) For the i-th contact among multiple contacts, the SuperSIM card utilizes its encryption capabilities, using the encryption key of the i-th node. Generate the ciphertext information of the i-th node. The encrypted information of the i-th node may include the encrypted encrypted information of the i-th contact. Environmental parameter information Node type information Pointer information (such as pointers to child nodes), etc.

[0185] The encryption process for the i-th node can be represented as:

[0186]

[0187] in, The algorithm can be implemented using symmetric encryption algorithms (such as AES) or asymmetric encryption algorithms (such as RSA). It is the encrypted information of the i-th contact. . It is the encryption key for the i-th node. Indicates node type information (such as root node, non-leaf node, leaf node). and These point to the left and right child nodes respectively. E represents environmental parameter information, reflecting the current operating environment, time, and user behavior information of the first terminal, used to enhance the traceability of the node.

[0188] In one example, E is calculated as follows:

[0189] Where E represents environmental parameter information; H is a hash algorithm (such as SHA-3); and AES-ECB is the electronic codebook mode of the Advanced Encryption Standard. S is a fixed key used for device status encryption; S is the device status vector, which contains information such as device ID, device model, and network operator; Padding is a padding field to meet the AES block size requirement; HMAC-SHA256 is a hash message authentication code based on SHA-256. It is a fixed key used for time information processing; T is a time vector containing time information such as the current timestamp and day of the week; Argon2 is a key derivation algorithm; U is a user operation habit vector containing average monthly call frequency, average monthly call duration, etc.; salt is the fixed salt value used by Argon2. , , These are the runtime cost, memory usage cost, and parallelism parameters preset by Argon2; σ is a dynamically updated seed value; ⊕ represents the XOR operation.

[0190] b) The encrypted information of the i-th leaf node corresponding to the i-th contact. Insert into the SHHT tree and use the asymmetric hash algorithm defined in step one. Calculate the hash data of the i-th node. Asymmetric hash algorithms satisfy the following properties:

[0191] in, and These are the ciphertext information for the first and second nodes, respectively. The XOR operation represents the nodes. This refers to operations performed on hash data.

[0192] For the encrypted information of the i-th node Its hash data It can be calculated using the following formula:

[0193] in, and These are common parameters of asymmetric hash algorithms. It is a secure hash algorithm (such as SHA-256). This indicates a join operation.

[0194] c) Recursively calculate the hash data of the non-leaf nodes of the SHHT tree until the root node is reached, and obtain the hash data of the root. For the ciphertext information of the j-th non-leaf node The hash data of its left child node is The hash data of the right child node is Then the ciphertext information of the j-th non-leaf node hash data The calculation formula is:

[0195] Recursively calculate until the root node, obtaining the root's hash data:

[0196] in, and These are the hash data of the left and right nodes of the root node (i.e., root).

[0197] Step 4: The security management module of the Super SIM card updates the hash data RHH of the root based on the hash data of the nodes in the SHHT tree and the difference data provided by the Super SIM card.

[0198] a) The Super SIM card periodically scans the address book for changes, extracting information on newly added, modified, and deleted contacts. Assume the contact whose information has changed is the i-th contact.

[0199] b) The Super SIM card uses its encryption capabilities to encrypt the information of the changed contact (i.e., the information of the i-th contact) to obtain the ciphertext information of the i-th contact. .

[0200] c) The Super SIM card generates the corresponding encrypted information for the node. (That is, the ciphertext information of the i-th leaf node corresponding to the i-th contact), and update the SHHT tree, recalculating the hash data of the root node. .

[0201] d) Update the hash data of the root node Upload to the cloud.

[0202] Step 5: The security management module performs fingerprint consistency verification based on the hash data in the multi-terminal distributed SHHT tree. It re-encapsulates and binds the nodes of each layer of SHHT with secondary hash, generating nodes with time entropy stamps to verify the differences in evolution, ensuring data integrity over a long lifecycle.

[0203] This method utilizes an SHHT tree structure and an asymmetric hash algorithm to efficiently compare address book differences between different devices without revealing plaintext node data. By generating and verifying encrypted content, both parties can confirm that they possess the same data without disclosing specific details. Simultaneously, the incremental synchronization mechanism avoids full data transmission, significantly improving synchronization efficiency. This approach protects user privacy while achieving efficient, secure, and verifiable multi-device address book synchronization, providing users with better data security and a superior user experience.

[0204] a) When a user needs to synchronize their contacts on a second device (e.g., when switching from a first device to a second device), the second device's Super SIM card retrieves the latest root hash data from the cloud. .

[0205] It should be noted that the second terminal may be the same as or different from the first terminal.

[0206] b) The second terminal's super SIM card and the cloud execute the SHHT tree consistency verification protocol to efficiently determine the differences between the local address book (corresponding to the first tree structure) and the cloud address book (corresponding to the second tree structure) without leaking plaintext node data. The specific process is as follows: (1) Let the SHHT tree in the cloud (i.e., the second structure tree) be... The SHHT tree of the second terminal is The two parties first generated a public-private key pair based on asymmetric encryption. ,in For public key, This is the private key.

[0207] (2) For the ciphertext information of the i-th node in the tree The hash data of the i-th node can be calculated using the following formula. :

[0208] Here, Enc represents an asymmetric encryption algorithm, and hash is a hash algorithm (such as SHA-3).

[0209] (3) The cloud will store the hash data of the i-th node. The data is sent to the second terminal. The second terminal utilizes the properties of asymmetric encryption to calculate the difference in hash data while the data is encrypted. :

[0210] in, The hash data of the i-th node is calculated locally on the second terminal. The encrypted information of the i-th node is computed locally on the second terminal. This represents the homomorphic subtraction operation.

[0211] (4) The second terminal will transfer the difference data. Send to the cloud. The cloud decrypts using the private key sk. The plaintext difference data is obtained:

[0212] Where Dec represents the decryption algorithm and sk is the private key.

[0213] (5) According to The cloud can determine whether nodes differ without knowing the plaintext content of the nodes. A threshold value is set for this determination. ,like This indicates a discrepancy exists, and the difference needs to be synchronized with the second terminal. Assume the node with the discrepancy is the i-th node; c) The cloud will encrypt the information of the i-th node that differs. The super SIM card sent to the second terminal.

[0214] d) The second terminal's super SIM card utilizes its decryption capabilities, using the node's encryption key. Decryption In Obtain the encrypted information of the i-th contact. :

[0215] in, Algorithms and The corresponding algorithm enables symmetric decryption.

[0216] e) The second terminal's super SIM card continues to utilize its decryption capabilities, using the corresponding hierarchical decryption key to decrypt. It obtains the plaintext contact information and updates the local SHHT tree (i.e., the SHHT tree of the second terminal).

[0217]

[0218] Then, the super SIM card in the second terminal will decrypt the plaintext information of the contacts. Insert into the local address book.

[0219] Step Six: The security management module uses the evolution verification of differences in nodes to complete end-to-end encryption of contacts.

[0220] a) The contacts are encrypted twice on the local Super SIM card: first, the encryption capabilities of the Super SIM card are utilized, using a hierarchical encryption key. Information about the i-th contact Encryption obtained Then, utilizing the encryption capabilities of the Super SIM card, the encryption key of the i-th node is used. Encrypt the information of the i-th node to obtain .

[0221] b) Encrypted information transmitted and stored during cloud backup and inter-device synchronization. There is no plaintext data.

[0222] c) The encryption key of the i-th node and corresponding hierarchical encryption keys Only the corresponding Super SIM card can utilize its encryption capabilities to decrypt. and This allows us to obtain the plaintext contact information, ensuring end-to-end confidentiality.

[0223] Figure 5 This is a block diagram of a contact synchronization device provided in an embodiment of this disclosure. Figure 5 As shown, the device includes: a first encryption module 501, used to encrypt the information of the first contact person according to the encryption information corresponding to the information of the first contact person among multiple contacts, to obtain the ciphertext information of the first contact person; a second encryption module 502, used to encrypt the information of the first node according to the encryption information corresponding to the information of the first node in a preset first structure tree, to obtain the ciphertext information of the first node; wherein, the information of the first node includes at least the ciphertext information of the first contact person; and an information synchronization module 503, used to synchronize the ciphertext information of the first node in the first structure tree to the cloud.

[0224] In some embodiments of this disclosure, the first encryption module 501 includes: a first determining unit, configured to determine a first level among a plurality of contacts corresponding to the information of the first contact; and an information encryption unit, configured to encrypt the information of the first contact according to the encryption information corresponding to the first level, to obtain the ciphertext information of the first contact.

[0225] In some embodiments of this disclosure, the first determining unit includes: a second determining unit, configured to determine the importance coefficient of the first contact person based on the information of the first contact person among a plurality of contacts; and a third determining unit, configured to determine the first level corresponding to the information of the first contact person based on the importance coefficient of the first contact person.

[0226] In some embodiments of this disclosure, if the information of the first contact includes contact frequency information, category information, and call duration information, then the second determining unit includes: a first transform unit, used to perform a Fourier transform on the contact frequency information of the first contact among multiple contacts to obtain a first coefficient; a second transform unit, used to perform a wavelet transform on the category information of the first contact among multiple contacts to obtain a second coefficient; a third transform unit, used to perform fractional calculus processing on the call duration information of the first contact among multiple contacts to obtain a third coefficient; and a fourth determining unit, used to determine the importance coefficient of the first contact based on the first coefficient, the second coefficient, and the third coefficient.

[0227] In some embodiments of this disclosure, the fourth determining unit is specifically used to: determine the importance coefficient of the first contact person based on the first coefficient and its corresponding first weight, the second coefficient and its corresponding second weight, and the third coefficient and its corresponding third weight.

[0228] In some embodiments of this disclosure, the sum of the first weight, the second weight, and the third weight is 1.

[0229] In some embodiments of this disclosure, the information synchronization module 503 is further configured to: determine the hash data of the first node based on the ciphertext information of the first node in the first structure tree; and synchronize the hash data of the first node to the cloud.

[0230] In some embodiments of this disclosure, the information of the first node also includes the node type of the first node. If the node type of the first node is a leaf node, then the information synchronization module 503 includes: a construction unit for constructing an initial first structure tree; wherein the first structure tree includes at least leaf nodes, non-leaf nodes, and a root node; a data determination unit for determining the hash data of the leaf nodes based on the ciphertext information of the first node in the first structure tree; a sorting unit for sorting all the leaf nodes to obtain a node sequence; a recursive calculation unit for recursively calculating the hash data of the j-th non-leaf node in the first structure tree based on the hash data of the j-th pair of adjacent leaf nodes in the node sequence, until the hash data of the root node is obtained; wherein j is a positive integer; and a data synchronization unit for synchronizing the hash data of each node in the first structure tree to the cloud.

[0231] In some embodiments of this disclosure, the second encryption module 502 is used to: use the encrypted information of the first contact person as the information of the leaf node in the first structure tree, and encrypt the information of the leaf node according to the encryption information corresponding to the information of the leaf node to obtain the encrypted information of the leaf node.

[0232] In some embodiments of this disclosure, if the information of the first node further includes: environmental parameter information; wherein the environmental parameter information is used to characterize the operating environment information, time information and user behavior information of the first terminal; then the device further includes: an information determination module, used to determine the environmental parameter information based on the operating environment information and corresponding encryption information, the time information and corresponding encryption information, and the user behavior information and corresponding encryption key.

[0233] In some embodiments of this disclosure, the data determination unit is specifically used to: process the ciphertext information of the first node using an asymmetric hash algorithm to obtain the hash data of the leaf node.

[0234] In some embodiments of this disclosure, the recursive calculation unit is specifically used to: determine the ciphertext information of the j-th non-leaf node based on the hash data of the j-th pair of adjacent leaf nodes in the node sequence; process the ciphertext information of the j-th non-leaf node using an asymmetric hash algorithm to obtain first hash data; and recursively calculate the hash data of the j-th non-leaf node based on the first hash data and the hash data of the j-th pair of adjacent leaf nodes.

[0235] In some embodiments of this disclosure, the sorting unit is specifically used to: determine the name hash data of the first contact among multiple contacts; and use the name hash data of the first contact as the sorting key to sort all leaf nodes to obtain a node sequence.

[0236] In some embodiments of this disclosure, the data synchronization unit is specifically used to: encrypt the hash data of each node in the first structure tree to obtain the encrypted homomorphic hash data of each node; and synchronize the encrypted homomorphic hash data of each node to the cloud.

[0237] In some embodiments of this disclosure, the device further includes: a detection module for detecting whether the information of the first contact has changed; and an execution module for, in response to detecting that the information of the first contact has changed, executing the step of encrypting the information of the first contact according to the encryption information corresponding to the information of the first contact among a plurality of contacts to obtain the ciphertext information of the first contact.

[0238] In some embodiments of this disclosure, the apparatus further includes: a request sending module for sending a request to the cloud to synchronize the address book; a first receiving module for receiving hash data of a second node in a second structure tree sent by the cloud; a difference determination module for determining whether there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree; an information determination module for determining the information of the second contact with the difference based on the difference data if there is a difference; and an update module for updating the first structure tree and the address book based on the information of the second contact.

[0239] In some embodiments of this disclosure, the difference determination module is specifically used to: determine the difference data between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree; compare the difference data with a preset data threshold; if the difference data is greater than the preset data threshold, then determine that there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree.

[0240] In some embodiments of this disclosure, the information determination module is further configured to: determine the ciphertext information of the third node that has differences based on the difference data; and decrypt the ciphertext information of the third node using the decryption information corresponding to the ciphertext information of the third node to obtain the information of the second contact person.

[0241] In some embodiments of this disclosure, the encrypted information corresponding to the first contact person includes: an encryption algorithm and / or an encryption key corresponding to the first level of the first contact person.

[0242] In some embodiments of this disclosure, the first terminal includes a SIM card.

[0243] Figure 6 This is a block diagram of a contact synchronization device provided in an embodiment of this disclosure. Figure 6As shown, the device includes: a request sending module 601, used to send a request to the cloud to synchronize the address book; a first receiving module 602, used to receive the hash data of the second node in the second structure tree sent by the cloud; a data determining module 603, used to determine the difference data based on the hash data of the first node in its own first structure tree and the hash data of the second node in the second structure tree; a first sending module 604, used to send the difference data to the cloud; an information receiving module, used to receive the encrypted information of the fourth node sent by the cloud; a first determining module 605, used to determine the information of the third contact based on the encrypted information of the fourth node; and an information updating module 606, used to update the first structure tree and the address book based on the information of the third contact.

[0244] Figure 7 This is a block diagram of a contact synchronization device provided in an embodiment of this disclosure. Figure 7 As shown, the device includes: a request receiving module 701, used to receive a request for synchronizing the address book sent by a second terminal; a second sending module 702, used to send the hash data of a second node in a second structure tree to the second terminal; a second receiving module 703, used to receive difference data between the hash data of a first node in a first structure tree and the hash data of a second node in a second structure tree sent by the second terminal; a difference determining module 704, used to determine whether there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree based on the difference data; and a second determining module 705, used to determine the encrypted information of a fourth node with a difference if a difference exists, and send the encrypted information of the fourth node to the second terminal.

[0245] Figure 8 This is a block diagram of an electronic device 800 for implementing the above-described address book synchronization method, provided as an embodiment of the present disclosure.

[0246] Based on the hardware implementation of the above program modules, and in order to implement the method of this disclosure embodiment, this disclosure embodiment also provides an electronic device, such as... Figure 8 As shown, the electronic device 800 includes: The communication interface 801 enables information exchange with other devices; The processor 802 is connected to the communication interface 801 to enable information interaction with other devices and to execute the methods provided by one or more of the above-mentioned technical solutions when running computer programs; Memory 803, computer programs are stored in memory 803.

[0247] Specifically, the processor 802 can be used to encrypt the information of the first contact person according to the encryption information corresponding to the information of the first contact person among multiple contacts, to obtain the ciphertext information of the first contact person; to encrypt the information of the first node according to the encryption information corresponding to the information of the first node in the preset first structure tree, to obtain the ciphertext information of the first node; wherein the information of the first node includes at least the ciphertext information of the first contact person; and to synchronize the ciphertext information of the first node in the first structure tree to the cloud.

[0248] It should be noted that the specific processing procedure of processor 802 can be understood by referring to the above method.

[0249] Of course, in practical applications, the various components in electronic device 800 are coupled together through bus system 804. It can be understood that bus system 804 is used to realize the connection and communication between these components. In addition to a data bus, bus system 804 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, in... Figure 8 The general labeled all buses as Bus System 804.

[0250] The memory 803 in this embodiment is used to store various types of data to support the operation of the electronic device 800. Examples of such data include any computer program used to operate on the electronic device 800.

[0251] The methods disclosed in the embodiments of this application can be applied to or implemented by processor 802. Processor 802 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 802 or by instructions in the form of software. The first processor 802 mentioned above may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 802 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly reflected as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in memory 803. Processor 802 reads the information in memory 803 and combines its hardware to complete the steps of the aforementioned method.

[0252] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the methods described above.

[0253] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 803 including instructions, which can be executed by a processor 802 of an electronic device 800 to perform the above-described method. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.

[0254] Embodiments of this disclosure also provide a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to perform the methods described in the above embodiments of this disclosure.

[0255] Embodiments of this disclosure also propose a chip, such as Figure 9 As shown, the chip includes a processor and an interface. The number of processors can be one or more, and the number of interfaces can be multiple. The interface circuitry is used to receive signals from the electronic device's memory and send signals to the processor. The signals include computer instructions stored in the memory. When the processor executes the computer instructions, it causes the electronic device to perform the methods described in the above embodiments of this disclosure.

[0256] It should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings. Unless otherwise specified, the embodiments and features described in this application can be combined with each other.

[0257] It should be understood that the terms "system," "apparatus," "unit," and / or "module" used in this application are a method of distinguishing different components, elements, parts, sections, or assemblies at different levels. However, if other terms can achieve the same purpose, they may be replaced by other expressions.

[0258] As indicated in this application and claims, unless the context clearly indicates otherwise, the words "a," "an," "a," and / or "the" are not specifically singular and may include the plural. Generally, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements. An element defined by the phrase "comprising an..." does not exclude the presence of other identical elements in the process, method, product, or apparatus that includes the element.

[0259] In the description of the embodiments of this application, unless otherwise stated, " / " means "or", for example, A / B can mean A or B; "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more.

[0260] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.

[0261] Flowcharts are used in this application to illustrate the operations performed by the system according to embodiments of this application. It should be understood that the preceding or following operations are not necessarily performed precisely in sequence. Instead, the steps can be processed in reverse order or simultaneously. Furthermore, other operations can be added to these processes, or one or more steps can be removed from them.

[0262] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "illustrative embodiment," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with an embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0263] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of the invention includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of the invention pertain.

[0264] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processing module, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (control method), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic device, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable media can even be paper or other suitable media on which programs can be printed, because programs can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.

[0265] It should be understood that various parts of the embodiments of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0266] Those skilled in the art will understand that all or part of the steps of the methods described in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.

[0267] Furthermore, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc.

[0268] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.

Claims

1. A method for synchronizing contacts, characterized in that, Applied to a first terminal, the first terminal's address book includes multiple contacts, the method includes: Based on the encrypted information corresponding to the information of the first contact among multiple contacts, the information of the first contact is encrypted to obtain the ciphertext information of the first contact; Based on the encryption information corresponding to the information of the first node in the preset first structure tree, the information of the first node is encrypted to obtain the ciphertext information of the first node; wherein, the information of the first node includes at least the ciphertext information of the first contact person. Synchronize the encrypted information of the first node in the first structure tree to the cloud.

2. The method according to claim 1, characterized in that, The step of encrypting the information of the first contact based on the encrypted information corresponding to the information of the first contact among multiple contacts to obtain the ciphertext information of the first contact includes: Determine the first level among multiple contacts that corresponds to the information of the first contact; The information of the first contact person is encrypted according to the encryption information corresponding to the first level to obtain the ciphertext information of the first contact person.

3. The method according to claim 2, characterized in that, The step of determining the first level corresponding to the information of the first contact among multiple contacts includes: Based on the information of the first contact among multiple contacts, determine the importance coefficient of the first contact; The first level corresponding to the information of the first contact person is determined based on the importance coefficient of the first contact person.

4. The method according to claim 3, characterized in that, If the information of the first contact includes contact frequency information, category information, and call duration information, then determining the importance coefficient of the first contact based on the information of the first contact among multiple contacts includes: Perform a Fourier transform on the contact frequency information of the first contact among multiple contacts to obtain the first coefficient; Perform wavelet transform on the category information of the first contact among multiple contacts to obtain the second coefficient; The call duration information of the first contact among multiple contacts is processed by fractional calculus to obtain the third coefficient; The importance coefficient of the first contact person is determined based on the first coefficient, the second coefficient, and the third coefficient.

5. The method according to claim 4, characterized in that, Determining the importance coefficient of the first contact person based on the first coefficient, the second coefficient, and the third coefficient includes: The importance coefficient of the first contact person is determined based on the first coefficient and its corresponding first weight, the second coefficient and its corresponding second weight, and the third coefficient and its corresponding third weight.

6. The method according to claim 5, characterized in that, The sum of the first weight, the second weight, and the third weight is 1.

7. The method according to claim 1, characterized in that, The step of synchronizing the encrypted information of the first node in the first structure tree to the cloud includes: The hash data of the first node is determined based on the ciphertext information of the first node in the first structure tree; Synchronize the hash data of the first node to the cloud.

8. The method according to claim 1, characterized in that, The information of the first node also includes the node type information of the first node. If the node type of the first node is a leaf node, then synchronizing the ciphertext information of the first node in the first structure tree to the cloud includes: Construct an initial first structure tree; wherein the first structure tree includes at least leaf nodes, non-leaf nodes, and a root node; The hash data of the leaf nodes is determined based on the ciphertext information of the first node in the first structure tree. Sort all leaf nodes to obtain the node sequence; The hash data of the j-th non-leaf node in the first structure tree is recursively calculated based on the hash data of the j-th pair of adjacent leaf nodes in the node sequence, until the hash data of the root node is obtained; where j is a positive integer; Synchronize the hash data of each node in the first structure tree to the cloud.

9. The method according to claim 8, characterized in that, The step of encrypting the information of the first node according to the encryption information corresponding to the information of the first node in the preset first structure tree to obtain the ciphertext information of the first node includes: The encrypted information of the first contact is used as the information of the leaf node in the first structure tree, and the information of the leaf node is encrypted according to the encryption information corresponding to the information of the leaf node to obtain the encrypted information of the leaf node.

10. The method according to claim 1 or 9, characterized in that, If the information of the first node further includes: environmental parameter information; wherein, the environmental parameter information is used to characterize the operating environment information, time information and user behavior information of the first terminal; The environmental parameter information is determined based on the following steps: The environment parameter information is determined based on the operating environment information and corresponding encryption information, time information and corresponding encryption information, and user behavior information and corresponding encryption key.

11. The method according to claim 8 or 9, characterized in that, Determining the hash data of the leaf node based on the ciphertext information of the first node in the first structure tree includes: An asymmetric hash algorithm is used to process the ciphertext information of the first node to obtain the hash data of the leaf node.

12. The method according to claim 11, characterized in that, The step of recursively calculating the hash data of the j-th non-leaf node in the first structure tree based on the hash data of the j-th pair of adjacent leaf nodes in the node sequence includes: The ciphertext information of the j-th non-leaf node is determined based on the hash data of the j-th pair of adjacent leaf nodes in the node sequence. The ciphertext information of the j-th non-leaf node is processed using an asymmetric hash algorithm to obtain the first hash data; Based on the first hash data and the hash data of the j-th pair of adjacent leaf nodes, the hash data of the j-th non-leaf node is recursively calculated.

13. The method according to claim 8, characterized in that, Sort all leaf nodes to obtain a node sequence, including: Determine the name hash data of the first contact among multiple contacts; Using the hash data of the first contact's name as the sorting key, sort all the leaf nodes to obtain the node sequence.

14. The method according to claim 8, characterized in that, The step of synchronizing the hash data of each node in the first structure tree to the cloud includes: The hash data of each node in the first structure tree is encrypted to obtain the homomorphic hash data of each node. Synchronize the encrypted homomorphic hash data of each node to the cloud.

15. The method according to claim 1, characterized in that, The method further includes: Detect whether the information of the first contact person has changed; In response to detecting a change in the information of the first contact, the step of encrypting the information of the first contact based on the encryption information corresponding to the information of the first contact among multiple contacts is executed to obtain the ciphertext information of the first contact.

16. The method according to claim 1, characterized in that, The method further includes: Send a request to the cloud to synchronize the address book; Receive the hash data of the second node in the second structure tree sent by the cloud; Determine whether there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree; If a discrepancy exists, the information of the second contact with the discrepancy is determined based on the discrepancy data, and the first structure tree and the address book are updated based on the information of the second contact.

17. The method according to claim 16, characterized in that, The step of determining whether there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree includes: Determine the difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree; The difference data is compared with a preset data threshold. If the difference data is greater than a preset data threshold, it is determined that there is a difference between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure tree.

18. The method according to claim 17, characterized in that, The step of determining the information of the second contact person with discrepancies based on the discrepancy data includes: Based on the difference data, determine the ciphertext information of the third node where the difference exists; The encrypted information of the third node is decrypted using the decryption information corresponding to the encrypted information of the third node to obtain the information of the second contact person.

19. The method according to claim 2, characterized in that, The encrypted information corresponding to the first contact person includes: The encryption algorithm and / or encryption key corresponding to the first level of the first contact.

20. The method according to claim 1, characterized in that, The first terminal includes a SIM card.

21. A contact list synchronization method, applied to a second terminal, characterized in that, The method includes: Send a request to the cloud to synchronize the address book; Receive the hash data of the second node in the second structure tree sent by the cloud; Based on the hash data of the first node in its first tree structure and the hash data of the second node in its second tree structure, determine the difference data; Send the difference data to the cloud; Receive encrypted information from the fourth node sent by the cloud; The information of the third contact person is determined based on the encrypted information of the fourth node; The first structure tree and the address book are updated based on the information of the third contact.

22. A contact list synchronization method, applied in the cloud, characterized in that, The method includes: Receive a request from the second terminal to synchronize the address book; Send the hash data of the second node in the second structure tree to the second terminal; Receive the difference data between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure data sent by the second terminal; Based on the difference data, determine whether there is a difference between the hash data of the first node of the first structure tree and the hash data of the second node of the second structure tree; If a discrepancy exists, the encrypted information of the fourth node with the discrepancy is determined, and the encrypted information of the fourth node is sent to the second terminal.

23. A contact list synchronization device, characterized in that, Applied to a first terminal, the first terminal's address book including multiple contacts, the device includes: The first encryption module is used to encrypt the information of the first contact person according to the encryption information corresponding to the information of the first contact person among multiple contacts, so as to obtain the ciphertext information of the first contact person. The second encryption module is used to encrypt the information of the first node according to the encryption information corresponding to the information of the first node in the preset first structure tree, so as to obtain the ciphertext information of the first node; wherein, the information of the first node includes at least the ciphertext information of the first contact person. The information synchronization module is used to synchronize the encrypted information of the first node in the first structure tree to the cloud.

24. A contact list synchronization device, applied to a second terminal, characterized in that, The device includes: The request sending module is used to send requests to the cloud to synchronize the address book; The first receiving module is used to receive the hash data of the second node in the second structure tree sent by the cloud; The data determination module is used to determine the difference data based on the hash data of the first node in its first tree structure and the hash data of the second node in the second tree structure. The first sending module is used to send the difference data to the cloud; The information receiving module is used to receive encrypted information from the fourth node sent by the cloud. The first determining module is used to determine the information of the third contact person based on the encrypted information of the fourth node; The information update module is used to update the first structure tree and the address book based on the information of the third contact.

25. A contact list synchronization device, applied in the cloud, characterized in that, The device includes: The request receiving module is used to receive requests from the second terminal to synchronize the address book. The second sending module is used to send the hash data of the second node in the second structure tree to the second terminal; The second receiving module is used to receive the difference data between the hash data of the first node in the first structure tree and the hash data of the second node in the second structure data sent by the second terminal; The difference determination module is used to determine whether there is a difference between the hash data of the first node of the first structure tree and the hash data of the second node of the second structure tree based on the difference data. The second determining module is used to determine the encrypted information of the fourth node that has a difference if there is a difference, and send the encrypted information of the fourth node to the second terminal.

26. An electronic device, characterized in that, include: One or more processors; A storage device communicatively connected to the one or more processors, wherein one or more programs are stored; When the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the method as described in any one of claims 1-22.

27. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-22.

28. A chip, characterized in that, The device includes one or more interface circuits and one or more processors; the interface circuits are configured to receive signals from the memory of the electronic device and send the signals to the processors, the signals including computer instructions stored in the memory, which, when executed by the processors, cause the electronic device to perform the method of any one of claims 1-22.