; Generate Domain Parameters for the official DSA. ; See page 31 of NIST.FIPS.186-4 (lambda (s) (let* ( (r (((fileVal "RC4") s) 'rbi)) (pias (fileVal "pias")) (q (let* ((ps (expt 2 159)) (rb (r ps)) (rs (r 6700000))) (let w ((p (pias (+ ps (rb)) (rs)))) (if (pair? p) (w p) p)))) (p (let* ((k (+ 1 (quotient (expt 2 1023) q))) (z (* k q)) (rb (r k))) (let w ((p (pias (+ z 1 (* q (rb))) q))) (if (pair? p) (w p) p)))) (exp ((fileVal "expt") (lambda (a b) (modulo (* a b) p)) 1 #f)) (g (let ((t (r (- p 1)))) (let L () (let ((g (exp (+ 1 (t)) (/ (- p 1) q)))) (if (= g 1) (L) g)))))) (cons (list p q g) exp))) (let* ((fp ((fileVal "DSA/dpg") "floop")) (exp (cdr fp)) (p (caar fp)) (q (cadar fp)) (g (caddar fp))) (list p q g (exp g q))) (161382519695320551177575975887587739558607773410770521359053059182064445701260815827874589292414420624579521014939329077314279026621504583635176790905427510637446665085430379079891835532734923982048443151297489712653854361793656064397019594229732128592024079286175313199397658627888458778920564819417194524567 894774400642528610661431757841208275581073922279 72837152402483374996689147003127106148844047560739342983679107887656891681563373527512924805072317431043173597229349903305751543845715521263691622163905058340348332367759229918306091882964584778770045794418625863351775554747303707239979552764829644333230779367838443023071910198933210737355968081410329203339 1)