Máy tínhSự an toàn

Thuật toán Diffie-Hellman: hẹn

Rõ ràng, rất ít người hiện nay, sử dụng dữ liệu trên các kênh truyền thông không an toàn, hãy tưởng tượng những gì các thuật toán Diffie-Hellman. Trong thực tế, nhiều người không hiểu và cần. Tuy nhiên, người sử dụng của hệ thống máy tính, có thể nói, tò mò hơn để hiểu được điều này không thể làm tổn thương. Đặc biệt, việc trao đổi khóa Diffie-Hellman có thể hữu ích cho những người dùng quan tâm đến vấn đề bảo mật thông tin và mật mã.

phương pháp Diffie-Hellman là gì?

Nếu chúng ta tiếp cận vấn đề của thuật toán riêng của mình, nhưng mà không đi sâu vào chi tiết kỹ thuật và toán học, chúng ta có thể xác định nó như một phương pháp mã hóa và giải mã thông tin truyền và nhận giữa hai hoặc nhiều người sử dụng máy tính hoặc các hệ thống khác liên quan đến việc trao đổi dữ liệu với việc sử dụng một kênh thông tin liên lạc không được bảo vệ.

Vì nó là rõ ràng, trong sự vắng mặt của các kênh bảo vệ để ngăn chặn hoặc sửa đổi tập tin trong quá trình truyền và nhận, và những kẻ tấn công có thể. Tuy nhiên, sự phân bố khóa Diffie-Hellman để truy cập để truyền và nhận dữ liệu như vậy mà giả mạo gần như hoàn toàn bị loại bỏ. Trong thông tin liên lạc này đăng ký với kênh thông tin liên lạc (không có bảo vệ công trình) trở nên an toàn nếu cả hai bên sử dụng phím tương tự.

thời tiền sử

Thuật toán Diffie-Hellman đã được giới thiệu với thế giới trở lại vào năm 1976. người tạo ra nó trở thành Uitfrid Diffie và Martin Hellman, người trong nghiên cứu của ông về phương pháp mã hóa dữ liệu an toàn và đáng tin cậy dựa trên công việc của Ralph Merkle, người đã phát triển cái gọi là hệ thống phân phối khóa công khai.

Nhưng nếu Merkle phát triển cơ sở độc quyền lý thuyết, Diffie và Hellman trình bày cho công chúng một giải pháp thực tế cho vấn đề này.

Lời giải thích đơn giản nhất

Trên thực tế, kiểm tra được dựa trên công nghệ mã hóa mật mã mà bây giờ đang làm ngạc nhiên nhiều chuyên gia trong lĩnh vực này. mật mã tuyển tập bao gồm một lịch sử khá dài. Điều cốt lõi của toàn bộ quá trình là để đảm bảo rằng có hai bên, e-mail, hoặc bằng một số dữ liệu trao đổi với sự giúp đỡ của chương trình máy tính. Tuy nhiên, quốc phòng được thực hiện theo cách như vậy mà các thuật toán Diffie-Hellman bản thân đòi hỏi rằng chìa khóa giải mã được biết là hai bên (gửi và nhận). Khi điều này là hoàn toàn không quan trọng mà trong số họ sẽ tạo ra một số ngẫu nhiên ban đầu (điểm này sẽ giải thích khi xem xét công thức tính toán chính).

Các phương pháp mã hóa dữ liệu của giai đoạn trước đó

Để làm cho nó rõ ràng hơn, chúng tôi lưu ý rằng cách nguyên thủy nhất để mã hóa dữ liệu được, ví dụ, chính tả không phải là trái sang phải, như là phong tục ở hầu hết các kịch bản và phải sang trái. Tương tự như vậy, bạn có thể dễ dàng sử dụng và thay thế các chữ cái của bảng chữ cái trong một tuyên bố. Ví dụ, từ thay đổi lá thư thứ hai đến thứ nhất, thứ tư - thứ ba và vân vân. Các tài liệu rất giống nhau khi nhìn thấy nó có thể là một vô nghĩa hoàn chỉnh. Tuy nhiên, một trong những người viết mã nguồn, theo người có để đọc, theo thứ tự nào nên được đặt ký tự nhất định. Đây được gọi là chìa khóa.

Lưu ý rằng hầu hết các văn bản vẫn undeciphered và tác phẩm chữ hình nêm của người Sumer và người Ai Cập cổ đại không hiểu crypto-nhà phân tích chỉ vì thực tế là họ không biết làm thế nào để thiết lập trình tự mong muốn của nhân vật.

Và trong trường hợp của chúng tôi - các biến thể Diffie-Hellman giả định rằng chìa khóa giải mã được biết đến một số giới hạn của người sử dụng. Tuy nhiên, ở đây và nó là cần thiết để đặt chỗ, vì sự can thiệp trong việc truyền tải dữ liệu được mã hóa thuộc loại này có thể bị vi phạm do các bên thứ ba, nếu họ sẽ giải quyết việc thay thế hoặc thay thế các ký tự.

Không cần phải nói rằng hiện nay có mạnh mẽ hệ mật đủ dựa trên các thuật toán như AES, nhưng họ không đưa ra bảo đảm đầy đủ các bảo vệ chống hack dữ liệu của bên thứ ba.

Vâng, bây giờ chúng tôi tập trung vào các hệ thống mã hóa nhất, ứng dụng thực tế của nó và mức độ bảo vệ.

thuật toán Diffie-Hellman: hẹn

Các thuật toán đã được tạo ra để bảo đảm không chỉ là tính bảo mật của dữ liệu trong quá trình truyền của một bên tham gia khác, mà còn để loại bỏ chúng một cách an toàn khi nhận được. Nói đại khái, chẳng hạn một hệ thống truyền tải phải đảm bảo bảo vệ đầy đủ cho tất cả các kênh có thể giao tiếp.

Nhớ lại, trong Chiến tranh thế giới thứ hai, khi trí thông minh của tất cả các nước đồng minh không thành công săn cho máy mã hóa được gọi là "Enigma", qua đó truyền tải thông điệp được mã hóa để mã Morse. Sau khi tất cả, nó không thể giải quyết được không mật mã, ngay cả cách chúng ta đang nói đến, "tiên tiến" chuyên gia về mật mã. Chỉ sau khi chụp của nó được thu thập chìa khóa để giải mã các thông điệp được gửi bởi hải quân Đức.

thuật toán Diffie-Hellman: tổng quan

Vì vậy, các thuật toán liên quan đến việc sử dụng một vài khái niệm cơ bản. Giả sử chúng ta có trường hợp đơn giản nhất, khi hai bên (người sử dụng) có mặt trên kết nối. Chúng tôi biểu thị chúng như A và B.

Họ sử dụng hai số X và Y, không phải là bí mật ở kênh truyền thông này, để kiểm soát việc chuyển giao. Toàn bộ bản chất của câu hỏi sôi xuống, để tạo ra trên cơ sở của họ về một loại mới của giá trị đó sẽ là chìa khóa. Nhưng! Người gọi đầu tiên được sử dụng một lượng lớn số nguyên tố, và lần thứ hai - luôn luôn là một số nguyên (chia), nhưng thấp hơn để hơn trước.

Đương nhiên, người sử dụng đồng ý rằng những con số này được giữ bí mật. Tuy nhiên, vì kênh không an toàn, hai con số có thể trở thành các bên biết và khác quan tâm. Đó là lý do tại sao mọi người trong các thông điệp cùng trao đổi khóa bí mật để giải mã thông điệp.

Các công thức cơ bản để tính toán chính

Người ta cho rằng các Diffie-Hellman đề cập đến một hệ thống của cái gọi là mã hóa đối xứng, trên đó có những báo cáo về mật mã không đối xứng. Tuy nhiên, nếu chúng ta xem xét các khía cạnh chính của việc tính toán của các bên chủ chốt, phải nhớ ít nhất đại số.

Vì vậy, ví dụ, mỗi người trong số các thuê bao tạo ra số ngẫu nhiên ab. Họ biết trước các giá trị của xy, mà thậm chí có thể "khâu" trong phần mềm cần thiết.

Khi gửi hoặc nhận tin nhắn như vậy thuê bao Một tính giá trị quan trọng, bắt đầu từ công thức A = x mod y, trong khi thứ hai sử dụng một sự kết hợp của B = x b mod y, tiếp theo là việc gửi chìa khóa giải mã cho người sử dụng đầu tiên. Đây là bước đầu tiên.

Bây giờ giả sử rằng các bên thứ ba liên quan có lúc xử lý của nó cả các giá trị tính toán của A và B. Tất cả như nhau, nó không thể can thiệp vào quá trình chuyển dữ liệu, bởi vì bước thứ hai là để biết làm thế nào để tính toán một chìa khóa thông thường.

Từ các công thức trên, bạn có thể ở lại tính chính chung. Nếu bạn nhìn vào ví dụ Diffie-Hellman có thể trông như thế này:

1) tính toán một chìa khóa thuê bao đầu tiên dựa trên x theo công thức B một mod y = x ab mod y;

2) Thứ hai, dựa trên số y ban đầu và chuẩn bị theo giao thức mạng tùy chọn B, định nghĩa một chính từ một tham số Một hiện có: Một b y mod = x ba mod y.

Như bạn có thể thấy, giá trị cuối cùng ngay cả khi độ hoán vị trùng. Như vậy, giải mã dữ liệu của cả hai bên bị giảm, như họ nói, để một mẫu số chung.

Dễ bị tổn thương tại can thiệp trong quá trình truyền dữ liệu

Như bạn có thể mong đợi, sự can thiệp của bên thứ ba không được loại trừ. Tuy nhiên, trong trường hợp này nó là bước đầu xác định số lượng 10 100, hoặc thậm chí 10.300.

Nó đi mà không nói rằng không ai trong số ngày hôm nay để tạo ra một mật khẩu hoặc mã truy cập máy phát điện để xác định số bản thân không thể (ngoại trừ các tùy chọn tạm thời ban đầu và cuối cùng và không can thiệp vào hệ thống truyền tải). Nó sẽ mất rất nhiều thời gian mà sự sống trên trái đất sẽ kết thúc. Tuy nhiên, những khoảng trống trong một hệ thống an ninh như vậy là vẫn còn đó.

Thông thường họ có liên quan đến kiến thức về logarit rời rạc. Nếu kiến thức như vậy là để crack các thuật toán Diffie-Hellman có thể (nhưng chỉ cho các thông số ban đầu và cuối cùng như đã đề cập ở trên). Một điều nữa là sở hữu các đơn vị kiến thức như vậy.

Sử dụng thuật toán cho nền tảng Java

thuật toán Diffie-Hellman được sử dụng trong Java độc quyền với lời kêu gọi như "client-server".

Nói cách khác, các máy chủ đang chờ các máy client kết nối. Khi kết nối được thực hiện, có một hiệu suất của thuật toán trên tìm kiếm một khóa công khai hay tư nhân, và sau đó người dùng có thể truy cập vào tất cả các chức năng và dữ liệu của máy chủ riêng của mình. Đôi khi điều này là đúng ngay cả trong các hệ thống điện thoại di động, tuy nhiên, điều này rất ít người biết, càng có nhiều rằng phần điều hành của các công trình trong chế độ ẩn dưới hình thức kịch bản thực thi.

Sử dụng thuật toán cho nền tảng C (+ / ++)

Nếu bạn nhìn vào Diffie-Hellman trong «C» (+ / ++), sau đó không phải là quá trơn tru. Thực tế là đôi khi có một vấn đề khi hầu hết các công việc với các tính toán tự lập trình ngôn ngữ gắn liền với dấu chấm động. Đó là lý do tại sao khi thiết lập một giá trị số nguyên, hoặc khi cố gắng làm tròn (kể cả lũy thừa), có thể có vấn đề tại thời gian biên dịch. Đặc biệt nó liên quan đến chức năng lạm dụng int.

Tuy nhiên, điều đáng chú ý đến phần còn lại của các thành phần thực thi mà, như một quy luật, là những lớp học nghề, các lũy thừa cùng hoặc liên quan đến thư viện GMP gắn thêm.

thuật toán mã hóa hiện đại

Người ta tin rằng các Diffie-Hellman vẫn là để đánh bại, không ai có thể. Trong thực tế, ông là người phục vụ như là cơ sở cho sự xuất hiện của hệ thống như vậy được gọi bảo vệ trong lĩnh vực mã hóa dữ liệu như AES128 và AES256.

Tuy nhiên, như các chương trình thực tế, mặc dù đã có con số trong trừu tượng không cảm nhận của người đàn ông, hầu hết các hệ thống kiểu sử dụng này chỉ có giá trị của hàng chục đầu tiên (không nhiều), nhưng các thuật toán tự nó bao hàm một số hơn một triệu lần.

thay vì một lời bạt

Nói chung, có lẽ, nó đã được rõ ràng những gì tạo nên hệ thống này và các thành phần thuật toán của nó là gì. Nó chỉ còn thêm rằng nó được ưu đãi với tiềm năng to lớn như vậy mà nó hoàn toàn hầu như không ai sử dụng.

Mặt khác, và lỗ hổng trong thuật toán rõ ràng đủ. Đánh giá cho chính mình: trên thực tế, viết một chương trình để tính toán logarit rời rạc, hầu hết các tác giả của nó có thể truy cập không chỉ đối với các thông số ban đầu được thiết lập bởi người sử dụng, mà còn để chìa khóa công cộng, mà được tạo ra trong mã hóa và giải mã hệ thống.

Trong trường hợp đơn giản nhất đó là đủ để làm cho quá trình cài đặt của file thực thi của Java applet, mà có thể được sử dụng ngay cả trong truyền thông di động. Tất nhiên, người dùng sẽ không biết về nó, nhưng dữ liệu của nó sẽ có thể khai thác bất cứ ai.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 vi.unansea.com. Theme powered by WordPress.