Требуемое случайное число представляет собой целое число от 0 до $\ell$. Каждый выбирает случайное число $x_i$ между 0 и $\ell$, и каждый выбирает $n$-битный случайный коэффициент ослепления $b_i$ куда $n\geq 128$ и $n$ должны быть согласованы заранее. Затем каждый объявляет обязательство по хэшированию, рассчитанное как $H(b\mathbin\|x)$. Затем каждый из них открывает свои обязательства, объявляя о своих ценностях. $b$ и $х$, и вычислить их случайное число как $$x_1 + x_2\pmod\ell.$$ Это квантово-безопасно, если хэш и выбор $n$ вместе являются квантово-безопасными.
Как указывает @poncho, человек, который открывает свое обязательство последним, может имитировать отказ от завершения протокола, если он недоволен конкретным общим случайным значением, которое будет сгенерировано во время этого вызова протокола.Это может быть проблемой, особенно если $\ell$ маленький.
Один из способов избежать этой проблемы — обеспечить штраф за невыполнение протокола. Например, каждый человек может внести средства у доверенного арбитра, который конфискует эти средства у человека, не заполнившего протокол. Неустойка должна быть равна или превышать максимально возможный выигрыш от имитации отказа.