Password space generation method and system, medium, program and terminal

By analyzing the password dictionary and material library, calculating the weight values ​​of structural expressions and semantic types, and dynamically updating the material library, the problem of lack of material in the password space in traditional PCFG password cracking methods is solved, and efficient and parallel password generation and cracking efficiency is achieved.

CN119808063APending Publication Date: 2025-04-11SHANGHAI HONGZHEN INFORMATION SCI & TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411860755.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

When the training samples are not rich enough, the generated password password space lacks material, resulting in inaccurate cracking and low generation efficiency.

Method used

By obtaining password dictionary and material library, analyzing password field information, extracting structural expressions, and dividing semantic types, calculating the weight values ​​of each structural expression and semantic type, dynamically updating the material library, and generating new passwords in parallel based on the weight values ​​to reconstruct the password space.

Benefits of technology

It improves the comprehensiveness of password space and crack hit rate, simplifies the difficulty of sorting password generation, realizes high-speed parallel generation, and improves the overall deciphering and decryption efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119808063A_ABST
    Figure CN119808063A_ABST
Patent Text Reader

Abstract

The invention provides a password space generation method and system, a medium, a program and a terminal. By adopting the material library, the situation that when training samples are not rich enough, the generated password space possibly lacks more materials, so that the password space reconstructed by the PCFG lacks more passwords with higher cracking rate is avoided. Moreover, the password space is divided and the password is generated in parallel, so that the situation that a computer usually needs to perform traversal generation on each password structure and field information is avoided, and the generation efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of password cracking, and in particular to a password space generation method, system, medium, program and terminal. Background Art

[0002] PCFG (Probabilistic Context-Free Grammar) is an extension of the traditional context-free grammar (CFG). It combines the concept of probability and assigns a probability value to each generation rule to describe the possibility of a generation structure appearing in the grammar. In the field of password cracking, the core of PCFG is to analyze the structural features of existing password samples, assign probability weights to the structure and field materials, and then generate new high-probability password combinations based on probability, thereby improving cracking efficiency.

[0003] However, in the traditional PCFG password cracking method, when the training samples are not rich enough, the generated password space may lack a lot of materials, so that the password space reconstructed by PCFG lacks many passwords with high cracking rates. In addition, in the process of generating the reconstructed password, the computer usually needs to traverse and generate each password structure and field information, which has low generation efficiency. Summary of the invention

[0004] In view of the above-mentioned shortcomings of the prior art, the purpose of the present application is to provide a password space generation method, system, medium, program and terminal for solving the above-mentioned problems.

[0005] To achieve the above-mentioned purpose and other related purposes, the first aspect of the present application provides a password space generation method, comprising the following steps: obtaining a password dictionary and a material library; wherein the material library includes a number of fields collected from the Internet; analyzing the field information of the password in the password dictionary and extracting structural expressions, wherein the set formed by each structural expression is a first data set; wherein the structural expression includes the data type, length and position of the field; further dividing the fields of each data type into semantic types, wherein the set formed by the fields of each semantic type is a second data set; respectively counting the total number of each structural expression and semantic type in the first data set and the second data set, and calculating the weight value corresponding to each structural expression and semantic type based on the total number; when the weight value of the semantic type is higher than the preset value or the number of elements in the current semantic type is less than the preset value, selecting the field belonging to the semantic type from the material library to fill in the second data set; based on the weight values ​​of the structural expression and the semantic type, calculating the weight value of the password according to the formula; generating new passwords in descending order of the weight values ​​of the passwords to reconstruct the password space; wherein the new passwords are generated in parallel.

[0006] In an embodiment of the first aspect of the present application, the data type includes a letter field, a numeric field and a special symbol field; the step of further dividing the semantic type of the field of each data type includes: further dividing the semantic types of the letter field, the numeric field and the special symbol field based on semantic attributes; wherein the semantic type of the letter field includes one or more combinations of names of people, places, names of objects, common phrases, poems and lyrics, and the semantic type of the numeric field includes one or more combinations of telephone numbers, ID numbers, dates and zip codes.

[0007] In an embodiment of the first aspect of the present application, the material library can dynamically update the fields in the material library according to a semantic type higher than a preset value.

[0008] In an embodiment of the first aspect of the present application, the formula is: Among them, Q is the weight value of the password, A is the weight value of the structural expression, B is the sum of the weight values ​​of the semantic types corresponding to each field in the password, and C is the number of fields.

[0009] In an embodiment of the first aspect of the present application, the step of generating a new password in parallel includes: dividing the password space into a number of intervals, and assigning a computing unit to each interval for password generation; wherein, taking the starting point of the first interval as a reference, setting a corresponding offset for the starting point of each interval, and each computing unit skips its corresponding offset and then generates the password in the corresponding interval.

[0010] To achieve the above-mentioned purpose and other related purposes, the second aspect of the present application provides a password space generation system, including: a password analysis module, used to obtain a password dictionary and analyze the field information of the password in the password dictionary and extract structural expressions, and the set composed of each structural expression is a first data set; wherein the structural expression includes the data type, length and position of the field; further, the fields of each data type are further divided into semantic types, and the set composed of the fields of each semantic type is a second data set; a weight calculation module, used to respectively count the weights of each structural expression and semantic type in the first data set and the second data set; a total number of semantic types, and based on the total number, calculates the weight value corresponding to each structural expression and semantic type; a material supplement module, used to obtain a material library, and for semantic types with weight values ​​higher than a preset value, select fields belonging to the semantic type from the material library to supplement the second data set; wherein the material library includes a number of fields collected from the Internet; a password generation module, used to calculate the weight value of the password according to a formula based on the weight values ​​of the structural expression and the semantic type, and generate new passwords in descending order of the weight values ​​of the passwords to reconstruct the password space; wherein the new passwords are generated in parallel.

[0011] In an embodiment of the second aspect of the present application, the password analysis module, weight calculation module and material supplement module are deployed on a management server, the password generation module is deployed on a decryption platform, and each computing node deploys a set of password generator programs.

[0012] To achieve the above-mentioned purpose and other related purposes, the third aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, characterized in that when the computer program is executed by a processor, the method described in any one of the preceding claims is implemented.

[0013] To achieve the above-mentioned purpose and other related purposes, the fourth aspect of the present application provides a computer program product, characterized in that the computer program product includes a computer program code, and when the computer program code runs on a computer, the computer implements any of the methods described above.

[0014] To achieve the above-mentioned purpose and other related purposes, the fifth aspect of the present application provides an electronic terminal, including a memory, a processor and a computer program stored in the memory, characterized in that the processor executes the computer program to implement any of the aforementioned methods.

[0015] As mentioned above, the present application has the following beneficial effects:

[0016] The steps of a password space generation method of the present application include: obtaining a password dictionary and a material library; wherein the material library includes a number of fields collected from the Internet; analyzing the field information of the password in the password dictionary and extracting structural expressions, and the set composed of each structural expression is a first data set; wherein the structural expression includes the data type, length and position of the field; further dividing the fields of each data type into semantic types, and the set composed of the fields of each semantic type is a second data set; respectively counting the total number of each structural expression and semantic type in the first data set and the second data set, and calculating the weight value corresponding to each structural expression and semantic type based on the total number; for the semantic type whose weight value is higher than a preset value, selecting the field belonging to the semantic type from the material library to fill in the second data set; based on the weight value of the structural expression and the semantic type, calculating the weight value of the password according to the formula; generating new passwords in descending order of the weight value of the password to reconstruct the password space; wherein the new passwords are generated in parallel. By adopting the material library, it is avoided that when the training samples are not rich enough, the generated password space may lack more materials, so that the password space reconstructed by PCFG lacks more passwords with higher cracking rates. After improving the comprehensiveness of the password space, the hit rate of decryption can be effectively improved under the same computing power consumption. In addition, the present application divides the password space into several intervals, and allocates a computing unit to each interval for password generation; wherein, based on the starting point of the first interval, a corresponding offset is set for the starting point of each interval, and each computing unit skips its corresponding offset and then generates the password in the corresponding interval. The present invention can greatly simplify the difficulty of sorting when generating passwords by mapping the password structure and password materials to a limited number of weight groups according to frequency, and then realizes the function of slicing and high-speed parallel generation of generated passwords based on offsets and quantities, ensuring that the password generation rate is greater than the actual cracking calculation rate, and improving the overall decryption efficiency. By dividing the password space and generating passwords in parallel, it is avoided that the computer usually needs to traverse and generate each password structure and field information, thereby improving the generation efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 Shown is a flowchart of a password space generation method in one embodiment of the present application.

[0018] Figure 2 Shown is a schematic diagram of the principle of a password space generation method in one embodiment of the present application.

[0019] Figure 3 Shown is a structural schematic diagram of a password space generation system in one embodiment of the present application.

[0020] Figure 4Shown is a schematic diagram of the structure of an electronic terminal in one embodiment of the present application. DETAILED DESCRIPTION

[0021] The following describes the embodiments of the present application through specific examples, and those skilled in the art can easily understand other advantages and effects of the present application from the contents disclosed in this specification. The present application can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present application. It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict.

[0022] In the embodiments of the present application, words such as "first" and "second" are used to distinguish the same or similar items with substantially the same functions and effects. For example, the first XX and the second XX are only used to distinguish different XXs, and do not limit their order. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.

[0023] It should be noted that in the embodiments of the present application, words such as "exemplary" or "for example" represent examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0024] In the embodiments of the present application, "at least one" refers to one or more, and "plurality" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can represent: a, b, c, ab, ac, bc or abc, where a, b, c can be single or multiple.

[0025] like Figure 1-2 As shown, the first aspect of the present application provides a password space generation method, comprising the following steps:

[0026] S1: Obtain a password dictionary and a material library; wherein the material library includes a number of fields collected from the Internet.

[0027] It should be understood that the password dictionary is a set of known passwords (passwords), which contains a large number of complete passwords that are actually used or speculated. It is created based on historical data and experience, and is usually composed of password records actually used by users or systems, leaked database files, or plaintext passwords extracted from research samples. The password dictionary is used to analyze password features, train generation algorithms, or directly try to crack the target password.

[0028] The material library is a field collection, including materials composed of individual letters, numbers and special symbols, which are used to fill in structural expressions and expand the password dictionary. The material library makes up for the sparsity of field samples in the password dictionary, making the generated new password space more comprehensive and having a higher hit rate.

[0029] S2: Analyze the field information of the password in the password dictionary and extract the structure expression, and the set composed of each structure expression is the first data set; wherein the structure expression includes the data type, length and position of the field.

[0030] S3: The fields of each data type are further divided into semantic types, and the set formed by the fields of each semantic type is the second data set.

[0031] In an embodiment of the first aspect of the present application, the data type includes a letter field, a numeric field and a special symbol field; the step of further dividing the semantic type of the field of each data type includes: further dividing the semantic types of the letter field, the numeric field and the special symbol field based on semantic attributes; wherein the semantic type of the letter field includes one or more combinations of names of people, places, names of objects, common phrases, poems and lyrics, and the semantic type of the numeric field includes one or more combinations of telephone numbers, ID numbers, dates and zip codes.

[0032] In one embodiment of the present application, for example, the password dictionary includes the following passwords:

[0033] (1) password, letmein, qwerty (pure letter structure)

[0034] (2)welcome123,secure789,hello456 (letter+number structure)

[0035] (3) 123@!, 456#$, 789&* (number + special symbol structure)

[0036] (4)hello@, secure#, admin! (letter + special symbol structure)

[0037] (5) John123!, Alice456@, admin789# (letter+number+special symbol structure)

[0038] It should be understood that the field length refers to the number of characters in a field, for example, in the password "admin789#", the field length of "admin" is 5, the field length of "789" is 3, and the field length of "#" is 1. The position of a field refers to the order in which the fields are arranged in the password, for example, in the password "admin789#", "admin" is the first field, "789" is the second field, and "#" is the third field. The structural expression extracted from the above password is:

[0039] (1) <alphabetic field>

[0040] (2) <alphabetic field><numeric field>

[0041] (3) <Numeric field><Special symbol field>

[0042] (4) <Letter field><Special symbol field>

[0043] (5) <alphabetic field><numeric field><special symbol field>

[0044] The classification results obtained after dividing the fields into data types and semantic types are as follows:

[0045] (1) Alphabetical field

[0046] Words: password, letmein, qwerty, welcome, secure, hello, admin

[0047] Name: John, Alice

[0048] (2) Numeric fields

[0049] Common numbers: 123, 456, 789

[0050] (3) Special symbol field

[0051] Common symbol combinations: @, #, !, @!, #$, &*

[0052] Semantic special symbols: ##, ! ! (emphasis), ¥¥ (currency type)

[0053] Based on this password dictionary, the following fields can be filled in from the library:

[0054] (1) Alphabetic field: Names: Bob, Charlie; Place names: Paris, London, Tokyo; Common phrases: welcome, qwerty.

[0055] (2) Numeric field: Common years: 1990, 2000, 2023; telephone prefixes: 400, 800.

[0056] (3) Symbol field: ##, ¥¥, ! !.

[0057] S4: Count the total number of each structural expression and semantic type in the first data set and the second data set respectively.

[0058] For example, in the above example, the structural expressions are: (1) <letter field> (2) <letter field><numeric field> (3) <numeric field><special symbol field> (4) <letter field><special symbol field> (5) <letter field><numeric field><special symbol field>, a total of five types; and the semantic types are:

[0059] (1) Alphabetical field

[0060] Words: password, letmein, qwerty, welcome, secure, hello, admin (7 in total)

[0061] Name: John, Alice (2 in total)

[0062] (2) Numeric fields

[0063] Common numbers: 123, 456, 789 (3 in total)

[0064] (3) Special symbol field

[0065] Common symbol combination: @, #, !, @!, #$, &* (6 in total)

[0066] Semantic special symbols: ##, ! ! (emphasis), ¥¥ (currency type) (3 in total)

[0067] S5: Based on the total number, the weight value corresponding to each structural expression and semantic type is calculated.

[0068] Preferably, the weight values ​​of the structural expressions can be divided into 30 levels, and the weight values ​​of the semantic types can also be divided into 30 levels, with the highest priority being level 1 and the lowest priority being level 30. Each level of weight value is assigned a certain value to facilitate subsequent calculation of the weight value of the password. It should be understood that since the number of passwords that can be processed by the decryption program per second ranges from hundreds of thousands to tens of billions, the appropriate number of weight values ​​should be adjusted so that the number of passwords in the generated single material file is not too small.

[0069] Preferably, the weight value of the semantic type can be calculated according to the following formula: semantic type weight value=log2(total number of semantic types).

[0070] S6: When the weight value of a semantic type is higher than a preset value or the number of elements in the current semantic type is less than a preset value, fields belonging to the semantic type are selected from the material library and added to the second data set.

[0071] In an embodiment of the first aspect of the present application, the material library can dynamically update the fields in the material library according to a semantic type higher than a preset value.

[0072] It should be understood that dynamic update refers to the addition or deletion of fields in the material library based on the evaluation results of the weight value of the semantic type, so that the field information in the material library is more in line with the current application scenario and generation requirements. If the weight value of a certain semantic type is higher than the preset value, it indicates that it is more likely to be used in password generation or has a higher priority. For such semantic types, more fields related to the semantic type are collected through external data sources (such as Internet crawling, existing databases, etc.), and these fields are added to the material library.

[0073] S7: Based on the weight values ​​of the structural expression and the semantic type, the weight value of the password is calculated according to a formula.

[0074] In an embodiment of the first aspect of the present application, the formula is: Among them, Q is the weight value of the password, A is the weight value of the structural expression, B is the sum of the weight values ​​of the semantic types corresponding to each field in the password, and C is the number of fields.

[0075] It should be understood that this formula does not constitute a limitation on the protection scope of the present invention. The present invention may also use other formulas to calculate the corresponding weight values. Other calculation formulas that can convert frequency data into corresponding weight values ​​all fall within the protection scope of the present invention.

[0076] S8: Generate new passwords in descending order of the weight values ​​of the passwords to reconstruct the password space; wherein the new passwords are generated in parallel.

[0077] In an embodiment of the first aspect of the present application, the step of generating a new password in parallel includes: dividing the password space into a number of intervals, and assigning a computing unit to each interval for password generation; wherein, taking the starting point of the first interval as a reference, setting a corresponding offset for the starting point of each interval, and each computing unit skips its corresponding offset and then generates the password in the corresponding interval.

[0078] For example, there is a password space sorted by weight, containing 12 passwords: a1#, a1&, a2#, a2&, b1#, b1&, b2#, b2&, c1#, c1&, c2#, c2&. The password space can be divided into 3 intervals, and 4 passwords are generated in each interval:

[0079] Interval 1: a1#, a1&, a2#, a2&.

[0080] Interval 2: b1#, b1&, b2#, b2&.

[0081] Interval 3: c1#, c1&, c2#, c2&.

[0082] Assign different computing units to intervals 1-3 for generation. Each computing unit only needs to load the subspace data it is responsible for and does not need to process the entire password space. In addition, multiple computing units simultaneously process different parts of the password space to speed up the generation. In addition, the offset and password quantity parameters are used to ensure that the task scope of each subspace is clear and the generated passwords do not overlap or miss.

[0083] Preferably, an analysis result file is assigned to the weight value of each semantic type in the second data set. At the same time, the weight values ​​of all semantic types are summarized to generate an index file of the analysis result, which contains information such as material type, corresponding weight, and material quantity. Compared with dictionary files and material library files (usually at the level of tens of GB), the size of the analysis result file is much smaller (at the level of several MB). Therefore, the result file can be sent to the password generation module on the computing node through a network interface call, and can also be accessed by the password generation module on the computing node in the form of a shared file through shared storage. Changes in its access method do not affect the scope of protection of this patent.

[0084] When generating passwords, based on the index file of the analysis results, the number of passwords specified by the offset parameter can be quickly skipped through simple calculations, and then the specified analysis result file content can be read, and the specified number of passwords can be quickly generated based on the password quantity parameter. The password generation module deployment mode is distributed multi-instance deployment, and each deployment instance can independently use one or more sets of offset and password quantity parameters and generate passwords within the interval specified by the parameters. Different deployment instances run independently and concurrently at the same time.

[0085] Preferably, the password analysis module, weight calculation module and material supplement module are deployed on a management server, the password generation module is deployed on the existing decryption platform, and each computing node deploys a set of password generator programs. In addition, the password generator can be directly connected to the decryption program, and the generated password is directly transferred to the decryption program through memory sharing or pipeline, without the need for transfer through the file storage system. Compared with the method of generating a dictionary file and then using the dictionary to crack, the system overhead can be reduced and the cracking time can be reduced. It should be understood that the operation of configuring the interval and calling the password generation module can also be completed autonomously by the third scheduling program, thereby realizing the automation of the entire decryption process. When the computing unit completes the calculation of the password in an interval, it can quickly obtain the next interval from the third-party scheduling program for password calculation until all intervals in the plan complete the decryption calculation operation. In this way, the concurrent operation of multiple computing units can be realized, the computing power resources are maximized, and the decryption time is reduced.

[0086] Figure 3 The system block diagram of an embodiment of a password space generation system according to the second aspect of the present application comprises: a password analysis module, which is used to obtain a password dictionary and analyze the field information of the password in the password dictionary and extract the structural expression, wherein the set formed by each structural expression is a first data set; wherein the structural expression comprises the data type, length and position of the field; further, the field of each data type is further divided into semantic types, wherein the set formed by the field of each semantic type is a second data set; a weight calculation module, which is used to respectively count the weights of each structural expression and semantic type in the first data set and the second data set; types, and based on the total number, calculate the weight value corresponding to each structural expression and semantic type; a material supplement module, used to obtain a material library, and for a semantic type with a weight value higher than a preset value, select fields belonging to the semantic type from the material library to supplement the second data set; wherein the material library includes a number of fields collected from the Internet; a password generation module, used to calculate the weight value of the password according to a formula based on the weight value of the structural expression and the semantic type, and generate new passwords in descending order of the weight value of the password to reconstruct the password space; wherein the new passwords are generated in parallel.

[0087] It should be understood that the specific process of each module executing the above corresponding steps has been described in detail in the above method embodiment, and for the sake of brevity, it will not be repeated here.

[0088] It should also be understood that the division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, the functional modules in the embodiments of the present application may be implemented as an independent program or a function or other implementation methods. The focus is on the functional logic rather than the specific implementation method. The specific implementation method does not affect the protection scope of this patent.

[0089] A third aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the method described in any one of the preceding claims.

[0090] A fourth aspect of the present application provides a computer program product, characterized in that the computer program product includes a computer program code, and when the computer program code runs on a computer, the computer implements any of the methods described above.

[0091] Figure 4 4 is a schematic block diagram of an embodiment of an electronic terminal provided in the fifth aspect of the present application. The electronic terminal includes: at least one processor 401, a memory 402, at least one network interface 403 and a user interface 405. The various components in the device are coupled together through a bus system 404. It can be understood that the bus system 404 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 404 also includes a power bus, a control bus and a status signal bus. Among them, the user interface 405 may include a display, a keyboard, a mouse, a trackball, a click gun, a key, a button, a touch pad or a touch screen, etc.

[0092] It is understood that the memory 402 can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM). The memory described in the embodiments of the present invention is intended to include but is not limited to these and any other suitable categories of memory.

[0093] The memory 402 in the embodiment of the present invention is used to store various types of data to support the operation of the electronic terminal 400. Examples of these data include: any executable program used to operate on the electronic terminal 400, such as an operating system 4021 and an application 4022; the operating system 4021 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks. The application 4022 can include various applications, such as a media player (Media Player), a browser (Browser), etc., for implementing various application services. The method provided by the embodiment of the present invention can be included in the application 4022.

[0094] The method disclosed in the above embodiment of the present invention can be applied to the processor 401, or implemented by the processor 401. The processor 401 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 401 or the instruction in the form of software. The above processor 401 may be a general processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The processor 401 can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiment of the present invention. The general processor 401 may be a microprocessor or any conventional processor, etc. In combination with the steps of the accessory optimization method provided in the embodiment of the present invention, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.

[0095] In an exemplary embodiment, the electronic terminal 400 may be implemented by one or more application specific integrated circuits (ASIC), DSP, programmable logic device (PLD), complex programmable logic device (CPLD) to execute the aforementioned method.

[0096] The terms "component", "module", "system", etc. used in this specification are used to represent computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution computing unit, a program and / or a computer. By way of illustration, both applications running on a computing device and a computing device can be components. One or more components may reside in a process and / or an execution computing unit, and a component may be located on a computer and / or distributed between two or more computers. In addition, these components may be executed from various computer-readable media having various data structures stored thereon. Components may, for example, communicate through local and / or remote processes according to signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system and / or a network, such as the Internet interacting with other systems through signals).

[0097] Those of ordinary skill in the art will appreciate that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or in a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0098] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0099] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0100] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0101] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0102] In the above embodiments, the functions of each functional unit can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When loading and executing computer program instructions (programs) on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. Computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that contains one or more available media integrations. Available media may be magnetic media (e.g., floppy disks, hard disks, tapes), optical media (e.g., high-density digital video discs (DVDs), or semiconductor media (e.g., solid state disks (SSDs), etc.).

[0103] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program codes.

[0104] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0105] In summary, the present invention effectively overcomes various shortcomings of the prior art and has high industrial utilization value.

[0106] The above embodiments are merely illustrative of the principles and effects of the present application and are not intended to limit the present application. Anyone familiar with the technology may modify or change the above embodiments without violating the spirit and scope of the present application. Therefore, all equivalent modifications or changes made by a person of ordinary skill in the art without departing from the spirit and technical ideas disclosed in the present application shall still be covered by the claims of the present application.

Claims

1. A password space generation method, characterized in that: The following steps are involved: Acquire a password dictionary and a material library; wherein the material library includes a number of fields collected from the Internet; Analyze the field information of the password in the password dictionary and extract the structure expression, wherein the set formed by each structure expression is the first data set; wherein the structure expression includes the data type, length and position of the field; The fields of each data type are further divided into semantic types, and the set formed by the fields of each semantic type is the second data set; Counting the total number of each structural expression and semantic type in the first data set and the second data set respectively, and calculating the weight value corresponding to each structural expression and semantic type based on the total number; When the weight value of a semantic type is higher than a preset value or the number of elements in the current semantic type is less than a preset value, fields belonging to the semantic type are selected from the material library and added to the second data set; Based on the weight values ​​of the structural expression and the semantic type, the weight value of the password is calculated according to the formula; New passwords are generated in descending order of the weight values ​​of the passwords to reconstruct the password space; wherein the new passwords are generated in parallel.

2. A password space generation method according to claim 1, characterized in that: The steps to generate a new password in parallel are: The password space is divided into several intervals, and a computing unit is assigned to each interval to generate passwords; wherein, taking the starting point of the first interval as a reference, a corresponding offset is set for the starting point of each interval, and each computing unit skips its corresponding offset and then generates passwords in the corresponding interval.

3. A password space generation method according to claim 1, characterized in that: The data types include letter fields, number fields and special symbol fields; The steps to further divide the semantic types of fields of each data type include: The letter field, number field and special symbol field are further divided into semantic types based on semantic attributes; wherein the semantic types of the letter field include one or more combinations of names of people, places, names of objects, common phrases, poems and lyrics; and the semantic types of the number field include one or more combinations of telephone numbers, ID numbers, dates and postal codes.

4. A password space generation method according to claim 1, characterized in that: The material library can dynamically update fields in the material library according to semantic types higher than preset values.

5. A password space generation method according to claim 1, characterized in that: The formula is: Among them, Q is the weight value of the password, A is the weight value of the structural expression, B is the sum of the weight values ​​of the semantic types corresponding to each field in the password, and C is the number of fields.

6. A password space generation system, characterized in that: include: A password analysis module is used to obtain a password dictionary and analyze the field information of the password in the password dictionary and extract a structure expression, wherein the set formed by each structure expression is a first data set; wherein the structure expression includes the data type, length and position of the field; further, the field of each data type is further divided into semantic types, and the set formed by the field of each semantic type is a second data set; A weight calculation module, used to count the total number of each structural expression and semantic type in the first data set and the second data set respectively, and calculate the weight value corresponding to each structural expression and semantic type based on the total number; A material supplementation module is used to obtain a material library, and for a semantic type with a weight value higher than a preset value, select a field belonging to the semantic type from the material library and supplement it into the second data set; wherein the material library includes a number of fields collected from the Internet; The password generation module is used to calculate the weight value of the password according to the formula based on the weight value of the structural expression and the semantic type, and generate new passwords in descending order of the weight value of the password to reconstruct the password space; wherein the new passwords are generated in parallel.

7. A password space generation system according to claim 6, characterized in that: The password analysis module, weight calculation module and material supplement module are deployed on a management server, the password generation module is deployed on a decryption platform, and each computing node is deployed with a set of password generator programs.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.

9. A computer program product, characterized in that The computer program product includes a computer program code, and when the computer program code is executed on a computer, the computer is enabled to implement the method as described in any one of claims 1 to 5.

10. An electronic terminal comprising a memory, a processor and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Password guessing set generating method and password cracking method based on user name information

    CN106803035A

  • Dictionary generation system and method based on password semantic structure

    CN112784227A

  • Artificial intelligence-based dictionary and mask attack method, system and device and storage medium

    CN115549919A