Для доказательство правильности работы работы алгоритма с открытым ключом (RSA) достаточно установить, что
\(D(E(m))\ \equiv\ m\ или\ m^{ed}\ \equiv\ m\ (mod\ n) \)
Это доказывается с использованием условий, наложенных на p,q,n,e,d, теоремы Эйлера и малой теоремы Ферма.
Заметим, что секретным ключом является наборчисел \((p,\ q,\ \varphi(n),\ d)\), а открытый ключ составляет пара чисел \((n,\ e)\)
Напишите программу, которая по значениям p,q получает "словарь шифрования" D:
\(\begin{cases} {D[m]=E(m),\ если\ 0\leq m<p\cdot q\\ D[p\cdot q]=e -\ открытый\ ключ} \end{cases}\)
Надо написать только код подпрограммы RSA(p,q), возвращающей "словарь шифрования"