Galois, đêm trước cuộc đấu súng: chàng trai 20 tuổi và toán học của sự đối xứng
Đêm 29 tháng 5 năm 1832, Évariste Galois viết vội những ý tưởng toán học của mình, biết rằng sáng mai có thể mình sẽ chết. Những trang giấy ấy trả lời một câu hỏi đã làm khó các nhà toán học suốt ba thế kỷ, và để lại thứ hôm nay đang bảo vệ mật khẩu Wi-Fi và giúp mã QR đọc được dù bị xước.

Mục lục
Đêm 29 tháng 5 năm 1832
Paris, đêm 29 tháng 5 năm 1832. Một chàng trai 20 tuổi ngồi viết dưới ánh nến. Sáng hôm sau, anh sẽ đứng cách một người khác hai mươi lăm bước chân, mỗi người cầm một khẩu súng lục. Anh biết mình có thể không sống qua buổi sáng ấy.
Vậy mà thứ anh viết trong đêm cuối cùng ấy phần lớn không phải thư từ biệt. Đó là toán học.
Chàng trai tên là Évariste Galois. Anh viết một bức thư dài cho người bạn thân Auguste Chevalier, tóm tắt những gì mình đã khám phá trong vài năm qua. Anh xem lại các bản thảo, sửa chỗ này, thêm một ghi chú chỗ kia. Ở lề một trang, anh viết: “Có điều gì đó cần bổ sung trong chứng minh này. Tôi không có thời gian.”[1]
Sáng 30 tháng 5, Galois trúng đạn vào bụng. Anh mất ngày hôm sau, 31 tháng 5 năm 1832, ở tuổi 20.
Mười bốn năm sau, khi những trang giấy viết vội ấy cuối cùng được in ra, giới toán học nhận ra chúng trả lời một câu hỏi đã làm khó họ suốt ba thế kỷ. Không chỉ vậy, chúng còn mở ra một cách nghĩ hoàn toàn mới về toán học: nghiên cứu sự đối xứng. Ngày nay, cách nghĩ ấy có mặt trong chiếc khối Rubik, trong vật lý hạt cơ bản, và trong thuật toán mã hóa bảo vệ mật khẩu Wi-Fi của bạn.
Đây là tập thứ tư trong loạt bài về các nhà toán học. Cuối bài, bạn sẽ thấy câu hỏi ba thế kỷ ấy là gì, và vì sao một ý tưởng ra đời trong đêm trước cái chết lại có mặt trong mọi chiếc điện thoại.
Câu hỏi ba thế kỷ
Hồi cấp hai, ai cũng học công thức nghiệm của phương trình bậc hai :
Công thức này chỉ dùng các phép cộng, trừ, nhân, chia và khai căn trên các hệ số. Người ta nói phương trình bậc hai giải được bằng căn thức. Ý tưởng ấy đã có từ rất lâu: người Babylon giải những bài toán tương đương từ gần bốn nghìn năm trước.
Phương trình bậc ba thì khó hơn nhiều. Phải tới thế kỷ 16, các nhà toán học Ý mới tìm ra công thức, sau một câu chuyện đầy tranh chấp, giữ bí mật và thách đấu công khai. Năm 1545, Gerolamo Cardano công bố công thức cho phương trình bậc ba, và học trò của ông là Lodovico Ferrari tìm ra công thức cho bậc bốn. Hai công thức này dài và rối, nhưng vẫn chỉ dùng cộng, trừ, nhân, chia và khai căn.
Ai cũng nghĩ bước tiếp theo là bậc năm. Suốt gần ba trăm năm, những bộ óc lớn nhất châu Âu đã thử tìm công thức cho phương trình bậc năm. Không ai thành công.
Đầu thế kỷ 19, câu trả lời bắt đầu lộ ra, và đó là một câu trả lời bất ngờ: không có công thức nào cả. Năm 1824, nhà toán học trẻ người Na Uy Niels Henrik Abel chứng minh rằng không tồn tại một công thức chung dùng căn thức cho mọi phương trình bậc năm. Abel mất vì bệnh lao năm 1829, khi mới 26 tuổi.
Nhưng chứng minh của Abel để lại một câu hỏi lớn hơn. Có những phương trình bậc năm cụ thể vẫn giải được bằng căn thức, ví dụ có nghiệm . Vậy phương trình nào giải được, phương trình nào không? Có cách nào nhìn vào một phương trình mà biết ngay không?
Galois trả lời được câu hỏi đó.
Một cuộc đời toàn những lần bị từ chối
Évariste Galois sinh năm 1811 ở Bourg-la-Reine, gần Paris. Cha ông là thị trưởng thị trấn. Đến năm 15 tuổi, Galois mới thực sự gặp toán học, và lập tức bị cuốn vào nó. Ông đọc các công trình của Lagrange và Legendre như đọc tiểu thuyết, và gần như bỏ bê mọi môn khác.
Nhưng cuộc đời Galois là một chuỗi những lần bị từ chối[1]:
- Ông thi vào Trường Bách khoa Paris (École Polytechnique), ngôi trường toán học danh giá nhất nước Pháp, hai lần và đều trượt. Lần thứ hai diễn ra chỉ vài tuần sau khi cha ông tự tử vì bị các đối thủ chính trị vu khống.
- Năm 1829, ông gửi những kết quả đầu tiên tới Viện Hàn lâm Khoa học, qua tay Augustin-Louis Cauchy. Bản thảo không được công bố.
- Năm 1830, ông gửi một bài dự thi Giải thưởng lớn của Viện Hàn lâm. Người nhận là Joseph Fourier, thư ký Viện. Fourier qua đời vài tuần sau đó, và bản thảo thất lạc.
- Năm 1831, theo lời mời của Siméon Denis Poisson, ông gửi lại một bản viết lại. Tháng 7 năm ấy, Poisson báo cáo rằng lập luận “không đủ rõ ràng, cũng không đủ chi tiết để có thể đánh giá tính chặt chẽ của nó”, và đề nghị không công bố.
Cùng thời gian đó, Galois lao vào chính trị. Ông là người cộng hòa nhiệt thành trong một nước Pháp vừa trải qua cách mạng năm 1830. Ông bị đuổi khỏi trường sư phạm vì viết thư công kích hiệu trưởng, hai lần bị bắt, và phải ngồi tù nhiều tháng.
Rồi đến cuộc đấu súng. Đến hôm nay, không ai biết chắc nguyên nhân hay đối thủ là ai. Có giả thuyết liên quan tới một người phụ nữ, có giả thuyết cho rằng đó là một âm mưu chính trị. Theo lời kể lại, những lời cuối cùng ông nói với em trai Alfred là: “Đừng khóc, Alfred! Anh cần tất cả can đảm của mình để chết ở tuổi hai mươi.”
Ý tưởng: nhìn vào sự đối xứng của các nghiệm
Galois không cố tìm công thức. Ông hỏi một câu khác hẳn: các nghiệm của một phương trình có thể đổi chỗ cho nhau theo những cách nào mà không ai nhận ra?
Một ví dụ dễ hình dung. Phương trình có hai nghiệm, và . Hai nghiệm này “giống nhau” theo một nghĩa sâu sắc. Mọi quan hệ đại số với hệ số hữu tỉ mà một nghiệm thỏa mãn, nghiệm kia cũng thỏa mãn. Ví dụ, bình phương của nó bằng 2. Nếu ai đó lén đổi chỗ hai nghiệm, không một phương trình hữu tỉ nào phát hiện ra. Ta nói phép đổi chỗ ấy là một đối xứng của phương trình.
Hãy nghĩ tới một hình vuông. Bạn có thể xoay nó 90°, 180°, 270°, hoặc lật nó qua bốn trục, mà trông nó vẫn y như cũ. Tính cả “không làm gì”, hình vuông có đúng 8 đối xứng. Một hình chữ nhật không vuông chỉ có 4. Một hình tam giác lệch thì chỉ có 1. Số đối xứng và cách chúng kết hợp với nhau cho biết rất nhiều về hình dạng.
Galois làm điều tương tự với các nghiệm của một phương trình. Tập hợp tất cả các cách đổi chỗ “không ai phát hiện ra” tạo thành một cấu trúc mà ông gọi là nhóm (groupe). Ông là người đầu tiên dùng từ này theo nghĩa toán học ngày nay. Ngày nay, nó được gọi là nhóm Galois của phương trình.
Phát hiện then chốt của ông là: phương trình giải được bằng căn thức khi và chỉ khi nhóm đối xứng của nó có thể “tháo rời” được thành một chuỗi những mảnh đơn giản, theo một nghĩa toán học chính xác. Những nhóm như thế ngày nay được gọi là nhóm giải được (solvable group). Cái tên nói lên tất cả.
Với phương trình bậc hai, ba và bốn, các nhóm đối xứng luôn tháo rời được, nên luôn có công thức. Với phương trình bậc năm “tổng quát”, nhóm đối xứng gồm cả cách hoán vị năm nghiệm, và nhóm này không thể tháo rời theo cách cần thiết. Vì vậy không có công thức chung. Định lý của Abel giờ có một lời giải thích sâu hơn. Galois không chỉ nói “không có công thức”, mà còn chỉ ra vì sao, và cho một cách để kiểm tra từng phương trình cụ thể.
Mười bốn năm im lặng
Sau khi Galois mất, anh trai Alfred và người bạn Chevalier chép lại các bản thảo, gửi tới những nhà toán học lớn, đúng như lời dặn trong lá thư cuối cùng: nhờ họ cho ý kiến “không phải về tính đúng đắn, mà về tầm quan trọng” của những định lý ấy.
Không ai trả lời.
Phải tới năm 1843, nhà toán học Joseph Liouville mới đọc kỹ các bản thảo và nhận ra giá trị của chúng. Năm 1846, ông cho in các công trình của Galois trên tạp chí toán học mà mình làm chủ bút[3]. Trong vài thập kỷ tiếp theo, lý thuyết nhóm dần trở thành một trong những trụ cột của toán học hiện đại.
Ý tưởng ấy ở đâu hôm nay?
Bản thân câu hỏi về phương trình bậc năm ngày nay ít ai còn quan tâm: máy tính tìm nghiệm gần đúng cho mọi phương trình trong tích tắc. Thứ còn lại là hai di sản lớn hơn nhiều: lý thuyết nhóm, tức toán học của sự đối xứng, và trường Galois.
Khối Rubik và các tinh thể
Khối Rubik là một “nhóm Galois” thu nhỏ mà bạn cầm trên tay. Mỗi thao tác xoay là một phép đổi chỗ các ô vuông nhỏ. Kết hợp các thao tác chính là “nhân” các phần tử trong nhóm. Số trạng thái khác nhau của khối Rubik 3×3 là khoảng 43 tỷ tỷ (43.252.003.274.489.856.000). Các thuật toán giải Rubik, kể cả những chứng minh rằng mọi trạng thái đều giải được trong tối đa 20 bước xoay, đều dựa trên lý thuyết nhóm.
Trong tự nhiên, các nhà khoa học dùng lý thuyết nhóm để phân loại tinh thể. Mọi cách sắp xếp lặp lại của nguyên tử trong không gian ba chiều rơi vào đúng 230 loại đối xứng, và con số này được tính ra bằng lý thuyết nhóm. Trong vật lý hạt cơ bản, Mô hình Chuẩn mô tả các hạt và lực tự nhiên cũng được xây dựng trên ngôn ngữ của các nhóm đối xứng.
Mật khẩu Wi-Fi của bạn
Galois còn nghiên cứu một loại “hệ thống số” kỳ lạ: những tập hợp hữu hạn các con số, trong đó vẫn cộng, trừ, nhân, chia được như số bình thường, và mọi phép tính đều cho kết quả nằm lại trong tập hợp ấy. Ngày nay chúng được gọi là trường hữu hạn, hay trường Galois, ký hiệu , với chữ G là của Galois.
Trường Galois có đúng 256 phần tử, vừa khít với 256 giá trị của một byte trong máy tính. Đây không phải chuyện tình cờ thú vị, mà là chuyện có ích. AES, chuẩn mã hóa mà chính phủ Mỹ chọn năm 2001 và hiện bảo vệ phần lớn kết nối Wi-Fi, các trang web dùng HTTPS và dữ liệu trên điện thoại của bạn, thực hiện các phép xáo trộn dữ liệu bằng phép nhân trong [4]. Mỗi khi bạn nhập mật khẩu Wi-Fi, chiếc điện thoại thực hiện hàng triệu phép tính trong “hệ thống số” của một chàng trai mất năm 1832.

Mã QR vẫn đọc được dù bị xước
Có thể bạn đã để ý: một mã QR bị dính bẩn, bị rách một góc, hay bị in logo đè lên giữa vẫn quét được bình thường. Lý do là mã QR chứa thêm dữ liệu “dư” để sửa lỗi, tính theo mã Reed–Solomon. Mã Reed–Solomon được xây dựng trên phép tính trong trường Galois . Cùng loại mã ấy giúp đĩa CD phát nhạc được dù bị xước, và giúp những tàu thăm dò vũ trụ gửi ảnh về Trái Đất qua hàng tỷ cây số đầy nhiễu.
Tự tay nhân trong trường Galois
Đoạn Python dưới đây cài đặt phép cộng và phép nhân trong trường đúng như chuẩn AES. Mỗi số từ 0 tới 255 được xem như một đa thức bậc tối đa 7 có hệ số 0 hoặc 1 (chính là 8 bit của nó). Phép cộng là cộng từng bit không nhớ. Phép nhân là nhân hai đa thức, rồi lấy phần dư khi chia cho một đa thức cố định bậc 8. Đoạn code kiểm tra một ví dụ trong tài liệu chuẩn AES, kiểm tra rằng mọi số khác 0 đều có nghịch đảo, và vẽ ra Hình 1. Cần cài numpy và matplotlib.
import matplotlib.pyplot as pltimport numpy as np
plt.rcParams.update({"figure.facecolor": "#16181c", "text.color": "#d4d7dc", "axes.labelcolor": "#a4a9b2", "xtick.color": "#878d97", "ytick.color": "#878d97", "font.size": 12})
AES_POLY = 0x11B # x^8 + x^4 + x^3 + x + 1: đa thức bất khả quy mà chuẩn mã hoá AES dùng
def gf_add(a: int, b: int) -> int: """Phép cộng trong GF(2^8): cộng từng bit, không nhớ (XOR).""" return a ^ b
def gf_mul(a: int, b: int) -> int: """Phép nhân trong GF(2^8): nhân đa thức hệ số 0/1, rồi lấy phần dư khi chia cho AES_POLY.""" result = 0 while b: if b & 1: result ^= a a <<= 1 if a & 0x100: # bậc vượt quá 7: trừ (XOR) đa thức bất khả quy a ^= AES_POLY b >>= 1 return result
print("57 · 83 =", hex(gf_mul(0x57, 0x83)), "(ví dụ trong tài liệu chuẩn AES: c1)")print("57 + 83 =", hex(gf_add(0x57, 0x83)))
# Mỗi số khác 0 đều có đúng một số nghịch đảo: đó là điều làm GF(2^8) thành một "trường".table = np.array([[gf_mul(a, b) for b in range(256)] for a in range(256)])inverses = [b for a in range(1, 256) for b in range(1, 256) if table[a, b] == 1]print("Số phần tử khác 0 có nghịch đảo:", len(inverses), "/ 255")print("Mỗi hàng là một hoán vị của 0..255:", all(len(set(row)) == 256 for row in table[1:]))
fig, ax = plt.subplots(figsize=(7, 6.4))ax.imshow(table, cmap="cividis", interpolation="nearest")ax.set_xlabel("b")ax.set_ylabel("a")ax.set_title("Bảng nhân a · b trong trường Galois GF(2⁸) của AES", color="#d4d7dc", fontsize=12)fig.savefig("gf256.png", dpi=150, bbox_inches="tight")57 · 83 = 0xc1 (ví dụ trong tài liệu chuẩn AES: c1)57 + 83 = 0xd4Số phần tử khác 0 có nghịch đảo: 255 / 255Mỗi hàng là một hoán vị của 0..255: TrueDòng đầu tiên khớp đúng ví dụ trong tài liệu chuẩn AES: . Dòng thứ ba là điều kỳ diệu nhỏ của trường Galois: trong một hệ thống chỉ có 256 con số, mọi số khác 0 đều “chia được”, giống như với số thực.
Quay lại đêm cuối cùng
Galois không biết khối Rubik, mã QR hay mật khẩu Wi-Fi. Ông chỉ muốn biết vì sao phương trình bậc năm không có công thức. Để trả lời, ông phải ngừng nhìn vào bản thân các con số và bắt đầu nhìn vào cách chúng đổi chỗ cho nhau. Đó là bước chuyển từ “tính toán” sang “cấu trúc”, và là một trong những bước chuyển quan trọng nhất trong lịch sử toán học.
Những người đánh giá bài của ông thời ấy không hẳn là sai khi chê ông viết khó hiểu. Galois viết vội, nhảy cóc, và đi trước thời đại quá xa. Nhưng câu “tôi không có thời gian” ở lề bản thảo vẫn khiến người đọc hôm nay phải dừng lại. Một chàng trai hai mươi tuổi, đêm trước cái chết, vẫn lo rằng một chứng minh của mình còn thiếu một bước.
Đây là tập cuối của nhóm bốn bài đầu tiên trong loạt bài về các nhà toán học, sau Pascal và Fermat, Euler và Gauss.
Tài liệu tham khảo
- [1]J. J. O'Connor và E. F. Robertson. Évariste Galois (1811–1832), biography. MacTutor History of Mathematics, Đại học St Andrews.
- [2]Peter M. Neumann (biên tập và dịch). The Mathematical Writings of Évariste Galois. European Mathematical Society, 2011.
- [3]Évariste Galois; Joseph Liouville biên tập. Œuvres mathématiques d’Évariste Galois. Journal de Mathématiques pures et appliquées, 11, 381–444, 1846.
- [4]FIPS 197: Advanced Encryption Standard (AES). National Institute of Standards and Technology, 2001.
- [5]Évariste Galois. Wikipedia.


