Почему при шифровании TLS, да и вообще в криптографии используются именно простые числа? Почему бы не использовать любые?
Ответ
Одна причина в том, что легко умножить 2 большие простые числа, например
393050634124102232869567034555427371542904833 * 170141183460469231731687303715884105727
дает сразу
66874100049762646240147492397977579549553083399872470020691839934725993584071278591
(Python, < 0.2 секунд), no обратное сделать (разложить большое число на простые числа) практически не возможно - нет общего достаточно быстрого алгоритма (см. Алгоритмы факторизации.)
Вообще это работа на несколько лет даже для супер компьютеров.
Комментариев нет:
Отправить комментарий