Thứ Tư, 20 tháng 1, 2016

Tản mạn về Mật mã hiện đại (part 2)

Ở bài viết trước mình đã giới thiệu các bạn về sơ bộ về mã RSA, còn ở bài này mình sẽ nói về tương lai của ngành mật mã, một thứ được đánh giá là chiến thắng cuối cùng của bên phe tạo mã, đó là Mật mã lượng tử
Ta đã thấy phe tạo mã với RSA đã hành tỏi phe giải mã nội thương trầm trọng tưởng trừng sẽ phải Quit Game. Nhưng không, họ vẫn chày cối không chịu thua, tận dụng kiến thức vật lý lượng tử để tạo nên một chiếc máy tính có khả năng phá mã RSA trong vài nốt nhạc, thế rồi chưa kịp ăn mừng, bên tạo mã đã dùng chiêu gậy ông đập lưng ông, liền tạo ngay ra một loại mật mã mà đến máy tính lượng tử cũng phải bó tay. Thôi, vậy là team giải mã đành về nhà giải soduku an dưỡng tuổi già smile


Chưa đánh đã thua còn gì đau đớn bằng =)))))
Thực ra trên đây mới chỉ là cuộc chiến trên giấy tờ mà thôi vì thời điểm này do khó khăn về kĩ thuật nên chưa team nào thực sự đưa được ý tưởng của mình vào thực tế. (mặc dù đã có vài thử nghiệm thành công). Vậy, chiến thuật của bên giải mã khi tạo ra máy tính lượng tử là gì?, chỉ "đơn giản" là tăng tốc tính toán lên, càng nhanh bao nhiêu thì RSA càng yếu đi bấy nhiêu.
Còn Mr. Mật mã lượng tử anh có gì đặc biệt?

1. Thằng Chiến (thằng xem lén) không thể nào đọc được tôi

Thật lạ phải không, ông Chiến mà không đọc được thì ông Bình (người nhận tin từ ông An) làm sao mà đọc được chứ? Nhưng nhờ có sự đặc biệt của lượng tử mà điều này lại từ không thể trở nên có thể.
Và đây là giải thích:


Làm cốc cà phê đi nhé, phần này bạn sẽ phải động não nhiều đó smiley

Ông An và ông Bình sẽ truyền tin bằng các photon, mã hoá thông tin theo các trạng thái của photon, để giải thích cho dễ, ta sẽ tưởng tượng "trạng thái" các phô tông thành "tư thế" của các que tăm, và mỗi que tăm có thể có 4 "tư thế" khác nhau là | , -- , /,\ (thẳng đứng, nằm ngang, chéo phải , chéo trái). 4 tư thế này tượng trưng cho "trạng thái" của photon, nhưng thực chất thì photon có vô số "trạng thái".


4 thế của que tăm

Và ta có 2 loại lưới lọc là +x (lưới lọc thẳng và lưới lọc chéo ) (tượng trưng cho 2 loại máy dò)


2 loại máy dò
Khi các "que tăm" đi qua lưới lọc thì que nào đúng tư thế, phù hợp với lưới lọc thì sẽ qua được, ví dụ que |, --, thì sẽ đi qua được lưới + còn /,\, thì sẽ qua được lưới x. Còn que tăm nào chéo so với lưới lọc thì sẽ bị "uốn" ngẫu nhiên thành một trong hai loại tăm sao cho nó đi qua lưới lọc, ví dụ | đi qua lưới lọc x thì sẽ bị biến thành 1 trong 2 loại /\.
Hiện tượng trạng thái photon không bị chặn lại giống như que tăm mà lại bị biến đổi khi đi qua tấm lọc là do hiện tượng nhoè lượng tử, hiện tượng này là hệ quả của nguyên lý bất định Heisenberg
Tức là khi bạn muốn xem trạng thái của một photon là gì thì bạn phải chọn máy dò, rồi dùng máy dò đó cho photon đi qua, thì mới xem được photon là loại gì. Nên nếu như chọn sai máy dò thì bạn sẽ chỉ có 50% đoán đúng trạng thái của photon đó (tỉ lệ này là 25% với 2 photon, là 12.5% với 3 photon,..) . Vì thế, ông Chiến, khi dò các photon mà ông An gửi đi thì sẽ rất khó để chọn đúng máy dò, và tất nhiên là thông tin ông Chiến bắt được rất dễ bị sai, nên khi ông An tăng số lượng photon lên thì ông Chiến coi như là không thể đọc lén, và chú ý là ông Chiến không thể sao chép được trạng thái của photon khi chưa đọc được nó.
Nhưng vấn đề rất dễ nhận ra là ông Bình cũng ở vị thế với ông Chiến, vậy làm sao để ông Bình đọc được đây?
Đây là hình ảnh mô hình hoá quá trình truyền thông tin giữa ông An và ông Bình (trong hình là Alice và Bob)


Alice là An, Bob là Bình, Eve là ông Chiến
Ta thấy ông An có một dãy nhị phân cần truyền cho ông Bình là: 10110011001110
Ông An quy ước thế này: |/1 còn --\` là 0. Ông Bình sẽ dùng ngẫu nhiên các loại máy dò để dò loại photon mà ông An gửi . Cuối cũng ông Bình được dãy (dãy Bob's measurement) : 10010011000100 (tất nhiên là khác so với dãy của ông An)
Đây là bảng thể hiện các trường hợp của ông Bình khi chọn máy dò:


Alice là An, Bob là Bình
Rồi ông An sẽ gọi điện cho ông Bình bảo là: -Cách chọn máy dò đúng là : Bit đầu tiên phải dùng máy +, bit thứ 2 dùng +, bit thứ 3 dùng x,..., thế chú dùng đúng những bit nào?
Ông Bình: -Anh dùng đúng đúng bit đầu tiên, bit thứ 4, bit thứ 5, bit thứ 6,..
Ông An: - OK vậy là anh cũng biết được chú đúng những bit gì rồi, nhưng chú yên tâm, thằng Chiến không biết được đâu, kể cả nó có nghe trộm được cuộc điện thoại này.
Vậy là ông An và ông Bình đều biết được rằng là cả 2 có chung một dãy: 110010010 (cái dãy Sifted key trên hình đó) Còn ông Chiến không biết, nên bây giờ họ chỉ việc sử dụng sổ dùng một lần để mã hoá với mức độ bảo mật tuyệt đối.
Bạn cứ tạm hiểu sổ dùng một lần là một cách mã hoá đạt mức bảo mật tuyệt đối, nhưng cái khó nhất của nó là quá trình phân phối chìa khoá mã (chính là cái dãy số nho nhỏ ở trên), và phương pháp trên đã giải quyết truyện đó. Cái mật mã này trước được dùng trong đường liên lạc giữa tổng thống Mỹ và Nga

2. Tôi có thể kiểm tra được việc tin của tôi có bị thằng Chiến nghe lén hay không

Khi ông Chiến dò các photon của ông An gửi cho ông Bình thì nếu ông Chiến chọn sai máy dò, sẽ dẫn tới photon bị "biến chất" trở thành photon có trạng thái khác ban đầu => làm cho dãy số mà ông An và ông Bình dùng để làm khoá mã (dãy Sifted key á) bị khác nhau=>tin nhận được trở nên vô nghĩa=>phát hiện nghe lén.
Vậy là bạn đã có thể hiểu tại sao mà mấy báo đăng tin về lượng tử hay nói thông tin lượng tử có độ bảo mật rất cao, và có thể nói là tuyệt đối, kể cả với máy tính lượng tử. Mặc dù nói vậy nhưng mình vẫn không tin rằng bên giải mã họ sẽ chịu ngồi yên, nhưng thôi chuyện thế nào thì hồi sau sẽ rõ smile
Bài viết này mình viết lại theo ý hiểu của mình nên nếu bạn thấy chỗ nào không hợp lý/sai, hoặc khó hiểu thì comment nhá.
Bài viết này có tham khảo một số nội dung trong cuốn The code book (Simon Singh) và các tài liệu khác trên internet.

0 nhận xét: