cathugger/mkp224o

Question: How Proton Mail Get 10 Character Onion V3 Domain?

IzumiSenaSora opened this issue · 11 comments

How Proton Mail Get 10 Character Onion V3 Domain?

https://(protonmail)rmez3lotccipshtkleegetolb73fuirgj7r4o4vfu7ozyd.onion/

Is there any tricks? Is it possible with "mkp224o"? If yes how?
Sorry i am bad at english!.

What's wrong with this domain? What 10 words did you find in it? It seems to be fairly unremarkable.

What's wrong with this domain? What 10 words did you find in it? It seems to be fairly unremarkable.

Sorry!... i am bad at english!... i though "word" and "character" have same meaning!... 😅

My old computer (2020) can find a domain like this taking anywhere from one hour to 16 hours. But, I tend to search a whole list of 8-11 character words. Within an hour I come across several addresses of 10 characters.

Generation speed ~210M-230M per second.

I haven't optimized anything and I haven't run any separate benchmarks.
From configuration, I think I have --enable-amd64-64-24k and --enable-binsearch enabled

My old computer (2020) can find a domain like this taking anywhere from one hour to 16 hours. But, I tend to search a whole list of 8-11 character words. Within an hour I come across several addresses of 10 characters.

Generation speed ~210M-230M per second.

I haven't optimized anything and I haven't run any separate benchmarks. From configuration, I think I have --enable-amd64-64-24k and --enable-binsearch enabled

How many thread you use while running?
+ several 10 character with in hour?
Can you share your command which command or the way you filter? I am noob in this. So can you help me bit?

Searching for vanity addresses is entirely probabilistic. Formulas for estimating the average amount of time to find an n-letter match are discussed in #27.

My old computer (2020) can find a domain like this taking anywhere from one hour to 16 hours. But, I tend to search a whole list of 8-11 character words. Within an hour I come across several addresses of 10 characters.
Generation speed ~210M-230M per second.

This is factually incorrect, or at best highly misleading. Could you find a match having some 10-letter english phrase in that amount of time, sure, probably even faster. But not one specific 10-letter combination. The number of trials on average that you would have to do to find one specific 10-character prefix is 32^10. Divide that number by the number of trials/second you say you have, and you get: 32^10/210e6 = ~62 days.

Is there any tricks? Is it possible with "mkp224o"? If yes how?

This is possible with mkp224o. There is only two things you can do to sped up finding matches:

  1. Increase the number of trials per second. This can be by using faster hardware, or more hardware, or using your existing hardware more efficiently. To my knowledge there are not any implementations that are substantially faster than mkp224o, but it's not impossible and I have not looked for other programs to do this in a long time. More than likely though in this case they just ran a program like this on many computers. With cloud computing, that's just a matter of paying more. For running this program on a personal computer, you may be able to get a little more out of it by changing the algorithm used (there are multiple options available at compile-time) and perhaps by changing your compiler and its options.
  2. Increase the probability of a match. This most obviously is achieved by searching for smaller prefixes. Sometimes you can search for a smaller prefix, such as "proton", generate a bunch of results, and pick the best one. For example, you might find protonsecem, which is not something you would search for, but you could make up some reasoning such as "it stands for Proton SECure Email" and then you have your longer match (see the old "facebookcorewwi" address). However if you don't want to go through the matches, you can instead increase the number of search terms. For example they might search for protonmail, protonemail, protonmessage, mailproton etc. While the speedup of this is not quite linear because you have to compare each key to more prefixes, it is still very beneficial.

How many thread you use while running? + several 10 character with in hour? Can you share your command which command or the way you filter? I am noob in this. So can you help me bit?

2x CPU EPYC 7601
RAM 512Gb
1xGPU nvidia 1070ti
1xM.2 4x PCI-E 3.0
other IRQ are free to increase performance of calculations

2x32 cores x2 threads = 128 threads
in fact 64x 3200 Mhz

with EPYC you can probably gain some small perf improvements by increasing --enable-batchnum= configure time option to something like 4096 or more, as iirc that has bigger cpu cache size.

My home PC with i7-12700K gets about 80 000 000 calc/sec, which takes less than half a year to exhaust the entire 10 character space. Pretty doable for you, piece of cake for a multi-million dollar corporation.

My home PC with i7-12700K gets about 80 000 000 calc/sec, which takes less than half a year to exhaust the entire 10 character space.

No. At that rate, it will take a little less than half a year on average to find any one specific 10 character prefix. Each new address this program generates is completely random and independent of previously generated results, so as you continue to run you will get multiple results with the same prefix, and the probability of the next address you generate having the same first 10 characters as a previously generated address goes up the more prefixes you find. To "exhaust the the entire 10 character space", that is to generate at least one of every possible 10 character prefix, that problem falls under what is known as the Coupon collector's problem. According to that, you would need to run on average 32^10*H(32^10) trials where H(n) the the n-th Harmonic number. At your given calculation rate, that would take on average 15.7 years. And that is in the best case scenario which assumes that a) all prefixes are possible and b) all prefixes are uniformly distributed. I do not know that either of these are guaranteed by the underlying cryptographic algorithms, but I don't think they are unreasonable assumptions, especially for only a 10 character prefix.

Hello, I am looking for a way to specifically generate 11 specific characters, being a private company, I can offer myself a considerable budget so that its realization is possible & fast.

I leave you my email to contact me if you are interested in helping me on my request too & and being paid.

email : hardy.corpo45@proton.me