Ý nghĩa của việc phân tích tần suất chữ cái

Dạo gần đây tôi có thử sức với Matasano's crypto challenges [cryptopals.com]. Về cơ bản đây là tập hợp các thử thách về mã hóa, mật mã; trong đó người chơi sẽ cố gắng hoàn thành các bài tập thực hành về mã hóa [bao gồm cài đặt các thuật toán mã hóa thông dụng, phá mã] từ cổ điển cho đến hiện đại. Trong challenge 3 và 4, bạn được yêu cầu phá mã cổ điển, cụ thể là single-byte XOR. Thuật toán mã hóa thật đơn giản, bạn sẽ chọn một khóa K [độ dài 1 byte] và lần lượt XOR với các byte đầu vào của bản rõ. Dễ dàng thấy đây là phiên bản mởi rộng hiện đại của mật mã Caesar. Dưới đây là thuật toán mã hóa:

def single_byte_xor[msg: bytes, key: int] -> bytes: cipher = bytes[b^key for b in msg] return cipher

Với thử thách 3, bạn sẽ được cung cấp một bản mã [ được mã hóa sử dụng single-byte XOR] và công việc của bạn là tìm ra bản rõ. Với bài này, do không gian khóa nhỏ [256 giá trị], bạn có thể thử 256 giá trị có thể của khóa [0x00 -> 0xFF], decrypt bản mã với khóa đó và nhìn xem bản rõ nào gần giống với tiếng anh nhất.

Nhưng challenge 3 mong muốn bạn tạo một chương trình tự động giải mã. Để làm được việc này, ta cần phải có cách để "chấm điểm" bản rõ so với tiếng Anh. Nghĩa là ta cần biết đoạn text vừa gỉa mã được giống với tiếng Anh như thế nào. Và ta sẽ chọn bản rõ có điểm số cao nhất.

Các hệ mã cổ điển đều có thể bị phá bằng phân tích tần suất [Frequency analysis], do đó để xây dựng hàm "chấm điểm" ta có thể sử dụng kiến thức về phân bố xác suất của các chữ cái trong tiếng anh. Hình bên dưới là tần suất xuất hiện của các chữ cái trong tiếng Anh.

nguồn: //en.wikipedia.org

Với challenge 3 này, tôi sử dụng thống kê Chi-squared để đánh trọng số [chấm điểm] cho bản rõ. Hiểu đơn giản, thống kê Chi-squared biểu diễn độ tương đồng giữa 2 phân bố xác suất, 2 phân bố càng giống nhau thì gía trị Chi-squared của chúng càng nhỏ và bằng 0 nếu 2 phân bố giống hệt nhau. Dưới đây là công thức tính Chi-squared:

Trong đó, Ci là số lần xuất hiện của chữ cái i trong đoạn text, và Ei là số lần xuất hiện mong chờ [Expected] của chữ cái i trong đoạn text.

Bởi vì trong một câu tiếng Anh, ký tự khoảng trắng [space] cũng xuất hiện rất nhiều nên để có thể đánh gía tốt hơn, tôi đã sử dụng cả ký tự space lúc tính Chi-squared. Bạn có thể lấy dữ liệu xác suất của bảng chữ cái tiếng Anh bao gồm space tại //www.data-compression.com/english.shtml.

Ta có thể hoàn thành challenge 3 bằng cách chọn ra bản rõ có Chi-squared bé nhất.

Nhưng để hoàn thành challenge 4 ta cần phải sử dụng đánh gía trọng số chính xác hơn, đó là sử dụng Chi-square cho cặp 2 chữ cái. Dữ liệu các bạn có thể lấy tại english_bigram.

Trong bài viết tới, tôi sẽ trình bày lời giải của mình cho challenges 5 và 6. Nếu bạn là người yêu thích tìm hiểu, nghiên cứu mật mã và các phương pháp phá mã hiện đại, bạn nên thử sức với Matasano's crypto challenges.

Đây là lời giải của tôi nếu bạn quan tâm: //github.com/vuonghv/cryptopals

Trong vài thập kỷ, các nhà thống kê và các nhà lâm sàng đã tranh luận về mức ý nghĩa thống kê và lâm sàng. Nhìn chung, đa số các tạp chí vẫn còn giữ cách tiếp cận suy diễn tần số [frequentist khác với Bayesian – ND] khi kiểm định thống kê và sử dụng thuật ngữ có ý nghĩa thống kê. Một đề xuất gần đây phản đối mức ý nghĩa thống kê đã tạo thành phong trào vận động với chiến dịch lấy chữ ký có 854 người tham gia. Kiến nghị đề xuất giữ lại giá trị P nhưng bỏ cách phát biểu có/không [có ý nghĩa/không ý nghĩa], đề nghị thảo luận cỡ tác động “thích hợp, phản đối việc “kiểm định giả thuyết không” và cho rằng “những kết quả có tính quyết định” không được thừa nhận khi phát hiện ra hoặc bị bác bỏ trong nghiên cứu tái lập vì không có ý nghĩa. Đề xuất cũng chỉ ra rằng “chúng ta đừng bao giờ kết luận không có sự khác biệt hoặc không có mối liên quan chỉ vì giá trị P lớn hơn một ngưỡng như là 0.05 hoặc nói cách khác, khoảng tin cậy bao gồm số 0 và sự phân loại dựa trên các thang đo thống kê khác [ví dụ các yếu tố Bayes] không được khuyên dùng. Các bài báo khác gần đây cũng đề cập đến các chủ đề tương tự, với việc dành cả một số báo trên một tạp chí thống kê cho các vấn đề liên quan đến giá trị P.

Thay đổi cách tiếp cận để xác định mức ý nghĩa thống kê và lâm sàng có một số giá trị

Thay đổi cách tiếp cận để xác định mức ý nghĩa thống kê và lâm sàng có một số giá trị, ví dụ bao quát được tính bất định tránh được các tuyên bố cường điệu khi không có nhiều sự ủng hộ về mặt thống kê và nhận ra rằng mức ý nghĩa thường không được hiểu rõ. Tuy nhiên, vấn đề kỹ thuật khi bỏ qua các phương pháp thống kê cần được suy nghĩ và cân nhắc nhiều hơn. Đằng sau cái được gọi là cuộc tranh luận về mức ý nghĩa là những vấn đề cơ bản về việc thực hiện và giải thích nghiên cứu được mở rộng ra thành cách diễn giải [sai] về ý nghĩa thống kê. Những vấn đề này bao gồm cần chú ý gì ở cỡ tác động, cách tái lập hoặc bác bỏ kết quả nghiên cứu, và cách ra quyết định và hành động dựa trên bằng chứng. Cách suy luận có/không là không thể tránh khỏi trong nhiều lĩnh vực khoa học từ vật lý hạt nhân đến những phân tích ngoài sức tưởng trong các lĩnh vực sinh học – omics [ví dụ, kiểm tra hàng triệu đặc điểm sinh học mà không có bất kỳ một sự ưu tiên trước nào về một đặc điểm có thể quan trọng hơn các đặc điểm khác cho đến y học]. Các quyết định có/không là nguyên tắc trong y học và những can thiệp y tế công cộng. Một can thiệp chẳng hạn như một loại thuốc mới sẽ được cấp phép hay không và có thể được sử dụng hay không.

Một số lĩnh vực nghiên cứu giữ lại kết quả được khám phá ra nhiều hơn so với những lĩnh vực khác. Hơn nữa, một số lĩnh vực có vài tác động đủ lớn để khám phá và hành động theo, trong khi các lĩnh vực khác gặp khó khăn khi hầu hết cỡ tác động rất nhỏ. Viễn cảnh sau đang trở nên phổ biến hơn. Ví dụ, hàng chục trong số hàng ngàn liên quan có ý nghĩa trong toàn bộ bộ gene đã tạo nên hàng trăm kiểu hình khác nhau, nhưng đa số chỉ giải thích được ít hơn 0.05% những thay đổi của tính trạng quan tâm. Một số lĩnh vực khi làm việc với những tác động lớn, có tính hành động [như dịch tễ học dinh dưỡng] có thể có những sai lệch lớn hơn, không thể kiểm soát được.

Những quan điểm khác nhau về sự xuất hiện, tần suất và cường độ của những kết quả

Đôi khi có những quan điểm khác nhau về sự xuất hiện, tần suất và cường độ của những kết quả bác bỏ giả thuyết không trong cùng một lĩnh vực. Ví dụ, bao nhiêu phần trăm chất dinh dưỡng ảnh hướng đến nguy cơ ung thư? Một số người hoài nghi gạt bỏ kết quả ngay cả khi giá trị P nhỏ hoặc yếu tố Bayes lớn. Ngược lại, với một số ủng hộ quan điểm yếu tố sinh ung thư liên quan đến ăn uống, dấu hiệu yếu nhất dường như sẽ đưa đến hành động mang tính toàn cầu mạnh mẽ và đáng giá.

Một số người hoài nghi khác vẫn cho rằng rất ít kết quả nghiên cứu có tính hành động và vẫn miễn cưỡng chấp nhận những chính sách bị chỉ trích và các can thiệp vô dụng [hoặc thậm chí gây hại] mà không có bằng chứng mạnh mẽ. Ngược lại, một số người ủng hộ lại bày tỏ lo ngại về việc không hành động, ủng hộ [tán thành] nhiều chính sách hoặc nghĩ đến các thuốc mới không được cấp phép nhanh chóng. Một số nhà khoa học có thể hoài nghi về một số câu hỏi nghiên cứu và quan tâm đến những câu hỏi khác. Đề xuất bỏ mức ý nghĩa thống kê cùng với quan điểm của những người ủng hộ đề xuất này đã làm dấy lên mối lo ngại về những phát ngôn không có cơ sở về “không có sự khác biệt” và những tuyên bố không có cơ sở về sự bác bỏ nhưng lại không giải quyết được những khẳng định không chính đáng về sự khác biệt và những phủ định không chính đáng của sự bác bỏ.

Việc diễn giải đi xa hơn thống kê

Việc diễn giải đi xa hơn thống kê. Chúng cũng thay đổi tùy thuộc vào những bằng chứng khác [ví dụ, cơ chế được coi là có liên quan]. Tuy nhiên, quyết định tính xác đáng về chất lượng hoặc tích hợp nhiều loại bằng chứng có thể mang tính chủ quan. Phân tích dữ liệu thống kê thường chỉ là một phần trong quá trình xử lý bằng chứng có thể được đánh giá khách quan trước khi chuyên gia, cộng đồng chuyên môn và cơ quan chính phủ bắt đầu tổng hợp các dữ liệu để đưa ra khuyến cáo. Điều này có nghĩa là, trong điều kiện lý tưởng, phân tích thống kê nên được suy nghĩ cẩn thận trước và cần được khảo sát nghiêm ngặt. Tương tự như vậy, một nghiên cứu tái lập “kiểm tra tái lập” có thể được biệt định trước một cách cẩn thận, thực hiện các phép kiểm định chặt chẽ về sự thành công hay thất bại tái lập hay bác bỏ. Khi các phân tích được lên kế hoạch sẵn, rõ ràng và được theo dõi cẩn thận, các phép kiểm định như vậy rất hữu ích. Giải thích về bất kì kết quả nào cũng phức tạp hơn nhiều so với chỉ đơn thuần kiểm định ý nghĩa nhưng nó lại là điểm bắt đầu.

Những nguyên tắc được biệt định trước

Không có những nguyên tắc được biệt định trước, đa số các thiết kế và phân tích nghiên cứu có đủ thời gian để thao túng dữ liệu và hack kết quả nhằm tuyên bố những ý nghĩa quan trọng. Vượt qua ngưỡng của mức ý nghĩa thống kê là mục tiêu thường thấy trong mối quan tâm này. Tiêu chuẩn thấp như giá trị P < 0.5 về cơ bản quá dễ để vượt qua. Do đó, một ý kiến cho rằng nên đưa ra tiêu chuẩn khắt khe hơn, nhiều lĩnh vực [ví dụ, dịch tễ học phân tử và di truyền] đã làm điều này bằng cách sử dụng mức ý nghĩa P< 10^-9 trong nghiên cứu về toàn bộ bộ gene hoặc các ngưỡng tỷ lệ phát hiện sai sót rất nghiêm ngặt. Đề xuất loại bỏ hoàn toàn tiêu chuẩn không có nghĩa rằng các nhà khoa học không còn muốn diễn giải những kết quả nghiên cứu của mình để cho thấy những ý nghĩa quan trọng và phù hợp với những quan điểm và khuynh hướng trước đó. Với người gác cổng là ý nghĩa thống kê, các nhà nghiên cứu muốn được lợi từ những phân tích, ví dụ P=0.09 phải thao túng số liệu thống kê để đạt P

Chủ Đề