Hi,
One question regarding the performance of the algorithm.
It's stated that for puzzle #120, the :
Expected time: ~2 months on 256 Tesla V100.
This is really mind boggling
. But does someone know how long it took (or a time approximation) to solve puzzle #115 using 4 Tesla V100 ?
To me it took (60/2^5)*(256/4)= 4 months, which is surely not reasonnable.
#110 about 2 days on 256 Tesla V100
#115 about 11 days on 256 Tesla V100
4 Tesla V100 ~~ should be 256/4=64
It takes 64 times ~~~
about 1 day (very lucky) ~ 704 days ( maybe it will take longer )
i need two point use div Point5 = div(Point1,Point2) #remove Scalar option
i need two point use mul Point6 = mul(Point1,Point2) # remove Scalar option
eny method Point1,Point2 use div and mul get therd point #mybadenglish
read my top 2 link modify please..
its posible remove scalar
python 3
Gx = 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
PG = Point(Gx, Gy)
P1 = Point(0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8)
P2 = Point(0xc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5,0x1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a)
P3 = Point(0xf9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9,0x388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672)
P4 = Point(0xe493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13,0x51ed993ea0d455b75642e2098ea51448d967ae33bfbdfe40cfe97bdc47739922)
# Puzzle 63 $$$ 1NpYjtLira16LfGbGwZJ5JbDPh3ai9bjf4
Puzzle_63 = Point(0x65ec2994b8cc0a20d40dd69edfe55ca32a54bcbbaa6b0ddcff36049301a54579, 0x5a1b76ab01e9edd0de24157ceff77bcb0f615560b250b365a5d435873eaa4625 )
# Puzzle 120 $$$ 17s2b9ksz5y7abUm92cHwG8jEPCzK3dLnT
Puzzle_120 = Point(0xceb6cbbcdbdf5ef7150682150f4ce2c6f4807b349827dcdbdd1f2efa885a2630, 0x2b195386bea3f5f002dc033b92cfc2c9e71b586302b09cfe535e1ff290b1b5ac )
# Puzzle 115 $$$
Puzzle_115 = mulk( 0x60F4D11574F5DEEE49961D9609AC6, P1 )
print ("[#115] %064x %064x" % (Puzzle_115.x,Puzzle_115.y) )
P_add = add( P1 , P2 )
print ("[add ] %064x %064x" % (P_add.x,P_add.y) )
P_sub = sub( P3 , P1 )
print ("[sub ] %064x %064x" % (P_sub.x,P_sub.y) )
P_mul2 = mul2( P1 )
print ("[mul2] %064x %064x" % (P_mul2.x,P_mul2.y) )
P_mulk = mulk( 0x3, P1 )
print ("[mulk] %064x %064x" % (P_mulk.x,P_mulk.y) )
# 0x4 / 0x2 = 0x2
P_div = div( P4 , 0x2 )
print ("[div ] %064x %064x" % (P_div.x,P_div.y) )
# 0x4 / 0x4 = 0x1
P_div = div( P4 , 0x4 )
print ("[div ] %064x %064x" % (P_div.x,P_div.y) )
# 0x7CCE5EFDACCF6808 / 0x3E672F7ED667B404 = 0x2
P_div = div( Puzzle_63 , 0x3E672F7ED667B404 )
print ("[div ] %064x %064x" % (P_div.x,P_div.y) )
===========output============
[#115] 48d313b0398d4923cdca73b8cfa6532b91b96703902fc8b32fd438a3b7cd7f55 66f0742c24f5ff80c799d691d756ad8e5aa7f6d8f986abd9eeef45514637c0d4
[add ] f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9 388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672
[sub ] c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5 1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a
[mul2] c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5 1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a
[mulk] f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9 388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672
[div ] c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5 1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a
[div ] 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
[div ] c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5 1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a