Public key và Private key

Lần này sẽ không có nhân chứng. Lần này sẽ chỉ có trái đất chết, một tiếng sấm ầm ầm và Bob gửi cho Alice khóa công khai của anh ấy trong im lặng hoàn toàn vì Eve đơn giản là không muốn chặn nó… bạn có nghe hết không? Trong khi cố gắng xem xét kỹ hơn cách thức hoạt động của các giao dịch trong Bitcoin, bạn có thể nhận thấy cách người viết nội dung luôn đưa ra tên của Bob và Alice. Tuy nhiên, Bob là ai? Alice là ai? Họ có phải là người không? Và tại sao khóa cá nhân và khóa công khai lại quan trọng như vậy đối với bản chất của mối quan hệ lâu dài của họ?

Một lần nữa. Bạn sẽ đổ rất nhiều giấy mực cho Bob và Alice – chính xác là tại sao?

Hãy xem đoạn trích này từ sách trắng của Satoshi về Bitcoin

sách trắng

Bạn có thể thấy từ “giao dịch” nhỏ xíu đó trên đầu mỗi hình chữ nhật không?

Các blockchain công khai dựa trên công nghệ mã hóa rất nhất định và một khi bạn giao dịch tiền, bạn sẽ giải phóng phép thuật toán học cấp cao. Về cơ bản, bạn giải phóng Bob và Alice, một cặp robot ngọt ngào luôn trao đổi thông tin, mã hóa và giải mã thông điệp của nhau bằng khóa riêng tư và khóa công khai.

 khóa riêng tư và khóa công khai

Khi bạn gửi một số bitcoin cho ai đó, về cơ bản, bạn sẽ đính kèm khóa công khai của chủ sở hữu mới vào số tiền này. Để làm điều đó, bạn ký giao dịch bằng khóa cá nhân của mình , không phải khóa công khai.

“Coz trong hai mươi bốn năm, tôi đã sống bên cạnh Alice”

Bob và Alice

-Bob và Alice, bạn đến từ đâu?

-Từ thế giới lạnh giá của mật mã!

Ngay từ giữa những năm 70, Ron Rivest, Adi Shamir và Leonard Adleman đã phát minh ra Bob và Alice như một minh họa cho các khái niệm trừu tượng cao.

các nhà khoa học

Ngược dòng thời gian, các nhà khoa học đang nghiên cứu “một phương pháp lấy chữ ký điện tử và hệ thống mật mã khóa công khai”.  Họ muốn chứng minh cách hai con người có thể tương tác với nhau trong mô hình mới. Hãy xem, hồi đó, Bob và Alice vẫn là con người. Sau đó, Eve ( một kẻ nghe trộm ) đã tham gia cùng cặp đôi với tư cách là người có thể đánh chặn một cách thụ động tin nhắn được mã hóa của họ và giải mã nó mà họ không hề hay biết.

Theo đuổi biến Bob và Alice thành người máy!

Chúng tôi nghe bạn. Nhưng hãy hợp lý! Trên thực tế, tất cả những phát triển trong mật mã đã mất hơn 30 năm, trước khi Bob và Alice trở thành như ngày nay. Vui lòng cho họ thêm một cơ hội nữa và xử lý hai mô hình trước tiên – mã hóa đối xứng và mã hóa không đối xứng. Bởi vì bạn cần phải tìm hiểu kỹ khái niệm khóa công khai  bắt nguồn từ đâu.

“Mã hóa đối xứng” nghe thực sự rất “mọt sách”

Đó là một chút mọt sách, phải. Nhưng một khi bạn có được nó, nó sẽ trở nên thú vị và dễ dàng! Đọc tiếp, để xem cách các điệp viên Liên Xô sử dụng mã hóa đối xứng trong Chiến tranh Lạnh!

Các thuật toán khóa đối xứng là các thuật toán cho mật mã sử dụng cùng một khóa mật mã cho cả hai, mã hóa bản rõ và giải mã bản mã. Nói tiếng Anh đơn giản, trong khi sử dụng lược đồ này, người gửi mã hóa tin nhắn bằng một khóa cụ thể và người nhận giải mã nó bằng khóa giống hệt.

Các thuật toán khóa đối xứng là các thuật toán

Minh họa từ quá khứ

Giả sử, Bob là một công dân Anh làm gián điệp cho Liên Xô trong Chiến tranh Lạnh. Thỉnh thoảng anh ta cần gửi tin nhắn mật mã cho nhân viên phụ trách hồ sơ người Nga của mình  Алиса (Alice, bằng tiếng Anh). Làm thế nào anh ta sẽ làm điều đó?

Đầu tiên, Bob thoát khỏi người trông trẻ , bắt taxi, tìm cho mình một khách sạn yên tĩnh ở một nơi nào đó ở vùng ngoại ô và soạn một tin nhắn quan trọng mà anh ta sắp gửi. Bước tiếp theo đối với anh ta là ánh xạ thông điệp với khóa cụ thể từ bản rõ sang bản mã, anh ta làm như vậy; sau đó, anh ta đặt mảnh giấy thành một đồng xu vật chất và gửi đồng xu đến Nga cùng với một số vũ công ba lê trong chuyến lưu diễn.

Minh họa từ quá khứ

Donald Duart Maclean (25 tháng 5 năm 1913 – 6 tháng 3 năm 1983) là một nhà ngoại giao người Anh và là thành viên của Cambridge Five, người đã hoạt động như một gián điệp cho Liên Xô.

Để giải mã tin nhắn của Bob, Alice có lẽ phải gặp vũ công tại sân bay Sheremetyevo, chở cô ấy đến KGB, mở đồng xu và giải mã tin nhắn bằng chìa khóa giống hệt của Bob. Phù! Hoạt động liên quan đến rất nhiều người và nguồn lực.

Để Bob và Alice giao tiếp an toàn trong trường hợp này, trước tiên họ phải gặp gỡ thực tế và thiết lập khóa giống hệt nhau, hoặc, có thể, chuyển khóa. Nó không hoàn toàn an toàn. Ngoài ra, nếu một nhà mật mã MI-6 thông minh phát hiện hoạt động đáng ngờ và chặn người diễn viên múa ba lê, anh ta có thể giải mã được thông điệp. Vô cùng đáng tiếc!

Mặc dù vậy, trong bối cảnh không có các cách khác để giao tiếp an toàn, cho đến những năm 1970, mật mã đã dựa trên sơ đồ khóa đối xứng. Thật vậy, Bob và Alice hồi đó là con người, và bạn thấy đấy, trở thành con người không hề an toàn!

Minh họa từ hiện tại 

Phức tạp

Blowfish là một giải pháp nổi tiếng trong mật mã đối xứng hiện đại. Thuật toán Blowfish phù hợp với một sản phẩm có các đặc tính cụ thể. Giả sử, Bob không cần thay đổi khóa thường xuyên hoặc sắp sửa mã hóa và giải mã thông tin ở tốc độ cao.

Minh họa từ hiện tại

 argh… đó là gì?

Dễ dàng hơn

Giả sử, hệ sinh thái sản phẩm của bạn dựa trên sự tương tác giữa Bob và máy chủ của bạn. Bạn nhận thông tin từ Bob để giữ an toàn và sau đó cung cấp lại khi anh ấy cần. Bạn không muốn bất kỳ ai có quyền truy cập vào dữ liệu nhạy cảm của Bob, vì vậy bạn mã hóa nó bằng khóa Bob gợi ý (mật khẩu của anh ấy). Bây giờ, cả hai bạn đã có chìa khóa.

Dễ dàng

Ứng dụng 1Password cho iPhone của bạn sử dụng thuật toán Blowfish để giúp bạn lướt Internet dễ dàng. Đặt nó theo cách này. Bob cảm thấy mệt mỏi với việc đăng nhập vào các trang web hết lần này đến lần khác. 1Password, tuy nhiên, giữ tất cả dữ liệu nhạy cảm của anh ấy (mật khẩu) trên máy chủ đám mây và trả lại cho Bob sau khi anh ấy cung cấp cho ứng dụng mật khẩu của mình (khóa bí mật). Vì vậy, bây giờ anh ấy chỉ cần đăng nhập một lần với ứng dụng, để có thể truy cập vào tất cả các trang web mà anh ấy đã đăng nhập.


“Mã hóa bất đối xứng” – hả? Nó không phải là thứ mà chỉ Sherlock mới có thể tham gia?

Chính xác, Sherlock có thể tham gia vào đó! Nhưng bởi vì Conan Doyle đã chết vào những năm 70 khi mã hóa bất đối xứng trở thành chủ đề cho các cuộc thảo luận, nên không có ai ở ngoài đó để giải quyết những phát triển thú vị một cách thú vị và hấp dẫn.

Mật mã không đối xứng  là bất kỳ hệ thống mật mã nào sử dụng các cặp khóa: khóa  công khai  có thể được phổ biến rộng rãi và  khóa riêng tư  mà chỉ chủ sở hữu mới biết.

Dễ dàng

Đây là một phần thú vị

Thưa quý vị, hãy gặp gỡ James H. Ellis, một kỹ sư người Anh, người đầu tiên đưa ra ý tưởng về mật mã khóa công khai.

James H. Ellis

Nhưng trước khi chúng ta bắt đầu, hãy đánh đố chúng ta điều này. Làm thế nào mọi người có thể trao đổi những vật có giá trị nếu chỉ một trong số họ có chìa khóa mở hộp?

chìa khóa mở hộp

Khóa công khai được sinh ra

James H. Ellis đã đưa ra một giải pháp thanh lịch. Bạn nên cắt sẵn trong hộp. Vì vậy, về cơ bản, người khác thực sự không cần phải có chìa khóa để đặt một cái gì đó vào đó. Và khi bí mật ở bên trong, bạn chỉ cần mở khóa hộp và lấy thứ có giá trị ra ngoài.

Bạn không cần phải làm gì cả. Chỉ cần cho họ biết địa chỉ công khai của hộp của bạn.

Khi James H. Ellis chỉ mới nảy ra ý tưởng này, anh ấy không biết làm thế nào để thực hiện nó. Tuy nhiên, suy đoán của ông đã đánh dấu sự khởi đầu của thứ mà sau này biến thành mật mã khóa công khai hoặc mật mã không đối xứng. Và đoán xem? Khái niệm này được xây dựng dựa trên sự tương tác giữa Bob và Alice, nơi họ không còn là con người nữa.

Những điều cơ bản về mã hóa bất đối xứng cần hiểu

Khóa công khai và khóa cá nhân đi theo cặp. Cặp của chúng được gọi là cặp khóa. Khóa công khai có thể được lấy từ khóa riêng. Vâng, họ là một gia đình theo một cách nào đó và liên kết với nhau.

Khi Alice gửi một tin nhắn cho Bob, cô ấy muốn mã hóa nó, phải không? Cô ấy nhận thông điệp của riêng mình, cô ấy lấy khóa công khai của Bob, và sau đó cô ấy thay đổi văn bản ban đầu bằng nhiều hàm toán học. Cuối cùng, cô ấy gửi phiên bản tin nhắn đã được mã hóa và không thể đảo ngược này cho Bob. Phù! Đó là phép thuật toán học thực sự!

Bây giờ, hãy nhớ, 2 chìa khóa trong cặp chìa khóa là một gia đình như thế nào? Đó là lý do tại sao Bob và chỉ Bob mới có thể giải mã thông điệp được mã hóa bằng khóa công khai này của anh ấy. Làm thế nào anh ta có thể làm điều đó? Đoán nào? Đúng, với khóa riêng của anh ấy. Bây giờ, ngay cả Alice cũng không thể giải mã thông điệp của chính mình! Nó chỉ tùy thuộc vào Bob.

Bạn có thể thấy tại sao loại mã hóa này được gọi là bất đối xứng không? Bob và Alice cần chìa khóa của nhau để tương tác một cách an toàn.

Chúc mừng! Bây giờ bạn đã quen thuộc với một phần nhỏ của các công nghệ cơ bản của tiền điện tử. Nhưng hãy nhớ rằng nó chỉ là một phần nhỏ của bất kỳ chuỗi khối công cộng nào. Hãy xem mô tả của Satoshi về mạng Bitcoin và bạn sẽ thấy các giao dịch chỉ là sự khởi đầu của mọi thứ như thế nào!

Những điều cơ bản về mã hóa bất đối xứng cần hiểu

Câu hỏi bảo mật

Bây giờ, phần này chỉ nói về một điều – để bạn không gửi nhầm chìa khóa cho một người được cho là sẽ trả tiền cho bạn. Và đó là lý do tại sao chúng tôi cần hỏi bạn câu hỏi bảo mật này.

Nếu bạn muốn ai đó gửi tiền cho mình, bạn sẽ đưa cho họ khóa nào, khóa công khai hay khóa riêng tư?

Câu trả lời đúng là khóa công khai.

Hy vọng rằng, sau khi đọc blog này, bạn biết tại sao.

Bạn cung cấp cho họ địa chỉ của hộp ma thuật của bạn với vết cắt, không phải chìa khóa của hộp, phải không?

Suy nghĩ cuối cùng

Ở giai đoạn đọc này, bạn có thể biết rằng có nhiều lựa chọn để tin tặc đánh chặn khóa bí mật nếu bạn sử dụng các thuật toán mã hóa đối xứng. Những kẻ lừa đảo có thể lừa bạn theo nhiều cách khác nhau. Ví dụ, họ có thể ghi lại  bất kỳ thông tin nào bạn nhập vào bằng phần mềm có tên là keylogger . Và, sau đó, keylogger sẽ lưu thông tin vào một tệp nhật ký và gửi nó đến người nhận được chỉ định. Bam, khóa bí mật của bạn đã bị chặn! 

Vì vậy, mã hóa đối xứng đi kèm với một điểm khó khăn – lỗ hổng khóa bí mật. Đây là lý do tại sao các nhà mật mã từ khắp nơi trên thế giới đã làm việc chăm chỉ trên một cơ chế mà khóa cá nhân không cần phải được chuyển giao. Và họ đã hoạt động tốt vì những nỗ lực của họ đã dẫn đến mã hóa không đối xứng.

Tuy nhiên, thật không may, mật mã không đối xứng không phải là phương pháp khắc phục cho một người không đưa ra hai lời khuyên về bảo mật trực tuyến và sự an toàn của các khóa riêng tư của họ!

Điều gì xảy ra với các khóa riêng nếu bạn lưu trữ chúng trên một máy tính xách tay có kết nối Internet hàng ngày?

Nếu bạn đủ may mắn, tất nhiên, không có gì xảy ra. Nhưng nếu một hacker xâm nhập vào thiết bị của bạn và phát hiện ra các khóa riêng tư của bạn, điều này sẽ trở thành một sự cám dỗ lớn đối với cô ấy.

Tương tự, bạn có thể viết ra bí mật của mình trên một tờ giấy và trao nó cho người đầu tiên bạn gặp trên phố. Giữ các khóa riêng tư của bạn trong môi trường không an toàn và tất cả những thành tựu của mật mã bất đối xứng hiện đại sẽ trở nên lãng phí.