![]() |
|
|
#166 | |
|
"Mihai Preda"
Apr 2015
3·457 Posts |
Quote:
Specifically: half of the hashes are even; why is that a problem? Last fiddled with by preda on 2020-06-21 at 02:40 |
|
|
|
|
|
|
#167 |
|
P90 years forever!
Aug 2002
Yeehaw, FL
2×53×71 Posts |
This is easier to code than I expected! I just created a power=8 proof of M216091 and successfully verified it.
Using 48-bit hashes, the proof construction cost was the equivalent of 15K squarings. Server-side cost was 2K squarings. |
|
|
|
|
|
#168 |
|
"Pavel Atnashev"
Mar 2020
22×11 Posts |
Do you construct the full exponent for each point or group them?
|
|
|
|
|
|
#169 |
|
P90 years forever!
Aug 2002
Yeehaw, FL
1D6616 Posts |
|
|
|
|
|
|
#170 |
|
"Pavel Atnashev"
Mar 2020
22·11 Posts |
A time for hacking fun.
The random exponent is required to have no divisors <1000 in my code. After disabling this check I was able to "hide" a 321 prime by multiplying the result by 3rd root of unity. Every third certificate passes validation. Code:
***** cert.txt Certificate RES64: 2C2CCA7B6A1F7703 Time : 4.290 sec. 3*2^2291610+1 is not prime. Proth RES64: 0000000000000002 Time : 125.660 ms. ***** CERT_DC.TXT Certificate RES64: 2C2CCA7B6A1F7703 Time : 52.338 sec. ***** I strengthened the random to contain no divisors < 10^6. Can also check the gcd, but this doesn't look necessary for Proth numbers. |
|
|
|
|
|
#171 | |
|
"Mihai Preda"
Apr 2015
137110 Posts |
Quote:
Why do you use the 3rd root instead of the 2nd root of unity? (I would expect the factor "2" to be the worst in the hash, why not use that?) How would the attack look for a (small) mersenne number? |
|
|
|
|
|
|
#172 |
|
"Mihai Preda"
Apr 2015
3·457 Posts |
|
|
|
|
|
|
#173 | |
|
"Pavel Atnashev"
Mar 2020
22×11 Posts |
Quote:
Because the last point is not the end of the test, there's also a short tail, a few squarings. If I used 2nd root it'd turn into 1 too soon and wouldn't survive until the end of test. Find a prime Mersenne number N. Find the smallest factor of N-1 which is not 2. Find root = x^((N-1)/factor) != 1. Multiply the last point by root. Pray that the random exponent has this factor too. |
|
|
|
|
|
|
#174 | |
|
"Mihai Preda"
Apr 2015
101010110112 Posts |
Quote:
Let's assume N-1 has 3 as a factor. So you find R3!=1 such that R3^3==1, ok. You multiply Y (the final residue) by R3, this is the "faked result". What do you next? If you compute the middles in the usual way from the true saved residues, the proof would not verify. -- isn't that so? Even if we say that *all* the random hashes are multiples of 3. |
|
|
|
|
|
|
#175 | |
|
P90 years forever!
Aug 2002
Yeehaw, FL
2×53×71 Posts |
Quote:
I took "grouped" to mean that we do not raise a residue to the power of a product of hashes (e.g. r0 ^ (h0 * h1 * h2)). My proof-of-concept proof generator is attached. calc_middle is the recursive routine that calculates a Middle value to output. Last fiddled with by Prime95 on 2020-06-23 at 01:10 |
|
|
|
|
|
|
#176 |
|
P90 years forever!
Aug 2002
Yeehaw, FL
2·53·71 Posts |
I changed my random exponent to a prime number between 33 and 48 bits. Stole some Rosetta C code for Miller-Rabin test.
Last fiddled with by Prime95 on 2020-06-23 at 01:12 |
|
|
|
![]() |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| phi function | rula | Homework Help | 3 | 2017-01-18 01:41 |
| delay in crediting? | ixfd64 | PrimeNet | 7 | 2008-10-20 20:45 |
| Why delay between posts? | JHagerson | Forum Feedback | 1 | 2006-05-13 21:30 |
| Minimum delay between server connections | vaughan | ElevenSmooth | 5 | 2005-09-08 17:17 |
| Stats delay | ltd | Prime Sierpinski Project | 10 | 2005-08-08 13:38 |