Vâng, thì đúng là nhiều lúc chả phải để ý là lúc nào +1, lúc nào -1 nên làm frequency analysis mới dễ mà. Thực ra lúc em viết chương trình em cho một biến "n" vào để quy định mức độ chạy vòng quanh của từng chữ cái một nhưng sau em nghĩ là nếu làm thế xong cho người ta một con số, người ta lại tưởng là (a)n là key,(b) chỉ có 1 cách mã hóa cho tất cả các chữ thì người ta lạc hướng, thử đủ các thứ vào không xong, thế thì đánh đố nhau quá trong khi lớp 1 em định cho ai thích giải tay thì giải. Thế nên thôi, em để n=1 cho xong.
Thực ra em nghĩ là khó vì với một người không biết là em dùng gì để mã hoá, chắc là đầu tiên ai cũng thử ngay CC vào nhưng mà nó sẽ không ra kết quả như mong đợi nên mọi người sẽ chuyển hướng. Dù là giỏi Toán với Tin đi chăng nữa thì nếu không suy luận đúng hướng thì giải sẽ rất mất thời gian. Nếu không cương quyết theo hướng CC thì có lẽ còn chả bao giờ giải nổi với một số người
Thực ra Hiếu nói cũng không hẳn là sai, lớp mã thứ 2 của em là thế, mỗi từ một kiểu shift khác nhau nên sự phân bố của các từ không theo quy luật trong bảng alphabet nữa, chống được frequency analysis tương đối hiệu quả. Tuy nhiên nếu chỉ để riêng lớp thứ 2 thì vẫn có một cách tương đối dễ để giải ra nếu người giải học một chút xíu về mật mã. Em viết bài này đố thằng bạn em học Informatic ở bên Đức, thử xem nó có cách gì giải được lần này. Em thì không học chuyên ngành về mã hoá nên em không biết là người ta có những công cụ, thuật toán gì để phân tích và giải mã nữa.
Em thì em không tin là với 2 lớp mã lại có thể brute force ra được vì có thể brute force ra từng từ một nhưng ghép tất cả các từ với nhau thành một nhóm có nghĩa thì mất cực nhiều công. Hơn nữa, có 2 lớp mã hoá các chữ nên khó có một cách dễ dàng nào để biết được là 2 từ có giống nhau hay không, không thể tiết kiệm được một chút thông tin phân tích nào cả. Như anh thấy thì chữ "this" với chữ "is" qua 2 lần mã không thể nhận ra là chúng nó có chúng một nhóm ký tự cuối. Tất nhiên là các khả năng sắp đặt chữ cái là có hạn nhưng mà làm gần 500 ký tự, hoặc thậm chí là làm theo từ đi chăng nữa thì chắc năm 2100 mới ra.
Không hiểu có thuật toán nào giải ra một cách hiệu quả được nhỉ :-?.