12:08 The concept of Internetservice distributed password guessing | |
Everyone knows that in spite of the current development of computing power and technology of their use, the problem of complete enumeration of possible values ??for a known password hash is often very resource-intensive (particularly with respect to time). The complexity of the problem consists of the dictionary size and complexity of the hash algorithm. The size of the dictionary in turn depends on the number of words in the alphabet and the maximum and minimum password length. Course combinatorics tells us that for an alphabet of length C characters and a maximum length of the word N size of the dictionary will be equal to C ^ N. At the same the task of the exhaustive search is well parallelized, and the idea of ??distributed hash bruteforce is not new and even has a public implementation. However, I still did not meet the public service, and a wide selection of hash algorithms, and built on the idea of ??crowdsourcing. Next, I outlined the concept of such a service.ArchitectureThe architecture is very simple and consists of three main components:
Requirements for the agentThe agent should be as portable as possible and at the same time, effectively utilize the hardware resources of the client. The optimal solution I see a program designed to nekompiliruemom language, such as Python, are used to calculate hashes OpenCL. True, choosing portability have to pay a performance as OpenCL behind specialized frameworks. One of comparing the performance of a specific task in different frameworks here. Server Requirementsserver role is relatively simple and limited to the distribution of tasks, monitor progress, and making the preservation of found pairs of hash password. Therefore there are no special requirements. The server can be easily implemented for example on Google App Engine. Algorithmalgorithm for solving a specific problem iterate the following:
Motivation and monetizationObviously, for the efficient operation of the service, participants must be motivated to address not only their tasks. The first thing that occurred to me at the moment - it's "points" that require the customer to solve their own problems by employing a distributed network, and that it receives for participating in the tasks initiated by other clients. The ensuing monetization - "points" you can buy. ImplementationMy competence is sufficient for the implementation of the core server and agent framework (without OpenCL functions). However, I have no skills of web design, layout, JavaScript and OpenCL. All competent and concerned friends are kindly invited to joint implementation! | |
|
Total comments: 0 | |