- Self-enforcing
- guarantee
- ideal
- Compressible
- disinterested
- ambiguos
- passive
- interruption
- One-time-pad
- Challenge
jueves, 20 de septiembre de 2012
Game Cards
Etiquetas:
Information security and cryptography
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.
Primero que nada, tenemos el siguiente diagrama:
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:
The other script is the Client that has the following steps:
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:
But, if we try to login with a different user.
- 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.
martes, 11 de septiembre de 2012
Ejercicio tarea 6
En base al capítulo 4 del libro "The world according to predicate logic" he seleccionado un ejercicio para repasar lo que vimos en la materia de verificación y validación de software, en donde habla con detalle sobre los cuantificadores, en donde para entender el tema se nos proporcionan los siguientes ejemplos en la página 4-7.
Hay que tener en cuenta que "Un chico camina" se traduce con un simbolo de conjunción y "Cada chico camina" se translada usando el simbolo de implicación, entonces la idea de este ejercicio es expresar por medio de predicados.
Al principio, estas expresiones se me hicieron un poco extrañas, pero reflexionando sobre esto y llegando un poco más profundo viendo el significado y la estructura de los objetos.
∀x(Bx∧Wx)
Todo x tiene las cualidades B y W
Todo aquel que es un chico y camina
Ahora para el inciso b.
Teniendo la expresión ∃x(Bx⇒Wx) podemos decir que literalmente lo podemos traducir como: "Existe una x tal que si es B, entonces tiene la cualidad W" entonces lo podemos expresar de la siguiente manera: "Existe alguien que camina, si es chico"
Respuesta:
∃x(Bx⇒Wx)
Existe una x tal que si es B, entonces tiene la cualidad W
Existe alguien que camina, si es chico
Como ven lo que hice es primero en base a la estructura de los objetos sacar una oración que se pueda expresar con sus cualidades y luego traducirla de manera que podamos tener una expresión.
- Alguien camina
- ∃xWx
- Algún chico camina
- ∃x(Bx∧Wx)
- Un chico camina
- ∃x(Bx∧Wx)
- Jose mira a una chica
- ∃x(Gx∧Sjx)
- Una chica mira a Jose
- ∃x(Gx∧Sxj)
- Una chica mira se mira
- ∃x(Gx∧Sxx)
Como podemos ver lo que cada variable hace según la oración, pero en los ejemplos anteriores solamente estamos viendo los cuantificadores de uno solo en el cual utilizamos el simbolo ∃ que se utiliza para algo existente, si queremos abarcar a todos, nos encontramos con el simbolo ∀ el cual es un cuantificador universal, podemos ver los siguientes ejemplos:
- Todos caminan
- ∀xWx
- Cada chico caminan
- ∀x(Bx⇒Wx)
- Cada chica mira a María
- ∀x(Gx⇒Sxm)
Hay que tener en cuenta que "Un chico camina" se traduce con un simbolo de conjunción y "Cada chico camina" se translada usando el simbolo de implicación, entonces la idea de este ejercicio es expresar por medio de predicados.
Sea B el predicado de "chico" y W es "caminar".
a) ¿Qué expresa la siguiente expresión: ∀x(Bx∧Wx) ?
b) ¿Qué expresa la siguiente expresión: ∃x(Bx⇒Wx) ?
Al principio, estas expresiones se me hicieron un poco extrañas, pero reflexionando sobre esto y llegando un poco más profundo viendo el significado y la estructura de los objetos.
Voy a empezar con el inciso a.
Teniendo la expresión ∀x(Bx∧Wx) podemos decir que literalmente lo podemos traducir como: "Todo x tiene las cualidades B y W" entonces lo podemos expresar de la siguiente manera "Todo aquel que es un chico y camina"
Teniendo la expresión ∀x(Bx∧Wx) podemos decir que literalmente lo podemos traducir como: "Todo x tiene las cualidades B y W" entonces lo podemos expresar de la siguiente manera "Todo aquel que es un chico y camina"
∀x(Bx∧Wx)
Todo x tiene las cualidades B y W
Todo aquel que es un chico y camina
Ahora para el inciso b.
Teniendo la expresión ∃x(Bx⇒Wx) podemos decir que literalmente lo podemos traducir como: "Existe una x tal que si es B, entonces tiene la cualidad W" entonces lo podemos expresar de la siguiente manera: "Existe alguien que camina, si es chico"
Respuesta:
∃x(Bx⇒Wx)
Existe una x tal que si es B, entonces tiene la cualidad W
Existe alguien que camina, si es chico
Como ven lo que hice es primero en base a la estructura de los objetos sacar una oración que se pueda expresar con sus cualidades y luego traducirla de manera que podamos tener una expresión.
Etiquetas:
Verificación y validación de software
martes, 4 de septiembre de 2012
Lógica predicativa
En base al libro: "Lean Symbolic Logic", que vimos en la clase de validación de software, desarrollo el siguiente ejercicio:
Traducción al español:
Ahora utilizo las siguientes expresiones para cada una.
En base a la primera oración tenemos la siguiente expresión.
En base a la primera oración tenemos la siguiente expresión.
- "All my cousins are unjust"
- "No judges are unjust"
Traducción al español:
- "Todos mis primos son injustos"
- "Ningún juez es injusto"
Ahora utilizo las siguientes expresiones para cada una.
- C(x): Mis primos
- J(x): Juez
- U(x): Injusto
En base a la primera oración tenemos la siguiente expresión.
- "Todos mis primos son injustos"
- ∀x C(x) ⇒ U(x)
En base a la primera oración tenemos la siguiente expresión.
- "Ningún juez es injusto"
- ¬∃x J(x) ⇒ U(x)
Por lo tanto podemos decir que
- "Ninguno de mis primos es juez"
- ∴ ¬∃C(x)⇒J(x)
Formulando las siguientes expresiones de las oraciones:
∀x C(x) ⇒ U(x)
¬∃x J(x) ⇒ U(x)
∴ ¬∃C(x)⇒J(x)
Etiquetas:
Verificación y validación de software
domingo, 2 de septiembre de 2012
Report 1: Hack manually
Hack manually (pencil and paper) a veryshort keyed Diffie-Hellman of your choice
I verify with Cecy if we have the same K.
Reporte 1: Modelado matemático
Para el primer reporte de automatización y control de sistemas dinámicos necesitamos modelar matemáticamente hablando el sistema que vamos a desarrollar en este semestre, en mi caso vamos a realizar el modelado matemático de un sistema que permita controlar el volumen de un audio en base al ruido que se encuentra en el entorno, por lo que he generado un circuito el cual tiene como entrada un micrófono condensado el cual es el que considero podemos utilizar en nuestro proyecto.
Circuito.
Para entender un poco mas mi proyecto estuve investigando como funciona el micrófono condensado para ponerlo en nuestro Arduino, el cual es el que vamos a utilizar para capturar la entrada de esto, yo quise primero realizar el circuito para saber como se iba a conectar.
Entrada.
En lo que corresponde al modelado matemático, como pueden ver en el circuito, para poder hacer funcionar el micrófono necesitamos de un capacitor y de una resistencia de forma paralela, por lo que para el modelado matemático, debemos de tener encuenta que las leyes básicas que rigen los circuitos eléctricos son la ley de Kirchhoff y la ley de voltaje, por lo que podemos concluir que:
En donde podemos decir que:
- R = Resistencia
- i = Corriente
- C = Capacitancia
La ley de Kirchhoff o ley nodo, establece que la suma algebraica de todas las corrientes que entran y salen en un nodo es cero y la ley de voltaje de Kirchhoff establece que en un momento dado de la suma algebraica de los voltajes de un bucle en un circuito es cero, por lo que un modelo matemático de un circuito eléctrico se puede conseguir mediante la aplicación de una o ambas de las leyes de Kirchhoff.
Al igual que adentro del micrófono, necesitamos saber su contenido para sacar una ecuación, para poder entender el funcionamiento y sacar su ecuación eléctrica me base en una publicación [1], asumiendo que este micrófono no está conectado a un aplificador por lo que una ecuación eléctrica del micrófono la podemos definir de la siguiente manera:
- R = Resistencia
- i = Corriente
- l = inductancia
El porqué de estas fórmulas lo podemos encontrar en las notas del capítulo 6 de aplicación de la transformada de Laplace del curso Control System Design [2].
Por lo que como podemos ver el sistema de entrada va a tener que ser la combinación de ambas la cual va a ser lo que vamos a utilizar como ei:
Salida.
Ahora para sacar la salida de este sistema, investigué sobre lo que produce el micrófono en si, por lo que podemos decir que el micrófono es descrito por el "simple harmonic motion"o en español el armónico simple del movimiento, ya que como sabemos el movimiento del aire es una ola de sonido puro, pero como podemos ver, nosotros no estamos capturando un sonido puro, por lo que necesitamos una variación de este armónico simple del movimiento, por lo que en base a un libro de trabajo Higher derivatives [3], podemos decir que un micrófono condensado necesita una C con la cual capture la capacitancia del micrófono y una constante a que sea proporcional a la amplitud de vibración de la membrana del micrófono, por lo que con una combinación entre el armónico simple del movimiento y estas variables podemos decir que la salida es:
En donde podemos decir que:
- C = Capacitancia del micrófono
- a = proporcional de la amplitud de vibración de la membrana
- ω = la frecuencia angular (varia en respuesta al sonido)
- φ = la fase inicial
Función de transferencia.
Como saben para sacar la función de transferencia debemos de sacar las tranformadas de Laplace asumiendo que las condiciones iniciales son 0 de cada una de las formulas anteriores por lo que tenemos lo siguiente:
Para sacar las transformadas, separé la resistencia, inductancia, capacitancia y el armonico simple en sus ecuaciones y saque las transformadas de cada una, primero vamos a sacar la de la resistencia:
Ahora la de la inductancia la cual la saqué en base al teorema de la transformada de la derivada:
Ahora la de la capacitancia, la cual la saqué en base al teorema de la transformada de la integral:
Por lo tanto tenemos el siguiente resultado de entrada:
Ahora para sacar la transformada de Laplace de la salida, utilizo el seno de la suma de dos ángulos:
Ahora para sacar la función de transferencia dividimos los resultados que obtuvimos, tendiendo la siguiente solución.
Entonces esta sería nuestra función de transferencia:
Bibliografía
[1] Linear State Space Model of a Microphone, Cedric Van Holsbeke. Liga.
[2] Control Design System, Universidad de Kentucky. Liga.
[3] Salford acoustics workbooks, Universidad de Salford. Liga.
[4] Chapter 3: Mathematical Modeling of Electrical Systems, Modern Control Engineering, Fifth Edition, Katsuhiko Ogata,
Suscribirse a:
Entradas (Atom)