2013-05-14 5 views
1

Ищет помощь в том, как рассчитать секретный ключ RSA в сценарии bash 'd', когда указаны p, q & e.RSA Algorithm (вычисление частного ключа) в bash

Хотя я знаю, что этот запрос появился раньше, все, что я, кажется, нахожу, является теоретическим советом по вычислению секретного ключа RSA, когда даны p, q & e.

Я пытаюсь поставить расчет в Баш скрипт вместе и так будет на самом деле, как некоторые объяснения по расчетам возможных в Баш (с выраж или Ьс)

Я нашел сайт, который в основном советовали следующее; (с «т» быть totient из р * д, а точнее totient из «п»)

d=$(echo "((2 * $t) + 1)/$e" | bc)

Но это только кажется, работает на этом конкретном случае и не обеспечивают правильный выход, когда пытаясь в разных случаях.

Любая помощь в том, как я могу написать формулу bash для этого расчета?

+1

У меня есть несколько заданий по этому вопросу: 1. Действительно ли этот вопрос касается «Как выполнять математические вычисления в bash»? 2. Почему вы планируете самостоятельно писать алгоритм RSA, почему бы не использовать openSSL и т. Д., Который уже отлично работает для вас? – psibar

+0

Если есть программа, которая может сказать мне, что значение 'd' будет дано для информации о p, q & e, то это прекрасно, я полагаю. Но я также хотел бы понять, как я могу рассчитать значение в сценарии bash. – user2381373

+0

В современных алгоритмах шифрования, основанных на RSA, есть больше вещей, чем предоставляют простые «wikipedia» exaples. Вы определенно не должны полагаться на простой скрипт bash для шифрования/дешифрования конфиденциальных данных, если вы не играете. Просто google «openssl» и «rsa encryption», чтобы узнать, как использовать openssl, если вам нужно шифровать конфиденциальные данные – psibar

ответ

0

От оценки RSA

| e * d | = 1 (по модулю ц (р * д))

где р (п) функция Эйлера

Так что вам нужно вычислить инверсию е в этом по модулю. Не забудьте проверить, является ли GCD (e, fi (p * q)) = 1 или вы не можете найти инверсию e в данном модуле.

Вы можете добиться этого, используя расширенный алгоритм Евклида. В Интернете много псевдокодов. Вам нужна дополнительная помощь?

Смежные вопросы