From 4132a22436ca18a48672d47fb3884b86cbd7cada Mon Sep 17 00:00:00 2001 From: David Florness Date: Sun, 10 Nov 2019 06:31:09 -0700 Subject: [PATCH] Signature's verifying! --- crypto.rkt | 2 +- main.rkt | 13 +++++++++++-- server.rkt | 8 +++++--- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/crypto.rkt b/crypto.rkt index 674b8df..fb90c7a 100644 --- a/crypto.rkt +++ b/crypto.rkt @@ -19,6 +19,6 @@ (gen)))) (let-values ([(p q λn) (gen)]) - (list (* p q) ; n + (cons (* p q) ; n (modular-inverse e λn) ; d ))) diff --git a/main.rkt b/main.rkt index 8ca9130..994c648 100644 --- a/main.rkt +++ b/main.rkt @@ -3,6 +3,7 @@ (require racket/random) (require net/url) (require json) +(require math/number-theory) (require "crypto.rkt") (define/contract (vohea-url path) @@ -44,5 +45,13 @@ (define M (modulo (* m (expt r e)) n)) -(define S (port->bytes (post-pure-port (vohea-url "/sign") - (integer->bytes M (/ keylen 8) #f)))) +(define S (bytes->integer + (port->bytes (post-pure-port (vohea-url "/sign") + (integer->bytes M (/ keylen 8) #f))) + #f)) + +(define s (modulo (* S (modular-inverse r n)) n)) + +(displayln (list (equal? m (modular-expt s e n)) + m + (modular-expt s e n))) diff --git a/server.rkt b/server.rkt index 7ed2630..d3a6c44 100644 --- a/server.rkt +++ b/server.rkt @@ -6,6 +6,7 @@ (require json) (require "crypto.rkt") (require binaryio) +(require math/number-theory) (define cands (list "ohea" "rtsn" "qfuy")) (define k (gen-key)) @@ -26,9 +27,10 @@ (define (sign req) (println (request-post-data/raw req)) - (println (request-bindings req)) - (response/xexpr - '(html (body (p "hello there"))))) + (let ([m (bytes->integer (request-post-data/raw req) #f)]) + (response/full + 200 #f (current-seconds) #"application/octet-stream" + empty (list (integer->bytes (modular-expt m (cdr k) (car k)) (/ keylen 8) #f))))) (define (key req) (response/full -- 2.38.4