jueves, 20 de septiembre de 2012

Game Cards

  1. Self-enforcing
  2. guarantee
  3. ideal
  4. Compressible
  5. disinterested
  6. ambiguos
  7. passive
  8. interruption
  9. One-time-pad
  10. Challenge

martes, 18 de septiembre de 2012

RSA-based digital signature

For this homework I need to implement a HTTP public-key repository for key exchange that employs RSA-Based digital signatures, so for make this assignment I used PHP and a little database in mysql also a little script in Python.

First of all, this is my code:

This is the PHP+MySQL code



This is the Python script.

This is the MySQL database.
You can access to the application robertomtz.comeze.com/cripto.php

This is useful for example, I am not sure that cecy is the same person that I am chatting on facebook, so Cecy is on my database with a public key and I sent a challenge to Cecy and she download a script that run in local, put her keys and compute a r, she sent me the r and I verify in my web that it was Cecy.

This is an example that I made with Cecy 







If I put an incorrect Response:


:)

Lab 3: Diagrama de bloques

Para el tercer laboratorio de automatización se nos pide que simplifiquemos el diagrama de bloques que aparece en la figura 3.72 del libro de Ingeniería de control moderna, en donde vamos a obtener la función de transferencia en lazo cerrado C(s)/R(s).

Primero que nada, tenemos el siguiente diagrama:

En este diagrama de bloques tenemos un sistema de lazo cerrado ya que la salida C(s) se realimenta en algún punto, en este caso en las Hs y en donde tenemos diagramas que se forma por los puntos de suma, bloques y puntos de ramificación.

Entonces primeramente, lo que se nos pide es reordenar para simplificar el diagrama, entonces basandonos en las reglas de algebra de bloques, tenemos que si tenemos un punto de sumas en donde H1 y H2 podemos simplificarlo en una resta ya que tenemos un sistema en paralelo.

Ahora podemos decir que en base a la algebra de bloques que un punto de suma lo podemos mover al no alterar el resultado de entrada y salida de los bloques, por lo que los puntos de suma que se encuentran el el diagrama los podemos alternar para luego obtener una suma.

Ahora puse explicitamente la suma del diagrama y la algebra de bloques nos dice que al momento de tener un diagrama retroalimentado de lazo cerrado podemos dividir su contenido, por lo que generamos lo siguiente.

Ahora tenemos el sistema en cascada por lo que podemos multiplicarlo y obterner como resultado la función de transferencia del lazo cerrado.

Esta seria mi entrada de laboratorio de automatización en donde aprendí a realizar una simplificación de diagramas de bloques para poder obtener una función de transferencia.

miércoles, 12 de septiembre de 2012

RSA authentication in Python

Hi!, for this week we need to implement an RSA authentication in Python for a client-server system with sockets, so I made 3 scripts, one script is the Server that has the following steps:
  • We need a listener wait for a client
  • Accept a socket
  • We need to load e and n from a file
  • Send a random number and send it to client
  • Compute a y = r^e%n
  • Check if we have the same value
  • We have a login

The other script is the Client that has the following steps:
  • Looking for a socket
  • We need to load d and n from a file
  • Compute y = f(x) and then r = y^d%n
  • Wait for login
Server



Client


Generator keys
Also I made a generator of keys, following the slides from the course.

This is how works my code, for example, if we need a new user:


User.dat = User d n


Claves-Server.txt = User e n 



But, if we try to login with a different user.