Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Implementaciones Aritméticas en Dispositivos de Hardware Reconfigurable.

Slides:



Advertisements
Presentaciones similares
Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
Advertisements

Bases de la programación de un PLC
Computadora Máquina electromecánica. Rapidez y eficiencia (MIPS)
Complejidad Computacional
Complejidad Computacional
FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.
Curso de Seguridad Informática
Integrantes: Milagros Alvarado Diana Rodríguez Carlos Evies TECNOLOGIA DE HARDWARE.
CIFRADO DE FLUJO.
COMPUTACION E INFORMATICA
Computación PROGRAMACIÓN.
Trabajo de redes Inma Gómez Durán
RESUMEN: Softmicro de 8 bits Xilinx
CO-PROCESADOR PARA CÁLCULO DE RMSD EN ESQUELETOS DE PROTEÍNAS
Índice 1. Que es el DNI electrónico 2. Componentes del DNI electrónico 3. Como cambiar el PIN 4. Como utilizar el DNI electrónico 5. Chip 6. Seguridad.
Introducción a los Procesadores Digitales de Señal (DSP)
1. Algoritmo 2. Arquitectura 3. Implementación 4. Conclusiones  IMPLEMENTACIÓN VLSI DEL ALGORITMO CORDIC EN MODO VECTORIZACIÓN UTILIZANDO RADIX ALTO 
Teoría de la Computación
Componentes básicos del ordenador
CURSO: UNIDAD 4: LENGUAJES HDL
Universidad Centroamericana
Introducción a la Seguridad en Sistemas Informáticos
Unidades aritmético lógicas
Vista General del Funcionamiento del Computador y sus Interconexiones
Es el término resultante de la contracción de los vocablos INFORmación y autoMÁTICA. Se define como el conjunto de conocimientos científicos y técnicos.
Electrónica Digital.
Seguridad Informática y Criptografía Material Docente de Libre Distribución Ultima actualización: 02/03/04 Archivo con 13 diapositivas Jorge Ramió Aguirre.
5º Microprocesadores para comunicaciones
Análisis de Algoritmos
TEMA 5. MÓDULOS ARITMÉTICOS AVANZADOS
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
SEGURIDAD EN SERVIDORES. 5 Perspectivas:  Prevención  Detección  Recuperación (Copias de Seguridad)  Análisis forense  Evaluación.
Transformación de los Datos en Información leCCI Ó N 7.
Overview Sistemas Computacionales
Programacion Web Practica 1 Estudio de la aplicación distribuida: Apache Hadoop.
Presenta: Mario Alberto García-Martínez Asesor: Guillermo Morales-Luna
Electrónica aplicada al tratamiento de datos Procesadores digitales de señal (PDS) DSP: Digital Signal Processors (procesadores) DSP: Digital.
SEGURIDAD DE REDES CARRERA DE INGENIERÍA DE SISTEMAS Ing. Moisés Toapanta, MSc. Guayaquil, junio del 2014.
XILINX SPARTAN 3.
Ing. Diego Barragán Guerrero
Introducción a la Seguridad en Transacciones Electrónicas Ignacio Mendívil SeguriDATA SeguriDATA.
Maestría en Seguridad, Universidad Don Bosco 17 de marzo-23 de marzo de 2014 Aplicaciones de muy alto impacto y muy alto volumen de la seguridad informática.
Juan Diego Echeverri E Microelectrónica y Control Universidad de Antioquia.
REPRESENTACIÓN DE LA INFORMACIÓN
Memoria virtual.
Laura Itzelt Reyes Montiel
Capítulo 8 Seguridad en Redes
Capítulo 8 Seguridad en Redes Generalidades y Principios Basado en: Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley,
¿Qué es esto? / /
(Field Programmable Gate Array)
TIPOS DE PROCESADOR INTEL PENTIUM II El procesador utiliza la tecnología de alto desempeño Dual Independent Bus para entregar un amplio ancho de banda.
1 © UPM-ETSISI Tema 7.-Tecnología de las Estructuras y Subsistemas Lógicos Combinacionales © UPM-ETSISI Tema 7 Tecnología de las Estructuras y Subsistemas.
Seguridad Informática y Criptografía Material Docente de Libre Distribución Ultima actualización: 03/03/03 Archivo con 14 diapositivas Jorge Ramió Aguirre.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.

SOLUCIONES TECNOLÓGICAS Protección de las comunicaciones en internet
Certificación Digital
PICOBLAZE RESUMEN.
Protocolo ssl. Introducción El protocolo SSL (Secure Sockets Layer) fue diseñado con el objeto de proveer privacidad y confiabilidad a la comunicación.
Técnicas de cifrado. Clave pública y clave privada:
Organización del Computador I Verano Aritmética (2 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Sexto Coloquio Nacional de Códigos, Criptografía y Áreas Relacionadas. Francisco Rodríguez Henríquez Seguridad informática en ambientes computacionales.
(Field Programmable Gate Array)
La Computadora La computadora es una maquina capas de realizar y controlar a gran velocidad cálculos y procesos complicados que requieren una toma rápida.
El protocolo SSL (Secure Sockets Layer) fue diseñado con el objeto de proveer privacidad y confiabilidad a la comunicación entre dos aplicaciones. Este.
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Electrónica y sistema de adquisición de datos de los observatorios de rayos cósmicos EAS-UAP y Sierra la Negra Contenido. 1.Introducción. 2.Observatorios.
Electiva de Redes II – 2012-I Departamento de Ingeniería de Sistemas 1 Seguridad en Redes, Enfoque hacia Criptografía Miguel Jimeno, Ph.D. Departamento.
Para generar una transmisión segura de datos, debemos contar con un canal que sea seguro, esto es debemos emplear técnicas de forma que los datos que.
Transcripción de la presentación:

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Implementaciones Aritméticas en Dispositivos de Hardware Reconfigurable

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Antecedentes y Motivación

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Modelo de Capas para Sistemas de Seguridad Aritmética Computacional : Suma, Elevar al cuadrado, multiplicación, inversión y Exponenciación Algoritmos de Llave Pública: RSA, ECC Algoritmos de llave Simétrica: AES, DES, RC4, etc.. Algoritmos de Llave Pública: RSA, ECC Algoritmos de llave Simétrica: AES, DES, RC4, etc.. Funciones Criptográficas: Cifrar/Descifrar, Firmar/Verificar Funciones Criptográficas: Cifrar/Descifrar, Firmar/Verificar Servicios de Seguridad: Confidencialidad, Integridad de Datos, Autenticación, No-Repudio Protocolos de Comunicación: SSL/TLS/WTLS, IPSEC, IEEE , etc. Aplicaciones: correo electrónico seguro, monedero digital, elecciones electrónicas, cortafuegos, etc.

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Servicios de Seguridad Confidencialidad Autenticación Identificación Integridad No-repudio Control de acceso Disponibilidad

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Seguridad: Bloques Básicos Cifrado/descifrado provee: –confidencialidad, puede proveer autenticación e integridad de datos. Funciones hash proveen: –Protección de integridad, puede proveer autenticación Firmas Digitales proveen: –autenticación, protección de integridad, y no- repudio.

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Plataformas de implementación para algoritmos criptográficos Software  Procs de prop. Gen. y  Procs empotrados  Procs de prop. Gen. y  Procs empotrados Algoritmos Criptográficos Hardware clásicoHardware Reconfigurable FPGAs VLSI

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Pero: ¿Para qué implementar algoritmos Criptográficos en hardware? Dos razones principales: 1.Implementaciones en software son demasiado lentas (alg. simétricos: vel. de cifrado100 Mbit/sec alg. De llave pública: del orden de mili segundos) 2.Las implementaciones en Hardware son intrínsicamente más seguras: Acceso a las llaves y modificaciones algorítmicas son considerablemente más difíciles.

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Virtex-II Platform FPGA Switch Matrix Switch Matrix CLB, IOB, DCM CLB, IOB, DCM Active Interconnect™ Fully buffered Fast, predictable 18b x 18b multiplier 200+ MHz pipelined Multipliers BRAM 18KBit True Dual Port Up to 3 Mbits / device Block RAM Switch Matrix Slice S0 Slice S1 Slice S2 Slice S3 Powerful CLB 8 LUTs 128b distributed RAM Wide input functions (32:1) Support for slices based multipliers

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Tarjeta Spartan-3

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Virtex-II Pro Feature/Product XC 2VP2 XC 2VP4 XC 2VP7 XC 2VP20 XC 2VP30 XC 2VP40 XC 2VP50 XC 2VP70 XC 2VP100 XC 2VP125 EasyPath cost reduction---- XCE 2VP30 XCE 2VP40 XCE 2VP50 XCE 2VP70 XCE 2VP100 XCE 2VP125 Logic Cells3,1686,76811,08820,88030,81643,63253,13674,44899, ,136 Slices1,4083,0084,9289,28013,69619,39223,61633,08844,096 55,616 BRAM (Kbits) ,5842,4483,4564,1765,9047,992 10,008 18x18 Multipliers Digital Clock Management Blocks Config (Mbits) PowerPC Processors Max Available Multi-Gigabit Transceivers* *16*2020*24* Max Available User I/O* Logic Cell = (1) 4-input LUT + (1) FF + (1) Carry Logic 1 CLB = (4) Slices

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Cómputo Reconfigurable ASIC Procesador Hardware Reconfigurable Desempeño Flexibilidad Costo por Unidad Costo de Desarrollo

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Cómo se escoge la plataforma de Implementación Algunos factores que determinan esta elección son: Desempeño deseado Costo [por unidad, costo de desarrollo] Consumo de energía Flexibilidad –Cambio de parámetros –Agilidad algorítmica Seguridad Física

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Ventajas del hardware Reconfigurable 1.Agilidad Algorítmica 2.Algoritmos actualizables [upgrading] 3.Eficiencia Arquitectural 4.Eficiencia en disposición de recursos 5.Modificación algorítimica 6.Aceleración (speedup) con respecto al software 7.Eficiencia de costo (con respecto a ASIC)

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Ventajas algorítmicas  Operaciones lógicas simples (a nivel de bit)  Replicación de Bloques  Alta longitud de bloque FPGAs  FPGAs funcionan a nivel bit  Los bloques pueden ser replicados  Es posible obtener paralelismo real  (Alto número de puertos Entrada/Salida)  Mayor Seguridad Física  Flexibilidad  Alta Densidad Algoritmos aritméticos en FPGAs

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Operaciones a nivel bit (XOR, AND, OR, etc.) LUT 4 x 1 X = a + b Y = X + c Z = Y + d Z = a + b + c + d Uso de lógica 4-input/1-output usa menos espacio Propiedades útiles de FPGAs

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Substitución a.Valores precalculados almacenados en memoria  ahorra tiempo de cómputo b.Valores calculados en tiempo de cómputo  consume tiempo c.Misma idea que en (a) pero uso de memorias dedicadas  solución rápida Propiedades útiles de FPGAs

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Permutación Permutación = [1, 5, 4, 3, 2, 6] Rearreglo de bits (realambrado)  operación gratuita Propiedades útiles de FPGAs

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Corrimientos y rotación Shift left IN[31:0] 8-bit A[31:24] B[23:16] C[15:8] D[7:0] (rotación a la izquierda 8 bit) B[23:16] C[15:8] D[7:0] A[31:24] IN[24:0] OUT[31:0] 8-bit A[31:24] B[23:16] C[15:8] D[7:0] A[31:24] B[23:16] C[15:8] D[7:0] Propiedades útiles de FPGAs

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Estrategia Iterativa: ejecuta n ciclos de reloj para una operación. Utiliza menos hardware. baja velocidad. Estrategia Pipeline: La salida es producida en cada ciclo de reloj. Utiliza mucho hardware. Alta velocidad. Iterative Pipeline Propiedades útiles de FPGAs

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez X = a + b Y = X + c Z = Y + d X = a + b Y = a + b + c Z = a + b + c + d Un ciclo Tres ciclos Y espera a X y Z espera a Y X, Y, y Z son independientes bloques de 128-bit procesadores De 8 bits procesadores de 16 bits procesadores de 32 bits Software bloques de 128 bits bloques de 128 bits FPGAs Propiedades útiles de FPGAs: Paralelismo

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Case of Study 1: GF(2 m ) Squaring

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Squaring: Example Let A be an element of the finite field F=GF(2 5 ). Then, the square of A is given as, a 4 0 a 3 0 a 2 0 a 1 0 a 0 In general, for an arbitrary element A in the field F=GF(2 5 ), we have, a 4 a 3 a 2 a 1 a 0 * a 4 a 3 a 2 a 1 a 0

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Squaring: Software Solution rct_word sqr_table_low[256] = { 0, 1, 4, 5, 16, 17, 20, 21, 64 65, 68, 69, 80, 81, 84, 85, 256, 257, 260, 261, 272, 273, 276, 277, 320, 321, 324, 325, 336, 337, 340, 341, 1024, 1025, 1028, 1029, 1040, 1041, 1044, 1045, 1088, 1089, 1092, 1093, 1104, 1105, 1108, 1109, 1280, 1281, 1284, 1285, 1296, 1297, 1300, 1301, 1344, 1345, 1348, 1349, 1360, 1361, 1364, 1365, 4096, 4097, 4100, 4101, 4112, 4113, 4116, 4117, 4160, 4161, 4164, 4165, 4176, 4177, 4180, 4181, 4352, 4353, 4356, 4357, 4368, 4369, 4372, 4373, 4416, 4417, 4420, 4421, 4432, 4433, 4436, 4437, 5120, 5121, 5124, 5125, 5136, 5137, 5140, 5141, 5184, 5185, 5188, 5189, 5200, 5201, 5204, 5205, 5376, 5377, 5380, 5381, 5392, 5393, 5396, 5397, 5440, 5441, 5444, 5445, 5456, 5457, 5460, 5461, 16384, 16385, 16388, 16389, 16400, 16401, 16404, 16405, 16448, 16449, 16452, 16453, 16464, 16465, 16468, 16469, 16640, 16641, 16644, 16645, 16656, 16657, 16660, 16661, 16704, 16705, 16708, 16709, 16720, 16721, 16724, 16725, 17408, 17409, 17412, 17413, 17424, 17425, 17428, 17429, 17472, 17473, 17476, 17477, 17488, 17489, 17492, 17493, 17664, 17665, 17668, 17669, 17680, 17681, 17684, 17685, 17728, 17729, 17732, 17733, 17744, 17745, 17748, 17749, 20480, 20481, 20484, 20485, 20496, 20497, 20500, 20501, 20544, 20545, 20548, 20549, 20560, 20561, 20564, 20565, 20736, 20737, 20740, 20741, 20752, 20753, 20756, 20757, 20800, 20801, 20804, 20805, 20816, 20817, 20820, 20821, 21504, 21505, 21508, 21509, 21520, 21521, 21524, 21525, 21568, 21569, 21572, 21573, 21584, 21585, 21588, 21589, 21760, 21761, 21764, 21765, 21776, 21777, 21780, 21781, 21824, 21825, 21828, 21829, 21840, 21841, 21844, };

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez Squaring: Software Implementation void rce_FieldSqr2k_Random(rct_word *ax, rct_word *tx, rce_context *cntxt, rct_octet *offsetptr) { rct_index i; rct_word C, S; rct_index wlen, blen_p; rct_word *tmp; wlen = cntxt->ecp->wlen; blen_p = cntxt->ecp->blen_p; tmp = (rct_word *) offsetptr; tmp[0]=0; tmp[1]=0; for (i=0; i<wlen; i++) { S = sqr_table_low[(ax[i]&0xff)]; S ^= (sqr_table_low[(ax[i]>>8)&0xff]<<16); C = sqr_table_low[(ax[i]>>16)&0xff]; C ^= (sqr_table_low[(ax[i]>>24)&0xff]<<16); tmp[i*2] = S; tmp[i*2+1] = C; } RCE_FIELD_REDUC2K(cntxt) (tmp, blen_p, cntxt->ecp->poly); //rce_residue2k(tmp, blen_p, cntxt->ecp->poly); for (i=0; i<wlen; i++) tx[i] = tmp[i]; }

Aritmética Computacional invierno 2005 Francisco Rodríguez Henríquez A = 1111 A 2 = Squaring: Polynomial Multiplication Step FPGA Implementation [by Nazar Saqib]