Question bank data processing method and device, equipment, storage medium and program product
By obtaining the user terminal's IP address to determine the encryption public key and random number, the question bank data is subjected to multiple encryptions, which solves the problem of the poor effectiveness of existing data security protection methods and achieves the security of question bank data during transmission.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA CONSTRUCTION BANK
- Filing Date
- 2024-06-18
- Publication Date
- 2026-04-10
AI Technical Summary
Existing data security protection methods are ineffective and there is a possibility of data leakage.
By receiving request information from the user terminal, the system obtains the IP address, determines the encryption public key, encrypts the question bank data using the encryption public key and a random number, and sends the encrypted data and the combined key to the user terminal. The user terminal then decrypts the data using the decryption private key.
This ensures the security of the question bank data during transmission and reduces the possibility of data leakage.
Smart Images

Figure CN118802325B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data security, and particularly relates to a question bank data processing method and device, equipment, a storage medium and a program product. BACKGROUND
[0002] With the continuous development of information technology, a large number of transactions can be implemented through a network at present, and data security has gradually become a research direction that people pay increasing attention to.
[0003] At present, the way of increasing data security in the prior art includes avoiding external attacks by using a white list, a black list and the like.
[0004] However, the inventors have found that the prior art at least has the following technical problem: the current data security protection method has poor effect. SUMMARY
[0005] The present application provides a question bank data processing method and device, equipment, a storage medium and a program product to solve the problem of poor effect of data security protection.
[0006] In a first aspect, the present application provides a question bank data processing method applied to a server, comprising: receiving request information sent by a user terminal, and obtaining an Internet Protocol (IP) address in the request information; obtaining question bank data according to the request information; determining an encryption public key according to the IP address; generating a random number; encrypting the question bank data by using the encryption public key and the random number to obtain encrypted question bank data; combining the encryption public key and the random number to obtain a combined secret key; and sending the encrypted question bank data and the combined secret key to the user terminal, so that the user terminal determines a decryption private key, and decrypts the encrypted question bank data according to the decryption private key and the combined secret key to obtain the question bank data.
[0007] In a possible implementation manner, the encryption public key is determined according to the IP address, comprising: obtaining a target request number according to the IP address by searching a preset address-request number correspondence relationship; determining two target prime numbers according to the target request number; inputting the target prime numbers into an Euler function to obtain a target Euler function value; calculating a product of the target prime numbers to obtain a prime number product; determining a public key exponent according to the target Euler function value; and combining the public key exponent and the prime number product to obtain the encryption public key.
[0008] In a possible implementation manner, the two prime numbers are determined according to the target request number, comprising: multiplying the target request number by a preset value to obtain a target base number; determining two unequal prime numbers greater than the target base number and smallest as the target prime numbers; or determining two unequal prime numbers smaller than the target base number and largest as the target prime numbers.
[0009] In a possible implementation, the public key exponent is determined according to the target Euler function value, including: determining the largest prime number smaller than the target Euler function value as the public key exponent.
[0010] In a possible implementation, the encrypted public key and the random number are combined to obtain the combined key, including: inserting each number in the random number into the encrypted public key in a front-back order and at random intervals to obtain the combined key.
[0011] In a possible implementation, the request information includes a question type; accordingly, the question bank data is obtained according to the request information, including: determining whether the IP address is an IP address in a white list, and if yes, obtaining corresponding question bank data according to the question type.
[0012] In a second aspect, the application provides a question bank data processing method applied to a user terminal, including: sending request information to a server, so that the server obtains an Internet Protocol (IP) address in the request information, obtaining question bank data according to the request information, determining an encrypted public key according to the IP address, encrypting the question bank data by using the encrypted public key to obtain encrypted question bank data; in response to receiving the encrypted question bank data sent by the server, determining a decryption private key; and decrypting the encrypted question bank data by using the decryption private key to obtain the question bank data.
[0013] In a possible implementation, the decryption private key is determined, including: obtaining a target request number; determining two target prime numbers according to the target request number; inputting the target prime numbers into an Euler function to obtain a target Euler function value; calculating a product of the target prime numbers to obtain a prime product; determining a public key exponent according to the target Euler function value; inputting the public key exponent and the target Euler function value into a preset equation to obtain an equation to be solved; solving the equation to be solved to obtain a private key exponent; and combining the private key exponent and the prime product to obtain the decryption private key.
[0014] In a possible implementation, the encrypted question bank data is decrypted according to the decryption private key and the combined secret key to obtain the question bank data, including: combining the public key exponent and the prime number product to obtain an encrypted public key; determining the value of the first bit of data of the encrypted public key as a target public key value; determining the value of the first bit of data of the combined secret key as a target secret key value; if the target public key value is the same as the target secret key value, determining the value of the next bit of data of the encrypted public key as a new target public key value, and determining the value of the next bit of data of the target secret key value as a new target secret key value; if the target public key value is different from the target secret key value, determining the target secret key value as a target random number value, and determining the value of the next bit of data of the target secret key value as a new target secret key value; repeatedly performing the step of determining whether the target public key value is the same as the target secret key value until the target public key value is the value of the last bit of data of the encrypted public key, and splicing the obtained target random number values to obtain a random number; and decrypting the encrypted question bank data by using the decryption private key and the random number to obtain the question bank data.
[0015] In a third aspect, the present application provides a question bank data processing apparatus, including: an information receiving module, configured to receive request information sent by a user terminal, and obtain an Internet Protocol (IP) address in the request information;
[0016] a data obtaining module, configured to obtain question bank data according to the request information; a public key determining module, configured to determine an encrypted public key according to the IP address; a random number generating module, configured to generate a random number; a data encrypting module, configured to encrypt the question bank data by using the encrypted public key and the random number to obtain encrypted question bank data; a secret key combining module, configured to combine the encrypted public key and the random number to obtain a combined secret key; and a data sending module, configured to send the encrypted question bank data and the combined secret key to the user terminal, so that the user terminal determines a decryption private key, and decrypts the encrypted question bank data according to the decryption private key and the combined secret key to obtain the question bank data.
[0017] In a fourth aspect, the present application provides a question bank data processing apparatus, including: an information sending module, configured to send request information to a server, so that the server obtains an Internet Protocol (IP) address in the request information, obtains question bank data according to the request information, determines an encrypted public key according to the IP address, generates a random number, encrypts the question bank data by using the encrypted public key and the random number to obtain encrypted question bank data, and combines the encrypted public key and the random number to obtain a combined secret key; a private key determining module, configured to determine a decryption private key in response to receiving the encrypted question bank data and the combined secret key sent by the server; and a data decrypting module, configured to decrypt the encrypted question bank data according to the decryption private key and the combined secret key to obtain the question bank data.
[0018] In a fifth aspect, the present application provides an electronic device, comprising: a processor, and a memory connected with the processor in communication; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, so that the processor executes the test bank data processing method provided in the first aspect or the second aspect.
[0019] In a sixth aspect, the present application provides a computer-readable storage medium, the computer-readable storage medium stores computer-executable instructions, the computer-executable instructions are executed by a processor to implement the test bank data processing method provided in the first aspect or the second aspect.
[0020] In a seventh aspect, the present application provides a computer program product, comprising a computer program, the computer program is executed by a processor to implement the test bank data processing method provided in the first aspect or the second aspect.
[0021] The test bank data processing method, device, equipment, storage medium and program product provided by the present application can determine the encryption public key by using the IP address of the user terminal, encrypt the obtained test bank data by using the encryption public key, and send the encrypted test bank data to the user terminal, thereby achieving the effect of ensuring the security of the test bank data in the transmission process. BRIEF DESCRIPTION OF DRAWINGS
[0022] The accompanying drawings, which are incorporated into and form part of the specification, illustrate embodiments consistent with the present application and, together with the specification, serve to explain the principles of the application.
[0023] Figure 1 The application scenario diagram of the test bank data processing method provided by the embodiment of the present application is shown in the figure.
[0024] Figure 2 The flowchart of the test bank data processing method provided by the embodiment of the present application is shown in the figure. Figure 1 ;
[0025] Figure 3 The flowchart of the test bank data processing method provided by the embodiment of the present application is shown in the figure. Figure 2 ;
[0026] Figure 4 The interaction flowchart of the test bank data processing method provided by the embodiment of the present application is shown in the figure.
[0027] Figure 5 The structure diagram of the test bank data processing device provided by the embodiment of the present application is shown in the figure. Figure 1 ;
[0028] Figure 6 The structure diagram of the test bank data processing device provided by the embodiment of the present application is shown in the figure. Figure 2 ;
[0029] Figure 7 A structural schematic diagram of an electronic device provided by an embodiment of the present application is shown.
[0030] The specific embodiments of the present application have been shown by the above drawings, and will be described in more detail hereinafter. These drawings and the written description are not intended to restrict the scope of the present application by any means, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0031] The exemplary embodiments will be described in detail herein with reference to the attached drawings. In the following description, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments are not representative of all embodiments consistent with the present application. Rather, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0032] With the rapid progress of information technology, many transactions can now be efficiently completed through the network, which makes data security issues increasingly the focus of public attention and an important direction of research.
[0033] In the current technical background, in order to strengthen data security, the industry generally uses methods such as implementing white lists, black lists and other mechanisms to resist potential external security threats and attacks. However, this approach still has the possibility of data leakage.
[0034] To solve the above technical problems, the inventors propose the following technical concept: receiving request information sent by a user terminal, obtaining an IP address in the request information, obtaining question bank data according to the request information, determining an encryption public key corresponding to the IP address, encrypting the question bank data using the encryption public key, obtaining encrypted question bank data, sending the encrypted question bank data to the user terminal, and decrypting the encrypted question bank data by the user terminal to obtain the question bank data.
[0035] The present application is applied to the scenario of processing question bank data. It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant laws, regulations and standards, and provide corresponding operation portal for user to choose authorization or refusal. In the embodiments of the present application, some industry existing solutions such as software, components, models, etc. may be mentioned, which should be considered as exemplary, and the purpose is only to illustrate the feasibility of the implementation of the technical solutions of the present application, but it does not mean that the applicant has or will necessarily use the solution.
[0036] Figure 1 The application scenario of the question bank data processing method provided by the embodiment of the present application is shown in the figure. As shown in the figure, Figure 1 In this scenario, it includes a user terminal 101 and a server 102.
[0037] In the specific implementation process, the user terminal 101 can include a computer, a server, a tablet, a mobile phone, a personal digital assistant (PDA), a notebook computer, etc., which can input data.
[0038] The server 102 can be implemented by using a server or a cluster composed of multiple servers with stronger processing capability and higher security, and in possible cases, a computer or a notebook computer with stronger computing capability can also be used for replacement. For example, a front-end server, a reverse proxy server, and a back-end server are composed.
[0039] The connection between the server 102 and the user terminal 101 can be wired connection or wireless connection.
[0040] The server 102 is configured to receive the request information sent by the user terminal 101, determine the encryption public key according to the IP address of the request information, encrypt the question bank data corresponding to the request information by using the encryption public key, obtain encrypted question bank data, and send the encrypted question bank data to the user terminal 101.
[0041] The user terminal 101 is configured to decrypt the received encrypted question bank data to obtain the question bank data.
[0042] It can be understood that the structure shown in the embodiment of the present application does not constitute a specific limitation on the question bank processing method. In other possible embodiments of the present application, the above-mentioned architecture can include more or fewer components than the figure, or combine certain components, or split certain components, or different component arrangement, which can be determined according to the actual application scene, and is not limited here. Figure 1 The components shown can be realized by hardware, software, or a combination of software and hardware.
[0043] The technical solutions of the present application and how the technical solutions of the present application solve the above-mentioned technical problems will be described in detail in the following specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes can not be described in detail in some embodiments. The embodiments of the present application will be described below with reference to the accompanying drawings.
[0044] Figure 2 The flowchart of the question bank data processing method provided by the embodiment of the present application is shown in Figure 1 The execution subject of the embodiment of the present application can beFigure 1 The server in this example can be a computer or / or mobile phone, etc., and this embodiment does not impose any particular limitations on it. Figure 2 As shown, the method includes:
[0045] S201: Receive request information sent by the user terminal and obtain the Internet Protocol (IP) address from the request information.
[0046] In this step, request information can be received by receiving data packets or messages. The IP address in the request information can be obtained by reading the IP address field in the request information, or it can be read using a preset address acquisition program.
[0047] In one possible implementation, the server includes a front-end server, a server-side reverse proxy server, and a back-end server. The front-end server receives the request information and transmits it to the server-side reverse proxy server. The server-side reverse proxy server obtains the IP address of the request information, writes the IP address into the header of the request information, and sends the written request information to the back-end server. The back-end server reads the header of the request information to obtain the IP address.
[0048] S202: Obtain the question bank data based on the requested information.
[0049] This step may include searching for question bank data based on the request content of the request information; or it may include reading question bank data corresponding to the question type and number of questions in the question bank data based on the question type and number of questions in the request information.
[0050] S203: Determine the encryption public key based on the IP address.
[0051] This step may include inputting the IP address into a public key generation program to obtain an encrypted public key.
[0052] The public key generation program can be pre-written by staff. This program can perform calculations on the IP address using preset rules to obtain an encrypted public key; alternatively, it can also include obtaining a timestamp, performing calculations on the timestamp and IP address using preset rules to obtain the encrypted public key.
[0053] S204: Generate random numbers.
[0054] This step may include generating random numbers using preset programs, scripts, functions, or commands.
[0055] S205: Encrypt the question bank data using a public key and a random number to obtain the encrypted question bank data.
[0056] In this step, the encrypted public key and the random number can be combined to obtain a combined secret key.
[0057] S206: Combine the encrypted public key and the random number to obtain a combined secret key.
[0058] In this step, the encrypted public key and the random number can be combined according to a rule preset by a staff member to obtain a combined secret key.
[0059] For example, the random number can be inserted into the encrypted public key, or the data of each bit of the random number can be reversed in order and then inserted into the encrypted public key.
[0060] S207: Send the encrypted question bank data to the user terminal, so that the user terminal determines a decryption private key and decrypts the encrypted question bank using the decryption private key to obtain the question bank data.
[0061] In this step, the encrypted question bank data can be sent to the user terminal in the format of a data packet or a message.
[0062] If a timestamp is used in the calculation of the encrypted public key, the timestamp of the encrypted public key is sent together with the encrypted question bank data, so that the user terminal generates a decryption private key using a private key generation program.
[0063] As can be seen from the description of the above embodiments, the embodiments of the present application determine an encrypted public key by using the IP address of the user terminal, encrypt the obtained question bank data using the encrypted public key and a random number, combine the encrypted public key and the random number to obtain a combined secret key, and send the encrypted question bank data and the combined secret key to the user terminal, thereby achieving the effect of protecting the security of the question bank data and the secret key during transmission through multiple encryption.
[0064] In a possible implementation, in the step S203, the encrypted public key is determined according to the IP address, including:
[0065] S2031: According to the IP address, find a preset IP address and public key correspondence to obtain an encrypted public key.
[0066] In this step, the preset IP address and public key correspondence can be preset by a staff member and stored in the form of a table or a key-value pair.
[0067] As can be seen from the description of the above embodiments, the embodiments of the present application directly find the encrypted public key corresponding to the IP address according to the correspondence, which facilitates subsequent encryption of the question bank data using the public key agreed upon in advance with the terminal device and reduces the amount of calculation.
[0068] In a possible implementation, in the step S203, the encrypted public key is determined according to the IP address, including:
[0069] S2031: According to the IP address, the preset address and request number correspondence relationship is searched to obtain a target request number.
[0070] In this step, the address and request number correspondence relationship can be set according to the terminal device interaction corresponding to the IP address, and is stored in a table or key-value pair format.
[0071] S2032: Two target prime numbers are determined according to the target request number.
[0072] In this step, the request number and prime number correspondence relationship can be searched to obtain two target prime numbers.
[0073] The request number and prime number correspondence relationship can be set by a staff in advance and stored in a table or key-value pair format.
[0074] S2033: The target prime numbers are input into the Euler function to obtain a target Euler function value.
[0075] In this step, the Euler function is as follows:
[0076] φ = (p-1)(q-1)
[0077] In the formula, φ represents the target Euler function value, and p and q represent the target prime numbers. The target Euler function value can be obtained by inputting the two prime numbers into the Euler function p and q.
[0078] S2034: The product of the target prime numbers is calculated to obtain a prime number product.
[0079] In this step, the two target prime numbers are multiplied to obtain the prime number product.
[0080] For example, the two target prime numbers are 307 and 311, and the prime number product obtained by multiplying 307 and 311 is 95477. For another example, the target prime numbers are 883 and 887, and the prime number product obtained by multiplying 883 and 887 is 783221.
[0081] S2035: The public key index is determined according to the target Euler function value.
[0082] In this step, the target Euler function value can be divided by a preset value and rounded to obtain the public key index.
[0083] The preset value is greater than 0 and less than 1.
[0084] S2036: Combine the public key index and the prime product to obtain an encryption public key.
[0085] In this step, for example, the public key index is 31826, and the prime product is 95477, and the encryption public key is (95477, 31826); for another example, the public key index is 261074, and the prime product is 783221, and the encryption public key is (783221, 261074).
[0086] From the description of the above embodiments, it can be known that the embodiments of the application realize that the terminal device can obtain the public key without pre-allocating the public key by combining the request times to generate the encryption public key, reduce the possibility of leakage in the process of public key transmission, so that only the terminal device and the server can encrypt and decrypt the question bank data.
[0087] In a possible implementation, in the step S2032, two prime numbers are determined according to the target request number, including:
[0088] S321: Multiply the target request number by a preset value to obtain a target base.
[0089] In this step, the preset value can be set by the staff in advance.
[0090] For example, the target request number is 320, and the preset value is 100, and the target base is 32000; for another example, the target request number is 270, and the preset value is 200, and the target base is 54000.
[0091] S322A: Determine two unequal prime numbers greater than the target base and the smallest as target prime numbers.
[0092] In this step, for example, the target base is 35000, and the two unequal prime numbers greater than 35000 and the smallest are 35023 and 35027; for another example, the target base is 42000, and the two unequal prime numbers greater than 42000 and the smallest are 42013 and 42017.
[0093] S322B: Determine two unequal prime numbers less than the target base and the largest as target prime numbers.
[0094] In this step, for example, the target base is 38000, and the target prime numbers are 37933 and 37997; for another example, the target base is 423500, and the target prime numbers are 423481 and 423497.
[0095] In the steps S322A and S322B, the way of determining the target prime number can include searching a preset prime table, or inputting the target base into a prime calculation program written by the staff in advance.
[0096] From the description of the above embodiments, it can be known that the embodiments of the present application multiply the target request number by the preset value to obtain the target base, and find two prime numbers meeting the preset rule based on the target base, so that the same two prime numbers are found in the case that the server and the terminal device do not inform each other.
[0097] In a possible implementation, in the step S2035, the public key index is determined according to the target Euler function value, including:
[0098] S2036: determining the largest prime number less than the target Euler function value as the public key index.
[0099] This step is similar to the step S322B described above, and will not be described here.
[0100] From the description of the above embodiments, it can be known that the embodiments of the present application determine the largest prime number less than the target Euler function value as the public key index, so that the same public key index can be obtained on both sides without the interaction between the server and the terminal device, and the possibility of information leakage is reduced.
[0101] In a possible implementation, in the step S206, the encryption public key and the random number are combined to obtain the combined secret key, including:
[0102] S2061: inserting each number in the random number into the encryption public key in the order of front and back and with random intervals to obtain the combined secret key.
[0103] In this step, for example, if the random number is "12345678" and the encryption public key is inserted, the order of "12345678" is maintained. However, the values of 1, 2, 3 or more encryption public keys can be inserted as intervals, for example, if the random number is "8271" and the encryption public key is "7766991100", the combined secret key "78726697911010" can be obtained after insertion. The above random number in the combined secret key is marked with a single quotation mark "7 '8' 7 '2' 669 '7' 9110 '1' 0". It can be seen that the "8" and "2" of the random number are separated by one "7", the "2" and "7" of the random number are separated by three "669", and the "7" and "1" of the random number are separated by four "9110", but the order of the digits of the random number is maintained. For example, if the random number is "8956" and the encryption public key is "72341268", the combined secret key "872394152668" can be obtained after insertion. The above random number in the combined secret key is marked with a single quotation mark " '8' 723 '9' 41 '5' 2 '6' 68". It can be seen that the "8" and "9" of the random number are separated by three "723", the "9" and "5" of the random number are separated by two "41", and the "5" and "6" of the random number are separated by one "2", but the order of the digits of the random number is maintained.
[0104] As can be seen from the description of the above embodiments, the embodiments of the present application insert each digit of the random number into the encryption public key with random intervals to obtain a combined secret key, thereby achieving encryption of the encryption public key and the random number during transmission and reducing the possibility of data leakage.
[0105] In a possible implementation, the request information includes a question type.
[0106] Correspondingly, in S202, the question bank data is obtained according to the request information, including:
[0107] S2021: Determine whether the IP address is an IP address in the white list. If yes, obtain the corresponding question bank data according to the question type.
[0108] In this step, the IP address of the request information can be searched in the white list. If it can be found, the corresponding question bank data is obtained according to the question type. If it cannot be found, no processing is performed. Obtaining the corresponding question bank data according to the question type can include searching for the data corresponding to the question type in the question bank.
[0109] As can be seen from the description of the above embodiments, the embodiments of the present application set up a white list to screen the IP address of the request information, avoid access from external IP, and reduce data security threats.
[0110] Figure 3A flowchart illustrating the question bank data processing method provided in the embodiments of this application. Figure 2 The question bank data processing method provided in this application is applied to a user terminal. For example... Figure 3 As shown, the question bank data processing methods include:
[0111] S301: Send a request to the server so that the server can obtain the Internet Protocol IP address in the request information, obtain the question bank data according to the request information, determine the encryption public key according to the IP address, generate a random number, encrypt the question bank data using the encryption public key and the random number to obtain the encrypted question bank data, and combine the encryption public key and the random number to obtain the combined key.
[0112] In this step, the request information can be sent by sending data packets or messages.
[0113] S302: In response to receiving the encrypted question bank data and combined key sent by the server, determine the decryption private key.
[0114] This step can include directly reading the decryption private key after receiving the question bank data and the combined key, or generating the decryption private key based on its own IP address or the number of interactions with the server.
[0115] S303: Use the decryption private key and the combination key to decrypt the encrypted question bank data to obtain the question bank data.
[0116] This step may include restoring the combined key to obtain the random number in step S301 above, and using the decryption private key and the random number to decrypt the encrypted question bank data twice to obtain the question bank data.
[0117] As can be seen from the description of the above embodiments, the embodiments of this application send a request message to the server to receive encrypted question bank data sent by the server, and use the decryption private key to decrypt the encrypted question bank data to obtain the question bank data, thereby realizing encrypted transmission of question bank data and reducing the possibility of question bank data leakage.
[0118] In one possible implementation, step S302 above, determining the decryption private key, includes:
[0119] S3021: Get the target number of requests.
[0120] This step may include reading the pre-stored number of times request information is sent to the server, as the target number of requests.
[0121] The number of times a request message is sent can be recorded after each request message is sent.
[0122] S3022: Determine two target prime numbers based on the number of target requests.
[0123] S3023: input the target prime number into the Euler function to obtain a target Euler function value.
[0124] S3024: calculate the product of the target prime number to obtain a prime product.
[0125] S3025: determine a public key exponent according to the target Euler function value.
[0126] The steps S3022 to S2035 are similar to the steps S2032 to S2035, and will not be described here again.
[0127] S3026: input the public key exponent and the target Euler function value into a preset equation to obtain a to-be-solved equation.
[0128] In this step, the preset equation is as follows:
[0129] ax + by = 1
[0130] In the formula, a represents the public key exponent, b represents the target Euler function, x and y are variables, and the positive solution of the variables obtained by solving is taken as a private key exponent.
[0131] S3027: solve the to-be-solved equation to obtain the private key exponent.
[0132] In this step, the extended Euclidean algorithm can be used to solve the to-be-solved equation to obtain the private key exponent.
[0133] S3028: combine the private key exponent and the prime product to obtain a decryption private key.
[0134] This step is similar to the step S2036 described above, and will not be described here again. In a possible implementation, the encryption public key in the step S2036 described above and the decryption private key in this step are stored in ASN.1 format or other formats.
[0135] As can be seen from the description of the above embodiments, the decryption private key can be obtained without pre-communication with the server by calculating the decryption private key according to the request times stored by the user terminal, thereby increasing the security of data transmission.
[0136] In a possible implementation, in the step S303, the encrypted question bank data is decrypted according to the decryption private key and the combination secret key to obtain the question bank data, including:
[0137] S3031: combine the public key exponent and the prime product to obtain an encryption public key.
[0138] This step is similar to the step S3036 described above, and will not be described here again.
[0139] S3032: Determine the value of the first bit of the encryption public key as the target public key value.
[0140] In this step, for example, the encryption public key is "871098", the first "8" is determined as the target public key value; for example, the encryption public key is "73981393", the first "7" is determined as the target public key value.
[0141] S3033: Determine the value of the first bit of the combined secret key as the target secret key value.
[0142] This step is similar to the above step S3032, which will not be described here.
[0143] S3034: If the target public key value and the target secret key value are the same, determine the value of the next bit of the encryption public key as the new target public key value, and determine the value of the next bit of the target secret key value as the new target secret key value.
[0144] In this step, for example, the combined secret key is "72659012", the encryption public key is "76502", after the above steps S3033 and S3034, the original target secret key value and the target public key value are both 7, then the next bit "2" of the combined secret key is determined as the new target secret key value, and the next bit "6" of the encryption public key is determined as the target public key value. For example, the combined secret key is "74947135", the encryption public key is "74473", after the above steps S3033 and S3034, the original target secret key value and the target public key value are both 7, then the next bit "4" of the combined secret key is determined as the new target secret key value, and the next bit "4" of the encryption public key is determined as the target public key value.
[0145] S3035: If the target public key value and the target secret key value are different, determine the target secret key value as the target random number value, and determine the value of the next bit of the target secret key value as the new target secret key value.
[0146] In this step, referring to the first example of the above step S3034, the second bit of the combined secret key and the second bit of the encryption public key are different, then the second bit of the combined secret key is determined as the target random number value, and the value of the third bit of the combined secret key is determined as the new target secret key value.
[0147] S3036: Repeat the step of determining that the target public key value and the target secret key value are the same until the target public key value is the value of the last bit of the encryption public key, and the obtained target random number value is spliced to obtain the above random number.
[0148] In this step, continuing to refer to the first example of step S3034 described above, after repeating the steps S3034 and S3035 described above, all the target random number values obtained are "2", "9", and "1", and the random number "291" is obtained by concatenating them. Referring to the second example of step S3034 described above, after repeating the steps S3034 and S3035 described above, all the target random number values obtained are "9", "1", and "5", and the random number "915" is obtained by concatenating them.
[0149] S3037: decrypting the encrypted question bank data by using the decryption private key and the random number, to obtain the question bank data.
[0150] In this step, the order of decrypting the encrypted question bank data can be opposite to the order of encryption in step S205 described above. If the encryption is first encrypted by using the encryption public key and then encrypted by using the random number, the decryption is first decrypted by using the random number and then decrypted by using the decryption private key. If the encryption is first encrypted by using the random number and then encrypted by using the encryption public key, the decryption is first decrypted by using the decryption private key and then decrypted by using the random number.
[0151] As can be seen from the description of the above examples, the embodiments of the present application split the random number generated by the server from the combined secret key by comparing each bit of data of the encryption public key and the combined secret key, so that the decryption of data is realized without the encryption public key, the random number, and the decryption private key being disclosed to the outside.
[0152] Figure 4 An interactive flowchart of the question bank data processing method provided by the embodiments of the present application is shown. Figure 4 As shown in the figure, the interactive flowchart of the question bank data processing method includes:
[0153] S401: the user terminal sends request information to the server.
[0154] S402: the server obtains the IP address in the request information.
[0155] S403: the server obtains the question bank data according to the request information.
[0156] S404: the server determines the encryption public key according to the IP address.
[0157] S405: the server generates a random number.
[0158] S406: the server encrypts the question bank data by using the encryption public key and the random number, to obtain encrypted question bank data.
[0159] S407: the server combines the encryption public key and the random number, to obtain a combined secret key.
[0160] S408: The server sends the encrypted question bank data and the combined key to the user terminal.
[0161] S409: The user terminal determines the decryption private key.
[0162] S410: The user terminal uses the decryption private key and the combination key to decrypt the encrypted question bank and obtain the question bank data.
[0163] Figure 5 Schematic diagram of the structure of the question bank data processing device provided in the embodiments of this application Figure 1 .like Figure 5 As shown, the question bank data processing device 500 includes: an information receiving module 501, a data acquisition module 502, a public key determination module 503, a random number generation module 504, a data encryption module 505, a key combination module 506, and a data sending module 507.
[0164] The information receiving module 501 is used to receive request information sent by the user terminal and obtain the Internet Protocol IP address in the request information;
[0165] The data acquisition module 502 is used to acquire question bank data based on the request information;
[0166] The public key determination module 503 is used to determine the encryption public key based on the IP address;
[0167] Random number generation module 504 is used to generate random numbers;
[0168] The data encryption module 505 is used to encrypt the question bank data using a public key and a random number to obtain the encrypted question bank data.
[0169] The key combination module 506 is used to combine the encrypted public key and the random number to obtain the combined key.
[0170] The data sending module 507 is used to send the encrypted question bank data and the combined key to the user terminal, so that the user terminal can determine the decryption private key and decrypt the encrypted question bank according to the decryption private key and the combined key to obtain the question bank data.
[0171] The apparatus provided in this embodiment can be used to execute the technical solutions of the above method embodiments. Its implementation principle and technical effects are similar, and will not be described again here.
[0172] In a possible implementation, the public key determining module 503 is specifically configured to: search for a preset address-request times correspondence relationship according to the IP address, to obtain a target request times; determine two target prime numbers according to the target request times; input the target prime numbers into an Euler function to obtain a target Euler function value; calculate a product of the target prime numbers to obtain a prime number product; determine a public key exponent according to the target Euler function value; and combine the public key exponent and the prime number product to obtain the encryption public key.
[0173] The apparatus provided in the embodiment can be used to execute the technical solutions of the method embodiments, and has similar implementation principles and technical effects, which will not be repeated here.
[0174] In a possible implementation, the public key determining module 503 is specifically configured to: multiply the target request times by a preset value to obtain a target base number; determine two target prime numbers that are greater than the target base number and smallest and not equal; or determine two target prime numbers that are smaller than the target base number and largest and not equal.
[0175] The apparatus provided in the embodiment can be used to execute the technical solutions of the method embodiments, and has similar implementation principles and technical effects, which will not be repeated here.
[0176] In a possible implementation, the public key determining module 503 is specifically configured to: determine a largest prime number smaller than the target Euler function value as the public key exponent.
[0177] The apparatus provided in the embodiment can be used to execute the technical solutions of the method embodiments, and has similar implementation principles and technical effects, which will not be repeated here.
[0178] In a possible implementation, the secret key combining module 506 is specifically configured to: insert the encryption public key into each number in the random number in a front-back order and at random intervals to obtain the combined secret key.
[0179] The apparatus provided in the embodiment can be used to execute the technical solutions of the method embodiments, and has similar implementation principles and technical effects, which will not be repeated here.
[0180] In a possible implementation, the public key determining module 503 is specifically configured to: search for a preset IP address-public key correspondence relationship according to the IP address to obtain the encryption public key.
[0181] The apparatus provided in the embodiment can be used to execute the technical solutions of the method embodiments, and has similar implementation principles and technical effects, which will not be repeated here.
[0182] In a possible implementation, the request information includes a question type; the data acquisition module 502 is configured to determine whether the IP address is an IP address in the white list, and if so, acquire corresponding question bank data according to the question type.
[0183] The apparatus provided in this embodiment can be used to execute the technical solutions of the method embodiments, and has similar implementation principles and technical effects, which will not be repeated here.
[0184] Figure 6 The structure of the question bank data processing apparatus provided in this embodiment Figure 2 . As shown in Figure 6 , the question bank data processing apparatus 600 includes an information sending module 601, a private key determination module 602, and a data decryption module 603.
[0185] The information sending module 601 is configured to send request information to a server, so that the server acquires an Internet Protocol (IP) address in the request information, acquires question bank data according to the request information, determines an encryption public key according to the IP address, generates a random number, encrypts the question bank data by using the encryption public key and the random number, obtains encrypted question bank data, combines the encryption public key and the random number to obtain a combined secret key.
[0186] The private key determination module 602 is configured to determine a decryption private key in response to receiving the encrypted question bank data and the combined secret key sent by the server.
[0187] The data decryption module 603 is configured to decrypt the encrypted question bank data according to the decryption private key and the combined secret key to obtain the question bank data.
[0188] The apparatus provided in this embodiment can be used to execute the technical solutions of the method embodiments, and has similar implementation principles and technical effects, which will not be repeated here.
[0189] In a possible implementation, the private key determination module 602 is specifically configured to acquire a target request number; determine two target prime numbers according to the target request number; input the target prime numbers into an Euler function to obtain a target Euler function value; calculate a product of the target prime numbers to obtain a prime number product; determine a public key exponent according to the target Euler function value; input the public key exponent and the target Euler function value into a preset equation to obtain a to-be-solved equation; solve the to-be-solved equation to obtain a private key exponent; and combine the private key exponent and the prime number product to obtain the decryption private key.
[0190] The apparatus provided in this embodiment can be used to execute the technical solutions of the method embodiments, and has similar implementation principles and technical effects, which will not be repeated here.
[0191] In a possible implementation, the data decryption module 603 is specifically configured to combine the public key exponent and the prime number product to obtain an encrypted public key; determine the value of the first bit of data of the encrypted public key as a target public key value; determine the value of the first bit of data of the combined secret key as a target secret key value; if the target public key value is the same as the target secret key value, determine the value of the next bit of data of the encrypted public key as a new target public key value, and determine the value of the next bit of data of the target secret key value as a new target secret key value; if the target public key value is different from the target secret key value, determine the target secret key value as a target random number value, and determine the value of the next bit of data of the target secret key value as a new target secret key value; repeat the step of determining whether the target public key value is the same as the target secret key value until the target public key value is the value of the last bit of data of the encrypted public key, splice the obtained target random number values to obtain a random number; and decrypt the encrypted question bank data by using the decryption private key and the random number to obtain the question bank data.
[0192] The apparatus provided in this embodiment can be used to execute the technical solutions of the method embodiments, and has similar implementation principles and technical effects, which will not be repeated here.
[0193] To implement the above-described embodiments, the embodiments of the present application further provide an electronic device.
[0194] Reference Figure 7 , which shows a structural schematic diagram of an electronic device 700 suitable for implementing the embodiments of the present application. The electronic device 700 can be a terminal device or a server. The terminal device can include, but is not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, personal digital assistants (PDA), tablet computers (PAD), portable media players (PMP), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), and the like, and fixed terminals such as digital TVs, desktop computers, and the like. Figure 7 The electronic device shown is only an example, and should not impose any limitation on the functions and use range of the embodiments of the present application.
[0195] As Figure 7As shown, the electronic device 700 can include a processor (e.g., a central processing unit, a graphics processing unit, etc.) 701, and a memory 702 connected with the processor, which can perform various appropriate actions and processes according to a program, computer-executed instructions stored in the memory 702, or a program loaded from the storage device 708 into a Random Access Memory (RAM) 703, to implement the test item data processing method in any of the above embodiments. The memory can be a Read Only Memory (ROM). In the RAM 703, various programs and data required for the operation of the electronic device 700 are also stored. The processing device 701, the memory 702, and the RAM 703 are connected with each other through a bus 704. An Input / Output (I / O) interface 705 is also connected to the bus 704.
[0196] Generally, the following devices can be connected to the I / O interface 705: an input device 706 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 707 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, etc.; a storage device 708 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 709. The communication device 709 can allow the electronic device 700 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 7 The electronic device 700 is shown with various devices, but it should be understood that all of the illustrated devices are not required to implement or have the electronic device. More or fewer devices can alternatively be implemented.
[0197] In particular, the processes described above with reference to the flowcharts can be implemented as a computer software program according to embodiments of the present application. For example, embodiments of the present application include a computer program product comprising a computer program carried on a computer-readable storage medium, the computer program containing program code for performing the methods illustrated by the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network through the communication device 709, or installed from the storage device 708, or installed from the memory 702. When the computer program is executed by the processing device 701, the above-mentioned functions defined in the methods of embodiments of the present application are performed.
[0198] It should be noted that the computer-readable storage medium described above in this application can be a computer-readable signal medium or a computer storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable storage medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable storage medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0199] The aforementioned computer-readable storage medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0200] The aforementioned computer-readable storage medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the method shown in the above embodiments.
[0201] Computer program code for carrying out operations of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0202] The flow diagrams and the block diagrams in the drawings are meant as possible implementations of systems, methods, and computer program products according to the embodiments of the application. In this regard, each block in the flow diagrams and the block diagrams can represent a module, a segment, or a portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or operations, or combinations of special purpose hardware and computer instructions.
[0203] The modules involved in the embodiments described in the present application can be implemented in software or hardware. Among them, the name of the unit does not constitute a limitation to the module itself in some cases, for example, the information receiving module can also be described as "request information receiving module".
[0204] The functions described above in the specification of the above description can be performed at least in part by one or more hardware logic components. For example, non-limiting examples of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
[0205] The application further provides a computer readable storage medium, which stores computer execution instructions, and when a processor executes the computer execution instructions, the technical scheme of the question bank data processing method in any of the above embodiments is realized, the implementation principle and beneficial effects of which are similar to those of the question bank data processing method, and can be referred to the implementation principle and beneficial effects of the question bank data processing method, which will not be described herein again.
[0206] In the context of the present application, the machine readable medium can be a tangible medium which can contain or store the program for use by or in connection with an instruction execution system, apparatus or device. The machine readable medium can be a machine readable signal medium or a machine readable storage medium. The machine readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any suitable combination of the above. More specific examples of the machine readable storage medium can include one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical storage devices, portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above.
[0207] The application further provides a computer program product, which comprises a computer program, and when the computer program is executed by a processor, the technical scheme of the question bank data processing method in any of the above embodiments is realized, the implementation principle and beneficial effects of which are similar to those of the question bank data processing method, and can be referred to the implementation principle and beneficial effects of the question bank data processing method, which will not be described herein again.
[0208] The above description is merely preferred embodiments of the present application and a description of the principles of the applied technology. It should be understood by those skilled in the art that the disclosed range of the present application is not limited to the technical scheme formed by the specific combination of the above technical features, and also covers other technical schemes formed by any combination of the above technical features or equivalent features without departing from the disclosed concept. For example, the above features are replaced with the technical features disclosed in the present application (but not limited to) having similar functions to form a technical scheme.
[0209] Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the application being indicated by the following claims.
[0210] It is to be understood that the application is not limited to the precise construction herein disclosed and shown in the drawings, and that various modifications and changes can be made by those skilled in the art without departing from the scope of the application. The scope of the application is limited only by the claims that follow.
Claims
1. A question bank data processing method, characterized by, Applied to a server, comprising: Receiving a request information sent by a user terminal, obtaining an Internet Protocol IP address in the request information; According to the request information, obtain the question bank data; According to the IP address, find the preset address and request times corresponding relationship, get the target request times; The target request times are multiplied by a preset value to obtain a target base; Determine the target prime number as the smallest two unequal prime numbers greater than the target base; or, determine the target prime number as the largest two unequal prime numbers less than the target base; The target prime number is input into the Euler function to obtain the target Euler function value; Calculate the product of the target prime number to obtain the prime product; According to the target Euler function value, determine the public key index; The public key index and the prime product are combined to obtain the encryption public key; Generate a random number; The encryption public key and the random number are used to encrypt the question bank data in turn to obtain encrypted question bank data; Each number in the random number is inserted into the encryption public key in front and back order and random interval to obtain a combined secret key; The encrypted question bank data and the combined secret key are sent to the user terminal, so that the user terminal determines the decryption private key, and decrypts the encrypted question bank according to the decryption private key and the combined secret key to obtain the question bank data.
2. The method of claim 1, wherein, According to the target Euler function value, determine the public key index, comprising: The largest prime number less than the target Euler function value is determined as the public key index.
3. The method according to claim 1 or 2, characterized in that, The request information includes the question type; Accordingly, the question bank data is obtained according to the request information, comprising: Determine whether the IP address is in the white list, if yes, obtain the corresponding question bank data according to the question type.
4. A question bank data processing method characterized by comprising: Applied to a user terminal, comprising: Send request information to the server, so that the server obtains the Internet Protocol IP address in the request information, obtains the question bank data according to the request information, determines the encryption public key according to the IP address, generates a random number, and encrypts the question bank data in turn using the encryption public key and the random number to obtain encrypted question bank data, and inserts each number in the random number into the encryption public key in front and back order and random interval to obtain a combined secret key, wherein, according to the IP address, determine the encryption public key, comprising: according to the IP address, find the preset address and request times corresponding relationship, get the target request times, multiply the target request times by a preset value to get the target base, determine the target prime number as the smallest two unequal prime numbers greater than the target base, or, determine the target prime number as the largest two unequal prime numbers less than the target base, input the target prime number into the Euler function to obtain the target Euler function value, calculate the product of the target prime number to obtain the prime product, according to the target Euler function value, determine the public key index, combine the public key index and the prime product to obtain the encryption public key; In response to receiving the encrypted question bank data and the combined secret key sent by the server, determine the decryption private key; Decrypt the encrypted question bank data according to the decryption private key and the combined secret key to obtain the question bank data.
5. The method of claim 4, wherein, The determining the decryption private key comprises: Obtaining a target request number; According to the target request number, two target prime numbers are determined; The target prime numbers are input into the Euler function to obtain a target Euler function value; The product of the target prime numbers is calculated to obtain a prime number product; According to the target Euler function value, a public key exponent is determined; The public key exponent and the target Euler function value are input into a preset equation to obtain a to-be-solved equation; Solving the to-be-solved equation to obtain a private key exponent; The private key exponent and the prime number product are combined to obtain the decryption private key.
6. The method of claim 5, wherein, The decryption private key and the combined secret key are used to decrypt the encrypted question bank data to obtain the question bank data, comprising: The public key exponent and the prime number product are combined to obtain the encryption public key; The value of the first bit data of the encryption public key is determined as a target public key value; The value of the first bit data of the combined secret key is determined as a target secret key value; If the target public key value and the target secret key value are the same, the value of the next bit data of the encryption public key is determined as a new target public key value, and the value of the next bit data of the target secret key value is determined as a new target secret key value; If the target public key value and the target secret key value are different, the target secret key value is determined as a target random number value, and the value of the next bit data of the target secret key value is determined as a new target secret key value; The step of determining that the target public key value and the target secret key value are the same is repeatedly performed until the target public key value is the value of the last bit data of the encryption public key, and the obtained target random number values are spliced to obtain the random number; The decryption private key and the random number are used to decrypt the encrypted question bank data to obtain the question bank data.
7. A question bank data processing apparatus characterized by comprising: Comprise: An information receiving module is configured to receive request information sent by a user terminal, and obtain an Internet Protocol (IP) address in the request information; A data obtaining module is configured to obtain question bank data according to the request information; A public key determining module is configured to obtain a target request number by searching a preset address-request number correspondence relationship according to the IP address, multiply the target request number by a preset value to obtain a target base number, and determine two target prime numbers greater than the target base number and smallest and different from each other as the target prime numbers, or determine two target prime numbers smaller than the target base number and largest and different from each other as the target prime numbers; The target prime numbers are input into an Euler function to obtain a target Euler function value; The product of the target prime numbers is calculated to obtain a prime number product, a public key exponent is determined according to the target Euler function value, and the public key exponent and the prime number product are combined to obtain an encryption public key; A random number generating module is configured to generate a random number; A data encryption module is configured to encrypt the question bank data in sequence by using the encryption public key and the random number to obtain encrypted question bank data; A secret key combining module is configured to insert each number in the random number into the encryption public key in a front-back order and at random intervals to obtain a combined secret key; and The data sending module is configured to send the encrypted question bank data and the combined secret key to the user terminal, so that the user terminal determines a decryption private key and decrypts the encrypted question bank data according to the decryption private key and the combined secret key to obtain the question bank data.
8. A question bank data processing apparatus characterized by comprising: Comprise: The information sending module is configured to send request information to a server, so that the server acquires an Internet Protocol (IP) address in the request information, acquires question bank data according to the request information, determines an encryption public key according to the IP address, generates a random number, encrypts the question bank data in sequence using the encryption public key and the random number, and obtains encrypted question bank data. Each number in the random number is inserted into the encryption public key in a front-back order and at random intervals to obtain a combined secret key. The determination of the encryption public key according to the IP address comprises: searching for a preset address-request frequency correspondence according to the IP address to obtain a target request frequency, multiplying the target request frequency by a preset value to obtain a target base number, determining two unequal prime numbers that are greater than the target base number and smallest as target prime numbers, or determining two unequal prime numbers that are less than the target base number and largest as target prime numbers, inputting the target prime numbers into an Euler function to obtain a target Euler function value, calculating the product of the target prime numbers to obtain a prime number product, determining a public key exponent according to the target Euler function value, combining the public key exponent and the prime number product to obtain the encryption public key; The private key determination module is configured to determine a decryption private key in response to receiving the encrypted question bank data and the combined secret key sent by the server. The data decryption module is configured to decrypt the encrypted question bank data according to the decryption private key and the combined secret key to obtain the question bank data.
9. An electronic device, comprising: Comprise: A processor and a memory in communication connection with the processor; The memory stores computer execution instructions; The processor executes the computer execution instructions stored in the memory, so that the processor executes the question bank data processing method of any one of claims 1 to 3, or executes the question bank data processing method of any one of claims 4 to 6.
10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer execution instructions, and the computer execution instructions are executed by the processor to implement the question bank data processing method of any one of claims 1 to 3, or implement the question bank data processing method of any one of claims 4 to 6.
11. A computer program product, characterised in that, The computer program is executed by the processor to implement the question bank data processing method of any one of claims 1 to 3, or implement the question bank data processing method of any one of claims 4 to 6.
Citation Information
Patent Citations
Random number encrypted data transmission method and device, computer equipment and storage medium
CN116866029A
Data transmission system for smart medical system
CN117061123A
Business data processing method and system, electronic equipment and storage medium
CN117555668A