Если просто ударить ракетой - толку не будет: просто чуть оплавится снаружи. Вот заглубляющаяся боеголовка, детонирующая под поверхностью - уже другое дело. Она будет дробить сам астероид и вполне может изменить его орбиту.
В принципе, если умудриться произвести детонацию даже в момент соприкосновения боеголовки с поверхностью, то, если взрыв сам занимает что-то около миллисекунды, то ударная волна пойдёт уже с глубины примерно - если из суммы скоростей 20 км/сек исходить - 20 метров. Возможно, этого и хватит, считать надо. Но, может, и нет. Плюс нет гарантии, что столкновение с астероидом всё же не разрушит боеголовку прежде, чем процесс детонации станет необратимым.
Ну и, разумеется, удар по астероиду должен наноситься на значительном расстоянии от Земли. Иначе отклонение в движении может оказаться недостаточно большим.
Есть другие более предсказуемые решения.
Не сбить или расколоть взрывом, а оттолкать, отбуксировать.
Например ракета с "неограниченной дальностью полета" или ядерным двигателем на борту.
Подлетает к опасному астероиду и толкает его медленно и долго, пока тот не перейдет на более безопасную для Земли орбиту. Как слабые орбитальные двигатели МКС.
Не получится. В космосе ядерные заряды разлетаются пылью грубо говоря и основное воздействие только радиактивномикроволновое. Т.е. ядерный взрыв только будет разогревать излучением астероид, но не поменяет его траекторию. Нужно бить высокопрочными болванками и разбивать астероид как арбуз пулей.
Нет, это возможно только в кино (Армагеддон). Всё дело в массе объекта и его скорости и, соответственно- энергии, которой он обладает.
Ради интереса поищите кол-во ядерных зарядов, которые сегодня имеются у людей и сравните их суммарную энергию от взрывов и энергию астероида :)
По правде говоря, в наше время придумали гораздо более креативные и многообещающие идеи. Например, приделать к каменюке моторчик (парус), или даже просто выкрасить, чтобы объект поменял траекторию.