Opencl, Elliptic curve прототип

Цена договорная
15 января 2023, 12:45 • 4 отклика • 29 просмотров
Нужен пример работы, когда внутри opencl kernel'а выполняются такие операции:
- ec.Add (kernel)
- ec.ScalarBaseMult (kernel, []byte*G)
- из hex строки в ec.point (cpp или kernel)
- из ec.point в hex строку (cpp или kernel)

Результат работы:
- компилирую cpp
- запускаю с первым параметром в виде hex строки: 0xffff
внутри выполняется:
a: []byte = toByteArray("0xffff")
// kernel start
aX, aY = ec.ScalarBaseMult(a) // []byte*G
bX, bY = ec.Add(aX,aY, bX,bY)
result: []byte = ec.PointToByte(bX,bY)
// kernel end
resultHex: string = toHexFromByteArray(result)
println(resultHex) // 0x04508de24cc26d8e981f01916d499506c724a44b03f3e10dedf65c50ecea3173831318692da5f769b0d263b0a8abfeb7c0e3160967507227bb6b9d0adf23dfe856

Есть не cpp код, могу дать все промежуточные переменные. Вдохновение можно поискать в hashcat коде.

Это первая часть задачи, будут еще.

В отклике прошу указать диапазон часов на реализацию и ставку за час. Если понадобится, пересоздам заказ.