#!/usr/bin/python
import cgi
from utilMath import potmod
from rsa import D, E
print \'Content-type: text/html\\n\'
def obtenerClavesServer():
f = open(\'../data/key\', \'r\')
lista = []
for i in f:
lista.append(int(i))
return ((lista[0], lista[2]),(lista[1], lista[2]))
def guardar(user, kpub, n):
f = open(\'../data/key\', \'a\')
print >>f,user+\'|\'+kpub+\'|\'+n
f.close()
def autenticar(respuesta):
largoReto = int(respuesta[0])+1
reto = int(respuesta[1:largoReto])
resp = int(respuesta[largoReto:])
(privada, publica) = obtenerClavesServer()
resp = D(resp,privada)
reto = D(reto, privada)
if(resp == reto):
print \'Entonces si eres tu\'
return True
else:
print resp
print reto
return False
def obtenerClavesUsuario(nombre):
f = open(\'../data/usrkey\', \'r\')
for i in f:
l = i.split("|")
if l[0].strip() == nombre.strip():
return (l[1],l[2])
return None
form = cgi.FieldStorage()
nombre = form.getvalue(\'nombre\')
reto = form.getvalue(\'reto\')
respuesta = form.getvalue(\'respuesta\')
print respuesta
print nombre
print reto
if autenticar(respuesta):
print obtenerClavesUsuario(nombre)
else:
print \'No eres quien dices ser -.-\'