jueves, 20 de septiembre de 2012
RSA- Firmas digitales
Para la tarea de esta semana trabaje con lo que es autenticacion desde un web service.
jueves, 13 de septiembre de 2012
RSA
En esta semana trabajamos con algoritmos de clave publica.
La tarea de esta semana era elaborar un cliente-servidor y un generador de llaves rsa.
El codigo que utilice para generar mis llaves rsa es el siguiente
...
estas son algunas de las claves que me genero:
este es el codigo que utilice para elaborar el socket
Servidor
..
Cliente
..
Y bien, lo que es respecto al rsa pues las claves si me las genera, pero... (el gran pero llego! D:) tuve problemas al establecer la conexion entre el cliente-servidor y mi generador de claves .__. pero seguire intentado resolverlo, ya que lo necesitare para la siguiene tarea.. :)
Esto no termina aqui!! #Hedicho!
La tarea de esta semana era elaborar un cliente-servidor y un generador de llaves rsa.
El codigo que utilice para generar mis llaves rsa es el siguiente
...
estas son algunas de las claves que me genero:
este es el codigo que utilice para elaborar el socket
Servidor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import random | |
import socket | |
def get_pass(usuario): | |
file = open('llave_p.txt','r') | |
for line in archivo.readlines(): | |
if len(line) == 0: | |
continue | |
lin = line.split() | |
if lin[0] == usuario: | |
datos = [int(lin[1],int(lin[2]))] | |
return e,n | |
else: | |
line += 1 | |
file.close() | |
return False | |
def funcion(x): | |
return(x*x) #MUAJAJAJAJA!! :D | |
def main(): | |
# Se prepara el servidor | |
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) | |
server.bind(("", 8002)) | |
server.listen(1) | |
print "Esperando clientes..." | |
# atender clientes | |
while 1: | |
# Se espera a un cliente | |
socket_cliente, datos_cliente = server.accept() | |
# Se escribe su informacion | |
print "conectado "+str(datos_cliente) | |
x=randinit(1,1000) | |
socket_cliente.send(str(x)) | |
usuario = socket_cliente.recv(1000) | |
seguir = True | |
seguir = True | |
while seguir: | |
peticion = socket_cliente.recv(1000) | |
if datos == False: | |
print 'mentiras' | |
server.close() | |
socket_cliente.close() | |
e=datos[0] | |
n = datos[1] | |
y = (int(peticion)**e)%n | |
if funcion(x) == y: | |
socket_cliente.send('holi') | |
else: | |
socket_cliente.send('fallo!!! D:') | |
socket_cliente.close() | |
main() |
Cliente
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import socket | |
import time | |
from random import randint | |
def get_pass(usuario): | |
file = open(usuario+'llave_p.txt','r') | |
for line in archivo.readlines(): | |
if lin(line) == 0: | |
continue | |
lin = line.split() | |
if lin[0] == usuario: | |
datos = [int(lin[1]),int(lin[2])] | |
return datos | |
else: | |
line += 1 | |
file.close() | |
return False | |
def funcion(x): | |
return(x*x) | |
def main(): | |
# conexion | |
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) | |
print 'Soy un cliente!!' | |
s.connect(("localhost", 8001)) | |
x=s.recv(1024) | |
print 'x' | |
rx=int(x) | |
y=funcion(rx) | |
usuario = raw_input("Usuario: ") | |
datos=get_pass(usuario) | |
if datos == False: | |
print 'Mientes' | |
s.close() | |
cliente_socket.close() | |
d = datos[0] | |
n = datos[1] | |
r = str(por(y,d) %n) | |
s.send(usuario) | |
s.send(r) | |
s.close | |
main() |
Y bien, lo que es respecto al rsa pues las claves si me las genera, pero... (el gran pero llego! D:) tuve problemas al establecer la conexion entre el cliente-servidor y mi generador de claves .__. pero seguire intentado resolverlo, ya que lo necesitare para la siguiene tarea.. :)
Esto no termina aqui!! #Hedicho!
jueves, 6 de septiembre de 2012
Diffie-Hellman Key Exchange
In this week i worked in Diffie-Hellman Key Exchange method, in this practice i will talk about what i did
In this practice my teamates Vane and Rodolfo are Alice and Bob respectly, on this ocasion I will be Eve. These are the numbers they gave me:

P=7
g=3
X=3
Y=2
References
http://es.wikipedia.org/wiki/Diffie-Hellman
In this practice my teamates Vane and Rodolfo are Alice and Bob respectly, on this ocasion I will be Eve. These are the numbers they gave me:

P=7
g=3
X=3
Y=2
From this i used the following formulas to obtain x, y and K.
X=g^x%P
Y=g^y%P
K=X^y%P
K=Y^%P
References
http://es.wikipedia.org/wiki/Diffie-Hellman
Suscribirse a:
Entradas (Atom)