Мне неясно как они вычислили "секретную экспоненту":

А, ну так просто:

,

мы знаем. Обратный элемент в кольце вычетов считаем по алгоритму Евклида. Вы не знаете, как считать обратный элемент? Если не знаете, то так:
Сравнение

с известными

и неизвестным

переписывается в виде уравнения

с неизвестными

и далее находим его решение с помощью (расширенного) алгоритма Евклида.
Там ведь все таки не

а

Это нормально. В теории работа происходит с отношением сравнения

, в программах вместо классов вычетов

используют представителей

с

, и тогда одинаковость классов вычетов (или сравнимость элементов классов вычетов) равносильна равенству таких представителей.
(Оффтоп)
если как Вы пишите по первой ссылке "баг"
Я такого не писал. Я по ссылке не ходил.