SlideShare una empresa de Scribd logo
1 de 16
PROYECTO TEAS SPSI Alberto Rodríguez Frías
Índice Alberto Rodríguez Frías ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Idea inicial En la actualidad existen poca variedad de herramientas dedicadas a la enseñanza practica de algoritmos de cifrado de tipo simétrico. En clase de practicas de nuestra asignatura se ven algunos, pero de un modo poco «amigable» dado que para ver estos ejemplos es necesario mediante la consola de comandos ( hoy en día un poco obsoleta) dar una serie de ordenes y modificadores algo engorrosos. Además había que andar modificando archivos y, en definitiva, es un medio obsoleto.
Objetivo: requisitos iniciales El proyecto TEAS nace ante la falta de existencia de una aplicación que cubra esa necesidad. Una aplicación con una interfaz actual y multiplataforma, que mediante unas características sencillas, nos permita observar las diferencias de comportamiento de los algoritmos de cifrado simétricos usados en la asignatura SPSI. Luego la aplicación en cuestion debe cumplir: 1.- Interfaz amigable 2.- Uso de los distintos algoritmos simétricos 3.- Distintos paneles donde comparar en un solo vistazo el texto llano y el texto cifrado.
Objetivo: requisitos iniciales 4.- Uso de llave en ellos. Un panel que contenga la misma y sea modificable, para observar el efecto que causa su modificación después de cifrar o descifrar. 5.- Debe tener como opción ver distintos tipos de representación de los datos mostrados, ya que no todos los algoritmos se centran en la representación normal «ASCII» sino que también debe ser posible ver su representación binaria o hexadecimal. 6.- Debe medir los tiempos de ejecución para comparar la rapidez de cifrado/descifrado de los algoritmos.  7.- Debe tener opcion de cifrado en distintos modos estudiados: ECB, CBC, CBF, etc. Esta opción queda aplazada, por falta de tiempo.
Presentación de la aplicación
Funcionalidades Puede cifrar y descifrar usando: 1.- Caesar 2.- Vigenere 3.- Rot13 4.- Blowfish  5.- Khufu 6.- Lucifer 7.- Random 8.- Xor 9.- Des 10.- Des con padding 11.- Idea
Funcionalidades ,[object Object],[object Object],[object Object]
Debilidades y fallos conocidos En este apartado habría que empezar comentando las distintas dificultades que se han encontrado en el desarrollo de la aplicación:  1.- Los algoritmos usados en la aplicación, en su mayoría son los usados en practicas, con el inconveniente de que: a) TODOS han tenido que ser modificados. La manera en la que estaban hechos permitía su compilado y  enlazado con un «fuente plantilla» para la creación distintos ejecutables. Aquí se presentaba el problema de que creamos un solo ejecutable, por lo que había muchos problemas de MULTIPLE DEFINICIÓN, ya que utilizaban los mismos nombres de función todos los fuentes
Debilidades y fallos conocidos También todos las variables globales y estáticas fueron modificadas. Alg1.c Plantilla.c 1.exe Algn.c n.exe
Debilidades y fallos conocidos Mientras que nuestro esquema debía ser distinto: todos los fuentes mas sus cabeceras debían formar parte de un solo ejecutable. Lo que nos lleva al siguiente fallo. b) Prácticamente la totalidad de los fuentes carecían de cabecera. Lo que supone el revisado de todo el fuente y la importación de todas las cabeceras de funciones. c) Algunos algoritmos usaban funciones propias y main propios, que funcionaban en línea de comandos y eran difíciles de trasladar a un entorno con interfaz.
Debilidades y fallos conocidos 2.- La gestión de ficheros ha sido especialmente delicada. Los algoritmos usados usan escritura y lectura de ficheros de disco para el cifrado y descifrado del mismo, por lo que daba muchos problemas el uso de caracteres «extraños» ya que un simple carácter de salto de línea como  ha dado muchos quebraderos de cabeza. Puede parecer algo sin importancia en algoritmos de cifrado letra a letra como caesar o vigenere, pues solo metería un carácter extraño por otro, pero da verdaderos problemas en algoritmos de flujo como random o rot13 o en algoritmos en bloque como blowfish o khufu. Estas son solo las MÁS IMPORTANTES de las numerosísimas dificultades que fueron surgiendo.
Debilidades y fallos conocidos Pasamos a las debilidades y fallos conocidos:  1.- Toda llave debe contener una sola línea de texto. En caso de no ser así, solo se usará la primera línea. Es algo que ya venía impuesto de los fuentes usados de las clases de practicas.  2.- Vigenere usa llave SIN ESPACIOS.  3.- Los algoritmos usan la escritura y lectura de disco para cifrar y descifrar, por lo que lo hacen bastante INEFICIENTE. 4.- El tipo de sistema operativo (que usa hebras) y que influya la escritura en disco, hace que el método usado para medir tiempos no sea del todo fiable, ya que depende del estado de trabajo de la cola de procesos y la posición del cabezal del disco duro.
Obtención de Información Dirigirse a: Alberto Rodríguez Frías [email_address]  o  [email_address]  (preferiblemente gmail) Podréis descargar el programa, los fuentes, seguir las modificaciones, etc. en: http://proyectoteas.blogspot.com/
Preguntas
FIN GRACIAS

Más contenido relacionado

La actualidad más candente

Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicasbat1820
 
PRUEBA OFIMATICA WEB
PRUEBA OFIMATICA WEBPRUEBA OFIMATICA WEB
PRUEBA OFIMATICA WEBYeison11020
 
3.1. macros internas
3.1. macros internas3.1. macros internas
3.1. macros internasSpiderHal
 
Características Java
Características JavaCaracterísticas Java
Características JavaIsabel Gómez
 
Introducción - Arquitectura .NET
Introducción - Arquitectura .NETIntroducción - Arquitectura .NET
Introducción - Arquitectura .NETRolando Vargas Soto
 
Aplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointAplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointMariviMartinezM
 
Enlazadores cargadores-by-gadd
Enlazadores cargadores-by-gaddEnlazadores cargadores-by-gadd
Enlazadores cargadores-by-gaddGustavo Davila
 
Introducción a la Programación con Java
Introducción a la Programación con JavaIntroducción a la Programación con Java
Introducción a la Programación con Javaflekoso
 
Framework Laravel
Framework LaravelFramework Laravel
Framework LaravelRafael Lobo
 
Pruebas Automatizadas y pruebas SOAP
Pruebas Automatizadas y pruebas SOAPPruebas Automatizadas y pruebas SOAP
Pruebas Automatizadas y pruebas SOAPIsamar Francisco
 
java,conceptos basicos
java,conceptos basicosjava,conceptos basicos
java,conceptos basicosMariano Galvez
 
Tipos De Ensambladores
Tipos De EnsambladoresTipos De Ensambladores
Tipos De EnsambladoresSpiderHal
 
Informe interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharpInforme interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharpAndresDvila
 
Introducción a JAVA.
Introducción a JAVA.Introducción a JAVA.
Introducción a JAVA.guestdf1874
 

La actualidad más candente (18)

Lenguaje de programación java
Lenguaje de programación javaLenguaje de programación java
Lenguaje de programación java
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicas
 
PRUEBA OFIMATICA WEB
PRUEBA OFIMATICA WEBPRUEBA OFIMATICA WEB
PRUEBA OFIMATICA WEB
 
3.1. macros internas
3.1. macros internas3.1. macros internas
3.1. macros internas
 
Características Java
Características JavaCaracterísticas Java
Características Java
 
Introducción - Arquitectura .NET
Introducción - Arquitectura .NETIntroducción - Arquitectura .NET
Introducción - Arquitectura .NET
 
Aplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointAplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power Point
 
Enlazadores cargadores-by-gadd
Enlazadores cargadores-by-gaddEnlazadores cargadores-by-gadd
Enlazadores cargadores-by-gadd
 
Introducción a la Programación con Java
Introducción a la Programación con JavaIntroducción a la Programación con Java
Introducción a la Programación con Java
 
Librerias java
Librerias javaLibrerias java
Librerias java
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓN
 
Framework Laravel
Framework LaravelFramework Laravel
Framework Laravel
 
Pruebas Automatizadas y pruebas SOAP
Pruebas Automatizadas y pruebas SOAPPruebas Automatizadas y pruebas SOAP
Pruebas Automatizadas y pruebas SOAP
 
java,conceptos basicos
java,conceptos basicosjava,conceptos basicos
java,conceptos basicos
 
Lenguaje de programacion java
Lenguaje de programacion javaLenguaje de programacion java
Lenguaje de programacion java
 
Tipos De Ensambladores
Tipos De EnsambladoresTipos De Ensambladores
Tipos De Ensambladores
 
Informe interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharpInforme interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharp
 
Introducción a JAVA.
Introducción a JAVA.Introducción a JAVA.
Introducción a JAVA.
 

Destacado (20)

Catalejo/5
Catalejo/5Catalejo/5
Catalejo/5
 
Relieve
RelieveRelieve
Relieve
 
El estado
El estadoEl estado
El estado
 
América Latina y EEUU en la época de la Guerra Fría
América Latina y EEUU en la época de la Guerra FríaAmérica Latina y EEUU en la época de la Guerra Fría
América Latina y EEUU en la época de la Guerra Fría
 
PDN II 2010 1S
PDN II 2010 1SPDN II 2010 1S
PDN II 2010 1S
 
Historia III medio
Historia III medioHistoria III medio
Historia III medio
 
Pauta: elaboración de Periódico sobre la Independencia
Pauta: elaboración de Periódico sobre la IndependenciaPauta: elaboración de Periódico sobre la Independencia
Pauta: elaboración de Periódico sobre la Independencia
 
Catalejo revista
Catalejo revistaCatalejo revista
Catalejo revista
 
Impacto de la guerra civil de 1891
Impacto de la guerra civil de 1891Impacto de la guerra civil de 1891
Impacto de la guerra civil de 1891
 
Historia IV medio
Historia IV medioHistoria IV medio
Historia IV medio
 
Memorias del Chile reciente: pauta para trabajo de investigación
Memorias del Chile reciente: pauta para trabajo de investigaciónMemorias del Chile reciente: pauta para trabajo de investigación
Memorias del Chile reciente: pauta para trabajo de investigación
 
Pauta de evaluación PPT y disertaciones
Pauta de evaluación PPT y disertacionesPauta de evaluación PPT y disertaciones
Pauta de evaluación PPT y disertaciones
 
Ideologías totalitarias
Ideologías totalitariasIdeologías totalitarias
Ideologías totalitarias
 
Segunda guerra mundialb
Segunda guerra mundialbSegunda guerra mundialb
Segunda guerra mundialb
 
Regiones
RegionesRegiones
Regiones
 
Cuestion social en Chile
Cuestion social en ChileCuestion social en Chile
Cuestion social en Chile
 
Pauta disertaciones y ppt
Pauta disertaciones y pptPauta disertaciones y ppt
Pauta disertaciones y ppt
 
Sociedad de masas años ´20
Sociedad de masas años ´20Sociedad de masas años ´20
Sociedad de masas años ´20
 
Linea de tiempo independencia
Linea de tiempo independenciaLinea de tiempo independencia
Linea de tiempo independencia
 
La transición a la democracia
La transición a la democraciaLa transición a la democracia
La transición a la democracia
 

Similar a Proyecto teas (20)

Compiladores
CompiladoresCompiladores
Compiladores
 
Arqui hardware
Arqui hardwareArqui hardware
Arqui hardware
 
Segundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corteSegundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corte
 
Amoeba
AmoebaAmoeba
Amoeba
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Amoeba 100716124109-phpapp01 (1)
Amoeba 100716124109-phpapp01 (1)Amoeba 100716124109-phpapp01 (1)
Amoeba 100716124109-phpapp01 (1)
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
 
Kaye
KayeKaye
Kaye
 
Kaye
KayeKaye
Kaye
 
Introducción a Entrada/Salida
Introducción a Entrada/SalidaIntroducción a Entrada/Salida
Introducción a Entrada/Salida
 
Sistema operativo(recursos,interfaz)
Sistema operativo(recursos,interfaz)Sistema operativo(recursos,interfaz)
Sistema operativo(recursos,interfaz)
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativos
 
LENGUAJE ENSAMBLASOR
LENGUAJE ENSAMBLASORLENGUAJE ENSAMBLASOR
LENGUAJE ENSAMBLASOR
 
Exploits y stack overflows en windows 2017
Exploits y stack overflows en windows 2017Exploits y stack overflows en windows 2017
Exploits y stack overflows en windows 2017
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativos
 
Introduccion al assembler[1]
Introduccion al assembler[1]Introduccion al assembler[1]
Introduccion al assembler[1]
 
Introduccion al assembler
Introduccion al assemblerIntroduccion al assembler
Introduccion al assembler
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
00026966
0002696600026966
00026966
 
Historia de sistemas operativos S.O
Historia de sistemas operativos S.O Historia de sistemas operativos S.O
Historia de sistemas operativos S.O
 

Último

codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 

Último (20)

Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 

Proyecto teas

  • 1. PROYECTO TEAS SPSI Alberto Rodríguez Frías
  • 2.
  • 3. Idea inicial En la actualidad existen poca variedad de herramientas dedicadas a la enseñanza practica de algoritmos de cifrado de tipo simétrico. En clase de practicas de nuestra asignatura se ven algunos, pero de un modo poco «amigable» dado que para ver estos ejemplos es necesario mediante la consola de comandos ( hoy en día un poco obsoleta) dar una serie de ordenes y modificadores algo engorrosos. Además había que andar modificando archivos y, en definitiva, es un medio obsoleto.
  • 4. Objetivo: requisitos iniciales El proyecto TEAS nace ante la falta de existencia de una aplicación que cubra esa necesidad. Una aplicación con una interfaz actual y multiplataforma, que mediante unas características sencillas, nos permita observar las diferencias de comportamiento de los algoritmos de cifrado simétricos usados en la asignatura SPSI. Luego la aplicación en cuestion debe cumplir: 1.- Interfaz amigable 2.- Uso de los distintos algoritmos simétricos 3.- Distintos paneles donde comparar en un solo vistazo el texto llano y el texto cifrado.
  • 5. Objetivo: requisitos iniciales 4.- Uso de llave en ellos. Un panel que contenga la misma y sea modificable, para observar el efecto que causa su modificación después de cifrar o descifrar. 5.- Debe tener como opción ver distintos tipos de representación de los datos mostrados, ya que no todos los algoritmos se centran en la representación normal «ASCII» sino que también debe ser posible ver su representación binaria o hexadecimal. 6.- Debe medir los tiempos de ejecución para comparar la rapidez de cifrado/descifrado de los algoritmos. 7.- Debe tener opcion de cifrado en distintos modos estudiados: ECB, CBC, CBF, etc. Esta opción queda aplazada, por falta de tiempo.
  • 6. Presentación de la aplicación
  • 7. Funcionalidades Puede cifrar y descifrar usando: 1.- Caesar 2.- Vigenere 3.- Rot13 4.- Blowfish 5.- Khufu 6.- Lucifer 7.- Random 8.- Xor 9.- Des 10.- Des con padding 11.- Idea
  • 8.
  • 9. Debilidades y fallos conocidos En este apartado habría que empezar comentando las distintas dificultades que se han encontrado en el desarrollo de la aplicación: 1.- Los algoritmos usados en la aplicación, en su mayoría son los usados en practicas, con el inconveniente de que: a) TODOS han tenido que ser modificados. La manera en la que estaban hechos permitía su compilado y enlazado con un «fuente plantilla» para la creación distintos ejecutables. Aquí se presentaba el problema de que creamos un solo ejecutable, por lo que había muchos problemas de MULTIPLE DEFINICIÓN, ya que utilizaban los mismos nombres de función todos los fuentes
  • 10. Debilidades y fallos conocidos También todos las variables globales y estáticas fueron modificadas. Alg1.c Plantilla.c 1.exe Algn.c n.exe
  • 11. Debilidades y fallos conocidos Mientras que nuestro esquema debía ser distinto: todos los fuentes mas sus cabeceras debían formar parte de un solo ejecutable. Lo que nos lleva al siguiente fallo. b) Prácticamente la totalidad de los fuentes carecían de cabecera. Lo que supone el revisado de todo el fuente y la importación de todas las cabeceras de funciones. c) Algunos algoritmos usaban funciones propias y main propios, que funcionaban en línea de comandos y eran difíciles de trasladar a un entorno con interfaz.
  • 12. Debilidades y fallos conocidos 2.- La gestión de ficheros ha sido especialmente delicada. Los algoritmos usados usan escritura y lectura de ficheros de disco para el cifrado y descifrado del mismo, por lo que daba muchos problemas el uso de caracteres «extraños» ya que un simple carácter de salto de línea como ha dado muchos quebraderos de cabeza. Puede parecer algo sin importancia en algoritmos de cifrado letra a letra como caesar o vigenere, pues solo metería un carácter extraño por otro, pero da verdaderos problemas en algoritmos de flujo como random o rot13 o en algoritmos en bloque como blowfish o khufu. Estas son solo las MÁS IMPORTANTES de las numerosísimas dificultades que fueron surgiendo.
  • 13. Debilidades y fallos conocidos Pasamos a las debilidades y fallos conocidos: 1.- Toda llave debe contener una sola línea de texto. En caso de no ser así, solo se usará la primera línea. Es algo que ya venía impuesto de los fuentes usados de las clases de practicas. 2.- Vigenere usa llave SIN ESPACIOS. 3.- Los algoritmos usan la escritura y lectura de disco para cifrar y descifrar, por lo que lo hacen bastante INEFICIENTE. 4.- El tipo de sistema operativo (que usa hebras) y que influya la escritura en disco, hace que el método usado para medir tiempos no sea del todo fiable, ya que depende del estado de trabajo de la cola de procesos y la posición del cabezal del disco duro.
  • 14. Obtención de Información Dirigirse a: Alberto Rodríguez Frías [email_address] o [email_address] (preferiblemente gmail) Podréis descargar el programa, los fuentes, seguir las modificaciones, etc. en: http://proyectoteas.blogspot.com/