[ create a new paste ] login | about

Link: http://codepad.org/jofMLjUD    [ raw code | output | fork ]

programmingpraxis - Scheme, pasted on Sep 12:
1
2
3
4
5
6
7
8
9
10
11
12
; diffie hellman key exchange

(define (expm b e m)
  (define (m* x y) (modulo (* x y) m))
  (cond ((zero? e) 1)
        ((even? e) (expm (m* b b) (/ e 2) m))
        (else (m* b (expm (m* b b) (/ (- e 1) 2) m)))))

(display (expm 5 6 23)) (newline)
(display (expm 5 15 23)) (newline)
(display (expm 19 6 23)) (newline)
(display (expm 8 15 23)) (newline)


Output:
1
2
3
4
8
19
2
2


Create a new paste based on this one


Comments: