jueves, 20 de septiembre de 2012

Tarea 5

En esta semana se trabajo realizando un webservice, para esto utilice PHP y mysql


 El siguiente es el código para la conexión de la base de datos, en donde use mi contraseña.
Después tenemos lo que es el programa en si, por un lado el usuario podemos generar un challege que seria en este caso un numero random asignado a una variable x, el programa me da la opción de descargar el script, que correremos para poder generar el response. También tenemos que seleccionar el usuario antes de picarle submit.


Ahora el codigo del script:

Código de la base de datos:


Capturas de imagenes:

Primero que nada tenemos la interfaz :P, en donde nos da la opción de descargar el script, para poder correrlo.


Ya descargado le picamos en Generate para generar nuestra x que nos salio 38:




Ahora vamos a correr el script y nos pide x, en este caso ponemos la que se nos genero arriba, la d y la n son de la clave privada que esa nos la dieron al momento de crear un usuario en mi caso blanka.



Nos arroja un resultado que es r=response, lo pondremos donde viene la R que significa response.


 Le damos a submit y si soy yo :D




Y por ejemplo si pongo un usuario q no es correcto ya que no tengo sus claves privadas me sale q no soy :P



jueves, 13 de septiembre de 2012

martes, 11 de septiembre de 2012

Reporte 1_


Modelen lo que se controlará en su proyecto grupal y calculen la función de transferencia para la planta.



Descripción:

El proyecto sera controlado por medio de arduino, ya que tenemos un conocimiento más amplio acerca de este, lo que se hara es controlar un motor para que la rueda o el estacionamiento gire, lo que quiere decir que nuestro sistema sera un istema  mecánico de rotación.

El arduino enviara un impulso al motor para que este gire y al momento de que se mueva se movera la rueda, la rueda sufrira un desplazamiento, la fuerza aplicada a la rueda dependera del peso que se concentra en la rueda, que dependera del peso de la cantidad de los autos .

Al mometo  de que el primer coche se estaciona la rueda calcula el peso y lo manda como parametro para saber cual va a hacer la fuerza que el motor aplica sobre ella, para poder hacerla girar.

Función de Transferencia

La función de transferencia de un sistema descrito mediante una ecuación diferencial lineal e invariante con el tiempo se define como el cociente entre la transformada de Laplace de la salida (función de respuesta) y la transformada de Laplace de la entrada (función de excitación) bajo la suposición de que todas las condiciones iniciales son cero.[Texto sacado del libro ]
Link2
$Funcion de Transferencia=\mathbf{G\left ( s \right )}=\frac{L[salida]}{L [entrada]}|\textrm{condiciones iniciales cero}$

Salida del sistema:

La salida del sistema en este caso es es desplazamiento angular que sufre la rueda del estacionamiento.

Entrada del sistema:

La entrada del sistema seria el impulso enviado por el arduino.


Como la 2da ley de Newtón controla a los sistemas mecánicos, utilizaremos esta formula:

$\mathbf{\sum F_{externas}=ma}$

pero como es rotacional cambia a:

$\mathbf{ F_{t}=ma_{t}=m(r\alpha )}$
$\mathbf{ F_{r}=ma_{r}=m(\omega ^{2}r)}$

Datos:
$\omega ^{2}$ : velocidad angular

$\alpha$: aceleración angular

Se aplica la primera ley de Newton.

Sistema mecánico:




En este caso x1 = $\theta $

Función de trasferencia:

$Funcion de Transferencia=\mathbf{G\left ( s \right )}=\frac{L[salida]}{L [entrada]}|\textrm{condiciones iniciales cero}$

Y nuestra función de transferencia seria:

$\mathbf{G\left ( s \right )}=\frac{\theta (s)}{V(t)}$


V(t)= voltaje recibido por el motor

Ahora aplicado a todo el sistema:



 En este caso y2 y x1 = $\theta _{1}$ y $\theta _{2}$

Aquí sacariamos las fuerzas q actuan sobre cada uno de los cuerpos para poder aplicarles la segunda ley de Newton.

Y para el sistema completo nuestra función de transferencia seria:

$\mathbf{G\left ( s \right )}=\frac{\theta _{2} (s)}{U_{2}(s)}$


Referencias:

Link1
Link2
Link3




sábado, 1 de septiembre de 2012

Actividad 2: Laboratorio

Transformada inversa de Laplace

Problema B.2.15

Obtenga el desarrollo en fracciones simples de la siguiente función utilizando MATLAB.


$F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}$


En mi caso yo no utilizare MATLAB sino el programa Octave ya que es con uno de los que estamos trabajando.

Utilizaremos la siguiente función:

$\left [ r,p,k,e \right ]= residue\left ( num,den \right )$

La cual nos sirve para poder calcular la descomposición de factores simples del cociente del polinomion num(numerador) entre el den(denominador):

r = Son los residuos (numeradores)
p = Son los polos (denominadores)
k = Es el cociente
e = Son los exponentes para cada denominador

Lo que quiere decir:

$ \frac{num\left ( s \right )}{den\left ( s \right )}= k\left ( s \right )+{\frac{r\left ( 1 \right )}{\left ( s-p\left ( 1 \right ) \right )^{e\left ( 1 \right )}}}+{\frac{r\left ( 2 \right )}{\left ( s-p\left ( 2 \right ) \right )^{e\left ( 2 \right )}}}$

Ahora vamonos a octave en nuestra términal, para entrar tecleamos lo siguiente:


Ya que estamos dentro de Octave capturamos dos vectores con los coeficientes del numerados y denominador en mi caso yo le llame num(numerados) y den(denominador):

Para poder hacer esto nosotros tenemos que tener la función expresada en un solo polinomio no en varios, pero para no hacerlo tan dificil y tener que estando multiplicando mucho lo que aremos sera usar otra función de octave que realiza esto por nosotros:

$conv\left ( p,s \right )$

Lo malo es que solo puede realizarse sobre dos polinomios entonces ajustaremos nuestra función dada para que solo sean dos en el caso del numerador y el denominador:

Recuerden que la función es:

$F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}$

Convertir numerador y denominador, los pasos son los siguientes

Paso 1:

En la parte del numerador juntamos el diez con alguno de los dos binomios para solo tener dos, yo lo hice con el primero binomio $\left ( s+2 \right )$.



$F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}=F\left ( s \right )= \frac{\left ( 10s+20 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}$
Paso 2:

Ahora con el denominador, multiplicamos los binomios $\left ( s+1 \right )\left ( s+3 \right )$ y realizamos el binomio cuadrado perfecto $\left ( s+5 \right )^{2}$:


$F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}=F\left ( s \right )= \frac{\left ( 10s+20 \right )\left (s+4 \right )}{\left ( s^{2}+4s+3 \right )\left ( s{^{2}+10s+25} \right )}$

Términando lo anterior pondremos los vectores en la términal, recuerden que solo se ponen los constantes:



Utilizamos la función residue para sacar lo que se nos pidio:

Nos arrojara lo siguiente en la términal:

























Como vimos es muy fácil obtener el desarrollo de fracciones simples con octave y lo obtenido fue:

$F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}={\frac{.9375}{\left ( s+1 \right )}}+{\frac{1.25}{\left ( s+3 \right )}}+\frac{3.75}{\left ( s+5 \right )^{2}}+{\frac{-2.1875}{\left ( s+5 \right )}}$

Después obtenga la transformada inversa de Laplace de $F\left ( s \right )$

Para poder obtener la transformada podemos usar lo que obtuvimos en lo anterior de fracciones simples con octave, primero lo aremos de esta manera y después de la manera larga en donde nosotros tenemos que obtenerlo por fracciones parciales:

Para calcular la transformada inversa necesitaremos la tabla de parejas de transformadas de laplace que viene en el libro que estamos utilizando: Link  (Libro 4ta edición-no vienen algunas páginas):





Tranformada inversa con los datos que nos arrojo octave

$F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}={\frac{.9375}{\left ( s+1 \right )}}+{\frac{1.25}{\left ( s+3 \right )}}+\frac{3.75}{\left ( s+5 \right )^{2}}+{\frac{-2.1875}{\left ( s+5 \right )}}$

Esto solo se hace en un paso ya teniendo los valores de las fracciones simples lo unico que hacemos es buscar en la tabla el denominador que tienen estas fracciones.

De la tabla las que utilizaremos serán:




Función f(t) Transformada F(s)
$e^{-at}$ $\frac{1}{s+a}$
$te^{-at}$ $\frac{1}{\left ( s+a \right )^{2}}$

Como se dan cuenta las fracciones simples que tenemos son como lo que tenemos en la parte de Transformada F(s) en nuestra tabla:

${\frac{.9375}{\left ( s+1 \right )}}-->{\frac{1}{\left ( s+a \right )}}$

${\frac{1.25}{\left ( s+3 \right )}}-->{\frac{1}{\left ( s+a \right )}}$

${\frac{3.75}{\left ( s+5 \right )^{2}}}-->{\frac{1}{\left ( s+a \right )^{2}}}$

${\frac{-2.1875}{\left ( s+5 \right )}}-->{\frac{1}{\left ( s+a \right )}}$

Lo unico que hacemos es tomar la Función f(t) que le pertenece a esa Transformada F(s) con sus valores de a indicados.

Ahora sacamos la transformada inversa directamente:

$L^{-1}[F\left ( s \right )]=.9375e^{-t}+1.25e^{-5t}+3.75te^{-5t}-2.1875e^{-5t}$

Ya terminado lo haremos por la parte larga que ya menciones, donde para ello utilizaremos las fracciones parciales.

Lo primero que haremos sera expresar la función que nos dieron en fracciones parciales:
Recurden que cuando tenemos factores de primer grado repetidos en el denoominador como en nuestro caso $\left ( s+5 \right )^{2}$ , lo que haremos es poner una constante sobre cada raiz disminuyendo en uno el exponente.
La función queda de la siguiente manera:
$F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}={\frac{A}{\left ( s+1 \right )}}+{\frac{B}{\left ( s+3 \right )}}+\frac{C}{\left ( s+5 \right )^{2}}+{\frac{D}{\left ( s+5 \right )}}$

Pasos para Resolver:

Paso 1

Multiplicamos los miembros de las fracciones parciales por el denominador de la función que se nos dio:

$\frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}=\left [ {\frac{A}{\left ( s+1 \right )}}+{\frac{B}{\left ( s+3 \right )}}+\frac{C}{\left ( s+5 \right )^{2}}+{\frac{D}{\left ( s+5 \right )}} \right ]{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}$

Paso 2

La multiplicación anterior nos da como resultado:

${10\left ( s+2 \right )\left (s+4 \right )}=A\left ( s+3 \right )\left (s+5 \right )^{2}+B\left ( s+1 \right )\left ( s+5\right )^{2}+C\left ( s+1 \right )\left ( s+3 \right )+D\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )$
${10\left ( s+2 \right )\left (s+4 \right )}=A\left ( s+3 \right )\left (s^{2}+10s+25 \right )+B\left ( s+1 \right )\left ( s^{2}+10s+25\right )^{2}+C\left ( s ^{2}+4s+3\right )+D\left ( s+1 \right )\left ( s^{2}+8s+15 \right )\left ( s+5 \right )$
${10\left ( s+2 \right )\left (s+4 \right )}=A\left ( s^{3}+13^{2}+55s+75s \right )+B\left ( s^{3}+11s^{2}+35s+25 \right )+C\left ( s ^{2}+4s+3\right )+D\left ( s^{3}+9s^{2}+23s+15 \right )$
${10\left ( s+2 \right )\left (s+4 \right )}=As^{3}+13A^{2}+55As+75As + Bs^{3}+11Bs^{2}+35Bs+25B+Cs^{2}+4Cs+3C + Ds^{3}+9Ds^{2}+23Ds+15D$
Asosiamos:

${10\left ( s+2 \right )\left (s+4 \right )}=(A+B+D)s^{3}+(13A+11B+C+9D)s^{2}+(55A+35B+4C+23D)s+(75A+25B+3C+15D)$

Formamos ecuaciones semejantes y queda:

1- $A+B+D=0$
2- $13A+11B+C+9D=10$
3- $55A+35B+4C+23D=60$
4- $75A+25B+3C+15D=80$

Paso 3
Resolvemos el siguiente sistema de ecuaciones anterior.

Seleccionamos la primera ecuación y despejamos A.

$A+B+D=0$
$A= -B -D$

Ya que tenemos lo que vale A sustituimos  en las otras ecuaciones:

1-.
$13A+11B+C+9D=10$
$13(-B-D)+11B+C+9D=10$
 $-13B-13D+11B+C+9D=10$

 $-2B+C-4D=10$ <--1
2-.
$55A+35B+4C+23D=60$
$55(-B-D)+35B+4C+23D=60$
$-55B-55D+35B+4C+23D=60$

$-20B+4C-32D=60$ <--2
3-.
$75A+25B+3C+15D=80$
$75(-B-D)+25B+3C+15D=80$
$75B+75D+25B+3C+15D=80$

$-50B-60D+3C=80$ <--3


Ya reducidas las ecuaciones y con la primer ecuación trabajaremos con ellas para encontrar los resultados de A,B, C y D:

Paso1

Ecuaciones 1 y 2:

     $-2B+C-4D= 10$           (4)
     $-20B+4C-32D= 60$      (-1)
=
     $-8B+4C-16D= 40$
     $20B+32D-4C= -60$
  _____________________

     $12B+  0 +16D= -20$

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.


Ecuaciones 1 y 3:

     $-2B+C-4D= 10$            (3)
     $-50B-+3C+60D=80$      (-1)
=
     $-6B+3C-12D=  30$
     $50B-3C+60D= -80$
  _____________________

     $44B+ 0 +48D= -50$


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Paso 2

Trabajamos con los dos resultados anteriores

$12B+16D= -20$
$44B+48D= -50$

Para no trabajar con numeros tan grandes lo que haremos sera dividir entre dos las ecuaciones anteriores:

$6B+8D= -10$
$22B+24D= -25$



     $6B+8D= -10$            (-24)
     $22B+24D= -25$         (8)
=
     $-144B-192D= 240 $
     $176B+192D= -200$
  _____________________

     $ 32B+ 0 = 40$

     $ 32B= 40$
     $ B= 40/32$

     $ B= 1.25 $ <--Valor de B encontrado

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

Paso 3

En contramos los demás valores sustituyendo en las ecuaciones.


$22B+24D= -25$ <-- Fue la ecuación que obtuvimos en el paso anterior, aquí sustutuimos la B ya encontrada para sacar D.

$22(1.25)+24D= -25$
$27.5+24D=-25$
$24D=-25-27.5$
$24D= -52.5$
$D=-52.5/24$

$D=-2.1875$

Obtenemos el valor de A:

$A=-B -D$
$A=-(1.25) -(-2.1875)$
$A=-1.25+2.1875$

$A= .9375$

Y para finalizar sacamos el valor de C usando la siguiente ecuación:

$-2B+C-4D=10$
$-2(1.25)+C-4(-2.1875)=10$
$-2.5+C+8.75=10$
$C=10-8.75+2.5$

$C=-3.75$

Ya obtuvimos todos los valores, ahora sustituimos ese valor en sus lugares respectivos:
$F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}={\frac{A}{\left ( s+1 \right )}}+{\frac{B}{\left ( s+3 \right )}}+\frac{C}{\left ( s+5 \right )^{2}}+{\frac{D}{\left ( s+5 \right )}}$

=

$F\left ( s \right )= \frac{10\left ( s+2 \right )\left (s+4 \right )}{\left ( s+1 \right )\left ( s+3 \right )\left ( s+5 \right )^2}={\frac{.9375}{\left ( s+1 \right )}}+{\frac{1.25}{\left ( s+3 \right )}}+\frac{3.75}{\left ( s+5 \right )^{2}}+{\frac{-2.1875}{\left ( s+5 \right )}}$

Si se fijan obtuvimos los mismos valores que nos arrojo octave, entonces solo es de sustituir como anteriormente con l función de f(t) que le pertenece a la transformada de F(s) y da el mismo resultado.


$L^{-1}F\left ( s \right )= .9375e^{-t}+1.25e^{-5t}+3.75te^{-5t}-2.1875e^{-5t}$


Referencias:
Información de residue y conv: octave





jueves, 30 de agosto de 2012

Tarea2:

 La tarea 2 es checar si las claves que genera nuestro otp (one time pad) realmente es aleatoria.

 La clave evaluada fue la siguiente:


Esta clave es generada del programa anterior con el siguiente código:

Funciona leyendo las claves del archivo llamado key.txt pasandoselo a cada uno de los test.



Primero yo realice un test sencillo que se llama Monobit:

Monobit

Detecta los ceros y los unos que se encuentran en la cadena binaria, sustituyendo los ceros que encuentre por -1, asi realizando una suma. La aparición de ceros y unos en la secuencia global deberan de ser igualmente probables

Datos a tener:

n = tamaño de la clave binaria
ε =La secuencia de bits que se esta probando

Procedimiento:

1. Como mencione se buscan los ceros y se sustituyen por -1y se realiza una suma, ejemplo:
   lista=[1,1,0,0,1,0,1]
   quedaría:
   lista=[11,-1-1,1-11]
 y se realiza la suma de la lista

2-Se calcula la prueba estadística:





3. Se calcula p_value ( erfc es la función error complementaria.)


4.Si P - value > 0.01, la secuencia  es aleatoria.

Código:

Captura de pantalla de la prueba:



También utilice otras dos pruebas que es la de Poker y la de frecuencia de Bloques

Frecuencia de Bloques

En la prueba de bloques los ceros y unos deberan de ser igualmente probables.
 Datos:

n - largo de la secuencia
m - el largo de cada bloque
ε - secuencia de bits generada

Recomendaciones:










Procedimiento:

1. Se parte la prueba e bloques de un cierto tamaño se calcula de la siguiente manera:
  

2. Se determina la proporción de unos:


3. Se calcula la chi2=X2


4.  Se calcula la p_value:






Código

Captura de pantalla



Prueba de Póker

Lo que hace la prueba de póker es dividir la clave en numeros de 4 bist, por ejemplo si yo tengo esta:

0101000001100011

se divide de la siguiente manera :
0101 0000 0110 0011

entonces como se divide en 4 hay 16 posibles resulados que pueden salir y esos 16 resultados son contados las veces que estan o el número de frecuencias de cada uno.

La formula que se realiza es la siuiente:

en donde:
m = es el tamaño de la división de la secuencia en este caso 4
n = lóngitud o tamaño de la secuencia binaria
k = es la división de m entre n

Pasos:

1. Se divide la serie de número binarios en secciones de 4 numeros (0000).
2. Se buscan las frecuencias de los 16 diferentes numeros que se pueden encontrar
3. La frecuencia se eleva al cuadrado
4. Se realiza lo que es la ecuación anterior:

         x2=(16/k)(frecuencias al cuadrado)-k

La prueba se pasa cuando 1.03 < x < 57.4

Captura de pantalla


Con otra cantidad de claves:

Monobit



Frecuencia de Bloques



Poker test




La clave pasa las pruebas eso quiere decir que es segura.

Referencias:

Link1
Link2
LInk3

jueves, 23 de agosto de 2012

One time Pad

One-time pad (OTP), also called Vernam-cipher or the perfect cipher, is a crypto algorithm where plaintext is combined with a random key. It is the only known method to perform mathematically unbreakable encryption. Used by Special Operations teams and resistance groups in WW2, popular with intelligence agencies and their spies during the Cold War and beyond, protecting diplomatic and military communications around the world for many decades, the one-time pad gained a reputation as a simple yet solid encryption system with an absolute security which is unmatched by today's modern crypto algorithms. Whatever technological progress may come in the future, one-time pad encryption is, and will remain, the only system to provide real long-term message security.
We can only talk about one-time pad if some important rules are followed. If these rules are applied correctly, the one-time pad can be proven unbreakable (see Claude Shannon's "Communication Theory of Secrecy Systems"). Even infinite computational power and infinite time cannot break one-time pad encryption, simply because it is mathematically impossible. However, if only one of these rules is disregarded, the cipher is no longer unbreakable.
  • The key is at least as long as the message or data that must be encrypted.
  • The key is truly random (not generated by a simple computer function or such)
  • Key and plaintext are calculated modulo 10 (digits), modulo 26 (letters) or modulo 2 (binary)
  • Each key is used only once, and both sender and receiver must destroy their key after use.
  • There should only be two copies of the key: one for the sender and one for the receiver (some exceptions exist for multiple receivers.
One-Time-Pad-(xor)

Code:
To start the program asks the number of keys that we will generate randomly, in my case is 2.






The Pograma generates two keys and saves them in a file and copy this file, when you do the copy deletes the original key.

Copies were created by users, print the message we send to encrypt.
Bob sends the encrypted message to Ana.

eliminates the key used 










 Ana receives and decrypts the message, the key used is the same.












Repeat the above using all the keys, and ends when all keys are deleted.













Image where the program ends

empty files


miércoles, 22 de agosto de 2012

Funciones trigonométricas 

Las funciones trigonométricas se definen con el fin de extender el tema abarcado por las razones trigonométricas a todos los números reales y complejos.

Toman un gran papel en lo que es:


  • La física
  • La Astronomía
  • Cartografía, etc...


Existen 6 funciones trigonométricas básicas las cuales son las siguientes:



A continuación se presentaran las equivalencias de cada una de las funciones trigonométricas.


Equivalencias de la función seno



Equivalencias de la función coseno


Equivalencias de la función tangente



Equivalencias de la función cotangente



Equivalencias de la función secante



Equivalencias de la función cosecante





Funciones graficadas con gnuplot


seno:

Para graficar con Gnuplot:

Como vemos arriba en el rango de [-10:10, pude ser modificado para poder ver la función en un rango mayor.

Gráfica que nos arroja:



coseno




tangente





cotangente






cosecante




 secantes