XUT_ / COURSES / CYBER SECURITY 101

Basic Math

Los fundamentos de la criptografía moderna recaen sobre las matemáticas. Para demostrar algunos algoritmos básicos cubriremos dos operaciones matemáticas usadas en varios algoritmos:

  • Operación XOR.
  • Operación Módulo.

Operación XOR

XOR es la operación or eXclusivamente. Tiene la siguiente tabla de resultados:

ABA ⊕ B
000
011
101
110
Se representa mediante el símbolo ⊕ o ^. Compara los dos bits y devuelve 1 sólo si son diferentes y 0 en el resto de casos.

Al hacer XOR con los números 1010 y 1100 el resultado será: 0110.

Para poner un ejemplo real:

  • C: Texto cifrado.
  • P: Texto plano.
  • K: Llave.

Sabemos que C = P ⊕ K. Si sabemos P y K, podemos recuperar C. Comenzamos con C ⊕ K = (P ⊕ K) ⊕ K. También sabemos que (P ⊕ K) ⊕ K = P ⊕ (K ⊕ K) porque XOR es asociativa, y que K ⊕ K = 0. Consecuentemente, (P ⊕ K) ⊕ K = P ⊕ (K ⊕ K) = P ⊕ 0 = P.


Operación Módulo

Otra operación usada mucho en criptografía es la de módulo, comúnmente escrita como % o mod. Esta operación rescata el resto de una división.

  • 25%5 = 0: Porque 25/5 = 5 con resto 0.
  • 23%6 = 5: Porque 3 * 6 =18 y 23 -18 = 5.
  • 23%7 = 2: Porque 7 * 3 = 21 y 23 - 21 = 2.

Algo importante que notar sobre el módulo es que no es reversible. hay infinitos valores para x en x%5 = 4. La operación siempre devuelve un número entero (int) positivo entre 0 y n - 1 en a%n.