Как защитить апдейтер программы от компроментации сервера?
Восстановление одного из ключей пары по другому - задача, требующая для серьезных ключей (4096 бит и далее) колоссальных временных затрат.
На самом деле, вам нужно завести хороший публичный сертификат SSL и использовать SSL для передачи обновлений. Весь необходимый функционал реализован в SSL:
-Подтверждение того, что приложение соединилось с легитимным сайтом
-Защита от MiTM путем подмены сайта.
-Защита передаваемой информации.
В программу ничего встраивать не нужно, поэтому и украсть из нее какой-либо ключ будет невозможно.
В криптографии следует использовать сторонние утилиты, так как реализовать качественную защиту крайне сложно.
Вы защищаете передаваемые данные или сам сервер? 
Если первое - переходите на SSL соединение и всё. На сервере https, на клиенте проверка серта средствами OS.
Если нужна защита сервера - то шифрование диска, вход по смарт -карте и тд.