xBZqdZD2quD3xeN27bicnHANONq0AtsbWzyYfuGhzMVhN9hH68UNi8+kddpO8XTuRKnhmgZ+CXomVz1184XC8qIfn8RQyGBcNXHMiVT+ZNNxyDBRG9F2hfsg5wWbrRyM4KHG3QepVxBSIHHy7RlHvm8hICVPSDrh9P5ZdFgHwJGt5Y2hXdl7WyK6/EyCiMVwz2ffZuOcKx+N/lGDgNUU9GLJoH2DpxV3HxUSoh6vnkEan7IAGZr2WlL8DFANQud1kYuIrwxSO6pb7DdFRV+iJ+3IviD1fXQ8yp0iP0FGDdfDh9e5PjsAdqzmLNhOvGH7fXwk9/xds09iwECdLYjtEjJnzMGo4SuPjHnpQ9I2cuNn/x/BeLiyMQ3z55D/N5FodtY/Q92vDWNBdzhGRRtSfbtRf+BeQIBZY3tervUc+X186znJ94VIch28hWTS+uvpxE5J3CFv9IMKJi+PViaTl19QPj4o9C2tltWfWwSDzaiDzxgiPmxC7uW/r/cOtPFIvofTIfEE2X1juqRt0bAu6hD9vcqHTrz4N4pVBJ0ow7Qz31gc1qUt2we+hQLgEs5UxCzmWrEOdNin3zbQoFsC3zeZnnPRxyGNunfc7MrxCbT6x1vjUmek71oyWB3Oyn7hDzVsv9py6fQO++w/ptgZdnX9rCpEBsAdNUG+WNxmuo0aHzq5KBVxthHHyZ2Sy1ZsEIjVDqfSJm3SO3JBRBafC/I1K2q05Hs9XZYIjVNtNGdUs4svTDGCEcw0PwVpOrYby8a+o7e76WuZYUNtPYUenxuoBpQC11euw

Cryptography

How prime numbers and modular arithmetic protect the digital world.

abY298qOYKD81p97mNSFnSMk+HcV8hC1tzP+bKKD+TLMTfyO2JnOpqpmWoq59HfJ9UKFsu85OQRq5w+ZchrpJQ8VtKPbG6tbHSb/7IWYiKwmJ1RZxm4epOegGusaLirdWt68R+vBs4oQRiGTQUsZqovuTfyALppWfv5E4yclydLCla6Hs46cEkEGg/fFqkdVCg1mhrPlomBW4lw46e2aGuhNTa4WqEfCtwBK+FglbIi0zG1I0t7lFy6CPtmW1Ytl7Gt6/FNoRIJdXDVzetpaqOZS/IWrwRrHWzdXdf+hpl9pOHkR6bNlEL8PO0tAe06Xe9KvFviA29eiCXZ/uydVoO+eOo9Cb4nlfoMpMpuRZU21v+Lws+A8mtq6KtA1xSHRnnTf67VcAGGaaIKGJ6wWBEFZNwAKsmgYKJSmeLcnkmXVxXI/wQsOKf9bxA/Yz6GJQjQqxoHGfmaLmsMjoVSoxYwpJAK4HZhPDM1RfMqjY2pw0VE5hOV1KcY4KJIQaqzF4LzYvYyi8H1DxlCtMqNXx0wxEPlPYF0d4GrdWg50CCfS1YkubO4PbIHpAlhGWv46RFrDXbqwINyFhKBe/2hUHX4A4QTo4aBojLDtZ1zfIwFzSMY9uzIGi6f89WxNGU6gneghatz58Os+ElvsnJai+NdE6SRXh5UQDavC485kEb1RqyVxTMEgjFuXrUuCjCR6sZOhQkXewHLAB4HO+pMiUr3pRHfdY40SCVYEmIuVB9jmNcoFY9JkZg7C9+5vOyNHsIVU+goWxqaoELgLSJyXZL3vgGjd2dUJ

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):

0AwUbhWh/JT4VWHjZijd4D6JMFxs0xuAoE2XFv7dMMDM0KT/J7UEPtOJKiaYXA8+rKavL+4F9tHFcysn4MDMn0g7IjYHuLZZ7GoLr9EEoC34xxwaYWDxd9au0ZUUdqY+qwsbwCKMkdWvzvBSoovMCLVkbREPsp5X2dBA2c4yue+P5IQmmM5SfDZ7nL05YkuERtGnsrNbG6kIkmil9X1bkPFrCjxZeswv4QbAcW7O4Pv4gZWnV80o29RmTd2ibu4Np4asqD8NAzYjGxy5c+AQl61HoNp/seUzlaj6hOWaOUeXGSwOFQjBZFLNTSmXBVBWVWwO+HbUU+xxODjdkq2cDH1wj/1KeTdCkj8Kjmyi9OhRo9Pc4/ScW34h/3SO7DMfxhWb4cnIEHqzwciD5wszFZmSiPX2gEP3+zmaHmN+8tZPrKwaO5Oswrwkw147XOAHF88aJz7Z9dlRg3C7HbQGYRfTrnmhp067+838CA6+rN8zV+oKPGFytBTyUgKGOTXA5RrWiYuG/VCzYstihtXcOSt3ccuEcrKrQbftQjlaZx4wcsGRVCNN3MkffzquzdcmYsUKWvwc6/uIbqYUqhpysHzwN8P8hnwUGttJm4UcUqZnZudw4PXKR8BNpp/kcsmC+LTxJvjyFCyYvvazhycOF0odNaEenQjTbJE/KoXNt5Sgf9H1zvYy6Q5NkgCG+m+fC3bwE1nqoTEg1kexFNpnSHA/yjSItzmU8yJspLniaEBXRVEUz3JlTH1CMxlmoPMOS7jQMHJaoa+CVQUybHS0E0zZTV/K5ZjMS
  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

25+A4/qfiCVQWjCA4KI2qznQLT1S5rs9eVXcC8NPViGPLtYI5e6CFkinXEcQDD4dmLrugBrh6W3/vQadeq6mf4ZM+1yUelk2sELy3l5m1cT9xOIBSCfLxkV8SQY8HYcSMls1GREyoK/VSWOB5VdMLzy7xLuLzxsYmyV5+1F3dc48XF3kdUYm2dQ9WBZig4eEhTEnI18xfd9r9G8Qe4GkQ/w4zsn95ffq0LpYiwOwHaYvSmgPFVdPVWoEDYutjh0zazIfZIbHRSGJpQUiDdPp+l63GOLgzBsYnOknUOAEpSWXWwX2yMBbusZHMpphL88oK9QonSlUPbxRlhaVl/OmzGr72Q0oris65PX+63WRLGahs2xZvPyD1JFJeOQXU8zf5l3bQBCHCpySlOk+Gh6hOxpZCOPm8HcMD93b7dcSNtIbKOjFIOkCxHmJuGY8XQbKjgMdukdeySxOCU6QRl4zWtKaMf9x4wI6x9UOIjDFvNV6YEjJ3xWhWT3BsrlCqct34auFE81vIfMKh5dYBqYDW0hAcomrUHm0tce63YTRr/uOsSZAeqDCoQPkB7NZwkeHxBFtVIq8wrb4hywfGZUNFe40GYhWJ5hXTE12AA3qoQdDXqfcQ7g+AfsUocDHN98NxB8jvMGvUypJU4m3gw6uySNtNdL8zes8KEEx14X5SB5Tm8chYfvmeUDP2Hza4UCLCO40fFfc3Bu3+1yI900QNC/nmi9T8fF2CNy2vNWKQjsCffiQVSj93JubsM1ggYvWp55qOEl/ofwjP10k4hCT6yA7PbiQF+mZe

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).

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
1jsgTHDQiaVSOAPKdz+5MjvVqB0mgcogTxsDVqbiGt6ekEpoKuVCnQKT0jjUW19fxUi0mHSWpGil33FsqMA+u/+fyYVfK99Ul4Uo7wb8AUeBDs9UdFRN+JBN64zjdcE/D3iYLHgFnIk//VAUeRliP+7c+Gb/zQ9d6BroFeG7eFGPn1vVP6XnAoK5NUoQ4Vd+wjt0komA8UuUTCJI+/G2iGd6DSjoDxhYd+aetHs0KNM4lCFtPGpOHWmbiLehBOkjmRnYV0T1lw2IV3T+Ec1+8Q4ZpjE8ajshbQoAfnR2qohnDzEseYfRjQWlNUpt3VPuStKh4M4rj019Jxs6v3B7ugbHmHdggJM1xt/B8rNpPkAdBY9UWOTlf5jJ82w3cDmgcHPwrxvXX4gO3ohcCZCme+80InIPE21IY4ElGAvE5en1QwfX5QS5kA1/jBs8PEhdB4ncaOd67evPQ/pSh4zfaOlB+/Z7XZVhsnUXrX9G9KuMIvPJ4cfi2vvIc7Q3K0EiRiwE+atyWPdA6RdtBlTkhMJv0cVnaZAJuWJKfAD1f38ykAPSISM1YQLh2YMEfeVEBNUOuYA2m86q2PX37nc+VkZS5WVSczuGf6GL0ZLqOlf+GMRfDmF8cNVdLcn9p0QveFvmFJONh/SH52mrSRiRXt9um2NrVE8toh2RbUdbH/VdLodYiIWVzUH+qpZ+544EUWA1nozqmRjR57vz1h78j3m45hSA8N9IkeYMZpOBYoFPXvpiO0O6r6tY+ncBs3lYmboJ022MfJx4+yRdP2iJ9lzXy4RIp3K4

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.

meL1bFP9AtI/HJEhA+1+u6Be5jGc5evgZ5Nx/8MFDBa0gGmICzXtQxavdkIirRzGJ0w7JxLcG3EG5JtlQ/zQLd/prhq41SkT7R1VtSkLI23YjtRPznAHplrCeycjuAA4ODp/e/xkh291ROZkNt30he6lxm8ldAIv6oTLEgCQBImdWITs4SUrfdmX0qUju6TWxp7KfWgo87+C9zBLNGeBbZ91hXQORu568/kZeq2vjnbg191+sQmFNkTxaIL8JyZlfKuFnhf7RCUpsIq0cYEqEoKPOPnrVrTvbAzYD1L8EeTM9G1PuUX03Q5NtU9ssyCl56+b/fZVuoNBiT0CYTovYyTnmF3aPuCJXLKwYnqIUqnH1QbPRGKx6J/uKrwmmk/1aXPxnkjcZlaqDy4Vd4o3YLa+52GO96GE0ThShYheIcJR13QAh06pEW8Va4eijskA/vL5XYvuTEwfUCk+8HwsQ8exo2yapqUVcjZ1AbQyZwOX7kZ5YPIypysrgBVZfCjJxXTLmxhwfFxxnbbHDUoDeXvn+/4s8AQGx4LMDby2sIWCnKbS2fQg9aVCGKxS2NB57/mtEkyRC6IPPLSHPz63h7pUREcPYUw7fjqWdd1Kc+9Vu1bOl2Q5Nz/P+A3VGrjJVt+7phjmfOjhOP4sRvoievYNr/siG/nOV1+8OSI6yNYu20KMLqllbbt75BBIuR48kn2mCb+ytKzpqKSYbeJVrWlLKERcf5ZjsBNoR5WA0OZaBjba3OsRRwq6WxYAk44wWpNWethlNhTH4qX8RfWjKG/SCg9WNoyjP

Modern Topics

  • Elliptic Curve Cryptography (ECC): Uses algebraic curves over finite fields — same security with smaller keys
  • cjCgi6Dx6dcc/HN/zbrhjCLbOT2mFW5VoP5G+F6p67nVdZ4FcDK7tSM7CuwIqo60t8HukK0pDvXyOUpLBJ7tApr7rgY0cj5lGdYMLbBbm9kZ5qVl7u9lTEY+Vxk9V140zvuaWRhb35FoGkcgb20/ToK6AMVEV+j69RUnoEtvDO1JjyWwCLRH3Xs1qZg7z9oX9kuHPPZ0pSsZZBi8gPnpumU/YQwXbntNS5FKMKkkP05oIgBcdsN4ipMYTePTaI/dJ4l9bdry7BoS9hcXuHdC7w64Z2LQhw+WSrM9qSeXEw2My1akbWRVIknmtMNdUN3wiUgf1VBklfr6IY3JpdXi4tj1dM+uweRwAwvt2x3U6PhjqL0RlcQZZralpAXJJzpWUEKsLI2vlo8k8gOoJmprhZq9XgJ9fgtbDMFABA4GfZqgyRDPj/lLGznR6rfDzhKb6MH1yAxQUaXdWCbEo16nYKYu/t/rEwpxpciVn6lxgu/10IZIQpCSXL9KrJ1lr9fbd2WQGvZsQ5pTeO6j+49j2jwhnrzTSajrDco67mSjb1BiWT0zVy+qJKtNg2wbYw3x/7FQ842tV6lHFuaawKH3+Li+UyEOMYpU/imJ8nYYkgWPya8Yq/41unWjXB5nIBYtwLIe8agbkI0P+m4Ono5UHXZNRTRBpwGyu78G4LgHfqbCpeeTumo+Org45mmowEd63g613jyaAgi+tX8Y5V9Ht0M7zcw71uqiAtRiB/h33d+krKs4W2P+586dQ/mFLTC12MKnqdd2WZXl0Le04aoVKMsMPTV19d+y
  • 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.
sXMalOsVc7WqMVnfJiNhLZ/a3CrOvmELefVqqQkNaN0uAOSgtnVwaboQwtnxJGKP2JT3srX54bPhFaM3ueKrQLZ+72tmlY8WtQAKo+50byaPjLnpS3xct34uT9ZLxZYAZkvEOSrKGwtumsrOvRgH2nio5ufj/Cu3Z6xo5UI8lP+Y5yYQTXS0hCACj5PhBPzeOUvO7+5yk/aLxlm3uZatm4K123/9ZWHBfBga2VRJZ/S7RTjeTajZyR069lnH8pX8vpsUmproc/hfTtTBzvQPNwfHtxS1O8uFlwNUuMp1dcPTb2OS2nooiTy/iPNEn6ERYuQa+LHMvIvFfn9bV2ScXZyIUgi/nVOmamcrzvkK8RmLQbiZD+UbYGkOu6pC4iu1GRzlN8EI28xCj4JmZxrBJpWKppbTj1O1hepFsh/rmGRCimsDDVlPCfoGtOUVP2iG5LLlsnx9kj80sypYdgUkCw8cVYISHIcDVowVEA4W5lZr1iYtqYwZrl1bL30csQR3hNXgUfEElgalEPo/cYVVL/e2BLQVaWAJawuUk9z0IYyq+VMnIxkvLbVQj9XRCujVlqcIdDCpH2PBlSA9xbrrRmeEQHIP4PVyCNp4Gh1IvQ+oPmDraHKb94Pu0yUFe8LpxifAHZ9mUghseghOhlscvCsxxKzvjZjZ5YOQOcLam9Sws6Srsgr0cdXthc/zRI4oI3IN9B+YMWnaof0YRUxB+rpY3MG/sqkWlQDKL/FSuGiTuIEqbUew9nYxSlKqJEyrbRNDFiCuWohd3zyy8SUHLn9c4ROsbZgQ