All pastes #1707665 Raw Edit

Gen Wiener RSA

public text v1 · immutable
#1707665 ·published 2009-12-09 00:29 UTC
rendered paste body
GenWienerRSA[len_] := 
 Module[{p, q, n, \[Phi], d, e, dlen = Floor[len/4]},
  {p, q} = RandomPrime[{2^(len - 1), 2^len}, 2];
  n = p q;
  d = \[Phi] = (p - 1) (q - 1);
  While[GCD[d, \[Phi]] != 1,
   d = RandomInteger[{2^(dlen - 1), 2^dlen}];
   If[EvenQ[d], d++];
   ];
  e = PowerMod[d, -1, (p - 1) (q - 1)];
  Return[{e, n}]
  ]