Scallion: a GPU-based Onion hash generator
Scallion
Scallion can help us use OpenCL to create GPG keys and .onion addresses for Tor hidden services. Scallion is developed and run on the Mono software platform, and has been successfully tested on the Arch Linux platform. The tool runs on .NET 3.5+ (tested on Windows 7 and Windows Server 2008 platforms).
Scallion is still in the testing stage and is under active development, but it can be used normally now. Our development is currently focused on improvements in performance, user interface, and installation difficulty, rather than in key generation and related algorithms.
Tool dependency
1. Install and configure OpenCL and related drivers.
2. OpenSSL, under the Windows environment, already contains pre-built x64 DLL.
3. Under the Windows platform, V C ++ Redistributable 2008 is required .
Tool download
The latest version of the source code compression package: [ click me to download ]
Build under Linux
Dependent component
For your own Linux distribution, get the latest version of Mono: [ Portal ]
Use the following commands to install common dependent components:
sudo apt-get update
sudo apt-get install libssl-dev mono-devel
AMD / OpenSource build command:
sudo apt-get install ocl-icd-opencl-dev
Nvidia build command:
sudo apt-get install nvidia-opencl-dev nvidia-opencl-icd
Finally, run the following command:
msbuild scallion.sln
Docker Linux configuration (Nvidia GPU)
1. Obtain the nvidia-docker container runtime environment: [ click me to get ].
2. Run the following command to build the container:
docker build -t scallion -f Dockerfile.nvidia
3. Run the following command:
docker run --runtime=nvidia -ti --rm scallion -l
Build under Windows
1. Open "scallion.sln" in VS
2. Build a solution
Tool use
Enumerate devices:
$ mono scallion/bin/Debug/scallion.exe -l
Generate a hash:
$ mono scallion/bin/Debug/scallion.exe -d 0 prefix Cooking up some delicious scallions... Using kernel optimized from file kernel.cl (Optimized4) Using work group size 128 Compiling kernel... done. Testing SHA1 hash... CPU SHA-1: d3486ae9136e7856bc42212385ea797094475802 GPU SHA-1: d3486ae9136e7856bc42212385ea797094475802 Looks good! LoopIteration:40 HashCount:671.09MH Speed:9.5MH/s Runtime:00:01:10 Predicted:00:00:56 Found new key! Found 1 unique keys. <XmlMatchOutput> <GeneratedDate>2014-08-05T07:14:50.329955Z</GeneratedDate> <Hash>prefix64kxpwmzdz.onion</Hash> <PrivateKey>-----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCmYmTnwGOCpsPOqvs5mZQbIM1TTqOHK1r6zGvpk61ZaT7z2BCE FPvdTdkZ4tQ3/95ufjhPx7EVDjeJ/JUbT0QAW/YflzUfFJuBli0J2eUJzhhiHpC/ 1d3rb6Uhnwvv3xSnfG8m7LeI/Ao3FLtyZFgGZPwsw3BZYyJn3sD1mJIJrQIEB/ZP ZwKBgCTUQTR4zcz65zSOfo95l3YetVhfmApYcQQd8HTxgTqEsjr00XzW799ioIWt vaKMCtJlkWLz4N1EqflOH3WnXsEkNA5AVFe1FTirijuaH7e46fuaPJWhaSq1qERT eQT1jY2jytnsJT0VR7e2F83FKINjLeccnkkiVknsjrOPrzkXAkEA0Ky+vQdEj64e iP4Rxc1NreB7oKor40+w7XSA0hyLA3JQjaHcseg/bqYxPZ5J4JkCNmjavGdM1v6E OsVVaMWQ7QJBAMweWSWtLp6rVOvTcjZg+l5+D2NH+KbhHbNLBcSDIvHNmD9RzGM1 Xvt+rR0FA0wUDelcdJt0R29v2t19k2IBA8ECQFMDRoOQ+GBSoDUs7PUWdcXtM7Nt QW350QEJ1hBJkG2SqyNJuepH4PIktjfytgcwQi9w7iFafyxcAAEYgj4HZw8CQAUI 3xXEA2yZf9/wYax6/Gm67cpKc3sgKVczFxsHhzEml6hi5u0FG7aNs7jQTRMW0aVF P8Ecx3l7iZ6TeakqGhcCQGdhCaEb7bybAmwQ520omqfHWSte2Wyh+sWZXNy49EBg d1mBig/w54sOBCUHjfkO9gyiANP/uBbR6k/bnmF4dMc= -----END RSA PRIVATE KEY----- </PrivateKey> <PublicModulusBytes>pmJk58BjgqbDzqr7OZmUGyDNU06jhyta+sxr6ZOtWWk+89gQhBT73U3ZGeLUN//ebn44T8exFQ43ifyVG09EAFv2H5c1HxSbgZYtCdnlCc4YYh6Qv9Xd62+lIZ8L798Up3xvJuy3iPwKNxS7cmRYBmT8LMNwWWMiZ97A9ZiSCa0=</PublicModulusBytes> <PublicExponentBytes>B/ZPZw==</PublicExponentBytes> </XmlMatchOutput> init: 491ms / 1 (491ms, 2.04/s) generate key: 1193ms / 6 (198.83ms, 5.03/s) cpu precompute: 10ms / 6 (1.67ms, 600/s) total without init: 70640ms / 1 (70640ms, 0.01/s) set buffers: 0ms / 40 (0ms, 0/s) write buffers: 3ms / 40 (0.08ms, 13333.33/s) read results: 67442ms / 40 (1686.05ms, 0.59/s) check results: 185ms / 40 (4.63ms, 216.22/s) 9.50 million hashes per second Stopping the GPU and shutting down...
Multi-mode hash
Scallion supports searching for single or multi-mode hashes through primitive regular expression statements, and currently only supports character types (such as [absd]). The "." Character represents any character, the Onion address length is fixed at 16 characters, and the GPG fingerprint is 40 characters. You can use "$" to find a prefix or suffix match, such as DEAD $. In addition, you can also use pipe statements (such as pattern1 | pattern2) to find multi-mode hashes. Of course, the speed of this search mode is definitely not optimistic.
Sample query
mono scallion.exe prefix[234567] mono scallion.exe -c prefix scallion hashes mono scallion.exe -c "prefix|scallion|hashes" mono scallion.exe .........badbeef mono scallion.exe --gpg badbeef$ # 生成GPG密钥 mono scallion.exe "suffixa$|suffixb$|prefixa|prefixb|a.suffix$|a.test.$"
Scallion working mechanism
1. Use OpenSSL and CPU to generate RSA key
2. Send the key to the GPU
3. Increase the public index of the key
4. Hash the key
5. If the generated hash does not partially conflict, return to the third step
6. If the generated key fails the PKCS # 1 v2.1 and sanity check, return to the third step
7. Generate a brand new key
Speed / Performance
The initial RSA key generation is done on the CPU, and the SHA1 hash calculation is done on the GPU. Given below is a calculation speed table for common GPUs:
GPU model | speed |
---|---|
Intel i7-2620M | 9.9 MH / s |
Intel i5-5200U | 118 MH / s |
NVIDIA GT 520 | 38.7 MH / s |
NVIDIA Quadro K2000M | 90 MH / s |
NVIDIA GTS 250 | 128 MH / s |
NVIDIA GTS 450 | 144 MH / s |
NVIDIA GTX 670 | 480 MH / s |
NVIDIA GTX 970 | 2350 MH / s |
NVIDIA GTX 980 | 3260 MH / s |
NVIDIA GTX 1050 (M) | 1400 MH / s |
NVIDIA GTX 1070 | 4140 MH / s |
NVIDIA GTX 1070 TI | 5100 MH / s |
NVIDIA GTX TITAN X | 4412 MH / s |
NVIDIA GTX 1080 | 5760 MH / s |
NVIDIA Tesla V100 | 11646 MH / s |
AMD A8-7600 APU | 120 MH / s |
AMD Radeon HD5770 | 520 MH / s |
AMD Radeon HD6850 | 600 MH / s |
AMD Radeon RX 460 | 840 MH / s |
AMD Radeon RX 470 | 957 MH / s |
AMD Radeon R9 380X | 2058 MH / s |
AMD FirePro W9100 | 2566 MH / s |
AMD Radeon RX 480 | 2700 MH / s |
AMD Radeon RX 580 | 3180 MH / s |
AMD Radeon R9 Nano | 3325 MH / s |
AMD Vega Frontier Edition | 7119 MH / s |
MH / s = million hashes / second
Screenshot of tool running
project address
Scallion: [ GitHub Portal ]
Copyright:
Author:admin
Link:https://www.ondarknet.com/tech/scallion-a-gpu-based-onion-hash-generator/
From:On DarkNet – Dark Web News and Analysis
Copyright of the article belongs to the author, please do not reproduce without permission.
total 0 comments