A self-service platform for enterprise personnel intelligent management based on big data
By encoding, converting and sorting the enterprise personnel management data, undirected complete graphs are constructed, and encryption rules are determined adaptively, the problem of poor encryption effect of existing messy encryption methods is solved, and efficient data encryption and confidentiality protection is achieved.
Patent Information
- Application Number
- CN202310121015.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-16
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2043-02-16
AI Technical Summary
The existing scramble encryption methods have poor encryption effects and cannot effectively ensure the privacy of data. There is a problem that the scramble sequence and the original data sequence are relatively similar and have little difference.
By encoding and sorting the encrypted data, the original two-dimensional matrix is constructed, and undirected complete graph is formed according to the numerical frequency. The encryption rules and numbering sequences are adaptively determined, and the encryption two-dimensional matrix is generated, and the priority traversal rules and basics are adopted. Sequential traversal rules are used to encrypt to ensure high differences in encrypted numerical sequences.
The effect of data encryption is significantly improved, and the confidentiality of data is ensured through uniform scrambling and adaptive encryption rules, the confusion of original numerical arrangement is increased, and the effect of data scrambling and encryption is effectively improved.
Smart Images

Figure CN116232591B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing technology applicable to management, and in particular to an enterprise personnel intelligent management self-service platform based on big data. Background Art
[0002] Enterprise human resources management is an important branch of enterprise management and occupies a very important position in the entire enterprise management. With the rapid development of science and technology and the advent of the big data era, enterprise human resources management service platforms have become an indispensable part of enterprise human resources management. In order to meet the requirements of modern enterprise management, enterprise human resources management service platforms should reduce manpower expenditures to a greater extent, improve office efficiency, and play a role in overall automation and management standardization.
[0003] A large amount of vital data is stored in the enterprise personnel management service platform, which is related to the privacy of each employee, the company's development strategy and overall interests. If the data in the enterprise personnel management service platform is not encrypted and stored, the risk of data being attacked or even tampered with will be greatly increased. Therefore, it is necessary to encrypt the data on the platform to increase the privacy of the data and reduce the risk of being attacked and leaked.
[0004] Traditional data encryption methods usually use scrambling encryption, which completes the encryption process by changing the position information of time series data. However, this encryption method randomly scrambles the data to generate a chaotic sequence, and the resulting data scrambling effect is usually difficult to evaluate. There are cases where the scrambled sequence and the original data sequence have a large similarity and a small difference, resulting in poor scrambling effect and data privacy cannot be guaranteed. Summary of the invention
[0005] The purpose of the present invention is to provide a self-service platform for enterprise personnel intelligent management based on big data, which is used to solve the problem of poor encryption effect of existing scrambling encryption methods.
[0006] In order to solve the above technical problems, the present invention provides a self-service platform for enterprise personnel intelligent management based on big data, including a data encryption module, which is used to:
[0007] The original data to be encrypted is subjected to encoding conversion and sorting processing to obtain an original numerical sequence, and the original numerical sequence is segmented and arranged to obtain an original two-dimensional matrix;
[0008] Count the values in the original two-dimensional matrix to obtain the frequencies corresponding to the same values, and cluster the values in the original two-dimensional matrix according to the same values and their corresponding frequencies, so as to obtain value clusters;
[0009] According to the position of each value in each value cluster in the original two-dimensional matrix, an undirected complete graph of each value cluster is constructed, and a sequence of value numbers corresponding to the undirected complete graph is determined;
[0010] Determine the encryption rules corresponding to the undirected complete graph of each value cluster respectively, and obtain the encrypted value sequence obtained after encrypting the undirected complete graph according to the corresponding encryption rules;
[0011] According to the frequency of each same value in each value cluster, an encrypted two-dimensional matrix is constructed using the encrypted value sequence corresponding to each undirected complete graph;
[0012] The constructed encrypted two-dimensional matrix is determined as the encrypted data corresponding to the original data to be encrypted, and the encryption rules and numerical number sequences corresponding to each undirected complete graph are determined as the key of the encrypted data.
[0013] Furthermore, the data encryption module is used to:
[0014] The values in the undirected complete graph are traversed respectively by using a basic order traversal rule and at least two priority traversal rules, so as to obtain an order traversal value sequence and each priority traversal value sequence corresponding to the undirected complete graph;
[0015] Compare each priority traversal value sequence with the sequential traversal value sequence to determine the degree of difference between each priority traversal value sequence and the sequential traversal value sequence, and determine the priority traversal value sequence corresponding to the largest degree of difference as the target traversal value sequence;
[0016] The priority traversal rule corresponding to the target traversal value sequence is determined as the encryption rule corresponding to the undirected complete graph, and the target traversal value sequence is determined as the encrypted value sequence obtained after encrypting the undirected complete graph according to the corresponding encryption rule.
[0017] Furthermore, the data encryption module is used to:
[0018] Two priority traversal rules are used to traverse the undirected complete graph respectively, and when each priority traversal rule is used to traverse the undirected complete graph, the first traversal calibration value of each value in the undirected complete graph is determined according to the row number, the number of values in the row and the column number of each value in the original two-dimensional matrix, and the value corresponding to the smallest first traversal calibration value is selected as the first traversal value in the undirected complete graph.
[0019] Furthermore, the data encryption module is used to:
[0020] Compare the values of the same sequence numbers in each priority traversal sequence with those in the sequential traversal sequence, and determine the number of sequence numbers whose two values are different corresponding to the same sequence number in the two sequences, calculate the ratio of the number to the total number of sequence numbers, and determine the ratio as the degree of difference of each priority traversal sequence relative to the sequential traversal sequence.
[0021] Furthermore, the data encryption module is used to:
[0022] According to the position of each value in each value cluster in the original two-dimensional matrix, the neighboring values of each value are determined, and each value is connected with the neighboring values of the value in the original two-dimensional matrix, so as to obtain an undirected complete graph of each value cluster.
[0023] Furthermore, the data encryption module is used to:
[0024] According to the position of each value in each value cluster in the original two-dimensional matrix, the position number of each value in the original two-dimensional matrix is determined, and the position numbers are arranged in ascending order, so as to obtain the value number sequence corresponding to the undirected complete graph of each value cluster.
[0025] Furthermore, the data encryption module is used to:
[0026] According to the frequency corresponding to each identical value in each value cluster, determine the frequency average corresponding to each value cluster;
[0027] According to the descending order of the frequency average values corresponding to each value cluster, the encrypted value sequences corresponding to each undirected complete graph are concatenated, and the concatenated encrypted value sequences are divided and arranged to obtain an encrypted two-dimensional matrix.
[0028] Furthermore, the data encryption module is used to:
[0029] Treat the encrypted original data and then perform binary conversion to obtain each binary code;
[0030] Determine whether the binary code is less than the set code length. If it is less than the set code length, perform a first-bit complement operation on the binary code to reach the set code length;
[0031] Performing a last digit increment operation on the binary code of the set code length, and converting the binary code after the last digit increment operation into a decimal value, thereby obtaining each value;
[0032] Arrange each value in order to obtain the original value sequence.
[0033] Furthermore, the data encryption module is used to:
[0034] According to each value in the original two-dimensional matrix, a grayscale image is constructed, where a value in the original two-dimensional matrix corresponds to a pixel in the grayscale image, and the grayscale value of each pixel is the value of the corresponding value;
[0035] According to the grayscale image, a grayscale dot matrix histogram is constructed, wherein the abscissa of each frequency point in the grayscale dot matrix histogram is each identical value in the original two-dimensional matrix, and the ordinate of each frequency point is the frequency corresponding to each identical value in the original two-dimensional matrix;
[0036] According to the position of each frequency point in the grayscale dot matrix histogram, a density clustering algorithm is used to cluster each frequency point to obtain each frequency point cluster. Each value in the original two-dimensional matrix corresponding to the horizontal coordinate of each frequency point in each frequency point cluster is taken as a cluster to obtain each value cluster.
[0037] Furthermore, the platform also includes a data decryption module, which is used to:
[0038] Determine the encrypted numerical sequence corresponding to each undirected complete graph according to the frequency corresponding to each same numerical value in the encrypted two-dimensional matrix in the encrypted data;
[0039] Determine each undirected complete graph according to the encrypted numerical sequence corresponding to each undirected complete graph and the encryption rule and numerical coding sequence corresponding to each undirected complete graph in the key;
[0040] According to each undirected complete graph, determine the original two-dimensional matrix;
[0041] According to the original two-dimensional matrix, the original numerical sequence is determined, and according to the original numerical sequence, the original data is determined.
[0042] The present invention has the following beneficial effects: by obtaining the original data to be encrypted and performing corresponding data processing on the original data to perform scrambled encryption on the original data, the effect of data encryption is effectively improved. Specifically, by performing encoding conversion and sorting processing on different types of data in the original data to be encrypted, it is convenient to subsequently divide and sort the data in the same way to form an original two-dimensional matrix, thereby realizing scrambled encryption of the data. According to each identical value in the original two-dimensional matrix and its corresponding frequency, the values with relatively close values and relatively close frequencies in the original two-dimensional matrix are divided into a value cluster, so that when the data is scrambled later, the relatively close values in each value cluster can be uniformly scrambled, effectively ensuring the data scrambling effect. When the values in each value cluster are scrambled and encrypted, the encryption rules of each value cluster are adaptively determined, further ensuring the scrambled encryption effect of each value cluster. For the encrypted numerical sequences after scrambling encryption obtained from each numerical cluster, the arrangement order of each encrypted numerical sequence is determined again according to the frequency corresponding to each same numerical value in each numerical cluster to generate an encrypted two-dimensional matrix. In this way, these encrypted numerical sequences can present a pattern of gradually changing frequencies in the encrypted two-dimensional matrix, thereby increasing the confusion of the original digital arrangement, further ensuring the confidentiality of the data, and effectively improving the scrambling encryption effect of the data. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the technical solutions and advantages in the embodiments of the present invention or the prior art, the drawings required for use in the embodiments or the prior art descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0044] Figure 1 This is a structural diagram of an enterprise personnel intelligent management self-service platform based on big data according to an embodiment of the present invention;
[0045] Figure 2 A flowchart of an encryption method implemented by a data encryption module according to an embodiment of the present invention;
[0046] Figure 3 A schematic diagram of partial data of an original two-dimensional matrix according to an embodiment of the present invention;
[0047] Figure 4 Schematic diagram of a grayscale dot matrix histogram according to an embodiment of the present invention. DETAILED DESCRIPTION
[0048] In order to further explain the technical means and effects adopted by the present invention to achieve the predetermined invention purpose, the specific implementation methods, structures, features and effects of the technical solutions proposed by the present invention are described in detail below in conjunction with the accompanying drawings and preferred embodiments. In the following description, different "one embodiment" or "another embodiment" does not necessarily refer to the same embodiment. In addition, specific features, structures or characteristics in one or more embodiments may be combined in any suitable form.
[0049] Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.
[0050] In view of the problem that the existing scrambling encryption method has poor encryption effect, this embodiment provides an enterprise personnel intelligent management self-service platform based on big data, such as Figure 1 As shown, the platform includes a data encryption module, a data decryption module and a data storage module. The three modules cooperate with each other to effectively realize the encryption and decryption process of data in the platform and improve the data encryption effect. The specific working process of the three modules, namely, the data encryption module, the data decryption module and the data storage module, is described in detail below in conjunction with specific implementation methods.
[0051] The data encryption module is mainly used to encrypt the original data to obtain the encrypted data and key, such as Figure 2 As shown, the specific working process includes:
[0052] Step S1: perform encoding conversion and sorting processing on the original data to be encrypted to obtain an original numerical sequence, and divide and arrange the original numerical sequence to obtain an original two-dimensional matrix.
[0053] The data to be encrypted in the enterprise personnel intelligent management self-service platform are obtained, and the data to be encrypted are converted and sorted to obtain the original numerical sequence. The implementation steps include:
[0054] Treat the encrypted original data and then perform binary conversion to obtain each binary code;
[0055] Determine whether the binary code is less than the set code length. If it is less than the set code length, perform a first-bit complement operation on the binary code to reach the set code length;
[0056] Performing a last digit increment operation on the binary code of the set code length, and converting the binary code after the last digit increment operation into a decimal value, thereby obtaining each value;
[0057] Arrange each value in a set order to obtain the original value sequence.
[0058] Specifically, after obtaining the data to be encrypted in the enterprise personnel intelligent management self-service platform, since computers can generally only recognize binary data of 0 and 1 when storing data, it is necessary to perform a conversion operation on the data to be encrypted to obtain the binary code corresponding to each character or text in the data to be encrypted. When performing a conversion operation on the encrypted data to obtain a binary code, the numbers in the data to be encrypted can be directly converted into a binary code, and the data such as English letters and identification symbols in the data to be encrypted are first converted into an ASC code by referring to the ASC table, and then the obtained ASC code is converted into a binary code. Since the specific implementation process of performing a conversion operation on the data to obtain a binary code belongs to the prior art, it will not be repeated here.
[0059] When converting ASC code to binary code, since the binary code length corresponding to the value greater than 64 in the ASC code is 7 bits, and the binary code length corresponding to the value less than 64 is less than 7 bits, in order to standardize the length of the binary code obtained after the conversion of the number and the ASC code, the fixed length of the binary code sub-segment is set to 7, that is, the set code length is set to 7, and the binary code with a code length less than 7 is padded with 0 at the first position to achieve the set code length of 7, so as to facilitate the subsequent data processing to realize the encryption process. For example, the ASC code of a certain character is 60, which is converted to binary as 111100. At this time, the binary code length is 6, so the number of 0s padded in front of the binary code is 1, that is, a 0 is padded, thereby obtaining a 7-bit binary code 0111100.
[0060] After the segment length of the binary code is standardized, that is, after the binary code of the set code length is obtained, since the set code length of these binary codes is 7, the corresponding maximum value is 127. In order to make the decimal value converted from the binary code more evenly distributed between [0-255], so as to facilitate the subsequent acquisition of the grayscale image, the binary code of the set code length is subjected to the last digit increment operation, that is, 1 is added to the end of the original 7-bit binary code, so as to obtain the binary code after the last digit increment operation. For example, for the largest binary code of the set code length 1111111, it is converted to decimal 127, and the new binary code after the last digit increment operation is 11111111, which is converted to decimal 255 at this time.
[0061] After obtaining the binary codes after the last digit increment operation, these binary codes are converted into decimal values, and the obtained values can meet the grayscale value range. These decimal values are sorted in the corresponding order to obtain the original numerical sequence, and each decimal value in the original numerical sequence is a value. After obtaining the original numerical sequence, the original numerical sequence is divided, that is, every j values are divided together as a row, and arranged in order to obtain k rows, thereby obtaining a two-dimensional matrix of size j*k, that is, the original two-dimensional matrix. It should be pointed out that the original two-dimensional matrix is not a matrix in the strict sense. Since the number of values in the original numerical sequence is not necessarily equal to an integer multiple of j, the last row obtained will not necessarily have j values. In this embodiment, k is set to 10, Figure 3 Give partial data of an original two-dimensional matrix.
[0062] Step S2: Count the values in the original two-dimensional matrix to obtain the frequencies corresponding to the same values, and cluster the values in the original two-dimensional matrix according to the same values and their corresponding frequencies, so as to obtain value clusters.
[0063] After the original two-dimensional matrix is obtained through the above step S1, each element in the matrix, that is, the value corresponds to the original binary code after the increase, the frequency corresponding to the same value in the original two-dimensional matrix is determined, and the elements in the original two-dimensional matrix are clustered according to the frequency information. The implementation steps include:
[0064] According to each value in the original two-dimensional matrix, a grayscale image is constructed, where a value in the original two-dimensional matrix corresponds to a pixel in the grayscale image, and the grayscale value of each pixel is the value of the corresponding value;
[0065] According to the grayscale image, a grayscale dot matrix histogram is constructed, wherein the abscissa of each frequency point in the grayscale dot matrix histogram is each identical value in the original two-dimensional matrix, and the ordinate of each frequency point is the frequency corresponding to each identical value in the original two-dimensional matrix;
[0066] According to the position of each frequency point in the grayscale dot matrix histogram, a density clustering algorithm is used to cluster each frequency point to obtain each frequency point cluster. Each value in the original two-dimensional matrix corresponding to the horizontal coordinate of each frequency point in each frequency point cluster is taken as a cluster to obtain each value cluster.
[0067] Specifically, according to the value and position of each value in the original two-dimensional matrix, the corresponding grayscale image is obtained, each pixel in the grayscale image corresponds to a value in the original two-dimensional matrix, and the grayscale value of each pixel is the value of the corresponding value. A grayscale dot matrix histogram is constructed for the grayscale image to determine the frequency corresponding to each grayscale value in the grayscale image. Figure 4 Given Figure 3 The grayscale dot matrix histogram of part of the data in the original two-dimensional matrix. In the grayscale dot matrix histogram, the horizontal axis of the frequency point represents the grayscale value, and the vertical axis of the frequency point represents the frequency of the grayscale value in the grayscale image. Since each grayscale value of the pixel in the grayscale image corresponds to a value in the original two-dimensional matrix, the frequency corresponding to each same value in the original two-dimensional matrix can be obtained.
[0068] In order to realize the scrambling operation of the values in the original two-dimensional matrix, the density clustering algorithm is used to cluster the frequency points in the grayscale dot matrix histogram, so that the frequency points with similar frequency and grayscale value are divided into a cluster, and then different subsequent traversal operations are performed according to the clustering results, so that the encryption effect of the numerical elements in the original two-dimensional matrix is better. In this embodiment, the density-based spatial clustering DBSCAN algorithm is used to cluster the frequency points in the grayscale dot matrix histogram, and its main clustering steps are:
[0069] Obtain parameters r and MinPts that are pre-set according to the frequency distribution characteristics in the grayscale dot matrix histogram;
[0070] Randomly select a frequency point, calculate the number of frequency points contained in the r-neighborhood of the frequency point, and judge whether the frequency point is a core point based on whether the number of frequency points contained in the r-neighborhood is greater than or equal to MinPts; if so, establish a cluster around the frequency point, otherwise set the frequency point as a peripheral point, that is, a noise point;
[0071] Traverse other frequency points until a cluster is established, add the frequency points that are directly density-reachable, i.e., the frequency points in the r neighborhood of the frequency point, to the cluster, and then add the frequency points that are density-reachable to the cluster. If the frequency point marked as a noise point is also added to the cluster, modify the frequency point to an edge point;
[0072] Repeat the above steps until all frequency points are added to the cluster (core points or edge points) or are classified as noise points, thus completing the clustering process.
[0073] After clustering the frequency points in the grayscale dot matrix histogram using the DBSCAN algorithm, each frequency point cluster can be obtained. Since the horizontal coordinates of each frequency point in each frequency point cluster correspond to some values in the original two-dimensional matrix, these values are regarded as a value cluster, and one frequency point cluster corresponds to one value cluster, so that each value cluster can be obtained. In each value cluster, since the difference between each value is small and the frequency is close, it is convenient to evenly scramble these values during the subsequent scrambling encryption, which effectively ensures the data scrambling effect.
[0074] Step S3: construct an undirected complete graph of each value cluster according to the position of each value in each value cluster in the original two-dimensional matrix, and determine the value number sequence corresponding to the undirected complete graph.
[0075] After each value cluster is obtained through the above step S2, an undirected complete graph of the value cluster is constructed according to the position of each value in each value cluster in the original two-dimensional matrix. When constructing the undirected complete graph, the adjacent values of each value are determined according to the position of each value in each value cluster in the original two-dimensional matrix, and each value is connected to the adjacent values of the value in the original two-dimensional matrix, so as to obtain the undirected complete graph of each value cluster. As one embodiment, when determining the adjacent values of each value in each value cluster, if the connecting line between any two values in the value cluster does not pass through other values in the value cluster, the two values are considered to be adjacent values of each other. As another embodiment, when determining the adjacent values of each value in each value cluster, according to the position of each value in each value cluster in the original two-dimensional matrix, Thiessen polygons are constructed, and if two values share an edge in the Thiessen polygons, the two values are considered to be adjacent values of each other.
[0076] After obtaining the undirected complete graph of each value cluster, the values in the original two-dimensional matrix can be scrambled and encrypted according to the undirected complete graph. In order to facilitate the subsequent decryption of the encrypted data, it is also necessary to obtain the value number of each value in the undirected complete graph in the original two-dimensional matrix, so as to determine the value number sequence. When determining the value number sequence, the position number of each value in the original two-dimensional matrix is determined according to the position of each value in each value cluster in the original two-dimensional matrix, and the position number is arranged in order from small to large, so as to obtain the value number sequence corresponding to the undirected complete graph of each value cluster. That is, the values in the original two-dimensional matrix are scanned row by row by the raster scanning method (Raster-Scan), that is, in the original two-dimensional matrix, scan from the first row from left to right to the last digit, and then scan from the first digit on the left to the right to the last digit in the second row, and scan row by row in sequence, so as to obtain the scan sequence number corresponding to each value in the original two-dimensional matrix, and use the scan sequence number as the value number corresponding to each value in the original two-dimensional matrix. After obtaining the numerical numbers of each numerical value in the undirected complete graph in the original two-dimensional matrix, these numerical numbers are arranged in order from small to large, so as to obtain the numerical number sequence corresponding to the undirected complete graph.
[0077] Step S4: respectively determine the encryption rules corresponding to the undirected complete graphs of the respective value clusters, and obtain the encrypted value sequence obtained after encrypting the undirected complete graphs according to the corresponding encryption rules.
[0078] After the undirected complete graph of each value cluster is obtained through the above step S3, it is necessary to determine the corresponding encryption rule according to the undirected complete graph and obtain the encrypted encrypted value sequence. The implementation steps include:
[0079] The values in the undirected complete graph are traversed respectively by using a basic order traversal rule and at least two priority traversal rules, so as to obtain an order traversal value sequence and each priority traversal value sequence corresponding to the undirected complete graph;
[0080] Compare each priority traversal value sequence with the sequential traversal value sequence to determine the degree of difference between each priority traversal value sequence and the sequential traversal value sequence, and determine the priority traversal value sequence corresponding to the largest degree of difference as the target traversal value sequence;
[0081] The priority traversal rule corresponding to the target traversal value sequence is determined as the encryption rule corresponding to the undirected complete graph, and the target traversal value sequence is determined as the encrypted value sequence obtained after encrypting the undirected complete graph according to the corresponding encryption rule.
[0082] Among them, two priority traversal rules are used to traverse the undirected complete graph respectively, and when each priority traversal rule is used to traverse the undirected complete graph, the first traversal calibration value of each value in the undirected complete graph is determined according to the row number, the number of values in the row and the column number of each value in the original two-dimensional matrix, and the value corresponding to the smallest first traversal calibration value is selected as the first traversal value in the undirected complete graph.
[0083] When determining the degree of difference between each priority traversal value sequence and the sequential traversal value sequence, each priority traversal sequence is compared with the value of the same sequence number in the sequential traversal sequence, and the number of two sequence numbers with different values corresponding to the same sequence number in the two sequences is determined, the ratio of the number to the total number of sequence numbers is calculated, and the ratio is determined as the degree of difference between each priority traversal sequence and the sequential traversal sequence.
[0084] Specifically, for each undirected complete graph of a value cluster, a basic sequential traversal rule, that is, a raster scanning method is used to traverse the values in the undirected complete graph, thereby obtaining a value sequence. For ease of distinction, this value sequence is referred to as a sequential traversal value sequence.
[0085] At the same time, for each undirected complete graph of a value cluster, the values in the undirected complete graph are traversed using the priority traversal rule of the depth-first traversal (DFS) with a restriction rule, thereby obtaining a priority traversal value sequence. The general traversal rule of DFS is: first visit the starting point v and mark it as a visited point, then select any unvisited point w adjacent to point v and visit it, then select any unvisited point adjacent to point w and visit it, and repeat this process. When all the adjacent points of a point have been visited, return to the most recently visited point in turn. If the point has other adjacent points that have not been visited, select one of these unvisited points and repeat the above process until all points have been visited.
[0086] In addition, for each undirected complete graph of value clusters, the values in the undirected complete graph are traversed using the breadth-first traversal (BFS) with restriction rules, thereby obtaining another priority traversal value sequence. The general traversal rule of BFS is: first visit the starting point v, and then select all points w1, w2, w3...w adjacent to point v. m Visit, and then visit w1, w2, w3...w m All adjacent points, except those that have been visited, continue until all points have been visited.
[0087] Since the numerical sequences obtained when traversing the values in the undirected complete graph using the conventional traversal methods of depth-first traversal DFS and breadth-first traversal BFS are not unique, it is necessary to add necessary restrictions to ensure that the encrypted key can decrypt the unique ciphertext. In this embodiment, the first traversal calibration value of each numerical value in the undirected complete graph is determined according to the position of the numerical value in the undirected complete graph of each numerical cluster in the original two-dimensional matrix, and the corresponding calculation formula is:
[0088] gx i =[j i (k i -1)+n i ]
[0089] Among them, gsxh is the first traversal calibration value of the i-th value in the undirected complete graph, j i is the number of values in the row of the i-th value in the original two-dimensional matrix in the undirected complete graph, k i is the number of rows in the original two-dimensional matrix where the i-th value in the undirected complete graph is located, n i is the column number of the i-th value in the undirected complete graph in the original two-dimensional matrix.
[0090] According to the first traversal calibration value gsxh of the i-th value in the above undirected complete graph iFrom the calculation formula in , we can see that when the number of values in the row where the i-th value is located in the original two-dimensional matrix is larger, the number of rows in the row and the number of columns in the column are larger, the corresponding first traversal calibration value is larger. Through the calculation formula of the first traversal calibration value, a unique first traversal calibration value can be obtained for each value in the undirected complete graph, so as to facilitate the subsequent encryption of the undirected complete graph.
[0091] For each undirected complete graph of a numerical cluster, after determining the first traversal calibration value corresponding to each numerical value in the undirected complete graph by the above calculation formula, the numerical value corresponding to the smallest first traversal calibration value is selected as the vertex of the undirected complete graph, and when the numerical values in the undirected complete graph are traversed by depth-first traversal DFS and breadth-first traversal BFS, the vertex is traversed first. At the same time, in the process of traversing the numerical values in the undirected complete graph by depth-first traversal DFS and breadth-first traversal BFS, the numerical values with the smallest number of columns in the original two-dimensional matrix are selected from the candidate numerical points for priority traversal.
[0092] The traversal rules of depth-first traversal DFS and breadth-first traversal BFS are restricted in the above manner, and the undirected complete graph of each value cluster is traversed respectively using depth-first traversal DFS and breadth-first traversal BFS with restricted rules, so that two corresponding priority traversal value sequences can be obtained.
[0093] For undirected complete graphs of different value clusters, the scrambling effects of the two priority traversal value sequences obtained by the depth-first traversal DFS and breadth-first traversal BFS with restricted rules are not the same. Therefore, for the undirected complete graph of each value cluster, it is necessary to compare the two priority traversal value sequences with the order traversal value sequence obtained by the basic order traversal rule to determine the degree of difference between each priority traversal value sequence and the order traversal value sequence, and select the priority traversal value sequence with better scrambling effect according to the degree of difference. When determining the degree of difference between each priority traversal value sequence and the order traversal value sequence, compare the priority traversal value sequence with the values of the same sequence number in the order traversal sequence, for example, compare the first value in the priority traversal value sequence with the first value in the order traversal sequence, compare the second value in the priority traversal value sequence with the second value in the order traversal sequence, and so on. Determine the total number of times the two values are different each time, and the ratio of the total number to the total number of comparisons is used as the degree of difference between the priority traversal value sequence and the order traversal value sequence. The priority traversal numerical sequence corresponding to the larger difference degree is selected as the encrypted numerical sequence obtained after encrypting the undirected complete graph, and the depth-first traversal rule adopted to obtain the encrypted numerical sequence, that is, the depth-first traversal DFS or the breadth-first traversal BFS, is used as the corresponding encryption rule of the undirected complete graph. In addition, when the difference degrees corresponding to the two priority traversal numerical sequences are the same, considering that the traversal rule of the breadth-first traversal BFS of the restriction rule is similar to the raster scanning rule, both of which are in the conceptual category of hierarchical traversal, while the rules and ideas of the depth-first traversal DFS of the restriction rule are different from raster scanning, the traversal numerical sequence obtained is relatively difficult to be cracked by reasoning with the rules, that is, the encryption effect is better. Therefore, when the difference degrees corresponding to the two priority traversal numerical sequences are the same, this embodiment selects the numerical sequence obtained by the depth-first traversal DFS operation of the restriction rule as the encrypted numerical sequence obtained after encrypting the undirected complete graph. At this point, for each undirected complete graph of a numerical cluster, the encryption rule corresponding to the undirected complete graph can be adaptively determined, and the encrypted numerical sequence corresponding to each numerical cluster under the encryption rule can be obtained, effectively ensuring the effect of data scrambling encryption.
[0094] Step S5: According to the frequencies corresponding to the same values in each value cluster, an encrypted two-dimensional matrix is constructed using the encrypted value sequences corresponding to each undirected complete graph.
[0095] After obtaining the encryption rules corresponding to the undirected complete graph of each value cluster through the above step S4, and the encrypted value sequence obtained by encrypting the undirected complete graph according to the corresponding encryption rules, the encrypted value sequence is arranged based on the frequencies corresponding to each same value in each value cluster determined in the above step S2, so as to obtain an encrypted two-dimensional matrix. The implementation steps include:
[0096] According to the frequency corresponding to each identical value in each value cluster, determine the frequency average corresponding to each value cluster;
[0097] According to the descending order of the frequency average values corresponding to each value cluster, the encrypted value sequences corresponding to each undirected complete graph are concatenated, and the concatenated encrypted value sequences are divided and arranged to obtain an encrypted two-dimensional matrix.
[0098] Specifically, for each numerical cluster, the average value of all frequencies is calculated according to the frequencies corresponding to each same numerical value in the numerical cluster determined in the above step S2, so as to obtain the frequency average value of each numerical cluster. The frequency average values corresponding to each numerical cluster are arranged in order from large to small, and at the same time, the encrypted numerical sequences of each undirected complete graph corresponding to each numerical cluster are spliced according to the order in which the frequency average values are arranged. In other words, the encrypted numerical sequence of the numerical cluster corresponding to the largest frequency average value is spliced behind the encrypted numerical sequence of the numerical cluster corresponding to the second largest frequency average value, and then the encrypted numerical sequence of the numerical cluster corresponding to the third largest frequency average value is spliced behind the encrypted numerical sequence of the numerical cluster corresponding to the second largest frequency average value, and so on, the encrypted numerical sequences corresponding to each numerical cluster are spliced to obtain the spliced encrypted numerical sequence. Then, in the manner of splitting the original numerical sequence to form the original two-dimensional matrix, the spliced encrypted numerical sequence is split to form an encrypted two-dimensional matrix.
[0099] By splicing the encrypted numerical sequences of each undirected complete graph corresponding to each numerical cluster in order from large to small according to the frequency average value of each numerical cluster, an encrypted two-dimensional matrix can be formed. The data in the encrypted two-dimensional matrix can be subjectively made to appear as a phenomenon of gradually changing frequency, thereby increasing the confusion of the data distribution, facilitating the concealment of its true distribution, and further ensuring the confidentiality of the data, thereby effectively improving the scrambling encryption effect of the data.
[0100] Step S6: Determine the constructed encrypted two-dimensional matrix as the encrypted data corresponding to the original data to be encrypted, and determine the encryption rules and numerical number sequences corresponding to each undirected complete graph as the key of the encrypted data.
[0101] After the encrypted two-dimensional matrix is obtained through the above step S5, the encrypted two-dimensional matrix can be directly used as the encrypted data corresponding to the data sequence to be encrypted. Of course, as another optional implementation, in order to increase the encryption concealment of the data sequence to be encrypted, a grayscale image of the encrypted two-dimensional matrix can be constructed in the manner of constructing a grayscale image according to the original two-dimensional matrix, and the constructed grayscale image of the encrypted two-dimensional matrix is used as the encrypted data corresponding to the data sequence to be encrypted.
[0102] At the same time, since each encrypted numerical sequence constituting the encrypted two-dimensional matrix is obtained by traversing the corresponding undirected complete graph according to an optimal priority traversal rule, the optimal priority traversal rule refers to the depth-first traversal DFS or breadth-first traversal BFS of the restriction rule, and each encrypted numerical sequence corresponds to a numerical numbering sequence, each numerical value in the numerical numbering sequence is used to represent the position of each numerical value in the undirected complete graph in the original two-dimensional matrix, in order to facilitate the subsequent decryption of the encrypted data, the encryption rule and numerical numbering sequence corresponding to each encrypted numerical sequence of the encrypted two-dimensional matrix are determined as the key of the encrypted data. At this point, the data encryption module completes the encryption process of the original data to be encrypted.
[0103] The data storage module is used to store the encrypted data and keys obtained by the data encryption module, and the encryption rules and numerical coding sequences in the keys are stored one by one according to the arrangement of the encrypted numerical sequences in the encrypted two-dimensional matrix in the encrypted data.
[0104] The data decryption module is used to decrypt the encrypted data according to the key to obtain the original data. The specific working process includes:
[0105] Determine the encrypted numerical sequence corresponding to each undirected complete graph according to the frequency corresponding to each same numerical value in the encrypted two-dimensional matrix in the encrypted data;
[0106] Determine each undirected complete graph according to the encrypted numerical sequence corresponding to each undirected complete graph and the encryption rule and numerical coding sequence corresponding to each undirected complete graph in the key;
[0107] According to each undirected complete graph, determine the original two-dimensional matrix;
[0108] According to the original two-dimensional matrix, the original numerical sequence is determined, and according to the original numerical sequence, the original data is determined.
[0109] Specifically, according to the encrypted data, that is, the encrypted two-dimensional matrix, the method of determining each value cluster in step S2 is followed, and according to the frequency corresponding to each same value in the encrypted data, each value cluster in the encrypted two-dimensional matrix is determined. At the same time, the values in the encrypted two-dimensional matrix are traversed by a raster scanning method, so as to obtain a spliced encrypted value sequence. Since the values in each value cluster corresponding to the encrypted two-dimensional matrix correspond to a section of the spliced encrypted value sequence, the spliced encrypted value sequence is cut according to each value cluster corresponding to the encrypted two-dimensional matrix, so as to obtain the encrypted value sequence corresponding to each undirected complete graph.
[0110] Since each encrypted numerical sequence corresponds to a numerical numbering sequence and encryption rules in the key, according to the numerical numbering sequence corresponding to each encrypted numerical sequence, the numbering position of each numerical value in the undirected complete graph corresponding to each encrypted numerical sequence in the original two-dimensional matrix can be determined, and combined with each encrypted numerical sequence and the encryption rules corresponding to each undirected complete graph in the key, the one-to-one corresponding position of each numerical value in each undirected complete graph in the original two-dimensional matrix can be determined, so that each undirected complete graph can be obtained. According to each undirected complete graph, the original two-dimensional matrix can be determined. The original numerical sequence can be obtained by scanning the numerical values in the original two-dimensional matrix using a raster scanning method, and then the original numerical sequence is inversely processed according to the encoding conversion and sorting processing of the original data, so that the original data before encryption can be obtained, and the decryption process of the encrypted data is completed.
[0111] The present invention performs encoding conversion and sorting processing on different types of data in the original data to be encrypted to form an original two-dimensional matrix, and divides the values with relatively close values and relatively close frequencies in the original two-dimensional matrix into a value cluster according to each identical value in the original two-dimensional matrix and its corresponding frequency, constructs an undirected complete graph of each value cluster, and adaptively determines the encryption rules corresponding to the undirected complete graph of each value cluster, thereby obtaining an encrypted value sequence after the undirected complete graph is encrypted according to the corresponding encryption rules, and according to the frequencies corresponding to each identical value in each value cluster, uses the encrypted value sequence corresponding to each undirected complete graph to construct an encrypted two-dimensional matrix, thereby realizing the scrambling encryption process of the data. First, since the present invention can uniformly scramble the relatively close values in each value cluster, the data scrambling effect is effectively guaranteed. Secondly, when the present invention scrambles and encrypts the values in each value cluster, the encryption rules of each value cluster are adaptively determined, further ensuring the scrambling encryption effect of each value cluster. Finally, the present invention determines the arrangement order of each encrypted numerical sequence to generate an encrypted two-dimensional matrix according to the frequency corresponding to each identical numerical value in each numerical cluster. In this way, these encrypted numerical sequences can present a pattern of gradually changing frequencies in the encrypted two-dimensional matrix, thereby increasing the confusion of the original digital arrangement, further ensuring the confidentiality of the data, and effectively improving the scrambled encryption effect of the data.
[0112] It should be noted that the above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A self-service platform for enterprise personnel intelligent management based on big data, characterized in that: Including data encryption module, The data encryption module is used for: The original data to be encrypted is subjected to encoding conversion and sorting processing to obtain an original numerical sequence, and the original numerical sequence is segmented and arranged to obtain an original two-dimensional matrix; Count the values in the original two-dimensional matrix to obtain the frequencies corresponding to the same values, and cluster the values in the original two-dimensional matrix according to the same values and their corresponding frequencies, so as to obtain value clusters; According to the position of each value in each value cluster in the original two-dimensional matrix, an undirected complete graph of each value cluster is constructed, and a numerical number sequence corresponding to the undirected complete graph is determined. Specifically, according to the position of each value in each value cluster in the original two-dimensional matrix, the position number of each value in the original two-dimensional matrix is determined, and the position numbers are arranged in ascending order, so as to obtain a numerical number sequence corresponding to the undirected complete graph of each value cluster; Determine the encryption rules corresponding to the undirected complete graph of each value cluster respectively, and obtain the encrypted value sequence obtained after encrypting the undirected complete graph according to the corresponding encryption rules; According to the frequencies corresponding to the same values in each value cluster, an encrypted two-dimensional matrix is constructed using the encrypted value sequences corresponding to each undirected complete graph. Specifically, according to the frequencies corresponding to the same values in each value cluster, the frequency average value corresponding to each value cluster is determined; according to the order of the frequency average values corresponding to each value cluster from large to small, the encrypted value sequences corresponding to each undirected complete graph are spliced, and the spliced encrypted value sequences are divided and arranged, so as to obtain an encrypted two-dimensional matrix; The constructed encrypted two-dimensional matrix is determined as the encrypted data corresponding to the original data to be encrypted, and the encryption rules and numerical number sequences corresponding to each undirected complete graph are determined as the key of the encrypted data.
2. According to the big data-based enterprise personnel intelligent management self-service platform according to claim 1, it is characterized in that: The data encryption module is used for: The values in the undirected complete graph are traversed respectively by using a basic order traversal rule and at least two priority traversal rules, so as to obtain an order traversal value sequence and each priority traversal value sequence corresponding to the undirected complete graph; Compare each priority traversal value sequence with the sequential traversal value sequence to determine the degree of difference between each priority traversal value sequence and the sequential traversal value sequence, and determine the priority traversal value sequence corresponding to the largest degree of difference as the target traversal value sequence; The priority traversal rule corresponding to the target traversal value sequence is determined as the encryption rule corresponding to the undirected complete graph, and the target traversal value sequence is determined as the encrypted value sequence obtained after encrypting the undirected complete graph according to the corresponding encryption rule.
3. The enterprise personnel intelligent management self-service platform based on big data according to claim 2 is characterized in that: The data encryption module is used for: Two priority traversal rules are used to traverse the undirected complete graph respectively, and when each priority traversal rule is used to traverse the undirected complete graph, the first traversal calibration value of each value in the undirected complete graph is determined according to the row number, the number of values in the row and the column number of each value in the original two-dimensional matrix, and the value corresponding to the smallest first traversal calibration value is selected as the first traversal value in the undirected complete graph.
4. The enterprise personnel intelligent management self-service platform based on big data according to claim 2 is characterized in that: The data encryption module is used for: Compare the values of the same sequence numbers in each priority traversal sequence with those in the sequential traversal sequence, and determine the number of sequence numbers whose two values are different corresponding to the same sequence number in the two sequences, calculate the ratio of the number to the total number of sequence numbers, and determine the ratio as the degree of difference of each priority traversal sequence relative to the sequential traversal sequence.
5. According to the big data-based enterprise personnel intelligent management self-service platform of claim 1, it is characterized in that: The data encryption module is used for: According to the position of each value in each value cluster in the original two-dimensional matrix, the neighboring values of each value are determined, and each value is connected with the neighboring values of the value in the original two-dimensional matrix, so as to obtain an undirected complete graph of each value cluster.
6. The enterprise personnel intelligent management self-service platform based on big data according to claim 1 is characterized in that: The data encryption module is used for: Treat the encrypted original data and then perform binary conversion to obtain each binary code; Determine whether the binary code is less than the set code length. If it is less than the set code length, perform a first-bit complement operation on the binary code to reach the set code length; Performing a last digit increment operation on the binary code of the set code length, and converting the binary code after the last digit increment operation into a decimal value, thereby obtaining each value; Arrange each value in order to obtain the original value sequence.
7. The enterprise personnel intelligent management self-service platform based on big data according to claim 6 is characterized in that: The data encryption module is used for: According to each value in the original two-dimensional matrix, a grayscale image is constructed, where a value in the original two-dimensional matrix corresponds to a pixel in the grayscale image, and the grayscale value of each pixel is the value of the corresponding value; According to the grayscale image, a grayscale dot matrix histogram is constructed, wherein the abscissa of each frequency point in the grayscale dot matrix histogram is each identical value in the original two-dimensional matrix, and the ordinate of each frequency point is the frequency corresponding to each identical value in the original two-dimensional matrix; According to the position of each frequency point in the grayscale dot matrix histogram, a density clustering algorithm is used to cluster each frequency point to obtain each frequency point cluster. Each value in the original two-dimensional matrix corresponding to the horizontal coordinate of each frequency point in each frequency point cluster is taken as a cluster to obtain each value cluster.
8. The enterprise personnel intelligent management self-service platform based on big data according to claim 1 is characterized in that: The platform also includes a data decryption module, which is used to: Determine the encrypted numerical sequence corresponding to each undirected complete graph according to the frequency corresponding to each same numerical value in the encrypted two-dimensional matrix in the encrypted data; Determine each undirected complete graph according to the encrypted numerical sequence corresponding to each undirected complete graph and the encryption rule and numerical coding sequence corresponding to each undirected complete graph in the key; According to each undirected complete graph, determine the original two-dimensional matrix; According to the original two-dimensional matrix, the original numerical sequence is determined, and according to the original numerical sequence, the original data is determined.
Citation Information
Patent Citations
Format file vectorization encryption method
CN115470508A
Cryptographic security system, method, and program product using data partitioning
US20210279341A1