0

các thuật toán cài cài đặt

Thuật toán Dịjkastra cải tiến

Thuật toán Dịjkastra cải tiến

Kỹ thuật lập trình

... nhau, nhưng ở đây chúng ta chỉ xét cách giải bằng thuật toán Dijkstra: Gọi a[I,j] là trọng số nhỏ nhất khi đi từ ô (x,y) đến ô (I,j). Khi đó cài đặt thuật toán trên ta sẽ tìm ra a[u,v] là trọng ... nhất đến một ô bất kì nằm sát biên của ma trận Thuật toán Dijkstra với những cải tiếnduccanh841988@yahoo.com Thuật toán Dijkstra là một thuật toán tốt và hiệu quả trong việc tìm đường đi ngắn ... (u,v) sao cho tổng các số ghi trên các ô là bé nhất (qui tắc đi: từ 1 ô chỉ đi được đến các ô có chung cạnh). Lời giải: Đây là 1 bài toán quen thuộc và có thể dùng nhiều cách giải khác nhau,...
  • 5
  • 894
  • 19
Các thuật toán trong toán rời rạc.doc

Các thuật toán trong toán rời rạc.doc

Cao đẳng - Đại học

... Các thuật toán trong toán rời rạc1 .Thuật toán tính nghiệm của phương trình bậc hai: ax 2 + bx + c = 0 khi biết 3 hệ ... temp;end;4. Output F.9. Thuật toán lặp tính giai thừa của một số tự nhiên.Input : số tự nhiên n.Output : F (n) bằng n!. Thuật toán :Xuất : nghiệm của phương trình Thuật toán: 1. delta := b2 ... "No", và dừng thuật toán. 4. Kết xuất "Yes".6. Thuật toán đệ quy tính giai thừa của một số tự nhiên.Input : số tự nhiên n.Output : F (n) bằng n!. Thuật toán :1. F := 12....
  • 5
  • 4,100
  • 87
Các thuật toán và đồ thị

Các thuật toán và đồ thị

Kỹ thuật lập trình

... triển tập T theo thuật toán Kruskal .Thời gian chạy của thuật toán Kruskal. Thời gian chạy của thuật toán này phụ thuộc vào cách cài đặt họ các tập con không cắt nhau bởi các cây hướng lên ... nhất.15.Viết chương trình cài đặt thuật toán Kruskal bằng cách cài đặt họ tập con các đỉnh bởi mảng như sau. Chẳng hạn, nếu V = {0, 1, 2, 3, 4, 5} và họ tập con các đỉnh là {0, 2, 5} , {1, ... đã được thăm;213 Thuật toán được trình bày sau đây là thuật toán Dijkstra (mang tên E. Dijkstra, người phát minh ra thuật toán) . Thuật toán này được thiết kế dựa vào kỹ thuật tham ăn.Ta xác...
  • 37
  • 1,866
  • 19
Các thuật toán phân tích mạnh nhất.DOC

Các thuật toán phân tích mạnh nhất.DOC

Công nghệ thông tin

... hai số nguyên tố lớn .Các thuật toán đợc kể đến bao gồm thuật toán sàng bậc hai, thuật toán phân tích trên đờng cong Elliptic, thuật toán sàng tr-ờng số nhng do hai thuật toán sau đều cần phải ... tính của một số thuật toán phân tích khác. Thuật toán phân tích dựa trên đờng cong elliptic cũng là một thuật toán có thời gian tính khá tốt. Thuật toán thực sự là mở rộng của thuật toán kiểu phân ... hơn. Thuật toán sàng trờng số là thuật toán mới nhất, thuật toán này cũng phân tích số nguyên N bằng cách xây dựng đồng d thức x2 y2 mod N nhng việc thực hiện bằng các tính toán trên các vành...
  • 3
  • 658
  • 1
Các thuật toán tô mầu

Các thuật toán tô mầu

Kỹ thuật lập trình

... Đức, Lê Đình Duy Các thuật toán tô màu 9/16Lưu đồ thuật toán tô màu theo dòng quétBeginTạo danh sách tất cả các cạnh ETi<TopScani=BottomScanYesNoCập nhật danh sách các cạnhkích hoạt ... EF, G*F vì không còn cắt dòng quét).• Thuật toán dừng tại đây.ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các thuật toán tô màu 14/16• Có hai quan điểm về cách tô này, đó là dùng 4 điểmlân cận ... của dòng quét với các cạnh nằm ngang là một trường hợp đặc biệt cầnphải có cách xử lí thích hợpy=k1y=k20 1,23401,2 3ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các thuật toán tô màu 16/16•...
  • 16
  • 2,603
  • 4
Các thuật toán vẽ đường

Các thuật toán vẽ đường

Thiết kế - Đồ họa - Flash

... Anh Đức, Lê Đình Duy Các thuật toán vẽ đường 14/22• Cài đặt thuật toán cho trường hợp 0 ≤ m ≤ 1, Dx<0.Ta sử dụng thuật toán với trường hợp 0 ≤ m ≤ 1,Dx>0 đã cài đặt cộng thêm một số ... trình bày khung chính của thuật toán vẽ ellipse,parabol, hyperbol dựa vào các bước trên.ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các thuật toán vẽ đường 8/22Lưu đồ thuật toán BresenhamBeginp=2Dy-Dx;Const1=2Dy;Const2=2(Dy-Dx);x=x1;y=y1;putpixel(x, ... TÍNHDương Anh Đức, Lê Đình Duy Các thuật toán vẽ đường 13/22CCaaââuu hhooûûii kkiieeååmm ttrraa• Xét thuật toán Bresenham, với cách đặt d1 và d2 nhưtrên,...
  • 22
  • 3,905
  • 13
Bí mật của các thuật toán

Bí mật của các thuật toán

Kỹ thuật lập trình

... nói một cách khác, thuật toán 3N+1 trên có phải là một thuật toán đúng đắn hay khôngTa định nghĩa hàm S như sau:S(k)=số bước phải thực hiện của thuật toán cho giá trị ban đầu k, hay nói cách ... và chạy thử bài toán này. Thuật toán này vô cùng đơn giản, đầu vào là một số tự nhiên, đầu ra là … một dãy số.Chúng ta hãy định nghĩa một cách chính xác thuật giải này. Thuật toán 3N+1Input: ... thì đặt k=1/2; nếu k lẻ thì đặt k=3k+1. 3.Quay lại bước Ví dụ: Nếu bắt đầu với k=34 thì thuật toán trên sẽ sinh ra dãy:34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1.Như vậy thuật toán...
  • 8
  • 908
  • 4
Các thuật toán mã hoá

Các thuật toán mã hoá

Kĩ thuật Viễn thông

... Các thuật toán mã hoá Trong bài viết này tôi giới thiệu với các bạn sự khác nhau giữa các thuật toán mã hoá. Phần đầu tiên giới thiệu ba phương thức mã hoá: hashing, symmetric, asymmetric. Trong các bài viết tiếp theo tôi sẽ lần lượt trình bày về nhiều vấn đề và cách sử dụng các phương thức mã hoá đó.Thông tin quan trọng Các thuật toán mã hoá được chia làm ba dạng cơ bản đó là: Hashing (hàm băm), mật mã symmetric (đối xứng), và mật mã asymmetric (bất đối xứng). Hashing được giới thiệu như một dạng ID số. Hai phương thức tiếp theo là symmetric và asymmetric là quá trình mã hoá và giải mã. Bạn muốn hiểu về chúng trước tiên hãy xem các khái niệm và ví dụ dưới đây.1. Hashing – Hàm BămHashing là một phương thức mật mã nhưng nó không phải là một thuật toán mã hoá. Đúng như vậy, hashing chỉ sử dụng một chứng chỉ số duy nhất được biết đến với tên như "hash value – giá trị hash", "hash – băm", Message Authentication Code (MAC), fingerprint – vân tay, hay một đoạn message. Dữ liệu đầu vào của bạn có thể là một file, một ổ đĩa một quá trình truyền thong tin trên mạng, hay một bức thư điện tử. Thông số hash value được sử dụng để phát hiện khi có sự thay đổi của tài nguyên. Nói cách khác, hashing sử dụng nó để phát hiện ra dữ liệu có toàn vẹn trong quá trình lưu trữ hay trong khi truyền hay không.Ví dụ, thông số hash value được tính toán để so sánh với thông số hash value được tạo ra trước đó một tuần. Nếu hai thông số giống nhau thì dữ liệu chưa có sự thay đổi. Nếu hai thông số có sự khác nhau, thì dữ liệu đã bị thay đổi. Trong hình dưới đây thể hiện cơ bản về hash hay thong số MAC.Thông số MAC value được tính toán bởi người gửi (sender) và người nhận (receive) với cùng một thuật toán. Không như các phương thức mật mã khác, chúng sẽ làm thay đổi dữ liệu thành một dạng mật mã, quá trình hashing sử dụng một thông số hash value và không thay đổi dữ liệu ban đầu. Bởi vì các tính năng đặc biệt, hashing có thể sử dụng để bảo vệ và kiểm tra tính toàn vẹn của dữ liệu. Nó cũng có khả năng sử dụng để kiểm tra khi có một tiến trình copy được thực hiện và đảm bảo tính chính xác của dữ liệu khi chúng được copy.Ví dụ, khi một ổ cứng được tạo ra một bản copy, một quá trình hash được thực hiện trên ổ đĩa trước khi quá trình nhân đôi được thực hiện. Nếu hai thong số hash của ổ cứng mới được tạo ra và thong số hash của ổ đĩa ban đầu thì quá trình nhân đôi dữ liệu được thực hiện chính xác và đảm bảo dữ liệu không có sự thay đổi mất mát trong quá trình nhân bản. Việc hashing sử dụng để đảm bảo dữ liệu được nguyên bản giúp dữ liệu lưu ở dạng kỹ thuật số sẽ luôn dữ được nguyên bản sau vô số lần copy – và điều này không thể thực hiện khi lưu dữ liệu các dạng khác – ví như bạn lưu thong tin âm thanh bằng băng từ sẽ bị biến dạng sau nhiều lần copy.Ví dụ, Message Digest 5 (MD5) là một thuật toán hash với 128­bit hash. Điều này có nghĩa không có vấn đề với dữ liệu đầu vào và dữ liệu đầu ra sau quá trình hash bởi nó luôn luôn thêm vào 128 bits. Sức mạnh của quá trình hashing là nó được thực hiện một chiều và không thể có phương thức nào có thể thực hiện ngược lại được để converts thông số hash thành dữ liệu ban đầu. Nếu một vài người có được các thông số hash của bạn, họ không thể lấy được dữ liệu ban đầu. Tuy nhiên đó không phải là phương thức mật mã không thể tấn công. Hashing có thể bị tấn cong bởi các phương thức đảo ngược hay birthday attack. Phương thức tấn công bình thường sử dụng đó là sử dụng các công cụ password­cracking. Hầu hết các hệ thống lưu trữ passwords trong dữ liệu accounts và được hashed (băm). Hashs không thể thực hiện ngược lại, bởi đó là một giải pháp bảo mật, có nghĩa không có công cụ nào có thể chuyển ngược lại một password được hash thành một password nguyên bản chưa được hash. Tuy nhiên một thuật toán nào cũng có những bất cập riêng, bằng việc sử dụng các phần mềm, password crackers chúng có thể phát hiện ra đoạn mã them vào dữ liệu ban đầu và chỉ cần xoá đoạn hash value đi là có thể truy cập bình thường. Dữ liệu Account thường không được mã hoá, và dữ liệu password thường được hash do đó hầu hết các công cụ crack password chỉ có thể xoá password đã được đặt cho user đó mà không thể view password đó. Thuật toán hashing thường được sử dụng:Secure Hash Algorithm (SHA­1) với ­ 160­bit hash valueMessage Digest 5 (MD5) với —128­bit hash valueMessage Digest 4 (MD4) với —128­bit hash valueMessage Digest 2 (MD2) với —128­bit hash value2. Symmetric – Mã hoá đối xứngMật mã đối xứng cũng được gọi là mật mã private key hay mật mã secret key. Nó sử dụng một chìa khoá duy nhất để mã hoá và giải mã dữ liệu (được thể hiện dưới hình dưới). Khi một mật mã đối sứng được sử dụng cho files trên một ổ cứng, user thực hiện mã hoá với một secret key. Khi một giao tiếp được sử dụng mã hoá đối xứng, hai giao tiếp sẽ chia sẻ nhau cùng một mật mã để mã hoá và giải mã gói tin.Ví dụ chúng ta thấy trong một file như bạn đặt password cho một file *.rar ai muốn mở phải có password (secret key). Khi giao tiếp giữa máy chủ RADIUS Server và RADIUS Client sẽ có chung một secret key mà bạn phải thiết lập.Ví dụ trong Internet đó là giao thức SSL sử dụng mật mã đối xứng. Trong thực tế mật mã đối xứng được dung để đảm bảo tính tối mật của dữ liệu. confidentialityMột hệ thống mã hoá đối xứng3. Asymmetric ­ Mật mã bất đối xứngMật mã bất đối xứng hay còn gọi là mã hoá sử dụng public key. Nó sử dụng một cặp key đó là public key và private key thể hiển hình dưới đây. Trong mỗi quá trình truyền thong tin sử dụng mật mã bất đối xứng chúng cần một cặp key duy nhất. Nó tạo ra khả năng có thể sử dụng linh hoạt và phát triển trong tương lai hơn là giải pháp mật mã đối xứng. Private key bạn cần phải dữ riêng và đảm bảo tính bảo mật và nó không truyền trên mạng. Public key được cung cấp miễn phí và được public cho mọi người.Một hệ thống mã hoá sử dụng mật mã bất đối xứng.Về việc sử dụng và quá trình truyền cụ thể tôi đã giới thiệu với các bạn trong một bài viết khá cụ thể bạn có thể truy cập vào địa chỉ:http://www.vnexperts.net/index.php?option=com_content&task=view&id=581&Itemid=1Nếu bạn sử dụng private key để mã hoá thì người nhận sẽ phải sử dụng public key của bạn để giải mã. Nếu bạn sử dụng public key của người nhận để mã hoá thì người nhận sẽ sử dụng private của họ để giải mã thong tin.Toàn bộ các quá trình truyền thong tin bạn có thể tham khảo tại đường link trên về phương thức hoạt động của phương thức mật mã bất đối xứng.Mật mã bất đối xứng hoạt động chậm hơn phương thức mật mã đối xứng, không phải nó mã hoá một khối lượng dữ liệu lớn. Nó thường đước sử dụng để bảo mật quá trình truyền key của mật mã đối xứng. Nó cung cấp bảo mật cho quá trình truyền thông tin bằng các dịch vụ: Authentication, Integrity, Protection, và nonrepudiation.Phương thức mật mã bất đối xứng sử dụng:­ Rivest Shamir Adleman (RSA)­ Diffie­Hellman­ Error Correcting Code (ECC)­ El Gamal­ Message MessageTổng kếtTrong bài viết này bạn biết về sử dụng hashing đảm bảo tính toàn vẹn của dữ liệu. Các tấn công hashing. Trong thực tế thong tin thường được hashing trước khi được mã hoá do đó tính bảo mật được tăng lên rất nhiều. Bạn cũng cần phải nắm được các phương thức mã hoá đối xứng và bất đối xứng chúng có ưu nhược điểm và sử dụng trong những trường hợp nào. Cuối cùng bạn phải biết các phương thức hashing, đối xứng, bất đối xứng hay sử dụng nhất. ... Các thuật toán mã hoá Trong bài viết này tôi giới thiệu với các bạn sự khác nhau giữa các thuật toán mã hoá. Phần đầu tiên giới thiệu ba phương thức mã hoá: hashing, symmetric, asymmetric. Trong các bài viết tiếp theo tôi sẽ lần lượt trình bày về nhiều vấn đề và cách sử dụng các phương thức mã hoá đó.Thông tin quan trọng Các thuật toán mã hoá được chia làm ba dạng cơ bản đó là: Hashing (hàm băm), mật mã symmetric (đối xứng), và mật mã asymmetric (bất đối xứng). Hashing được giới thiệu như một dạng ID số. Hai phương thức tiếp theo là symmetric và asymmetric là quá trình mã hoá và giải mã. Bạn muốn hiểu về chúng trước tiên hãy xem các khái niệm và ví dụ dưới đây.1. Hashing – Hàm BămHashing là một phương thức mật mã nhưng nó không phải là một thuật toán mã hoá. Đúng như vậy, hashing chỉ sử dụng một chứng chỉ số duy nhất được biết đến với tên như "hash value – giá trị hash", "hash – băm", Message Authentication Code (MAC), fingerprint – vân tay, hay một đoạn message. Dữ liệu đầu vào của bạn có thể là một file, một ổ đĩa một quá trình truyền thong tin trên mạng, hay một bức thư điện tử. Thông số hash value được sử dụng để phát hiện khi có sự thay đổi của tài nguyên. Nói cách khác, hashing sử dụng nó để phát hiện ra dữ liệu có toàn vẹn trong quá trình lưu trữ hay trong khi truyền hay không.Ví dụ, thông số hash value được tính toán để so sánh với thông số hash value được tạo ra trước đó một tuần. Nếu hai thông số giống nhau thì dữ liệu chưa có sự thay đổi. Nếu hai thông số có sự khác nhau, thì dữ liệu đã bị thay đổi. Trong hình dưới đây thể hiện cơ bản về hash hay thong số MAC.Thông số MAC value được tính toán bởi người gửi (sender) và người nhận (receive) với cùng một thuật toán. Không như các phương thức mật mã khác, chúng sẽ làm thay đổi dữ liệu thành một dạng mật mã, quá trình hashing sử dụng một thông số hash value và không thay đổi dữ liệu ban đầu. Bởi vì các tính năng đặc biệt, hashing có thể sử dụng để bảo vệ và kiểm tra tính toàn vẹn của dữ liệu. Nó cũng có khả năng sử dụng để kiểm tra khi có một tiến trình copy được thực hiện và đảm bảo tính chính xác của dữ liệu khi chúng được copy.Ví dụ, khi một ổ cứng được tạo ra một bản copy, một quá trình hash được thực hiện trên ổ đĩa trước khi quá trình nhân đôi được thực hiện. Nếu hai thong số hash của ổ cứng mới được tạo ra và thong số hash của ổ đĩa ban đầu thì quá trình nhân đôi dữ liệu được thực hiện chính xác và đảm bảo dữ liệu không có sự thay đổi mất mát trong quá trình nhân bản. Việc hashing sử dụng để đảm bảo dữ liệu được nguyên bản giúp dữ liệu lưu ở dạng kỹ thuật số sẽ luôn dữ được nguyên bản sau vô số lần copy – và điều này không thể thực hiện khi lưu dữ liệu các dạng khác – ví như bạn lưu thong tin âm thanh bằng băng từ sẽ bị biến dạng sau nhiều lần copy.Ví dụ, Message Digest 5 (MD5) là một thuật toán hash với 128­bit hash. Điều này có nghĩa không có vấn đề với dữ liệu đầu vào và dữ liệu đầu ra sau quá trình hash bởi nó luôn luôn thêm vào 128 bits. Sức mạnh của quá trình hashing là nó được thực hiện một chiều và không thể có phương thức nào có thể thực hiện ngược lại được để converts thông số hash thành dữ liệu ban đầu. Nếu một vài người có được các thông số hash của bạn, họ không thể lấy được dữ liệu ban đầu. Tuy nhiên đó không phải là phương thức mật mã không thể tấn công. Hashing có thể bị tấn cong bởi các phương thức đảo ngược hay birthday attack. Phương thức tấn công bình thường sử dụng đó là sử dụng các công cụ password­cracking. Hầu hết các hệ thống lưu trữ passwords trong dữ liệu accounts và được hashed (băm). Hashs không thể thực hiện ngược lại, bởi đó là một giải pháp bảo mật, có nghĩa không có công cụ nào có thể chuyển ngược lại một password được hash thành một password nguyên bản chưa được hash. Tuy nhiên một thuật toán nào cũng có những bất cập riêng, bằng việc sử dụng các phần mềm, password crackers chúng có thể phát hiện ra đoạn mã them vào dữ liệu ban đầu và chỉ cần xoá đoạn hash value đi là có thể truy cập bình thường. Dữ liệu Account thường không được mã hoá, và dữ liệu password thường được hash do đó hầu hết các công cụ crack password chỉ có thể xoá password đã được đặt cho user đó mà không thể view password đó. Thuật toán hashing thường được sử dụng:Secure Hash Algorithm (SHA­1) với ­ 160­bit hash valueMessage Digest 5 (MD5) với —128­bit hash valueMessage Digest 4 (MD4) với —128­bit hash valueMessage Digest 2 (MD2) với —128­bit hash value2. Symmetric – Mã hoá đối xứngMật mã đối xứng cũng được gọi là mật mã private key hay mật mã secret key. Nó sử dụng một chìa khoá duy nhất để mã hoá và giải mã dữ liệu (được thể hiện dưới hình dưới). Khi một mật mã đối sứng được sử dụng cho files trên một ổ cứng, user thực hiện mã hoá với một secret key. Khi một giao tiếp được sử dụng mã hoá đối xứng, hai giao tiếp sẽ chia sẻ nhau cùng một mật mã để mã hoá và giải mã gói tin.Ví dụ chúng ta thấy trong một file như bạn đặt password cho một file *.rar ai muốn mở phải có password (secret key). Khi giao tiếp giữa máy chủ RADIUS Server và RADIUS Client sẽ có chung một secret key mà bạn phải thiết lập.Ví dụ trong Internet đó là giao thức SSL sử dụng mật mã đối xứng. Trong thực tế mật mã đối xứng được dung để đảm bảo tính tối mật của dữ liệu. confidentialityMột hệ thống mã hoá đối xứng3. Asymmetric ­ Mật mã bất đối xứngMật mã bất đối xứng hay còn gọi là mã hoá sử dụng public key. Nó sử dụng một cặp key đó là public key và private key thể hiển hình dưới đây. Trong mỗi quá trình truyền thong tin sử dụng mật mã bất đối xứng chúng cần một cặp key duy nhất. Nó tạo ra khả năng có thể sử dụng linh hoạt và phát triển trong tương lai hơn là giải pháp mật mã đối xứng. Private key bạn cần phải dữ riêng và đảm bảo tính bảo mật và nó không truyền trên mạng. Public key được cung cấp miễn phí và được public cho mọi người.Một hệ thống mã hoá sử dụng mật mã bất đối xứng.Về việc sử dụng và quá trình truyền cụ thể tôi đã giới thiệu với các bạn trong một bài viết khá cụ thể bạn có thể truy cập vào địa chỉ:http://www.vnexperts.net/index.php?option=com_content&task=view&id=581&Itemid=1Nếu bạn sử dụng private key để mã hoá thì người nhận sẽ phải sử dụng public key của bạn để giải mã. Nếu bạn sử dụng public key của người nhận để mã hoá thì người nhận sẽ sử dụng private của họ để giải mã thong tin.Toàn bộ các quá trình truyền thong tin bạn có thể tham khảo tại đường link trên về phương thức hoạt động của phương thức mật mã bất đối xứng.Mật mã bất đối xứng hoạt động chậm hơn phương thức mật mã đối xứng, không phải nó mã hoá một khối lượng dữ liệu lớn. Nó thường đước sử dụng để bảo mật quá trình truyền key của mật mã đối xứng. Nó cung cấp bảo mật cho quá trình truyền thông tin bằng các dịch vụ: Authentication, Integrity, Protection, và nonrepudiation.Phương thức mật mã bất đối xứng sử dụng:­ Rivest Shamir Adleman (RSA)­ Diffie­Hellman­ Error Correcting Code (ECC)­ El Gamal­ Message MessageTổng kếtTrong bài viết này bạn biết về sử dụng hashing đảm bảo tính toàn vẹn của dữ liệu. Các tấn công hashing. Trong thực tế thong tin thường được hashing trước khi được mã hoá do đó tính bảo mật được tăng lên rất nhiều. Bạn cũng cần phải nắm được các phương thức mã hoá đối xứng và bất đối xứng chúng có ưu nhược điểm và sử dụng trong những trường hợp nào. Cuối cùng bạn phải biết các phương thức hashing, đối xứng, bất đối xứng hay sử dụng nhất. ... Các thuật toán mã hoá Trong bài viết này tôi giới thiệu với các bạn sự khác nhau giữa các thuật toán mã hoá. Phần đầu tiên giới thiệu ba phương thức mã hoá: hashing, symmetric, asymmetric. Trong các bài viết tiếp theo tôi sẽ lần lượt trình bày về nhiều vấn đề và cách sử dụng các phương thức mã hoá đó.Thông tin quan trọng Các thuật toán mã hoá được chia làm ba dạng cơ bản đó là: Hashing (hàm băm), mật mã symmetric (đối xứng), và mật mã asymmetric (bất đối xứng). Hashing được giới thiệu như một dạng ID số. Hai phương thức tiếp theo là symmetric và asymmetric là quá trình mã hoá và giải mã. Bạn muốn hiểu về chúng trước tiên hãy xem các khái niệm và ví dụ dưới đây.1. Hashing – Hàm BămHashing là một phương thức mật mã nhưng nó không phải là một thuật toán mã hoá. Đúng như vậy, hashing chỉ sử dụng một chứng chỉ số duy nhất được biết đến với tên như "hash value – giá trị hash", "hash – băm", Message Authentication Code (MAC), fingerprint – vân tay, hay một đoạn message. Dữ liệu đầu vào của bạn có thể là một file, một ổ đĩa một quá trình truyền thong tin trên mạng, hay một bức thư điện tử. Thông số hash value được sử dụng để phát hiện khi có sự thay đổi của tài nguyên. Nói cách khác, hashing sử dụng nó để phát hiện ra dữ liệu có toàn vẹn trong quá trình lưu trữ hay trong khi truyền hay không.Ví dụ, thông số hash value được tính toán để so sánh với thông số hash value được tạo ra trước đó một tuần. Nếu hai thông số giống nhau thì dữ liệu chưa có sự thay đổi. Nếu hai thông số có sự khác nhau, thì dữ liệu đã bị thay đổi. Trong hình dưới đây thể hiện cơ bản về hash hay thong số MAC.Thông số MAC value được tính toán bởi người gửi (sender) và người nhận (receive) với cùng một thuật toán. Không như các phương thức mật mã khác, chúng sẽ làm thay đổi dữ liệu thành một dạng mật mã, quá trình hashing sử dụng một thông số hash value và không thay đổi dữ liệu ban đầu. Bởi vì các tính năng đặc biệt, hashing có thể sử dụng để bảo vệ và kiểm tra tính toàn vẹn của dữ liệu. Nó cũng có khả năng sử dụng để kiểm tra khi có một tiến trình copy được thực hiện và đảm bảo tính chính xác của dữ liệu khi chúng được copy.Ví dụ, khi một ổ cứng được tạo ra một bản copy, một quá trình hash được thực hiện trên ổ đĩa trước khi quá trình nhân đôi được thực hiện. Nếu hai thong số hash của ổ cứng mới được tạo ra và thong số hash của ổ đĩa ban đầu thì quá trình nhân đôi dữ liệu được thực hiện chính xác và đảm bảo dữ liệu không có sự thay đổi mất mát trong quá trình nhân bản. Việc hashing sử dụng để đảm bảo dữ liệu được nguyên bản giúp dữ liệu lưu ở dạng kỹ thuật số sẽ luôn dữ được nguyên bản sau vô số lần copy – và điều này không thể thực hiện khi lưu dữ liệu các dạng khác – ví như bạn lưu thong tin âm thanh bằng băng từ sẽ bị biến dạng sau nhiều lần copy.Ví dụ, Message Digest 5 (MD5) là một thuật toán hash với 128­bit hash. Điều này có nghĩa không có vấn đề với dữ liệu đầu vào và dữ liệu đầu ra sau quá trình hash bởi nó luôn luôn thêm vào 128 bits. Sức mạnh của quá trình hashing là nó được thực hiện một chiều và không thể có phương thức nào có thể thực hiện ngược lại được để converts thông số hash thành dữ liệu ban đầu. Nếu một vài người có được các thông số hash của bạn, họ không thể lấy được dữ liệu ban đầu. Tuy nhiên đó không phải là phương thức mật mã không thể tấn công. Hashing có thể bị tấn cong bởi các phương thức đảo ngược hay birthday attack. Phương thức tấn công bình thường sử dụng đó là sử dụng các công cụ password­cracking. Hầu hết các hệ thống lưu trữ passwords trong dữ liệu accounts và được hashed (băm). Hashs không thể thực hiện ngược lại, bởi đó là một giải pháp bảo mật, có nghĩa không có công cụ nào có thể chuyển ngược lại một password được hash thành một password nguyên bản chưa được hash. Tuy nhiên một thuật toán nào cũng có những bất cập riêng, bằng việc sử dụng các phần mềm, password crackers chúng có thể phát hiện ra đoạn mã them vào dữ liệu ban đầu và chỉ cần xoá đoạn hash value đi là có thể truy cập bình thường. Dữ liệu Account thường không được mã hoá, và dữ liệu password thường được hash do đó hầu hết các công cụ crack password chỉ có thể xoá password đã được đặt cho user đó mà không thể view password đó. Thuật toán hashing thường được sử dụng:Secure Hash Algorithm (SHA­1) với ­ 160­bit hash valueMessage Digest 5 (MD5) với —128­bit hash valueMessage Digest 4 (MD4) với —128­bit hash valueMessage Digest 2 (MD2) với —128­bit hash value2. Symmetric – Mã hoá đối xứngMật mã đối xứng cũng được gọi là mật mã private key hay mật mã secret key. Nó sử dụng một chìa khoá duy nhất để mã hoá và giải mã dữ liệu (được thể hiện dưới hình dưới). Khi một mật mã đối sứng được sử dụng cho files trên một ổ cứng, user thực hiện mã hoá với một secret key. Khi một giao tiếp được sử dụng mã hoá đối xứng, hai giao tiếp sẽ chia sẻ nhau cùng một mật mã để mã hoá và giải mã gói tin.Ví dụ chúng ta thấy trong một file như bạn đặt password cho một file *.rar ai muốn mở phải có password (secret key). Khi giao tiếp giữa máy chủ RADIUS Server và RADIUS Client sẽ có chung một secret key mà bạn phải thiết lập.Ví dụ trong Internet đó là giao thức SSL sử dụng mật mã đối xứng. Trong thực tế mật mã đối xứng được dung để đảm bảo tính tối mật của dữ liệu. confidentialityMột hệ thống mã hoá đối xứng3. Asymmetric ­ Mật mã bất đối xứngMật mã bất đối xứng hay còn gọi là mã hoá sử dụng public key. Nó sử dụng một cặp key đó là public key và private key thể hiển hình dưới đây. Trong mỗi quá trình truyền thong tin sử dụng mật mã bất đối xứng chúng cần một cặp key duy nhất. Nó tạo ra khả năng có thể sử dụng linh hoạt và phát triển trong tương lai hơn là giải pháp mật mã đối xứng. Private key bạn cần phải dữ riêng và đảm bảo tính bảo mật và nó không truyền trên mạng. Public key được cung cấp miễn phí và được public cho mọi người.Một hệ thống mã hoá sử dụng mật mã bất đối xứng.Về việc sử dụng và quá trình truyền cụ thể tôi đã giới thiệu với các bạn trong một bài viết khá cụ thể bạn có thể truy cập vào địa chỉ:http://www.vnexperts.net/index.php?option=com_content&task=view&id=581&Itemid=1Nếu bạn sử dụng private key để mã hoá thì người nhận sẽ phải sử dụng public key của bạn để giải mã. Nếu bạn sử dụng public key của người nhận để mã hoá thì người nhận sẽ sử dụng private của họ để giải mã thong tin.Toàn bộ các quá trình truyền thong tin bạn có thể tham khảo tại đường link trên về phương thức hoạt động của phương thức mật mã bất đối xứng.Mật mã bất đối xứng hoạt động chậm hơn phương thức mật mã đối xứng, không phải nó mã hoá một khối lượng dữ liệu lớn. Nó thường đước sử dụng để bảo mật quá trình truyền key của mật mã đối xứng. Nó cung cấp bảo mật cho quá trình truyền thông tin bằng các dịch vụ: Authentication, Integrity, Protection, và nonrepudiation.Phương thức mật mã bất đối xứng sử dụng:­ Rivest Shamir Adleman (RSA)­ Diffie­Hellman­ Error Correcting Code (ECC)­ El Gamal­ Message MessageTổng kếtTrong bài viết này bạn biết về sử dụng hashing đảm bảo tính toàn vẹn của dữ liệu. Các tấn công hashing. Trong thực tế thong tin thường được hashing trước khi được mã hoá do đó tính bảo mật được tăng lên rất nhiều. Bạn cũng cần phải nắm được các phương thức mã hoá đối xứng và bất đối xứng chúng có ưu nhược điểm và sử dụng trong những trường hợp nào. Cuối cùng bạn phải biết các phương thức hashing, đối xứng, bất đối xứng hay sử dụng nhất....
  • 5
  • 1,236
  • 12
Các thuật toán tối ưu hóa trong bảo mật thông tin

Các thuật toán tối ưu hóa trong bảo mật thông tin

Thạc sĩ - Cao học

... của các hệ mã công khai. - Tìm hiểu các thuật toán xử lý số học đƣợc dùng trong các hệ mã. - Phát hiện các giải thuật tính toán cần tối ƣu hóa. - Thực hiện đƣa ra giải pháp tối ƣu hóa các ... hóa. 1.2 Lý thuyết độ phức tạp của thuật toán. 1.3 Các phép xử lý số học cơ bản – Cơ sở toán học của mật mã. Chƣơng 2: Các thuật toán xử lý số học trong các hệ mã thông dụng. 2.1 Giới thiệu ... tính toán đa thức. Ý tƣởng này sẽ đƣợc áp dụng trong phần nghiên cứu của để tài để xử lý cho các phép toán số học với số lớn trong các hệ mã hóa công khai. 1.2.2 Các bài toán khó tính toán...
  • 67
  • 1,132
  • 5
Nghiên cứu các thuật toán tạo bóng trong đồ hoạ ba chiều tương tác thời gian thực

Nghiên cứu các thuật toán tạo bóng trong đồ hoạ ba chiều tương tác thời gian thực

Thạc sĩ - Cao học

... phí tính toán của các thuật toán này thấp hơn nhiều so với các thuật toán tạo bóng thực do đó các thuật toán này rất khả thi trên các hệthống máy tính thông thường và áp dụng được trong các chương ... vào nghiên cứu các thuật toán tạo bóng trong các hệthống mang tính thời gian thựcTrong các hệ thống thời gian thực, chúng ta phải áp dụng các thuật toán tạobóng giả, các thuật toán này không ... năm2003 Thuật toán Shadow Mapping của Mark J.Kilgard năm 2000 Thuật toán Projective Shadow Mapping của Mark A.Deloura năm2000Mặc dù vậy, vì tính phức tạp khi cài đặt các thuật toán trong các...
  • 70
  • 888
  • 4
Các thuật toán tối ưu hóa trong bảo mật thông tin.pdf

Các thuật toán tối ưu hóa trong bảo mật thông tin.pdf

Thạc sĩ - Cao học

... M; 2.3.2 Thuật toán Garner Thuật toán Garner là một cải tiến hơn nữa về tốc độ giải mã so với thuật toán CRT vừa xét. Ở đây các bƣớc tính phần tử nghịch đảo đã bị loại bỏ, thuật toán này cũng ... cũng tìm số nguyên M từ các số Mp = M mod p và Mq = M mod q. Ngoài ra thuật toán còn có tham số đầu vào: p’ = p-1 mod q đƣợc tính toán trƣớc. Thuật toán 2.3: Thuật toán Garner Input Mp, ... hóa. 1.2 Lý thuyết độ phức tạp của thuật toán. 1.3 Các phép xử lý số học cơ bản – Cơ sở toán học của mật mã. Chƣơng 2: Các thuật toán xử lý số học trong các hệ mã thông dụng. 2.1 Giới thiệu...
  • 67
  • 938
  • 2

Xem thêm

Tìm thêm: xác định các mục tiêu của chương trình xác định các nguyên tắc biên soạn khảo sát các chuẩn giảng dạy tiếng nhật từ góc độ lí thuyết và thực tiễn khảo sát chương trình đào tạo gắn với các giáo trình cụ thể tiến hành xây dựng chương trình đào tạo dành cho đối tượng không chuyên ngữ tại việt nam điều tra đối với đối tượng giảng viên và đối tượng quản lí điều tra với đối tượng sinh viên học tiếng nhật không chuyên ngữ1 khảo sát các chương trình đào tạo theo những bộ giáo trình tiêu biểu nội dung cụ thể cho từng kĩ năng ở từng cấp độ xác định mức độ đáp ứng về văn hoá và chuyên môn trong ct phát huy những thành tựu công nghệ mới nhất được áp dụng vào công tác dạy và học ngoại ngữ mở máy động cơ rôto dây quấn các đặc tính của động cơ điện không đồng bộ hệ số công suất cosp fi p2 đặc tuyến hiệu suất h fi p2 đặc tuyến mômen quay m fi p2 đặc tuyến dòng điện stato i1 fi p2 sự cần thiết phải đầu tư xây dựng nhà máy từ bảng 3 1 ta thấy ngoài hai thành phần chủ yếu và chiếm tỷ lệ cao nhất là tinh bột và cacbonhydrat trong hạt gạo tẻ còn chứa đường cellulose hemicellulose chỉ tiêu chất lượng theo chất lượng phẩm chất sản phẩm khô từ gạo của bộ y tế năm 2008