Решение без предположения, что $а$ и $b$ отличны от нуля и не требуют вычисления мультипликативных инверсий, что также не предполагает связи между Алисой и Бобом, за исключением предварительного соглашения об общей случайной строке (это известно как модель «частного одновременного сообщения»):
Алиса и Боб соглашаются $ г, с, т $ (три случайных числа).
Алиса отправляет $c = a+r, c' = c\cdot s + t$ Кэрол, и Боб посылает $d = b+s, d' = b\cdot r - t$ к Кэрол. Кэрол вычисляет $c\cdot d - (c' + d')$.
Здесь сумму можно вычислить по модулю $n$, куда $n$ является общедоступной верхней границей $а$ и $b$, а «случайный» означает равномерно случайный элемент $\mathbb{Z}/n\mathbb{Z}$.
Примечание: ключевым моментом в вашем вопросе является предположение, что Кэрол не будет вступать в сговор с Алисой и Бобом. Классический результат заключается в том, что безопасные вычисления не требуют никаких криптографических или вычислительных предположений, поскольку количество сторон, которые могут вступить в сговор, строго меньше половины от общего числа, что и имеет место здесь. Следовательно, вам не понадобятся специальные библиотеки/инструменты в Golang, кроме базовой арифметики.