WO2020103285A1 - 基于对称加密的秘钥丢失找回方法及相关设备 - Google Patents

基于对称加密的秘钥丢失找回方法及相关设备

Info

Publication number
WO2020103285A1
WO2020103285A1 PCT/CN2018/124181 CN2018124181W WO2020103285A1 WO 2020103285 A1 WO2020103285 A1 WO 2020103285A1 CN 2018124181 W CN2018124181 W CN 2018124181W WO 2020103285 A1 WO2020103285 A1 WO 2020103285A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
random number
ciphertext
secret key
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2018/124181
Other languages
English (en)
French (fr)
Inventor
张文明
王瑞雪
谢丹力
宦鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Smart Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by OneConnect Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Publication of WO2020103285A1 publication Critical patent/WO2020103285A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Definitions

  • This application relates to the field of encryption technology, in particular to a method for recovering lost keys based on symmetric encryption and related equipment.
  • the secret key is the key.
  • the key refers to some secret information used to complete encryption, decryption, integrity verification and other cryptographic applications.
  • the development of cryptography has promoted computer science, especially in the technologies used in computer and network security, such as access control and confidentiality of information.
  • the symmetric encryption algorithm in the secret key is an earlier encryption algorithm.
  • the data sender processes the plaintext (original data) and the encryption key together with a special encryption algorithm to make it into a complex encrypted ciphertext and sends it out.
  • the recipient receives the ciphertext, if he wants to interpret the original text, he needs to decrypt the ciphertext using the encryption key and the inverse algorithm of the same algorithm in order to restore it to a readable plaintext.
  • the symmetric encryption algorithm only one key is used. Both the sending and receiving parties use this key to encrypt and decrypt the data, which requires the decrypting party to know the encryption key in advance.
  • a key recovery method based on symmetric encryption includes the following steps:
  • Encrypt the data using the secret key generate a ciphertext, and send the ciphertext and the random number to the server;
  • a key recovery device based on symmetric encryption includes the following modules:
  • Generate a secret key module set to obtain the data that the user needs to encrypt and the input password, generate a random number by a random number generator, and generate the symmetric encrypted secret by using the preset symmetric key generation script with the password and the random number Key and store it;
  • a ciphertext generation module configured to encrypt the data using the secret key, generate a ciphertext, and send the ciphertext and the random number to the server;
  • a random number obtaining module configured to obtain a key retrieval request triggered by a user, initiate a key retrieval request to the server, and obtain the random number returned by the server;
  • a computer device includes a memory and a processor.
  • the memory stores computer-readable instructions.
  • the processor is caused to perform the following steps:
  • Encrypt the data using the secret key generate a ciphertext, and send the ciphertext and the random number to the server;
  • a storage medium storing computer-readable instructions, which when executed by one or more processors, causes the one or more processors to perform the following steps:
  • Encrypt the data using the secret key generate a ciphertext, and send the ciphertext and the random number to the server;
  • the above key recovery method based on symmetric encryption and related equipment include obtaining data and password input by the user, generating a random number through a random number generator, and passing the password and the random number through a preset symmetry
  • the secret key generation script generates a symmetrically encrypted secret key and stores it; the secret key is used to encrypt the data to generate a ciphertext, and the ciphertext and the random number are sent to the server; the secret triggered by the user is obtained
  • a key retrieval request initiating a key retrieval request to the server to obtain the random number returned by the server; obtaining the password entered by the user again, and passing the password and the random number returned by the server through the
  • the symmetric key generation script regenerates the secret key and stores the secret key to complete the retrieval of the secret key.
  • This application uses the information entered by the user as a password, generates the secret key together with the random number generated by the random number generator, and encrypts the data. Each time the encrypted secret key is random, even if other people know the password, they cannot Decrypt the ciphertext. This application can achieve the purpose of generating different keys with a single password and encrypting different data. This application also saves the random number on the server side, obtains the random number through the key retrieval request, generates the secret key again, and realizes the key retrieval function.
  • FIG. 1 is a flowchart of a method for recovering a lost key based on symmetric encryption in an embodiment
  • FIG. 3 is a structural diagram of a key loss recovery device based on symmetric encryption in an embodiment.
  • FIG. 1 is a flowchart of a method for recovering a lost key based on symmetric encryption in an embodiment of the present application, including the following steps:
  • Step S1 Generate a secret key: Obtain the data that the user needs to encrypt and the entered password, generate a random number through a random number generator, generate a symmetric encrypted secret key through the preset symmetric key generation script, and perform storage.
  • Clients can include computer terminals and mobile phone terminals.
  • the client can set an information input interface, and the information input interface is provided with a password input field, a data upload interface, or a data input field.
  • the passwords in this step may be the same.
  • the password in this step may be a password of more than 6 digits composed of numbers, letters, or characters.
  • the information input interface can be identified and judged according to the input content. When the input content is not a password of more than 6 digits composed of numbers, letters or characters, the information input interface is fed back with a prompt such as incorrect password setting.
  • generating a random number by a random number generator includes:
  • the random () function is preset in the storage medium, and a random number is generated by calling the random () function.
  • the random () function is used to generate random numbers. Before calling, the random () function can be preset in the storage medium of the client.
  • the user only needs to remember a single password, and in order to not decipher the secret key when the password is leaked, a random number generation step is added, and the secret key is generated by the generated random number together with the password.
  • the total randomness corresponding to each secret key The numbers are all different, so the total random number of the secret key generated by other personnel can be reduced, and the security of the secret key is guaranteed.
  • the password and the random number are generated through a preset symmetric key generation script to generate a symmetric encrypted key, and stored, including:
  • Step S101 Acquire a key generator: preset an object of the key generation type in the storage medium, call the object of the key generation type, and set the name of the encryption algorithm.
  • the encryption algorithm in this step may be any one of Blowfish algorithm, DES algorithm, DESede algorithm, HmacMD5 algorithm or HmacSHA1 algorithm.
  • the Blowfish algorithm is a 64-bit block and variable key length symmetric key block cipher algorithm that can be used to encrypt 64-bit strings.
  • the Blowfish algorithm has the characteristics of fast encryption, compactness, variable key length, and free use.
  • the DES algorithm is called Data Encryption Standard, which is the data encryption standard. It is a block algorithm that uses key encryption.
  • the DES algorithm has the advantages of short keys, simple encryption processing, and fast encryption and decryption. It is suitable for the occasion of encrypting large amounts of data. .
  • the DESede algorithm is a symmetric encryption algorithm improved by the DES algorithm and has extremely strong security.
  • the HMACMD5 algorithm is a keyed hash algorithm constructed from the MD5 hash function and is used as a hash-based message verification code (HMAC).
  • HMACMD5 algorithm is an irreversible encryption algorithm that can be encrypted into any string A unique fixed-length code.
  • the HmacSHA1 algorithm is based on the HMACMD5 algorithm.
  • the HmacSHA1 algorithm uses a hash function to hash the mixed result, mix the resulting hash value with the key, and then apply the hash function again.
  • the length of the output hash value is 160 bits.
  • KeyGenerator kg KeyGenerator.getInstance ("DESede");
  • Step S102 Initialize the key generator: initialize the length of the key.
  • the length of the secret key obtained by the key generator obtained in step S101 can be initialized by calling the kg.init () method in KeyGenerator. If the initial key length is 168, then:
  • Step S103 generating a secret key: setting the password and the random number to the total random number, and generating a symmetrically encrypted secret key.
  • Step S104 Save the secret key: save the secret key in the secret key file by object serialization.
  • FileOutputStream f new FileOutputStream ("key1.dat”);
  • ObjectOutputStreamb newObjectOutputStream (f);
  • Serialization is a process of describing objects as a series of bytes, used to solve the problems caused when reading and writing to the object stream.
  • Serialization can write the state of an object in a stream for network transmission, or save it in a file or database, and read the stream when needed to reconstruct an identical object.
  • this step saves the key by object serialization, so that the key can be read later.
  • a preset key generator type object is generated, and a unique secret key is constructed and generated for each data to be encrypted, as long as the random number is known , Combined with the password, you can repeatedly generate the key.
  • Step S2 Generate a ciphertext: encrypt the data with a secret key, generate a ciphertext, and send the ciphertext and random number to the server.
  • the key is used to encrypt the data through a symmetric encryption algorithm, and the symmetric encryption algorithm uses the same encryption algorithm as in step S101.
  • the server After receiving the ciphertext and random number, the server saves it in the database on the server side. Before the server saves the ciphertext and random number:
  • sending the ciphertext and the random number to the server includes: obtaining the identifier input by the user, where the identifier is a unique mark corresponding to the ciphertext and the random number; and sending the ciphertext, the random number, and the identifier to the server together.
  • the client also accepts the identifier input by the user. Since the identifier is a unique marker corresponding to the random number, this identifier is used for subsequent retrieval of the random number.
  • the server saves the received identification together with random numbers and ciphertext in the database. When saving, it can be stored in a random number collection table in the form of a table. The cipher text, random number, and identifier sent by the client can be shown in Table 1 below. When the server saves, the client name can also be saved together.
  • the client before the client sends the ciphertext, random number, and identification to the server, it also includes: renaming the file name of the ciphertext, and renaming the name as the identification.
  • the identification can also be stored in the local database, so that the secret key can be retrieved later.
  • the random number is marked by an identifier, and the ciphertext, the random number, and the identifier are sent to the server together.
  • the user can easily retrieve a secret according to the user-defined identifier.
  • the random number corresponding to the key.
  • sending the ciphertext and the random number to the server includes: obtaining the timestamp of the current time, and sending the ciphertext, the random number, and the timestamp to the server together.
  • a time stamp can also be used, and the time when the cipher text is generated or sent to the server can be used as the time stamp, and the file name of the cipher text can be renamed. Rename the name to timestamp.
  • the client is sent to the server together with the ciphertext and random number.
  • the random numbers and ciphertexts are distinguished by means of time stamps. Although it is difficult for users to find the random numbers and retrieve the secret keys, the ciphertexts are secret because there is no special identification for the ciphertexts. Sex is better. This embodiment can be used when there are few encrypted data.
  • Step S3 Obtain a random number: obtain a key retrieval request triggered by the user, initiate a key retrieval request to the server, and obtain the random number returned by the server.
  • the key retrieval interface can be set on the client.
  • the key retrieval key field can be set in the key retrieval interface.
  • the user can trigger the key retrieval request through the key retrieval interface.
  • the key retrieval key field enter the identifier or timestamp corresponding to the key to be retrieved. So far, the key retrieval request contains the identifier or timestamp.
  • all the saved logos or time stamps can also be displayed on the key retrieval interface, so that the user can select the logos or time stamps.
  • the server After receiving the key retrieval request, the server obtains the corresponding random number from the database on the server side by identification or time stamp, and returns the random number to the client. The client obtains this random number for subsequent key generation .
  • Step S4 retrieve the secret key: Obtain the password entered by the user again, regenerate the secret key and the random number returned by the server through a symmetric secret key generation script, and store the secret key to complete the retrieval of the secret key.
  • the user triggers the key retrieval request through the key retrieval interface, the user also enters the password in the password input field. This password is used as the total randomness together with the random number obtained in step S3.
  • generate the secret key through the symmetric key generation script again.
  • the generated secret key is the same as the secret key generated in step S1 and can be used to decrypt the ciphertext.
  • a secret key is generated by a password entered by the user and a random number to encrypt data.
  • Each data to be encrypted corresponds to a different secret key. Even if a certain secret key is obtained, other encrypted data cannot be performed. Decryption ensures the reliability of the data.
  • this embodiment regenerates the secret key together with the user's own password by means of random number retrieval, and realizes the secret key retrieval function. And users only need to remember a certain password to achieve separate encryption of different data.
  • the user can repeatedly generate the secret key.
  • it also includes authorization to view the data: when the encrypted data needs to be provided to the authorized party, the secret key and the identification are sent to the authorized party, and a viewing request is sent to the server through the authorized party. After receiving the ciphertext corresponding to the identifier returned by the server, the ciphertext is decrypted by the secret key to generate plaintext viewing data.
  • the secret key of this application is in the hands of the client user, if a third-party organization needs to view the data, it not only needs to obtain the secret key, but also needs to download the ciphertext from the server.
  • the identifier is sent to the authorizing party through the client, so that the server looks up the corresponding ciphertext according to the identifier and returns it to the authorizing party.
  • the client can also send information to the authorized party through other methods such as time stamps, as long as it is convenient for the server to find the corresponding ciphertext.
  • the ciphertext can be saved on the client, and the client can authorize a third-party organization to view the data, which greatly reduces the storage pressure on the client.
  • the third-party organization Unable to decrypt other data, greatly improving the security of the data.
  • This application is based on the symmetric encryption key recovery method.
  • the key is generated by the combination of the password entered by the user and the random number, and the random number is stored on the server to facilitate the subsequent retrieval of the key.
  • the user only needs to It is enough to remember the entered password, the content of the memory is less, it is not easy to forget, and the secret key is in the user end, even if the secret key is lost, the user can directly generate and retrieve the secret key.
  • a device for recovering lost keys based on symmetric encryption includes the following modules:
  • Generate a secret key module set to obtain the data that the user needs to encrypt and the input password, generate a random number by a random number generator, and generate the symmetric encrypted secret by using the preset symmetric key generation script with the password and the random number Key and store it;
  • a ciphertext generation module configured to encrypt the data using the secret key, generate a ciphertext, and send the ciphertext and the random number to the server;
  • a random number obtaining module configured to obtain a key retrieval request triggered by a user, initiate a key retrieval request to the server, and obtain the random number returned by the server;
  • the key generation module is also set to preset a random () function in the storage medium, and generate a random number by calling the random () function.
  • generating the key module includes:
  • Set the name unit set to preset the object of the key generation type in the storage medium, call the object of the key generation type, and set the name of the encryption algorithm
  • Initialization unit set to the length of the initialization key
  • the ciphertext generation module is also set to obtain a user-entered identifier, which is a unique label corresponding to the ciphertext and the random number; the ciphertext, the random number, and the identifier are sent to the server together.
  • the ciphertext generation module is further configured to rename the file name of the ciphertext, and the renamed name is the identifier.
  • an authorized viewing data module which is configured to send the secret key and the identification to the authorized party when the encrypted data needs to be provided to the authorized party, and send a viewing request to the server through the authorized party, the viewing request includes the identification After receiving the ciphertext corresponding to the identifier returned by the server, the authorized party decrypts the ciphertext with the secret key to generate plaintext viewing data.
  • the ciphertext generation module is also set to obtain the timestamp of the current time, and send the ciphertext, random number, and timestamp to the server together.
  • a computer device which includes a memory and a processor.
  • the memory stores computer-readable instructions.
  • the processor is executed based on symmetric encryption in the foregoing embodiments Steps in the recovery method of the lost key.
  • a storage medium storing computer-readable instructions.
  • the one or more processors execute the symmetric encryption based on the above embodiments Steps in the recovery method of the lost key.
  • the storage medium may be a non-volatile storage medium.
  • the program may be stored in a computer-readable storage medium, and the storage medium may include: Read only memory (ROM, Read Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及加密技术领域,尤其涉及一种基于对称加密的秘钥丢失找回方法及相关设备。其中方法包括:获取数据和密码,生成随机数,将密码和随机数生成对称加密的秘钥,并进行存储;采用秘钥对数据进行加密,生成密文,将密文和随机数发送给服务器;获取秘钥找回请求,向服务器发起秘钥找回请求,获取服务器返回的随机数;再次获取密码,将密码和服务器返回的随机数重新生成秘钥,并将秘钥进行存储,完成所述秘钥的找回。本申请通过用户输入的信息作为密码,将随机数发生器生成的随机数一起,再生成秘钥,本申请还将随机数保存在服务器端,通过秘钥找回请求,获得随机数的方式,再次生成秘钥,实现秘钥找回功能。

Description

基于对称加密的秘钥丢失找回方法及相关设备
本申请要求于2018年11月20日提交中国专利局、申请号为201811381039.7、发明名称为“基于对称加密的秘钥丢失找回方法及相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及加密技术领域,尤其涉及一种基于对称加密的秘钥丢失找回方法及相关设备。
背景技术
秘钥,即密钥,在密码学中,密钥是指某个用来完成加密、解密、完整性验证等密码学应用的秘密信息。密码学的发展促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。
秘钥中的对称加密算法是应用较早的加密算法。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
但是在对称加密算法中,如果加密秘钥一旦丢失,使用者对密文将无法进行解密。
发明内容
有鉴于此,有必要用户丢失秘钥后存在无法找回的问题,提供一种基于对称加密的秘钥丢失找回方法及相关设备。
一种基于对称加密的秘钥丢失找回方法,包括如下步骤:
获取用户需要加密的数据和输入的密码,通过随机数发生器生成随机数,将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储;
采用所述秘钥对所述数据进行加密,生成密文,将所述密文和所述随机数发送给服务器;
获取用户触发的秘钥找回请求,向所述服务器发起秘钥找回请求,获取所述服务器返回的所述随机数;
再次获取用户输入的密码,将所述密码和所述服务器返回的所述随机数通过所述对称秘钥生成脚本重新生成所述秘钥,并将所述秘钥进行存储,完成所述秘钥的找回。
一种基于对称加密的秘钥丢失找回装置,包括如下模块:
生成秘钥模块,设置为获取用户需要加密的数据和输入的密码,通过随机数发生器生成随机数,将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储;
生成密文模块,设置为采用所述秘钥对所述数据进行加密,生成密文,将所述密文和所述随机数发送给服务器;
获取随机数模块,设置为获取用户触发的秘钥找回请求,向所述服务器发起秘钥找回请求,获取所述服务器返回的所述随机数;
找回秘钥模块,设置为再次获取用户输入的密码,将所述密码和所述服务器返回的所述随机数通过所述对称秘钥生成脚本重新生成所述秘钥,并将所述秘钥进行存储,完成所述秘钥的找回。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:
获取用户需要加密的数据和输入的密码,通过随机数发生器生成随机数,将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储;
采用所述秘钥对所述数据进行加密,生成密文,将所述密文和所述随机数发送给服务器;
获取用户触发的秘钥找回请求,向所述服务器发起秘钥找回请求,获取所述服务器返回的所述随机数;
再次获取用户输入的密码,将所述密码和所述服务器返回的所述随机数通过所述对称秘钥生成脚本重新生成所述秘钥,并将所述秘钥进行存储,完成所述秘钥的找回。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:
获取用户需要加密的数据和输入的密码,通过随机数发生器生成随机数,将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储;
采用所述秘钥对所述数据进行加密,生成密文,将所述密文和所述随机数发送给服务器;
获取用户触发的秘钥找回请求,向所述服务器发起秘钥找回请求,获取所述服务器返回的所述随机数;
再次获取用户输入的密码,将所述密码和所述服务器返回的所述随机数通过所述对称秘钥生成脚本重新生成所述秘钥,并将所述秘钥进行存储,完成所述秘钥的找回。
上述基于对称加密的秘钥丢失找回方法及相关设备,包括获取用户需要加密的数据和输入的密码,通过随机数发生器生成随机数,将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储;采用所述秘钥对所述数据进行加密,生成密文,将所述密文和所述随机数发送给服务器;获取用户触发的秘钥找回请求,向所述服务器发起秘钥找回请求,获取所述服务器返回的所述随机数;再次获取用户输入的密码,将所述密码和所述服务器返回的所述随机数通过所述对称秘钥生成脚本重新生成所述秘钥,并将所述秘钥进行存储,完成所述秘钥的找回。本申请通过用户输入的信息作为密码,将随机数发生器生成的随机数一起,再生成秘钥,对数据进行加密,每次加密的秘钥都是随机的,其他人员即使知道密码,也无法对密文进行解密。本申请可以实现单一的密码生成不同秘钥,对不同数据进行加密的目的。本申请还将随机数保存在服务器端,通过秘钥找回请求,获得随机数的方式,再次生成秘钥,实现秘钥找回功能。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。
图1为一个实施例中的基于对称加密的秘钥丢失找回方法的流程图;
图2为一个实施例中生成秘钥过程的流程图;
图3为一个实施例中的基于对称加密的秘钥丢失找回装置的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
图1为本申请一个实施例中的基于对称加密的秘钥丢失找回方法的流程图,包括如下步骤:
步骤S1,生成秘钥:获取用户需要加密的数据和输入的密码,通过随机数发生器生成随机数,将密码和随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储。
本申请可以用于用户加密数据的客户端,客户端可以包括计算机终端、手机终端等。客户端可以设置信息输入界面,信息输入界面设有密码输入字段、数据上传接口或数据输入字段。通过信息输入界面获取需要加密的数据和密码。为了减少用户记忆多个不同密码,本步骤的密码可以是相同的。具体的,本步骤的密码可以是数字、字母或字符组成的6位以上的密码。在信息输入界面可以根据输入内容进行识别和判断,当输入的内容不是数字、字母或字符组成的6位以上的密码时,在信息输入界面反馈密码设置错误等提示。
在一个实施例中,通过随机数发生器生成随机数,包括:
在存储介质中预设random()函数,通过调用random()函数生成随机数。
random()函数用于生成随机数,调用前,random()函数可以预先设置在客户端的存储介质中。
本实例为了用户只需记住单个密码,且为了当密码泄露时不能破译秘钥,加入了生成随机数步骤,通过生成的随机数与密码一起再生成秘钥,每个秘钥对应的总随机数均不同,因此可以减少其他人员破解生成的秘钥的总随机数,保证了秘钥的安全性。
在一个实施例中,参照图2,将密码和随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储,包括:
步骤S101,获取秘钥生成器:在存储介质中预设秘钥生成类型的对象,调用秘钥生成类型的对象,设置加密算法的名称。
本步骤中的加密算法可以是Blowfish算法、DES算法、DESede算法、HmacMD5算法或HmacSHA1算法中的任一一项。其中,Blowfish算法是一个64位分组及可变密钥长度的对称密钥分组密码算法,可用来加密64比特长度的字符串。Blowfish算法具有加密速度快、紧凑、密钥长度可变、可免费使用等特点。DES算法全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,DES算法具有密钥较短、加密处理简单、加解密速度快的优点,适用于加密大量数据的场合。DESede算法是由DES算法改进后的一种对称加密算法,具有极其强大的安全性。HMACMD5算法是从MD5哈希函数构造的一种键控哈希算法,被用作基于哈希的消息验证代码(HMAC),HMACMD5算法是一种不可逆的加密算法,对应任何字符串都可以加密成一段唯一的固定长度的代码。HmacSHA1算法基于HMACMD5算法,HmacSHA1算法使用哈希函数对混合结果进行哈希计算,将所得哈希值与密钥混合,然后再次应用哈希函数,输出的哈希值长度为160位。
在本步骤中,可以预先设置KeyGenerator秘钥生成类型的对象,通过调用KeyGenerator中的getInstance()方法,设置加密算法的名称。如指定“DESede”加密算法,则秘钥生成器为:
KeyGenerator kg=KeyGenerator.getInstance("DESede");
步骤S102,初始化秘钥生成器:初始化秘钥的长度。
本步骤可以通过调用KeyGenerator中的kg.init()方法,将步骤S101获取的秘钥生成器初始化秘钥的长度。如初始化秘钥长度为168,则:
kg.init(168)。
步骤S103,生成秘钥:将密码和随机数设置为总随机数,生成一个对称加密的秘钥。
本步骤可以通过调用KeyGenerator中的generateKey()方法获得一个对称加密的秘钥,其中generateKey()方法中的用于生成秘钥的随机数为用户输入的密码和随机数发生器生成的随机数一起生成总随机数。如将密码放在前,随机数放在后,一起生成总随机数,用于生成最终的秘钥。
步骤S104,保存秘钥:通过对象序列化方式将秘钥保存在秘钥文件中。
本步骤可以采用如下保存方式将秘钥保存在key1.dat文件中:
FileOutputStream f=new FileOutputStream("key1.dat");
ObjectOutputStream b=new ObjectOutputStream(f);
b.writeObject(k);
在分布式环境下,无论是何种数据,都会以二进制序列的形式在网络上传输。序列化是一种将对象以一连串的字节描述的过程,用于解决在对对象流进行读写操作时所引发的问题。序列化可以将对象的状态写在流里进行网络传输,或保存在文件、数据库里,并在需要时把该流读取出来重新构造一个相同的对象。为了对保存的秘钥进行再次读取或发送给第三方用于加解密,本步骤通过对象序列化方式保存秘钥,以便于后续读取秘钥。
本实施例,在用户输入的密码可以是相同的前提下,通过预设的KeyGenerator秘钥生成类型的对象,对每次需要加密的数据均构建和生成一个唯一的秘钥,且只要知道随机数,结合密码,就能重复生成秘钥。
步骤S2,生成密文:采用秘钥对数据进行加密,生成密文,将密文和随机数发送给服务器。
本步骤采用秘钥通过对称加密算法对数据进行加密,对称加密算法与步骤S101中采用相同的加密算法。
服务器接收到密文和随机数后保存在服务器端的数据库中。在服务器保存密文和随机数前:
在一个实施例中,将密文和随机数发送给服务器,包括:获取用户输入的标识,标识是密文和随机数对应的唯一标记;将密文、随机数和标识一起发送给服务器。
客户端还接受用户输入的标识,由于标识是与随机数对应的唯一标记,因此此标识用于后续找回随机数用。服务器将收到的标识与随机数、密文一起保存在数据库中,保存时,可以采用表格的形式保存在随机数收集表中。客户端发送的密文、随机数和标识可以如下表1所示,服务器保存时,还可以将客户端名称一起进行保存。
Figure PCTCN2018124181-appb-000001
表1
如上表1所示,客户端将密文、随机数和标识一起发送给服务器前还包括:将密文的文件名称进行重命名,重命名名称为标识。
客户端在发送给服务器密文、随机数和标识时,也可以将标识保存在本地数据库中,以便于后续找回秘钥。
本实施例通过标识对随机数进行标记,将密文、随机数和标识一起发送给服务器,在密文和随机数较多的情况下,可以根据用户自定义的标识,容易找回某一秘钥对应的随机数。
在一个实施例中,将密文和随机数发送给服务器,包括:获取当前时间的时间戳,将密文、随机数和时间戳一起发送给服务器。
除了通过标识的方式容易找回随机数外,本实施例还可以采用时间戳的方式,将生成密文或发送给服务器时的时间作为时间戳,还可以将密文的文件名称进行重命名,重命名名称为时间戳。客户端与密文、随机数一起发送给服务器,则此时服务器保存时,可以采用如下表2所示:
Figure PCTCN2018124181-appb-000002
表2
本实施例通过时间戳的方式区别各随机数和密文,虽然在查找随机数和找回秘钥时给用户带来一定的难度,但是由于对密文无特别标识,因此对密文的隐秘性更好。本实施例可以用于加密数据较少时使用。
步骤S3,获取随机数:获取用户触发的秘钥找回请求,向服务器发起秘钥找回请求,获取服务器返回的随机数。
在客户端可以设置秘钥找回界面,秘钥找回界面中可以设置秘钥找回关键字段,当用户丢失秘钥时,用户可以通过秘钥找回界面触发秘钥找回请求,秘钥找回关键字段输入需要找回的秘钥对应的标识或时间戳,至此秘钥找回请求中包含标识或时间戳。具体的,也可以在秘钥找回界面显示所有保存的标识或时间戳,以便于供用户选择标识或时间戳。服务器接收到秘钥找回请求后,从服务器端的数据库中通过标识或时间戳获取对应的随机数后,将随机数返回给客户端,客户端获取到此随机数,用于后续秘钥的生成。
步骤S4,找回秘钥:再次获取用户输入的密码,将密码和服务器返回的随机数通过对称秘钥生成脚本重新生成秘钥,并将秘钥进行存储,完成秘钥的找回。
在秘钥找回界面还可以设置密码输入字段,当用户通过秘钥找回界面触发秘钥找回请求前,还在密码输入字段输入密码,此密码与步骤S3获取的随机数一起作为总随机数,再次通过对称秘钥生成脚本生成秘钥,生成的秘钥与步骤S1生成的秘钥相同,可以用于对密文进行解密。
本实施例通过用户输入的密码和随机数一起生成秘钥,来对数据进行加密,每个需要加密的数据对应的秘钥均不同,即使得到了某一秘钥,也无法对其他加密数据进行解密,保证了数据的可靠性。当用户把秘钥丢失时,本实施例通过随机数找回的方式,与用户自己的密码一起,重新生成秘钥,实现了秘钥的找回功能。且用户只需记住某一密码即可实现不同数据的单独加密。本实施例通过对生成秘钥方式的改进,实现了用户可重复生成秘钥的目的。
在一个实施例中,还包括授权查看数据:当需要将加密数据提供给授权方时,将秘钥和标识发送给授权方,通过授权方向服务器发送查看请求,查看请求中包含有标识,授权方接收到服务器返回的标识对应的密文后,通过秘钥对密文进行解密,生成明文查看数据。
由于本申请的秘钥掌握在客户端用户自己手里,因此若第三方机构需要查看数据前,不仅需要获取秘钥,还需要从服务器下载密文。本实施例通过客户端将标识发送给授权方,以便于服务器根据标识查找对应的密文返回给授权方。除了标识外,客户端也可以通过时间戳等其他方式发送信息给授权方,只要方便于服务器查找对应密文即可。本实施例的这种授权方式,密文可以无需保存在客户端,客户端既可以授权第三方机构查看数据,又大大减轻了客户端存储压力,且此秘钥除了对应的数据,第三方机构无法解密其他数据,大大提高了数据的安全性。
本申请基于对称加密的秘钥丢失找回方法,通过用户输入的密码和随机数结合的方式来生成秘钥,并将随机数保存在服务器端,以便于后续找回秘钥使用,用户只需记忆输入的密码即可,记忆的内容较少,不容易忘记,且秘钥掌握在用户端,即使秘钥丢失,用户也可直接生成和找回秘钥。
在一个实施例中,提出了一种基于对称加密的秘钥丢失找回装置,如图3所示,包括如下模块:
生成秘钥模块,设置为获取用户需要加密的数据和输入的密码,通过随机数发生器生成随机数,将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储;
生成密文模块,设置为采用所述秘钥对所述数据进行加密,生成密文,将所述密文和所述随机数发送给服务器;
获取随机数模块,设置为获取用户触发的秘钥找回请求,向所述服务器发起秘钥找回请求,获取所述服务器返回的所述随机数;
找回秘钥模块,设置为再次获取用户输入的密码,将所述密码和所述服务器返回的所述随机数通过所述对称秘钥生成脚本重新生成所述秘钥,并将所述秘钥进行存储,完成所述秘钥的找回。
在一个实施例中,生成秘钥模块,还设置为在存储介质中预设random()函数,通过调用random()函数生成随机数。
在一个实施例中,生成秘钥模块,包括:
设置名称单元,设置为在存储介质中预设秘钥生成类型的对象,调用秘钥生成类型的对象,设置加密算法的名称;
初始化单元,设置为初始化秘钥的长度;
生成秘钥单元,设置为将密码和随机数设置为总随机数,生成一个对称加密的秘钥;
保存秘钥单元,设置为通过对象序列化方式将秘钥保存在秘钥文件中。
在一个实施例中,生成密文模块,还设置为获取用户输入的标识,标识是密文和随机数对应的唯一标记;将密文、随机数和标识一起发送给服务器。
在一个实施例中,生成密文模块,还设置为将密文的文件名称进行重命名,重命名名称为标识。
在一个实施例中,还包括授权查看数据模块,设置为当需要将加密数据提供给授权方时,将秘钥和标识发送给授权方,通过授权方向服务器发送查看请求,查看请求中包含有标识,授权方接收到服务器返回的标识对应的密文后,通过秘钥对密文进行解密,生成明文查看数据。
在一个实施例中,生成密文模块,还设置为获取当前时间的时间戳,将密文、随机数和时间戳一起发送给服务器。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中基于对称加密的秘钥丢失找回方法中的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中基于对称加密的秘钥丢失找回方法中的步骤。其中,存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (20)

  1. 一种基于对称加密的秘钥丢失找回方法,包括:
    获取用户需要加密的数据和输入的密码,通过随机数发生器生成随机数,将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储;
    采用所述秘钥对所述数据进行加密,生成密文,将所述密文和所述随机数发送给服务器;
    获取用户触发的秘钥找回请求,向所述服务器发起秘钥找回请求,获取所述服务器返回的所述随机数;
    再次获取用户输入的密码,将所述密码和所述服务器返回的所述随机数通过所述对称秘钥生成脚本重新生成所述秘钥,并将所述秘钥进行存储,完成所述秘钥的找回。
  2. 根据权利要求1所述的基于对称加密的秘钥丢失找回方法,其中,所述通过随机数发生器生成随机数,包括:
    在存储介质中预设random()函数,通过调用所述random()函数生成所述随机数。
  3. 根据权利要求1所述的基于对称加密的秘钥丢失找回方法,其中,所述将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储,包括:
    在存储介质中预设秘钥生成类型的对象,调用所述秘钥生成类型的对象,设置加密算法的名称;
    初始化秘钥的长度;
    将所述密码和所述随机数设置为总随机数,生成一个对称加密的秘钥;
    通过对象序列化方式将所述秘钥保存在秘钥文件中。
  4. 根据权利要求1所述的基于对称加密的秘钥丢失找回方法,其中,所述将所述密文和所述随机数发送给服务器,包括:
    获取用户输入的标识,所述标识是所述密文和所述随机数对应的唯一标记;
    将所述密文、所述随机数和所述标识一起发送给所述服务器。
  5. 根据权利要求4所述的基于对称加密的秘钥丢失找回方法,其中,所述将所述密文、所述随机数和所述标识一起发送给所述服务器前还包括:
    将所述密文的文件名称进行重命名,重命名名称为所述标识。
  6. 根据权利要求4所述的基于对称加密的秘钥丢失找回方法,其中,还包括授权查看数据:
    当需要将加密数据提供给授权方时,将所述秘钥和所述标识发送给所述授权方,通过授权方向所述服务器发送查看请求,所述查看请求中包含有所述标识,所述授权方接收到所述服务器返回的所述标识对应的密文后,通过所述秘钥对密文进行解密,生成明文查看所述数据。
  7. 根据权利要求1所述的基于对称加密的秘钥丢失找回方法,其中,所述将所述密文和所述随机数发送给服务器,包括:
    获取当前时间的时间戳,将所述密文、所述随机数和时间戳一起发送给所述服务器。
  8. 一种基于对称加密的秘钥丢失找回装置,包括:
    生成秘钥模块,设置为获取用户需要加密的数据和输入的密码,通过随机数发生器生成随机数,将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储;
    生成密文模块,设置为采用所述秘钥对所述数据进行加密,生成密文,将所述密文和所述随机数发送给服务器;
    获取随机数模块,设置为获取用户触发的秘钥找回请求,向所述服务器发起秘钥找回请求,获取所述服务器返回的所述随机数;
    找回秘钥模块,设置为再次获取用户输入的密码,将所述密码和所述服务器返回的所述随机数通过所述对称秘钥生成脚本重新生成所述秘钥,并将所述秘钥进行存储,完成所述秘钥的找回。
  9. 根据权利要求8所述的基于对称加密的秘钥丢失找回装置,其中,所述生成秘钥模块,还设置为在存储介质中预设random()函数,通过调用所述random()函数生成所述随机数。
  10. 根据权利要求8所述的基于对称加密的秘钥丢失找回装置,其中,所述生成秘钥模块,包括:
    设置名称单元,设置为在存储介质中预设秘钥生成类型的对象,调用所述秘钥生成类型的对象,设置加密算法的名称;
    初始化单元,设置为初始化秘钥的长度;
    生成秘钥单元,设置为将所述密码和所述随机数设置为总随机数,生成一个对称加密的秘钥;
    保存秘钥单元,设置为通过对象序列化方式将所述秘钥保存在秘钥文件中。
  11. 根据权利要求8所述的基于对称加密的秘钥丢失找回装置,其中,所述生成密文模块,还设置为获取用户输入的标识,所述标识是所述密文和所述随机数对应的唯一标记;将所述密文、所述随机数和所述标识一起发送给所述服务器。
  12. 根据权利要求11所述的基于对称加密的秘钥丢失找回装置,其中,所述生成密文模块,还设置为将所述密文的文件名称进行重命名,重命名名称为所述标识。
  13. 根据权利要求11所述的基于对称加密的秘钥丢失找回装置,其中,还包括授权查看数据模块,设置为当需要将加密数据提供给授权方时,将所述秘 钥和所述标识发送给所述授权方,通过授权方向所述服务器发送查看请求,所述查看请求中包含有所述标识,所述授权方接收到所述服务器返回的所述标识对应的密文后,通过所述秘钥对密文进行解密,生成明文查看所述数据。
  14. 根据权利要求8所述的基于对称加密的秘钥丢失找回装置,其中,所述生成密文模块,还设置为获取当前时间的时间戳,将所述密文、所述随机数和时间戳一起发送给所述服务器。
  15. 一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:
    获取用户需要加密的数据和输入的密码,通过随机数发生器生成随机数,将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储;
    采用所述秘钥对所述数据进行加密,生成密文,将所述密文和所述随机数发送给服务器;
    获取用户触发的秘钥找回请求,向所述服务器发起秘钥找回请求,获取所述服务器返回的所述随机数;
    再次获取用户输入的密码,将所述密码和所述服务器返回的所述随机数通过所述对称秘钥生成脚本重新生成所述秘钥,并将所述秘钥进行存储,完成所述秘钥的找回。
  16. 根据权利要求15所述的计算机设备,其中,所述将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储时,使得所述处理器执行以下步骤:
    在存储介质中预设秘钥生成类型的对象,调用所述秘钥生成类型的对象,设置加密算法的名称;
    初始化秘钥的长度;
    将所述密码和所述随机数设置为总随机数,生成一个对称加密的秘钥;
    通过对象序列化方式将所述秘钥保存在秘钥文件中。
  17. 根据权利要求15所述的计算机设备,其中,所述将所述密文和所述随机数发送给服务器时,使得所述处理器执行以下步骤:
    获取用户输入的标识,所述标识是所述密文和所述随机数对应的唯一标记;
    将所述密文、所述随机数和所述标识一起发送给所述服务器。
  18. 一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:
    获取用户需要加密的数据和输入的密码,通过随机数发生器生成随机数,将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储;
    采用所述秘钥对所述数据进行加密,生成密文,将所述密文和所述随机数发送给服务器;
    获取用户触发的秘钥找回请求,向所述服务器发起秘钥找回请求,获取所述服务器返回的所述随机数;
    再次获取用户输入的密码,将所述密码和所述服务器返回的所述随机数通过所述对称秘钥生成脚本重新生成所述秘钥,并将所述秘钥进行存储,完成所述秘钥的找回。
  19. 根据权利要求18所述的存储介质,其中,所述将所述密码和所述随机数通过预设的对称秘钥生成脚本生成对称加密的秘钥,并进行存储时,使得一个或多个所述处理器执行以下步骤:
    在存储介质中预设秘钥生成类型的对象,调用所述秘钥生成类型的对象,设置加密算法的名称;
    初始化秘钥的长度;
    将所述密码和所述随机数设置为总随机数,生成一个对称加密的秘钥;
    通过对象序列化方式将所述秘钥保存在秘钥文件中。
  20. 根据权利要求18所述的存储介质,其中,所述将所述密文和所述随机数发送给服务器时,使得一个或多个所述处理器执行以下步骤:
    获取用户输入的标识,所述标识是所述密文和所述随机数对应的唯一标记;
    将所述密文、所述随机数和所述标识一起发送给所述服务器。
PCT/CN2018/124181 2018-11-20 2018-12-27 基于对称加密的秘钥丢失找回方法及相关设备 Ceased WO2020103285A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811381039.7A CN109617677A (zh) 2018-11-20 2018-11-20 基于对称加密的秘钥丢失找回方法及相关设备
CN201811381039.7 2018-11-20

Publications (1)

Publication Number Publication Date
WO2020103285A1 true WO2020103285A1 (zh) 2020-05-28

Family

ID=66004653

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/124181 Ceased WO2020103285A1 (zh) 2018-11-20 2018-12-27 基于对称加密的秘钥丢失找回方法及相关设备

Country Status (2)

Country Link
CN (1) CN109617677A (zh)
WO (1) WO2020103285A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430042B (zh) * 2019-06-28 2022-11-22 中国人民解放军战略支援部队信息工程大学 一种在异构冗余系统中存储秘钥的装置及方法
CN110427779A (zh) * 2019-08-13 2019-11-08 威富通科技有限公司 一种数据库表字段的加、解密方法及数据服务器
CN112632586A (zh) * 2020-12-30 2021-04-09 浪潮电子信息产业股份有限公司 Bios硬盘密码找回方法、装置、设备及可读存储介质
CN113079002B (zh) * 2021-03-26 2022-04-05 北京深思数盾科技股份有限公司 数据加密方法、解密方法、密钥管理方法、介质和设备
CN113315629B (zh) * 2021-04-28 2023-07-11 四川万信数字科技有限公司 用于商业密码的云端存储和验证系统
CN113364760A (zh) * 2021-06-01 2021-09-07 平安科技(深圳)有限公司 一种数据加密处理方法、装置、计算机设备及存储介质
CN113609497B (zh) * 2021-06-30 2022-09-23 荣耀终端有限公司 一种数据保护方法及装置
CN113517979B (zh) * 2021-09-10 2021-12-31 北京智科车联科技有限公司 加密通信方法、装置、车载终端及通信平台
CN114679312B (zh) * 2022-03-22 2023-05-05 通号智慧城市研究设计院有限公司 加密方法、电子设备和计算机可读存储介质
CN115734215B (zh) * 2022-09-01 2025-08-19 中国联合网络通信集团有限公司 密钥找回方法、服务器及识别卡
CN116684092B (zh) * 2023-07-28 2023-10-13 新乡学院 一种基于网络的密码存储、找回方法及密码找回装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667913A (zh) * 2009-09-18 2010-03-10 重庆邮电大学 基于对称加密的认证加密方法及加密系统
CN106548345A (zh) * 2016-12-07 2017-03-29 北京信任度科技有限公司 基于密钥分割实现区块链私钥保护的方法及系统
CN108418680A (zh) * 2017-09-05 2018-08-17 矩阵元技术(深圳)有限公司 一种基于多方安全计算技术的区块链密钥恢复方法、介质
CN108629027A (zh) * 2018-05-09 2018-10-09 深圳壹账通智能科技有限公司 区块链上用户数据库重建方法、装置、设备及介质
CN108833093A (zh) * 2018-06-14 2018-11-16 百度在线网络技术(北京)有限公司 账户密钥的确定方法、装置、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593196B (zh) * 2008-05-30 2013-09-25 日电(中国)有限公司 用于快速密文检索的方法、装置和系统
CN101340279B (zh) * 2008-07-09 2011-02-02 深圳市金蝶友商电子商务服务有限公司 数据加密及解密方法、系统及设备
CN103684766B (zh) * 2012-08-30 2017-03-08 卓望数码技术(深圳)有限公司 一种终端用户的私钥保护方法和系统
JP2014068140A (ja) * 2012-09-25 2014-04-17 Sony Corp 情報処理装置、情報処理方法及びプログラム
CN104348786B (zh) * 2013-07-29 2018-09-04 腾讯科技(深圳)有限公司 密码找回方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667913A (zh) * 2009-09-18 2010-03-10 重庆邮电大学 基于对称加密的认证加密方法及加密系统
CN106548345A (zh) * 2016-12-07 2017-03-29 北京信任度科技有限公司 基于密钥分割实现区块链私钥保护的方法及系统
CN108418680A (zh) * 2017-09-05 2018-08-17 矩阵元技术(深圳)有限公司 一种基于多方安全计算技术的区块链密钥恢复方法、介质
CN108629027A (zh) * 2018-05-09 2018-10-09 深圳壹账通智能科技有限公司 区块链上用户数据库重建方法、装置、设备及介质
CN108833093A (zh) * 2018-06-14 2018-11-16 百度在线网络技术(北京)有限公司 账户密钥的确定方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN109617677A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
WO2020103285A1 (zh) 基于对称加密的秘钥丢失找回方法及相关设备
CN110224814B (zh) 一种区块链数据共享方法及装置
CN106790250B (zh) 数据处理、加密、完整性校验方法及身份鉴别方法及系统
US8892866B2 (en) Secure cloud storage and synchronization systems and methods
TWI489847B (zh) 資料加密方法、資料驗證方法及電子裝置
US20110145576A1 (en) Secure method of data transmission and encryption and decryption system allowing such transmission
US20090022319A1 (en) Method and apparatus for securing data and communication
CN109194461B (zh) 基于双密钥流密码的单向链表顺序加密解密方法
Bhagoliwal et al. Securing mobile data using cryptography
AU2017308060B2 (en) Devices and methods for enabling portable secure communication using random cipher pad cryptography
CN111586076A (zh) 基于混合密码的遥控遥测信息防篡改加解密方法和系统
WO2021114850A1 (zh) 消息的加解密、读写方法、装置、计算机设备和存储介质
CN103152362A (zh) 基于云计算的大数据文件加密传输方法
Shukla et al. Sampurna suraksha: unconditionally secure and authenticated one time pad cryptosystem
US20240187477A1 (en) Method and system for secure file sharing based on domestic cryptographic algorithm
CN119210719A (zh) 加密方法、解密方法、分词单向加密方法、设备和介质
CN111432403A (zh) 基于区块链的数据审计方法及装置
US8195959B2 (en) Encrypting a credential store with a lockbox
Sujithra et al. ID based adaptive-key signcryption for data security in cloud environment
US20180287796A1 (en) Security key hopping
CN118540049B (zh) 基于商用密码算法的高效保序加解密方法和计算机设备
US10050943B2 (en) Widely distributed parameterization
CN117914593A (zh) 数据加密方法、数据解密方法、装置、设备和可读介质
US12160509B2 (en) Cryptographic systems and methods for maintenance of pools of random numbers
CN115412236A (zh) 一种密钥管理和密码计算的方法、加密方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18940963

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18940963

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 09/09/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18940963

Country of ref document: EP

Kind code of ref document: A1