Ras dva

hương trình âm nhạc Xô-viết cuối tuần, ca khúc trẻ trung, vui nhộn “Một, hai, một hai” (Ras dva, Ras dva, thực ra bài ca có tên khác, nhưng người ta chỉ nhớ cái điệp khúc 1, 2, 1, 2 này mà thôi)… Đôi khi tôi nhìn vào trong đó và không thể thấy rõ nó là âm nhạc cổ điển, âm nhạc giáo đường, hay dân ca, dân vũ, hay là tất cả những thứ đó trộn lại với nhau, có thể cảm nhận được bao gồm vô số nguồn gốc và xuất xứ, trộn thêm cả tiếng huýt sáo, tiếng mèo kêu, chó sủa, ngựa hí! 😀

PKC

ôm na về mã hoá khoá công khai (public-key cryptography) cho nhiều người dễ hiểu, cái này chỉ cần toán cấp 2, 3 thôi! Ta lấy hai số nguyên tố rất lớn: p1 và p2 nhân với nhau, kết quả được một số nguyên siêu lớn: n = p1 x p2, n được gọi là khoá công khai (public key), còn bộ (p1, p2) được gọi là khoá bí mật (private key)! Đây cũng giống như hai mặt của một đồng xu, nếu biết trước (p1, p2) thì tính ra n rất dễ (chỉ là một phép nhân), nhưng ngược lại, khai triển luỹ thừa, từ n lần ngược trở lại (p1, p2) là siêu khó, ngay cả siêu máy tính cũng có thể mất nhiều triệu năm mới giải mã được! Về bản chất toán học, vấn đề chỉ đơn giản là như thế!

Đi sâu vào sẽ có nhiều điều phức tạp hơn! Nếu anh X được cấp bộ 2 khoá, thứ nhất là khoá công khai: n, và thứ nhì là khoá bí mật: (p1, p2), anh ta sẽ bỏ cái khoá công khai n đó lên internet hay ở nơi nào đó để ai cũng đọc được, và đương nhiên, giữ bí mật cặp (p1, p2). Nếu Y muốn gởi mật thư cho X, Y sẽ mã hoá dùng khoá công khai n (của X), và thông điệp đã mã hoá đó chỉ có thể được giải bằng (p1, p2) mà thôi! Điều ngược lại cũng đúng, nếu X gởi đi một thông điệp có thể giải mã thành công nhờ khoá n, thì điều đó có nghĩa là: chắc chắn nó đã được mã hoá bằng (p1, p2), xác nhận được gởi đúng từ anh X, đây chính là cách xác thực chữ ký số!

Ưu điểm của mã hoá khoá công khai chính là… nó công khai, không mất công phân phối, chuyển giao “khoá” như các phương pháp khác, và khoá bí mật chỉ giữ riêng cho chủ nhân của nó! Ưu điểm cũng là khuyết điểm, cần có một tổ chức đứng ra xác thực khoá công khai này đúng là thuộc về ai đó! Ngoài ra, mã hoá khoá công khai có thể được dùng để bổ trợ cho mã hoá khoá bí mật (như các phương pháp dùng trong quân sự), chính là dùng phương pháp công khai để truyền tải khoá bí mật, rồi dùng khoá bí mật để mã hoá / giải mã tài liệu, như thế có thể đổi khoá bí mật định kỳ, thường xuyên một cách dễ dàng, nhanh chóng mà vẫn an toàn!

Quốc phòng vẫn chuộng sử dụng các phương pháp mã hoá khoá bí mật, đơn giản là vì tốc độ xử lý! Khoá công khai dùng những số nguyên cực lớn nên tính toán tương đối mất thời gian, nhất là với dữ liệu lớn như âm thanh, hình ảnh! Có người lo ngại những thế hệ máy tính lượng tử mới có thể giải các loại khoá này, điều đó là có thật, nhất là với các khoá đã dùng, có sẵn! Nhưng nếu ta tăng p1 & p2 lên, dùng những số nguyên tố lớn hơn, thì tính toán lượng tử cũng sẽ bó tay! Năng lực “lượng tử” dùng để phá mã đó thực ra cũng có thể được dùng để tìm ra những số nguyên tố lớn hơn, “ma cao một thước thì đạo vẫn có thể cao lên một trượng”! 🙂