Vòng xoáy chết - Phần 3.3
Ando lấy chìa khóa tại bàn thủ thư, rồi vừa cởi áo jacket vừa đi đến tủ đựng đồ. Trời lúc này vẫn đang mùa đông. Bất cứ ai thấy anh, chỉ mặc mỗi áo sơ mi, sẽ rùng mình thay cho anh. Nhưng Ando dễ đổ mồ hôi, khi mặc áo sơ mi anh cũng cảm thấy nóng ngay cả trong phòng thư viện có máy điều hòa. Anh lấy bút và sổ ra khỏi cặp, quấn áo jacket quanh cặp và nhét vào ngăn tủ.
Trong cuốn sổ anh kẹp tờ giấy có bản phân tích ADN của virus tìm thấy trong máu Ryuji. Hôm nay Ando quyết tâm thúc đẩy việc giải mã, đó là lý do anh ở đây trong thư viện vào sáng sớm thế này, nhưng khi nhìn vào chuỗi ký tự vô nghĩa trên bản in, mắt anh đờ ra. Không cách nào để anh có thể giải được mật mã này. Nhưng nghĩ kỹ lại, anh làm việc này một phần là để giết thời gian. Anh không thể nghĩ ra điều gì tốt hơn để vượt qua được ba ngày nghỉ cuối tuần trống trải.
Anh kẹp cuốn sổ vào dưới cánh tay và đi thẳng đến phòng đọc trên tầng ba, ở đó anh chọn một chỗ ngồi cạnh cửa sổ.
Là một sinh viên từng chơi trò giải mật mã với Ryuji, ở nhà anh có khá nhiều sách về mật mã. Nhưng vì kết hôn và sau đó ly dị, anh đã chuyển nhà ba lần kể từ lúc ấy, còn chưa kể đến việc anh đã mất hứng thú với trò chơi này; những cuốn sách cứ biến mất dần theo thời gian. Có một số loại mật mã nhất định mà anh không thể hy vọng sẽ giải được mà không có sự trợ giúp của bản thay thế ký tự và sơ đồ tần số xuất hiện các chữ cái được trình bày trong những sách chuyên ngành, anh nghĩ sẽ chẳng thể làm được gì nếu không có sự trợ giúp này. Và quả là ngớ ngẩn khi đi mua mới toàn bộ số sách đó, nên cuối cùng anh phải đến thư viện.
Đã có thời anh nắm khá chắc những kiến thức cơ bản về xây dựng và hóa giải các mật mã, nhưng đó là chuyện của mười năm trước đây, vì vậy trước hết anh đọc qua một cuốn sách cơ bản về mật mã. Anh quyết định rằng bước đầu tiên nên làm là quyết định xem loại mật mã nào chứa trong chuỗi bazơ của loài virus giống virus đậu mùa này.
Nhìn chung mật mã có thể chia ra thành ba loại: mật mã thay thế, trong đó các chữ cái của thông điệp được thay thế bằng những chữ cái, biểu tượng hoặc con số khác; mật mã hoán vị, trong đó trật tự các từ trong thông điệp bị thay đổi; và mật mã chèn thêm, trong đó người ta chèn thêm một số từ vào giữa các từ của thông điệp. Những số lòi ra từ bụng Ryuji sau khi mổ, mà Ando có thể liên hệ đến từ tiếng Anh “ring” là một ví dụ tiêu biểu của mật mã thay thế đơn giản.
Anh không mất nhiều thời gian cũng đoán được rằng mật mã trong virus phải thuộc dạng mật mã thay thế. Cái anh phải xử lý là một nhóm gồm bốn chữ cái, ATGC, tương ứng với bốn bazơ, vì vậy nhiều khả năng mật mã này bao gồm việc gán một ký tự cụ thể cho một nhóm các chữ cái. Như thế giống với mật mã nhất.
Giống mật mã. Khi ý nghĩ đó nảy ra trong đầu, nó khiến anh ngồi thẳng dậy và suy nghĩ. Mục đích cơ bản của một mật mã là chuyển tải thông tin từ một bên cho bên khác mà không để bất cứ bên thứ ba nào có thể biết được. Đối với các sinh viên, mật mã chẳng là gì khác hơn một trò chơi, một thứ khiến người ta suy nghĩ nát óc. Nhưng, ví dụ trong chiến tranh, khi tính chất nhạy cảm với kết quả giải mật mã có thể làm dấy lên một làn sóng xung đột, sử dụng một mật mã “giống mật mã” là thực sự quá nguy hiểm. Nói cách khác, cách để kẻ thù không phá được mật mã là làm cho chúng không giống như những mật mã nếu nhìn qua. Nếu bắt được một tên gián điệp của kẻ thù và phát hiện ra hắn ta mang theo một cuốn sổ có những dãy số đáng ngờ, thì có thể dám chắc đó là thông tin tối mật đã được mã hóa. Thậm chí cho phép khả năng đó chỉ là cái bẫy, thì khi một mật mã được xác định như thế, khả năng nó bị hóa giải tăng lên đáng kể.
Ando cố suy nghĩ một cách logic. Nếu mục đích của một mật mã là để tránh bên thứ ba khỏi biết được, thì mật mã chỉ nên “giống mật mã” đối với người mà thông tin được dự định được chuyển đến. Nhìn vào bốn hai chữ cái được thêm vào chuỗi bazơ của virus, Ando thấy chúng hoàn toàn giống mật mã. Đó là ấn tượng ngay từ lần đầu tiên anh nhìn vào dãy ký tự ấy.
Vậy thì tại sao lại như thế?
Anh cố phân tích nguồn gốc của ấn tượng đó. Tại sao anh lại thấy nó giống-mật-mã? Không phải vì chưa bao giờ người ta phát hiện thấy sự lặp lại khó hiểu đó trong quá trình phân tích trình tự ADN. Mà là vì, sự lặp lại đặc biệt này dường như mang ý nghĩa. Nó hiện ra ở mọi nơi người ta nhìn vào chuỗi, cho dù người ta có cắt ra ở đâu. Nó giống như thể đang gây sự chú ý, bảo rằng, ta là một mật mã đây, kẻ đần độn kia. Do Ando đã có kinh nghiệm với những con số lòi ra từ bụng Ryuji, nên anh thấy chuỗi ký tự ấy dường như giống mật mã một cách đặc biệt. Nói cách khác, có lẽ từ “ring” có hai mục đích khi nó chui ra ngay lúc ấy: nó không chỉ nhằm cảnh báo cho Ando sự tồn tại của phóng sự Ring, mà nó cũng chính là một dạng báo trước. Như thể Ryuji muốn nói với anh, có thể tôi sẽ dùng lại mật mã khi tình huống cho phép, cậu cứ chờ đợi và đừng bỏ lỡ. Và có lẽ anh ta đã dùng dạng mật mã thay thế đơn giản nhất như một lời ám chỉ.
Với chuỗi bazơ bí ẩn chỉ tìm thấy trong virus trong người Ryuji, có thể chắc chắn khi cho rằng chính anh ta là người gửi mật mã. Tất nhiên, sự thật không thể chối cãi là Ryuji đã chết và thi thể anh ta đã hóa thành tro, nhưng mẫu mô của anh ta vẫn còn ở trong phòng xét nghiệm. Hàng vô số những mẫu ADN của anh ta, thiết kế tạo nên cá thể Ryuji, vẫn còn giữ lại trong các tế bào của mẫu mô đó. Nếu ADN đó kế thừa ý chí của Ryuji, và đang cố diễn tả điều gì đó bằng những con chữ thì sao?
Đấy là một giả thuyết vô lý hoàn toàn vô giá trị đối với một nhà giải phẫu như Ando. Nhưng nếu anh thành công trong việc biến những ký tự kia thành những từ có nghĩa bằng phương pháp thay thế, thì nó sẽ thắng tất cả những lời giải thích khác về tình huống này. Theo lý thuyết, có thể lấy ADN từ mẫu máu của Ryuji và dùng nó để tạo ra một cá thể giống hệt như Ryuji, một người nhân bản vô tính. Tập hợp ADN này mang ý chí của Ryuji và gây ảnh hưởng đến virus có trong máu, chèn vào một hoặc nhiều từ. Bỗng nhiên Ando cảm thấy thiên tài tuyệt đối và sự láu cá của Ryuji đằng sau chuyện này. Tại sao anh ta chỉ chèn thông điệp vào virus, một kẻ xâm nhập, mà không chèn vào tế bào hồng cầu của anh ta? Bởi vì, với kiến thức về y khoa của mình, Ryuji biết rằng ADN từ những tế bào khác sẽ không có cơ hội nào được phân tích. Anh đã biết rằng chỉ có thể dựa vào loại virus gây ra những cái chết, thông điệp mới được chạy qua máy giải mã ADN, nên anh ta tập trung nỗ lực vào ADN của virus. Do đó những từ mà anh ta gửi đi sẽ được tiếp nhận.
Tất cả những điều đó cuối cùng dẫn Ando đến một kết luận. Vì với anh mật mã này trông giống một mật mã, nên về cơ bản nó không hoạt động như một mật mã thông thường. Mà chỉ vì ADN của Ryuji không còn cách nào khác để giao tiếp với bên ngoài. Chuỗi xoắn kép ADN được tạo thành từ bốn bazơ, các bazơ này được biểu diễn bằng bốn chữ cái ATGC. Ando không thể nghĩ ra cách nào khác để biết được thông điệp của nó ngoài việc kết hợp bốn chữ cái đó theo nhiều cách khác nhau. Cách này được chọn vì không còn cách nào khác cả. Đây là biện pháp duy nhất sẵn có mà Ryuji có thể sử dụng.
Bỗng nhiên mọi nỗi tuyệt vọng mà Ando cảm thấy cách đây vài giây đã biến mất, thay vào đó là sự tự tin phấn chấn.
Có lẽ mình có thể giải được giải được mật mã này.
Anh muốn hét lên. Nếu ý chí của Ryuji, rơi rớt lại trong ADN của anh ta, đang cố nói với Ando, thì dường như rất có lý khi nghĩ rằng từ ngữ được sử dụng sẽ là những từ Ando dễ dàng hóa giải. Tại sao chúng phải khó hơn mức cần thiết? Ando quay lại và kiểm nghiệm dòng lý lẽ của mình để xem có kẽ hở nào trong suy luận của anh không. Nếu bước đầu tiên anh đi sai, thì anh sẽ mãi lang thang mà không bao giờ tìm ra câu trả lời.
Anh không còn thấy việc mình đang làm là để giết thời gian nữa. Giờ đây, khi cảm thấy rằng mình thực sự có thể giải mã được thông điệp, anh nóng lòng muốn biết nó nói gì.
Phần còn lại của buổi sáng, cho đến giờ ăn trưa, Ando làm việc với hai cách tiếp cận.
Chuỗi bazơ mà anh phải xử lý là:
ATGGAAGAAGAATATCGTTATATTCCTCCTCCTCAACAACAA
Vấn đề đầu tiên là nên phân chia các ký tự này như thế nào. Anh thử chia chúng thành các nhóm hai ký tự và nhóm ba ký tự.
Trước hết, nhóm hai ký tự:
AT GG AA GA AG AA TA TC
GT TA TA TT CC TC CT CC
TC AA CA AC AA
Coi một cặp ký tự là một đơn vị, bốn ký tự sẵn có sẽ cho mười sáu cặp kết hợp khả dĩ. Anh tự hỏi liệu một cặp có thể đại diện cho một chữ cái không.
Nhưng điều này ngay lập tức dẫn đến một câu hỏi khác: thông điệp này được viết bằng ngôn ngữ nào?
Có lẽ không phải là tiếng Nhật tượng hình. Tiếng Nhật có gần năm mươi ký tự, quá nhiều so với con số mười sáu mà phương pháp chia theo cặp đôi cho phép. Tiếng Anh và tiếng Pháp đều có hai sáu chữ cái, trong khi tiếng Ý chỉ có hai mươi. Nhưng anh cũng biết mình không thể bỏ qua khả năng thông điệp được viết bằng tiếng Nhật Latin hóa. Đôi khi việc xác định ngôn ngữ của mật mã chiếm một nửa phần công việc.
Nhưng với Ando vấn đề này đã được giải quyết. Việc anh có thể thay thế những con số 178136 để cho ra chữ “ring” có thể xem là một gợi ý của Ryuji rằng mật mã hiện tại cũng cho ra kết quả dưới dạng tiếng Anh. Ando chắc chắn về điểm này. Do đó vấn đề ngôn ngữ đã được giải quyết.
Bốn mươi hai chữ cái của các bazơ có thể chia ra thành hai mốt cặp. Nhưng có một số cặp giống hệt nhau: có bốn cặp AA, ba cặp TA, ba cặp TC, và hai cặp CC. Chỉ có mười ba kiểu cặp đôi. Ando viết lại các con số lên một tờ giấy và giở một cuốn sách hướng dẫn giải mật mã đến khi tìm hiểu được biểu đồ trình bày tần số xuất hiện của các ký tự trong bảng chữ cái tiếng Anh.
Anh biết mặc dù bảng chữ cái tiếng Anh có hai sáu chữ cái, không phải tất cả các chữ cái đó xuất hiện với số lần ngang nhau trong ngôn ngữ sử dụng hàng ngày. Ví dụ E, T và A là những chữ cái thường xuất hiện, trong khi đó Q và Z có lẽ chỉ xuất hiện một hoặc hai lần trên một trang sách. Hầu hết các tài liệu hướng dẫn giải mật mã đều có rất nhiều dạng bảng tần số xuất hiện chữ cái được trình bày ở phần cuối, bên cạnh những số liệu thống kê tham khảo khác. Sử dụng các bảng và thống kê đó giúp xác định dễ dàng hơn ngôn ngữ của thông điệp được mã hóa.
Trong trường hợp này, những số liệu trong các bảng cho anh biết rằng trong một cụm từ tiếng Anh có hai mốt chữ cái thì số lượng bình quân của các chữ cái khác nhau được sử dụng là mười hai. Ando ngồi thần ra. Cái anh đang có là mười ba chữ cái khác nhau, không hề quá nhiều so với số bình quân. Điều này, xét về mặt thống kê, cho anh biết rằng chẳng có gì sai khi chia chuỗi bazơ ra thành hai mốt cặp và giả định mỗi cặp đại diện cho một chữ cái.
Cân nhắc khả năng đó một lát, bước tiếp theo Ando chia chuỗi bazơ thành từng bộ ba chữ cái:
ATG GAA GAAGAATAT CGT TAT
CCT CCT CAACAA CAA ATT CCT
Việc phân chia này cho mười bốn bộ ba, hay bảy kiểu bộ ba: ATG, GAA, TAT, CGT, ATT, CCT và CAA. Biểu đồ cho anh biết rằng một cụm từ tiếng Anh mười bốn chữ cái chứa bình quân chín chữ cái khác nhau. Không quá nhiều so với bảy chữ cái anh có.
Ngay lập tức Ando nhận thấy rằng phân chia theo cách này có rất nhiều sự trùng lặp. GAA, CCT và CAA mỗi bộ xuất hiện ba lần, và TAT xuất hiện hai lần. Nhưng điều thực làm Ando băn khoăn GAA, CCT và CAA xuất hiện ba lần liên tiếp. Nếu anh gán cho mỗi bộ ba một chữ cái thuộc hệ alphabet, trong thông điệp ngắn ngủi này có ba trường hợp một chữ cái xuất hiện ba lần liên tiếp. Vốn tiếng Anh của Ando đủ để anh biết rằng hai chữ cái trùng lặp đứng cạnh nhau hoàn toàn không phải là hiếm. Nhưng anh không thể nghĩ ra một từ tiếng Anh nào có ba chữ cái giống nhau đứng cạnh nhau. Khả năng duy nhất anh có thể nghĩ đến là tình huống trong đó một từ kết thúc với hai chữ cái giống nhau, và từ tiếp theo bắt đầu bằng chính chữ cái đó, ví dụ “too old” hoặc “will link”.
Anh cầm lên một quyển sách tiếng Anh tình cờ tìm thấy ở gần đó và bắt đầu kiểm tra ngẫu nhiên một trang xem mức độ thường xuyên một chữ cái xuất hiện ba lần liên tiếp. Anh giở qua bốn hay năm trang gì đấy mới tìm được một trường hợp. Anh kết luận rằng khả năng sự xuất hiện này xảy ra ba lần trong một chuỗi mười bốn chữ cái về cơ bản là bằng không. Ngược lại, chia bốn hai chữ cái này theo các cặp đôi thì chỉ có một chữ cặp ký tự đứng cạnh nhau. Do đó, anh thấy rằng sẽ hợp lý hơn khi đi theo lựa chọn đầu tiên và chia bazơ thành các nhóm hai chữ cái.
Anh đã thu hẹp các khả năng. Từ đây anh có thể tiếp tục bằng phương pháp thử và lỗi.
AT GG AA GA AG AA TA TC
GT TA TA TT CC TC CT CC
TC AA CA AC AA
Cặp AA xuất hiện bốn lần, điều đó có nghĩa là nó tương ứng với một chữ cái được dùng đến rất thường xuyên. Tham khảo một bảng khác, Ando khẳng định chữ cái thường được dùng nhất trong tiếng Anh là E. Do đó, anh giả sử rằng AA nghĩa là E. Cặp chữ phổ biến thứ hai trong dãy là TA và TC, mỗi cặp xuất hiện ba lần. Anh cũng nhận thấy TA đứng sau AA một lần, còn AA đứng sau TC một lần. Điều này có thể quan trọng, do cũng có những thống kê về sự kết hợp các chữ cái. Anh bắt đầu thử các khả năng khác nhau của TA và TC, bằng cách tham khảo các bảng thống kê.
Với những chữ thường đứng sau chữ E và cũng là những chữ phổ biến, chữ A dường như là ứng cử viên khả dĩ nhất, điều đó có nghĩa là TA có thể là A. Theo logic này, anh nghĩ TC có lẽ tương ứng với chữ T. Hơn nữa, theo cách kết hợp với các chữ cái khác, anh đoán CC có thể là N. Cho đến lúc đó, các số liệu thống kê dường như phục vụ cho anh rất tốt. Ít ra anh không gặp phải trục trặc nào cả.
Đây là những chữ cái anh đã tìm ra:
ˍˍ E ˍˍ EAT ˍ AA ˍ NT ˍ NTE ˍˍ E
Dãy bazơ, từng là mớ chữ cái lộn xộn, giờ dường như có vẻ giống với tiếng Anh. Bước tiếp anh cố điền vào những chỗ trống bằng cách dựa trên những điều anh biết về sự kết hợp giữa các phụ âm – nguyên âm, và vẫn tham khảo các bảng.
SHERDEATYAALNTINTECME
Ba chữ cái đầu tiên dường như tạo thành chữ “she”, nhưng những chữ còn lại không lập thành chữ nào cả, cho dù anh có chia ra như thế nào. Anh cố đảo vị trí của các chữ E, A, T, N và thay đổi các chữ cái khác dựa vào linh cảm. Khi việc viết những khả năng ra trên giấy trở nên quá mất thời gian, anh xé những tờ giấy ra khỏi cuốn sổ, trước hết là để tạo ra hai sáu cái thẻ, mỗi thẻ ứng với một chữ cái. Mọi việc bắt đầu giống như một trò chơi.
THEYWERBORRLNBINBECME
Khi sắp xếp như thế này, cụm từ đầu tiên nảy ra trong đầu Ando là “they were born”. Anh biết phần chính tả có đôi chút sai lệch, nhưng có lẽ cũng không quá sai. Vả lại anh thấy ý nghĩa của nó có phần nào hợp lý. Nhưng cảm giác rằng tồn tại đâu đó một cách sắp xếp khác hợp lý hơn, nên anh tiếp tục trò chơi.
Sau khoảng mười phút mày mò, Ando nghĩ anh có thể đoán ra kết quả sẽ như thế nào, nên anh dừng lại. Nếu như bên cạnh có một máy vi tính, mọi việc sẽ dễ dàng hơn rất nhiều, anh nghĩ. Những chữ cái thứ ba, sáu, tám và hai mốt giống nhau. Chữ thứ bảy, mười và mười một giống nhau. Chữ thứ tám, mười bốn và mười bảy giống nhau. Chữ thứ mười ba và mười sáu giống nhau. Cụm từ dài hai mốt chữ cái. Nếu anh lập các điều kiện đó và đưa vào máy tính, có lẽ nó sẽ cho ra kết quả, với điều kiện anh có điều chỉnh phù hợp về chữ cái thường được sử dụng. Nhưng chắc chắn máy tính sẽ cho ra nhiều kết quả khả dĩ. Hẳn là phải có vô số cụm từ có nghĩa trong tiếng Anh thỏa mãn những điều kiện ấy. Làm sao anh có thể nói cụm từ nào là thông điệp Ryuji gửi cho anh? Chỉ khi có dấu hiệu nào trong đáp án có thể cho anh biết ngay khi nhìn qua rằng đó là thông điệp của Ryuji, giống như kiểu một chữ ký vào cuối bức thư. Nhưng nếu không có, anh sẽ lạc lối.
Ando nhận ra rằng anh đang ở vào ngõ cụt. Anh gục đầu, thấy mình thật ngu ngốc vì đến giờ mới nhận ra điều này. Nếu trở lại thời sinh viên, khi linh cảm giải mật mã của anh được mài giũa sắc bén hơn, anh sẽ nắm được thông điệp này trong một hay vài phút. Anh phải thay đổi cách suy nghĩ. Anh cần một giả thiết mới.
Ando mải mê đến nỗi không còn chú ý đến thời gian trôi qua. Anh nhìn đồng hồ, thấy đã gần một giờ chiều. Anh đói. Anh đứng dậy, định sẽ đi ăn ở quán ăn trên tầng bốn. Thay đổi quang cảnh xung quanh có thể tốt cho anh. Phương pháp loại suy cùng cảm hứng: anh sẽ cần cả hai nếu muốn tìm ra đáp án. Và anh thường tìm được cảm hứng trong khi ăn.
Đáp án rồi sẽ phải rõ ràng thôi.
Anh lẩm nhẩm như niệm thần chú trong khi đi lên tầng bốn.