Aritmética Computacional

                            Aritmética Computacional

Objetivo:

Estudiar los métodos, algoritmos y técnicas de mejora de desempeño necesarias para obtener implementaciones eficientes de operaciones aritméticas en sistemas computacionales con recursos restringidos y en dispositivos de hardware reconfigurable FPGAs. Los conceptos y técnicas a ser revisados en este curso harán un énfasis especial en algoritmos de la aritmética de campos finitos y su correspondiente implementación en dispositivos FPGAs.

Contenido:

  1. Introducción a los dispositivos modernos de hardware reconfigurable.
  2. Teoría Elemental de Números: definiciones y teoremas, números primos y compuestos, teorema
    fundamental de la aritmética, máximo común divisor, etc.
  3. Definiciones de campos finitos primos (GF(P)).
  4. Campos finitos binarios (GF(2m)).
  5. Algoritmos Eficientes para aritmética GF(P).
    • Suma y substracción modular.
    • Multiplicación Modular y operación de elevar al cuadrado.
    • Inversión modular.
    • Pruebas de Primalidad.
    • Exponenciación Modular. Métodos Binarios LSB-First y MSB-Fist. Métodos M-arios.
  6. Técnicas Alternativas
    • Introducción al algoritmo de RSA.
    • Curvas elípticas sobre campos finitos.
    • Introducción a códigos Reed-Solomon.

Bibliografía:

  • Francisco Rodríguez-Henríquez, N.A. Saqib, Arturo Díaz Pérez and Cž etin Kaya Kocž, Cryptographic Algorithms on Reconfigurable Hardware, Springer First Edition, November 2006, 362 pages, ISBN: 0387338837.
  • Handbook of Applied Cryptography, Menezes, Oorschot, Vanstone. CRC Press, New York, fifth edition (2001) Portal Internet del libro.
  • The Art of Computing Programming, Donald E Knuth, Addison-Wesley, Boston, third edition (2001) Portal Internet del Libro
  • C. K. Koc. High-Speed RSA Implementation. TR 201, RSA Laboratories, 73 pages, November 1994
  • Elementary Number Theory and its applications, Fourth Edition, K. Rosen, AT&T Bell Laboratories, 2000. Portal Internet del libro
  • Presentaciones de Xilinx sobre diseños en FPGAs.
  •