Seguridad y encriptación

Slides:



Advertisements
Presentaciones similares
ESTRUCTURA DE DATOS Unidad 05 ALGORITMOS DE BUSQUEDA.
Advertisements

EL PÁRRAFO Comenzaremos por definir qué es un párrafo: es un conjunto de oraciones con un solo tema central o idea principal. Desde el punto de vista formal,
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Unidad 8 Métodos de Búsqueda
Procesamiento de cadenas
Alumno: José Luis Segura Velázquez
Estructura de Datos Hugo Araya Carrasco Hugo Araya Carrasco.
¿Cómo hacer para que una máquina comprenda el LN?
Física del movimiento: Palancas
La maquina de Turing La máquina de Turing es una caja negra (tan simple como una máquina de escribir y tan compleja como un ser humano) capaz no sólo de.
Ordenamiento Interno y Búsqueda Binaria
Método para resolver colisiones
Códigos Detectores y Correctores de Errores
Técnico en programación de Software
Investigación de Operaciones II
Notación Científica y Potencia de 10
ARP Y RARP.
PROGRAMACION DE ESTRUCTURAS DE DATOS
Programación 1 Introducción
Tema: Funciones en Excel (II) Funciones de Texto
3. INTRODUCCIÓN A LA PROGRAMACIÓN
Teoría de lenguajes y compiladores
Unidad aritmético-lógica
Cadenas de Caracteres y Emparejamiento de Patrones
Material de apoyo Unidad 8 Estructura de datos
DPTO. MATEMÁTICAS - I.E.S. PABLO SERRANO
Representación de Números en un Registro Binario
APROXIMACIÓN NUMÉRICA Y ERRORES
Teoría de lenguajes y compiladores
LENGUAJES DE PROGRAMACIÓN
Estructuras de Datos Arreglos.
Métodos de búsqueda Unidad 6.
Sistemas decimal, binario, octal y hexadecimal
Estructura de Datos II Equipo 4 Equipo 7 Acosta Montiel Miguel A.
06. Algoritmo básico de la introducción
Sistemas de numeración
(Organización y Manejo de Archivos)
Administración de Memoria
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Material de apoyo Unidad 4 Estructura de datos
Aplicación de estructuras de datos
Fundamentos de Programación
Unidad aritmético-lógica
Análisis y Diseño de Algoritmos
Algoritmo Ing. Maria Rosana Heredia
CARPLATE Reconocimiento del marco de la matrícula de un coche
ACCESS.
3) Aplicamos la Ec. Fundamental:
Términos algoritmo diseñar algoritmo implementar algoritmo
Teoría de lenguajes y compiladores
SEMINARIO DE INVESTIGACION Titular: Agustín Salvia
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Facultad de Ingeniería y Tecnologías Memoria de Grado Geolocalización de documentos en el marco GIS.
Reconocimiento de patrones
Reglas Básicas del Álgebra de Boole
Elaboración de algoritmos usando lógica de programación
METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León
Presente un cuestionario con los aspectos mas importantes sobre los
Taller: Inteligencia Computacional
Código de colores.
Computación I. CI-2125 Tema VII
Algoritmos y Desarrollo de Programas I

“Análisis y Diseño de Algoritmos” 2a Entrega, Programa 6 Centro de Investigación y Estudios Avanzados del IPN Samuel Garrido Daniel 15-Abril-2004 México,
Sistema Binario
Alumno: Ariedne Niurca Aranda García Tutor: BIBIANA PORTUGAL FRIAS MÉTODOS DE INVESTIGACIÓN II Unidad 1 Actividad 2.
MEDIDAS DE DISPERSIÓN Pedro Godoy Gómez. Miden qué tanto se dispersan las observaciones alrededor de su media. MEDIDAS DE DISPERSIÓN.
Antonio de Jesús González Arce Matricula DHTIC.
Capítulo 7 Números hasta 20 Primeros Básicos MATERIAL PEDAGÓGICO IRA.
Sistema Numérico Binario Prof. Carlos Ortiz Muñoz.
Transcripción de la presentación:

Seguridad y encriptación Tópicos I Unidad II Seguridad y encriptación Semana 7 Búsqueda de cadenas

Objetivos Generales Entender el manejo, uso de algoritmos y estructuras de datos avanzados, haciendo énfasis en los algoritmos de internet, seguridad y redes.

Objetivo Específico Implementar algoritmos para seguridad y encriptación.

Objetivo Instruccional Implementar algoritmos para el procesamiento y reconocimiento de patrones en secuencia de cadenas.

Contenidos Introducción Algoritmo de fuerza bruta Algoritmo de Knuth-Morris-Pratt Algoritmo de Rabin-Karp

Introducción A menudo sucede que los datos a procesar no se descomponen lógicamente en registros independientes que representen pequeñas partes identificables. Este tipo de datos se caracteriza fácilmente por el hecho de que se pueden escribir en forma de cadenas: series lineales de caracteres. Las cadenas son el centro de los sistemas de tratamiento de texto, que proporcionan una gran variedad de posibilidades para la manipulación de textos. Tales sistemas procesan cadenas alfanuméricas, que pueden definirse como serie de letras, números y caracteres especiales. Otro tipo de cadena es la cadena binaria, que es una simple serie de valores 0 y 1. Los dos tipos de cadena son equivalentes.

Introducción Una operación fundamental sobre las cadenas es el reconocimiento de patrones: dada una cadena alfanumérica de longitud N y un patrón de longitud M, encontrar una ocurrencia del patrón dentro del texto. El reconocimiento de patrones se puede caracterizar como un problema de búsqueda en el que el patrón seria la clave. El objetivo de búsqueda en cadenas es hallar la localización de un patrón de texto específico dentro de un texto largo (ejm., una oración, un párrafo, un libro, etc.). En el cual los requisitos son velocidad y eficiencia.

Algoritmo de fuerza bruta Se alinea la primera posición del patrón con la primera posición del texto, y se comparan los caracteres uno a uno hasta que se acabe el patrón, esto es, se encontró una ocurrencia del patrón en el texto, o hasta que se encuentre una discrepancia.

Algoritmo de fuerza bruta Si se detiene la búsqueda por una discrepancia, se desliza el patrón en una posición hacia la derecha y se intenta calzar el patrón nuevamente.

Algoritmo de Knuth-Morris-Pratt Suponga que se está comparando el patrón y el texto en una posición dada, cuando se encuentra una discrepancia Sea X la parte del patrón que coincide con el texto, e Y la correspondiente parte del texto, y suponga que el largo de X es j. El algoritmo de fuerza bruta mueve el patrón una posición hacia la derecha, sin embargo, esto puede o no puede ser lo correcto en el sentido que los primeros j-1 caracteres de X pueden o no pueden coincidir con los últimos j-1 caracteres de Y.

Algoritmo de Knuth-Morris-Pratt La observación clave que realiza el algoritmo Knuth-Morris-Pratt (KMP) es que X es igual a Y, por lo que la pregunta planteada en el párrafo anterior puede ser respondida mirando solamente el patrón de búsqueda, lo cual permite precalcular la respuesta y almacenarla en una tabla. Por lo tanto, si deslizar el patrón en una posición no funciona, se puede intentar deslizarlo en 2, 3, ..., hasta j posiciones.

Algoritmo de Knuth-Morris-Pratt Por ejemplo: Cuando se esta buscando X=10100111 en Y=1010100111, se comienza por detectar la discordancia en el quinto carácter, pero se debe retroceder al tercero para continuar la búsqueda, puesto que de lo contrario se perdería la concordancia.

Algoritmo de Knuth-Morris-Pratt Maquina de estados finitos: 1 2 3 4 6 5 7 8 Para determinar el desplazamiento (posiciones de reinicialización) en caso de no existir concordancia. Cada desplazamiento hacia atrás corresponde a desplazar una posición hacia la derecha del patrón con respecto a la cadena evaluada, y se reinicia el proceso de reconocimiento.

Algoritmo de Rabin-Karp El método se basa en calcular la función de dispersión para la posición i del texto conociendo su valor para la posición i-1. Se supone que se transforman los M caracteres en números agrupándolos en una palabra que podría tratarse como un numero entero. Esto equivale a escribir los caracteres como números en un sistema de base d, donde d es el numero de caracteres posibles.

Algoritmo de Rabin-Karp Calcula un valor hash para el patrón, y para cada subsecuencia de M-caracteres de texto. Si los valores hash son diferentes, se calcula un valor para la siguiente secuencia. Si los valores hash son iguales se usa una comparación de Fuerza Bruta.

Algoritmo de Rabin-Karp Valor Hash de “AAAAA” es 37 Valor Hash de“AAAAH” es 100 1) AAAAAAAAAAAAAAAAAAAH AAAAH 37<>100 2) AAAAAAAAAAAAAAAAAAAH 3) AAAAAAAAAAAAAAAAAAAH . N) AAAAAAAAAAAAAAAAAAAH 100=100

Investigar algoritmo de Boyer-Moore para la búsqueda de cadenas TRABAJO Investigar algoritmo de Boyer-Moore para la búsqueda de cadenas

Seguridad y encriptación Tópicos I Unidad II Seguridad y encriptación Semana 7 Búsqueda de cadenas