Hace unos días tuve unos problemas con iReport. El cual me salía un mensaje de alerta diciendo "null". Después de ver en el foro de jasper encontré la solución.
Basta con actualizar tu open-jdk en mi caso usaba la 6, actualice a la 7.
Una vez actualizado corrí el siguiente comando para seleccionar con que java trabajar
sudo update-alternatives --config java
sudo update-alternatives --config javac
ya por último seleccionas openjdk-7
Probado con iReport v 3.7.6 pero leí que funciona igual con la 5.0+
Archagy
Friday, July 4, 2014
Wednesday, July 3, 2013
RSA
Nota: Como falte un día de clase tuve que investigar mucho por mi cuenta. Lamentablemente no pude terminar la parte de los sockets y autentificación que es la parte mas importante, de igual forma dejo la información conseguida al igual el código de RSA para futuras retroalimentaciones.
15 meses despues de la creacion del RSA este Whitfield Diffie y Martin Hellman basado del logaritmo discreto crearon un protocolo de cambio seguro de llaves
Encontrar primo
Comprendiendo phi y e
Libro de cripto (pagina 54, esta en inglés, bastante bueno pero muy científico)
RSA
El RSA fue inventado por Ron Rivest, Adi Shamir, Leonard Adleman. De sus iniciales proviene el nombre de RSA. Su algoritmo basado de la factorizacion entera sirve para poder cifrar claves publicas y con el paso de el tiempo esto se hizo un standard en la criptografia y actualmente se usa en protocolos seguros como TLS-SSL, X:509, PKI.
15 meses despues de la creacion del RSA este Whitfield Diffie y Martin Hellman basado del logaritmo discreto crearon un protocolo de cambio seguro de llaves
Algoritmo Asimétrico/Simétrico
Se dice asimetrico por que cada usuario tiene un par de claves que es publica y privada es decir tanto como emisor y receptor (cliente y servidor) tendremos claves distintasIntercambio de Clave
- El emisor cifra un mensaje con clave publica destino
- Se convierte en criptograma
- El criptograma solo puede descifrarlo el destinatario
- Usa su clave privada , inversa de la publica
- Se recupera el mensaje en destino
- Se consigue la confidencialidad
Entendiendo RSA
Para poder resolver RSA y comprender lo que se me estaba pidiendo tuve que ver varios vídeos de los cuales fueron estos:Codigo
Referencias
Las referencias se abrirán en una ventana nuevaEncontrar primo
Comprendiendo phi y e
Libro de cripto (pagina 54, esta en inglés, bastante bueno pero muy científico)
Por terminar
- autetificación
- server y sockets
Monday, July 1, 2013
Prueba estadística
Introducción
La prueba estadística, en este caso sirve para comprobar que tan aleatorio es un número también de esta forma podremos confirmar que nuestras llaves son seguras o no.Prueba Monobit
Para la realización de esta prueba decidí usar la prueba Monobit ya que ademas de ser simple es cumple bastante el objetivo de la prueba.La prueba Monobit trata de dar una secuencia de números 0 y 1. El propósito de esto es determinar si el número de 1 y 0 en una secuencia son aproximadamente la misma que sería de esperar para una secuencia verdaderamente aleatoria. La prueba evalúa la cercanía de la fracción de los que ½, es decir, el número de 1 y 0 en una secuencia debe ser aproximadamente la misma.
Formula:
Como mi primera tarea tomaba ascii para generar las llaves especificando la cantidad del mensaje para esta prueba fue lo mismo. Preguntar n para determinar el tamaño y posteriormente convertirlo en bits para realizar la prueba Monobit.
Luego para calcular Sn es la conversión a 1, Los ceros y unos de la secuencia de entrada (ε) se convierten en valores de -1 y 1 y se suman para producirlo
Por ejemplo, si ε = 1011010101, entonces n = 10 y S n = 1 + (-1) + 1 + 1 + (-1) + 1 + (-1) + 1 + (-1) + 1 = 2
Luego calcular el valor de P usando la formula de :
donde Sobs viene siendo el resultado de la primera formula y eso se divide entre la raíz cuadrada de 2. El valor obtenido se compara con 0.01 donde si es 0.01 mayor al resultado la prueba es exitosa de lo contrario no es exitosa.
Código
Finalmente
Se dice que cosas realmente aleatorias no se pueden comprimir en conclusión entre mas aleatorio menos compresion. Asi que comprimi las llaves que se generan para esta prueba se generaron 50,000 clavesy el peso de el archivo difieren aproximadamente en un 16%
En conclusión mis llaves no son del todo aleatorias y mis llaves tampoco son del todo seguras.
Puntos por terminar
- Realizar un ataque a mi propio mensaje encriptado
- Realizar una gráfica con los valores obtenidos usando Gnuplot
Referencias
Thursday, June 27, 2013
One Time Pad - Seguridad de Información y Criptografia
Introducción
Cuando la primera guerra mundial estaba llegando a su fin, el Mayor Joseph Mauborgne, jefe de investigación criptográfica de la US Army, introduce el concepto de clave aleatoria. Esta no constaba de una serie de palabras sino una gran serie de letras elegidas al azar y se utilizan como parte de un criptosistema de Vigenére. Como cada clave se utiliza una sola vez el sistema se conoce como “one-time pad” “el cifrado de cuaderno de uso único”.
• El primer paso era conseguir un bloque
(pad) de hojas con cientos de éstas.
• Cada hoja contenía una llave única en forma de línea de secuencias aleatorias de letras.
• Dos copias del bloque: una para el emisor y otra para el receptor.
• Para encriptar el emisor aplica el criptosistema de Vigenére con la primera hoja del bloque como llave.
• El receptor puede descriptar usando el mismo criptosistema y con la misma llave.
• Una vez que el mensaje fue encripatado, enviado, recibió y descriptado con éxito la hoja que se usó como hoja y se destruye.
• Cuando el siguiente mensaje se va a enviar la siguiente llave del bloque es usada
la cual es subsecuentemente destruida y así se continua
• Debido a que cada llave es usada una sola vez, el
sistema se conoce como onetime pad.
• Cada hoja contenía una llave única en forma de línea de secuencias aleatorias de letras.
• Dos copias del bloque: una para el emisor y otra para el receptor.
• Para encriptar el emisor aplica el criptosistema de Vigenére con la primera hoja del bloque como llave.
• El receptor puede descriptar usando el mismo criptosistema y con la misma llave.
• Una vez que el mensaje fue encripatado, enviado, recibió y descriptado con éxito la hoja que se usó como hoja y se destruye.
• Cuando el siguiente mensaje se va a enviar la siguiente llave del bloque es usada
la cual es subsecuentemente destruida y así se continua
• Debido a que cada llave es usada una sola vez, el
sistema se conoce como onetime pad.
Ejemplo:
Llave:
|
P L M O E Z Q
K J Z L R T E A V C R C B Y
|
Texto claro:
|
a t t a c k t
h e v a l l e y a t d a w n
|
Criptosistema:
|
P E F O G J J
R N UL C E I Y V V U C X L
|
Código
El código trata de mandar de parte de persona A un mensaje encriptado y persona B desencripta dicho mensaje guardandolo en archivos para cada persona.Screenshot
Referencias
- Historia - http://serdis.dis.ulpgc.es
- Archivos en python - Cecilia Urbina
- algoritmo encriptado/desencriptado - ubuntu forum
- Generatorkey - pepgonzalez
Por terminar
- Falta poner restricciones para los campos total_mensajes y cantidad. Solo aceptan campos numéricos
- Falta borrar lineas después de usar la llave generada
- Falta restricción en tamaño del mensaje
Thursday, September 20, 2012
Juego Pygame Colisión y comando por texto
Objetivo del juego
El objetivo del juego es atrapar a los cuadros que van cayendo.
Comandos
derecha = te mueves a la derechaizquierda = Izquierda
Z= izquierda turbo
x = derecha turbo
C = Ingrese cheat
Aquí dejo lo más importante del código
http://codepad.org/IwfWEly3
Y anexo el zip de todo lo necesario para correrlo en su maquina y lo prueben :)
Requerimientos
-Pygame
-python 2.0 superior
-Imagenes que vienen en la carpeta
Descargar juego: http://www.mediafire.com/?qrchbh1dwog91dy
Los comandos para activar los cheats viene siendo
oprime primero Cen terminal escribe uno de los siguientes palabras
aegis = hace todo mas rapido
turtle = hace todo mas lento
blood = cambia los cuadros a rojo
alien = cambia los cuadros a azul
crazy = entra en modo crazy (el random es más aleatorio xD)
Wednesday, September 5, 2012
Primer escenario
Bueno aquí dejo la primer prueba del primer escenario...cada piso se generará un nuevo "tmx" para que los encargados de implementar el diseño al programa no batallen y pueda haber un mejor control.
El objetivo:
El objetivo del juego es entrar en cada "salón" vencer a un grupo de zombies y conseguir una parte de la llave por lo general en cada piso hay de 5 a 6 salones entonces en el ultimo salón hacer un mini-boss para conseguir el resto de la llave de ese modo ya podrás abrir la puerta que están en las escaleras para seguir al siguiente piso. El objetivo principal es recorrer todos los edificios de la fime hasta llegar al ultimo edificio y vencer al boss principal.
Nota: Como no he visto una idea principal del juego hago ese aporte. No es oficial pero de aquí puede surgir alguna idea.
Y añado el tmx.
MAPA-TMX
El objetivo:
El objetivo del juego es entrar en cada "salón" vencer a un grupo de zombies y conseguir una parte de la llave por lo general en cada piso hay de 5 a 6 salones entonces en el ultimo salón hacer un mini-boss para conseguir el resto de la llave de ese modo ya podrás abrir la puerta que están en las escaleras para seguir al siguiente piso. El objetivo principal es recorrer todos los edificios de la fime hasta llegar al ultimo edificio y vencer al boss principal.
Nota: Como no he visto una idea principal del juego hago ese aporte. No es oficial pero de aquí puede surgir alguna idea.
Y añado el tmx.
MAPA-TMX
Personajes
Al igual agrego algunos enemigos que pueden ser útiles.
Thursday, August 30, 2012
Curso Python día 1
Esto fue lo que se hizo el primer día de el curso de python.
http://codepad.org/GrMYvLeK
Aquí está el PDF de la presentación que se uso.
PDF
http://codepad.org/GrMYvLeK
Aquí está el PDF de la presentación que se uso.
Subscribe to:
Posts (Atom)