Cryptography

How prime numbers and modular arithmetic protect the digital world.

Nb3JWTmRHsZpTsI8TOcQ4Ao5V8DxNrwfWqGlCp4222dNo1TGG0F0Ah8mjuAJlzA1RY+dsna/OxgBgKBer0pqKNWNi/Uwl22iGtBnp7UqPtpyXrgOcOV1hVZzsktRY91wu7WzZhCi7ozQAFHShIFyP5bSG+utgJlY5/PEJ4pN1apNP6Y+zSYQkRyfHvJadnjphisNP+ynvPLuAGw7lp2ZbP79X7BbSmtVWaTAZukix47Zm021p2vtF5liAb/LuKd/K24OXQcDziX7YuU1xa4HNPvqZvgrDdnjZMwYSCASYHjyDdPVoe4t4z3y1jCS5/t/v6lpFex03zGyJGS1YhOEcNM9FfNjEYK5F56GhmDkpac86daMzRidiTRuqsUiYNFQqJHnvBNQ6fiymD5ww9vysKq3cPnyIJysMjd/u7P/qaVnt5auDIhE1aYVZzhjFND8qB/uD4iGcaJCSUTg02GBAnGV/L0jNyZj1ttzcuXQdkmoh90F0HcDk4orGF0/CZisUf+7KlOz5btZIz3zcRmaXWsazSLhBg3AwCqb9go7T4UboVmcwBEJjHI5SGiFIh7sSPSO0scZW0a4MRxnfCBlco57V1Z+FSblATXR18BmNrER2tIABHpkshSVSJoPeDbQtcZeaO1adkLk6vY0vIc08SIqhhDLWNwa+Te2HR6KvSPEQkD+/qFPjH/GcEx/LuhJTPdmCc7N5nxh5gwsxufPp11iStSb0fg9Pylvo8QWXtoEZ+A8WcD9bo5QV8qQVzbHJrSLjqm0F4cBKLvFGWUzN1hZERDLxnBMCB

Why Number Theory?

Public-key cryptography relies on trapdoor functions — easy to compute but hard to invert. The difficulty of factoring large numbers into primes and computing discrete logarithms provides these trapdoors. What was once "pure" mathematics is now essential to internet security.

RSA Algorithm

The RSA cryptosystem (Rivest-Shamir-Adleman):

  1. Key generation: Choose large primes p, q. Compute n = pq, φ(n) = (p−1)(q−1)
  2. Public key: Choose e coprime to φ(n). Public key = (n, e)
  3. Private key: Find d where ed ≡ 1 (mod φ(n)) — the modular inverse
  4. Encrypt: c = mᵉ mod n
  5. Decrypt: m = cᵈ mod n

Example: Toy RSA

p = 61, q = 53. n = 3233, φ(n) = 3120

e = 17 (coprime to 3120). d = 2753 (since 17 × 2753 = 46801 ≡ 1 mod 3120)

Encrypt m = 65: c = 65¹⁷ mod 3233 = 2790

Decrypt: 2790²⁷⁵³ mod 3233 = 65

Security relies on: factoring n = pq is hard when p, q are ~1024 bits each. Euler's theorem guarantees decryption works: m^(ed) ≡ m^(1 + kφ(n)) ≡ m (mod n).

Y7nYqFMMmIhaET4fwOWLwqL+QomPHP7PWN03rnekxn21jWfUYe0OnWnKWznEN6Ip/dJA+2UBmffseJLENg9BTHEgFaq7tF48xYETxYz/RBN8rfMJkz+oslEXsHjjOGDuxVWa7U+h0I75bqT9mJL3a5yUr9QeK+jPydyrp+BaYb1WHf0XtfkMfXJ+xWOi8Dlr+GYu5J8YXSDT2Dwn7rcZhZl+ESHIfq3QYcloy6cbNQGBSGj7xxyFfUYdjen317SjxZLfAukjvNtnoAu+zF0FPOTAv+cNP/F8vNebzOHHS2Ka4juz1l0RmVbKTZilhiqbHnQ9M575m/ZkOUUhIQumJaKVYqgysQTzpLDhgQ636Ru/tCvCXKPc59K/eEzKFqhhxPsfS7AFTYXwqPokzq6t262QESpvcpQicBpl8kwe8+9KunC4A0Jxe2+qtimdhIDzBuwS5lNKghx9A486xnaCrDaYdTGVLM8PdUy8KYKjln2YTDDpDh459pIZ/pH+BSNvk5B1t53pr+T1lG9ggYRPtq3kVBMSE8Sl1h/AeBokV2d6PuX80AGNoTQce/1d38PS/raCnwYF3lBVVmWocS0OC0QS6KBnWEtZuLzdzgrTX/grLRPvxV4BOlwgFBrMLD4bmby14xk0INnMyLq7y4uvsx2TFMNLicnk9jPZgtRPD1jW1lTfEdyUW1zoTLkeZnxH+JDwtcypRe0slwOZey6knBtPoVtI4imt8aTsWowhUHe0hEARjHruTVPsyH8xLbklf3zkgkkwY0EhYlfGgAikzYp1SbN0sVTcT9

Diffie-Hellman Key Exchange

Public: large prime p, generator g
Alice sends: A = gᵃ mod p (a is secret)
Bob sends: B = gᵇ mod p (b is secret)
Shared secret: s = Bᵃ = Aᵇ = gᵃᵇ mod p

Security relies on the Discrete Logarithm Problem: given g, p, and gᵃ mod p, finding a is computationally difficult. This uses the same modular exponentiation techniques.

xBZqdZD2quD3xeOW7ViknHBLzDfFAfc7+zE2qP+SbFAOyLcQZyx51RgVUD+akPo2TnuPyDmVpLutlTjVzWTgB0X9HVkgeZjPRWC+qxJc9N+wrdb1G9F2G8qBUzYwigEQo9UzWi4MVK8qMvLcmahItnOMvC0ccqg2PGo4mpP6S64zDjFCr7HFvyAGERp8Lzo7h48xar5vyjk0646uHFoBq36PJO0YDDe0wilWzs7lfy87bluX7c4x7N9/rW+OZeZLgjV5BgqwgFl8KyoGI7xPCmpf2ydKxayNScbxXrOWGqYTNQcD86AfLL/el01UHYBi+jeGAMbx9RtBWMGzGFaOE6bKOOkbNh3cLrwqYXZT2+TsLcr+x5JkOrhFC4eNkzr1frP50zwly7opV6iq4EOUqutRwO36ilANfBkUOpgnMDBgULzGqYfjFK58Yd86RTWGQzG+M/h781hYpYRrhRLFob0zRykRNQzReIcmiqyM/pZ0rrsdLIqdl4k8P5AkSpQGwSw2FGKlN3aAZeg8YIA2q4DFK5XZM4lVtMbIA7j4DrJC6cts3etEWXuUQjshYP2z30XQ+945aMTXXalGZ+E0IkxdzT24kBsN/Jj0l//ydiZF+OHWbNPPcKfMIY8Cd8shscFlELU0u2qI1X8RVlFITa9gjO9EBsAdNUG+WNxmuo0KlNPt4TEdTT3egCYv7UaFPWSKg31gAJiO7xe0EFI/w4jcLw+/ZyLee1RbO6o9Hb5wLsGbAsap0lNYDXV80/ajWEWAw06fsNo8KchvsOUbEjXUxxtOcQo5KD

Modern Topics

hy7MKP9M/rIVBCsUwcy7xKJEdoz5x8qC/XDJVj7D8Q04LVVq4ULkPCV4QlkhRSlyKFXcqEvEnGm1CoaaIQT/xcPkXqyqelNMGNhA//3cHQ/y/VZ8I4bSkfIbtcUH2sn4F9Qh5PV4hQ1hEgD7sJj2FoPTkRm4c9obES6xWUYGUlmDM+FjGtxtJPCrrUdZdZMqepO2z2bg1SFcPrpxeVUgsMxKqQd1krgm8KsNR1l1G9u4gEPgmRsxrx7ov3Smt9K/qVPxTIgkKc0QtoKhzpR3Smt8UZMjApo3GnrP9b08S+LgMmg5JaECNUiZuJpM1BWTkBBVLvq65qkzX8fk3AjRX+Ig3zndFxr9ajzoW96/4yK4q86/3gRvVdbU0GagQAPPNVrP7F55UrBO6D5t3vYdh6SIft/iBw41ismu+iDPbxANCyFNalaQ3RapS486k/R3xChiHlDpY082dZ65a8AtURAI7Dt7UaoustWT30FMlcQBvKBd5RC3Ggx5tX8FuJbVTLt4fuJYizY2WIzzbc2YnpGxVOJpzDoLfe15CBlrV6buHfZ9RW+XDSHsMEa+98ZoD/UlD4vIgCtJyWQ9RdMgBUm6df+ibjWdxzcB5q2DPSgy+uaJ6aR5D2+tDQgI1memMhzwUm2e2E9LVMCBDNpFBrbYFqKr+ROisg3hxTLQVEqIn79Y3u3UMUpGJzoAAhbDFfNEVTTSMkdn92MWgCFWsdxyq5gfGkkRY+igk2mVvNgK4F9ks22JAoR5At9rQ9DBukG8x7NZ1nVdYaw/EjVIyXQ7pFxDg0EwJ9
  • Elliptic Curve Cryptography (ECC): Uses algebraic curves over finite fields — same security with smaller keys
  • Hash functions: One-way mappings used in digital signatures
  • Post-quantum cryptography: Lattice-based methods using high-dimensional linear algebra
  • Zero-knowledge proofs: Prove knowledge without revealing information
Quantum computers could break RSA and Diffie-Hellman using Shor's algorithm (efficient prime factorization). The cybersecurity community is actively transitioning to quantum-resistant algorithms based on lattices, codes, and hash functions — all rooted in mathematics from linear algebra and number theory.