Nguyên tắc mã hóa mật mã hiện đại
猎豹区块链安全
2019-01-17 10:41
本文约1632字,阅读全文需要约7分钟
Bài viết này tiết lộ cho bạn những điều cơ bản về mã hóa mật mã hiện đại

Công nghệ mã hóa đóng một vai trò rất quan trọng trong công nghệ chuỗi khối, nhưng trên thực tế, trên Internet, một số lượng lớn công nghệ mã hóa cũng được sử dụng, bài viết này sẽ giới thiệu các phương pháp mã hóa sơ khai trong mật mã hiện đại, giúp chúng ta hiểu các thuật toán phức tạp trong chuỗi khối.

Sau Thế chiến II, Internet, phát triển từ quân đội, dần dần xâm nhập vào nhà của những người bình thường, chúng ta có thể xử lý mọi thứ bằng điện tử và các giao dịch cũng không ngoại lệ, vì vậy các ngân hàng điện tử cũng xuất hiện và tất cả các giao dịch có thể được xử lý thông qua mạng được thực hiện . Với số lượng người dùng Internet ngày càng tăng, những vấn đề mới nảy sinh. Mã hóa yêu cầu cả hai bên chia sẻ một số ngẫu nhiên bí mật, đó là khóa bí mật. Tuy nhiên, làm thế nào hai người chưa từng gặp nhau có thể đồng ý về khóa chung này mà không cho phép bạn? biết về giám sát của bên thứ ba? Đây sẽ là mục tiêu của mật mã hiện đại.

Năm 1976, Whitfield và Martin Hermann đã đưa ra một giải pháp tài tình, hãy sử dụng phép ẩn dụ về màu sắc để giải thích thủ thuật này đạt được như thế nào:

Trước hết, để làm rõ mục tiêu của chúng ta, người gửi và người nhận thống nhất về màu bí mật mà không cho kẻ nghe trộm biết, vì vậy cần áp dụng một kỹ thuật dựa trên hai điểm:

1. Dễ dàng trộn hai màu để có màu thứ ba;

Thứ hai, sau khi có được màu hỗn hợp này, rất khó để biết màu gốc trên cơ sở này.Đây là cách ổ khóa hoạt động.

Đi một chiều thì dễ, đi một chiều thì khó, đó gọi là hàm một chiều. Giải pháp là thế này, đầu tiên họ công khai đồng ý về một số màu, chẳng hạn như màu vàng, sau đó người gửi và người nhận chọn ngẫu nhiên màu riêng tư của họ, trộn nó vào màu vàng chung, do đó che giấu màu riêng tư của họ và trộn Màu đó được gửi đến người nhận , người nhận biết màu riêng của mình và gửi màu hỗn hợp của nó cho người gửi,

Sau đó là chìa khóa của thủ thuật, người gửi và người nhận thêm màu riêng tư của mình vào màu hỗn hợp của người kia, sau đó nhận được màu bí mật dùng chung, lúc này người nghe lén không thể xác định được màu này, cô ấy phải có màu riêng tư. màu sắc. Màu sắc có thể được xác định, thủ thuật là như thế này, trong thế giới mật mã,tiêu đề cấp đầu tiên

bài toán hàm rời rạc

Chúng ta cần một quy trình số dễ theo một hướng và khó theo hướng ngược lại, vì vậy các nhà mật mã học đã tìm ra phép tính số học modulo, nghĩa là hàm lấy phần dư (ví dụ: phần còn lại của 46 chia cho 12 là 10).

Giả sử ta xem xét dùng một số nguyên tố làm mẫu, chẳng hạn 17, ta tìm được một căn nguyên thủy của 17, ở đây là 3, có các tính chất quan trọng sau, khi lấy các lũy thừa khác nhau, kết quả sẽ phân bố đều trên đồng hồ, 3 là một trình tạo, lấy 3 lũy thừa X, kết quả sẽ có khả năng xuất hiện như nhau trên bất kỳ số nguyên nào trong khoảng từ 0 đến 17.

Nhưng quá trình ngược lại rất khó. Ví dụ: cho 12, cần lũy thừa bao nhiêu của 3? Đây được gọi là bài toán logarit rời rạc. Theo cách này, chúng ta có hàm một chiều. Nó dễ dàng tính toán theo một hướng, nhưng ngược lại thì dễ, ngược lại rất khó vì đã biết 12 nên chỉ có thể dùng phép thử và sai để tìm số nguyên tố phù hợp.


tiêu đề cấp đầu tiên

Trao đổi khóa Diffie Hellman

Giải pháp là thế này. Đầu tiên, người gửi và người nhận tiết lộ mô đun nguyên tố và trình tạo, trong trường hợp này là 17 và 3. Sau đó, người gửi chọn một số ngẫu nhiên riêng, chẳng hạn như 15 và tính toán 315 mod 17 (kết quả là 6 ), sau đó gửi công khai kết quả này cho người nhận, sau đó người nhận chọn số ngẫu nhiên riêng của mình, chẳng hạn như 13, tính 313mod 17 (kết quả là 12), sau đó gửi công khai kết quả này cho bên kia.

Điều quan trọng là lấy kết quả công khai của người nhận theo lũy thừa của số riêng của cô ấy để lấy khóa dùng chung, ở đây là 10 và người nhận lấy kết quả công khai của người gửi theo lũy thừa của số riêng của cô ấy để lấy cùng một khóa dùng chung. Khóa có thể không phải ai cũng hiểu rõ, nhưng chúng thực sự thực hiện cùng một thao tác.

Hãy xem xét người gửi, cô ấy đã nhận được 12 từ người nhận, từ 313 mod 17, vì vậy phép tính của cô ấy thực sự là 3∧13∧15 mod 17, và người nhận, anh ấy đã nhận được 6 từ người gửi, từ 315 mod 17, vì vậy phép tính của anh ấy thực sự là 3∧15∧13mod17. Kết quả của hai phép tính giống nhau nhưng thứ tự các số mũ khác nhau. Nếu đổi thứ tự các số mũ thì kết quả không thay đổi. Kết quả của chúng bằng nhau, 3 được đưa đến sức mạnh của số riêng của hai người, Nếu không có các số riêng này, 15 hoặc 13, bên thứ ba sẽ không thể đưa ra kết quả.

Bên thứ ba sẽ mắc kẹt trong bài toán logarit rời rạc và khi số lượng đủ lớn, trên thực tế, cô ấy gần như không thể phá vỡ nó trong một thời hạn hợp lý.Điều này giải quyết vấn đề trao đổi khóa, có thể so sánh với bộ tạo số giả ngẫu nhiên Được sử dụng kết hợp để cung cấp thông tin liên lạc được mã hóa cho những người họ chưa từng gặp.

Các thuật toán được sử dụng phổ biến hiện nay trong chuỗi khối, chẳng hạn như sha256, kế thừa tư duy thiết kế của các chức năng một chiều, dễ dàng tính toán theo một hướng và hầu như không thể bẻ khóa theo hướng khác, để đảm bảo tính bảo mật.

猎豹区块链安全
作者文库