0

họa thuật toán a

Tối ưu hóa thuật toán

Tối ưu hóa thuật toán

Kỹ thuật lập trình

... c a dãy tìm được! Ý tưởng đó thể hiện qua đoạn mã sau:int Findmax(int a[ ],int &dau,int &cuoi){dau=cuoi=luu=0;max =a[ 0];for(i=1;i<N;I++){< p> a[ i]+ =a[ i-1];if (a[ i]< ;A[ I] -A[ I-1]){< ... a[ ],int &dau,int &cuoi){dau=luu=cuoi=0;max=s =a[ 0];for(i=1;i<N;I++){< p> s+ =a[ i];if (s< ;A[ I]){< p> s =a[ i];dau=i;}//tìm tổng lớn nhấtif (s>max){max=s;cuoi=i;//cuối ... a[ i]+ =a[ i-1];if (a[ i]< ;A[ I] -A[ I-1]){< p> a[ i]- =a[ i-1];dau=i;}//tìm tổng lớn nhấtif (a[ i]>max){max =a[ i];cuoi=i;//cuối dãy luu=dau;//đầu dãy}}dau=luu;return max;}Cách làm trên quả...
  • 6
  • 2,656
  • 27
Song song hoá thuật toán Bames hut với OpenMP

Song song hoá thuật toán Bames hut với OpenMP

Công nghệ thông tin

... Thị Lan Phương 29{ x = x + 1; } THREAD 1: 10 LOAD A, (x address) 20 ADD A, 1 30 STORE A, (x address) { x = x + 1; } THREAD 2: 10 LOAD A, (x address) 20 ADD A, 1 30 STORE A, ... m a, mb: khối lượng c a hạt a, b tương ứng. • d: khoảng cách gi a hai hạt Song song h a thuật toán Barnes-Hut với OpenMP Lê Thị Lan Phương 40• actmax: độ dài lớn nhất c a danh ... h a Cấu trúc: #pragma omp parallel [clause [clause]…] <new_line> strutured block Trong đó clause có thể là: • private • shared • default • firstprivate • reduction • if (scalar_logical_expression)...
  • 61
  • 396
  • 0
Tìm hiểu tính toán song song hóa thuật toán và ứng dụng song song bài toán sắp xếp theo giỏ (bucket sort

Tìm hiểu tính toán song song hóa thuật toán và ứng dụng song song bài toán sắp xếp theo giỏ (bucket sort

Khoa học tự nhiên

... lýcount=0;local=(int*)malloc(sizeof(int)*n);//ghep mot cua mang thanh mot nhomfor(i=0; i<n; i++)if(array[i]<end&&array[i]>=start)local[count++]=array[i];//sap xep cac so trong ... MPI_Bcastsrand(time(NULL));if(rank==0){printf("Nhap vao so phan tu cua mang ");scanf("%d", &n);array = (int *)malloc(sizeof(int)*n);//cap phat bo nho dong cho mangprintf("Nhap vao gia tri ... nhomsort(local, count);//scan tat ca cac phan tuMPI_Scan(&count,&disp,1,MPI_INT,MPI_SUM,MPI_COMM_WORLD);//Master se tap hop va tinh toan ket quaif(rank==0)counters=(int*)malloc(sizeof(int)*p);MPI_Gather(&count,1,MPI_INT,counters,1,MPI_INT,0,MPI_COMM_WORLD);if(rank==0){displs=(int*)malloc(sizeof(int)*(p+1));displs[0]=0;}...
  • 15
  • 983
  • 1
Xây dựng và thiết kế chương trình minh họa thuật toán Dijkstra

Xây dựng và thiết kế chương trình minh họa thuật toán Dijkstra

Kỹ thuật lập trình

... java.awt.Dimension;import java.awt.Event;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics;import java.awt.Image;import java.awt.Point;class GraphCanvas extends Canvas implements Runnable ... 2l%ml-n2opackage Dijkstra3;import java.awt.*;import java.awt.Component;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import ... !YWeRSC$V2fZ`eg2W2^h%biZF`$jZ$VaL]^kU!"#$package Dijkstra3;import java.awt.BorderLayout;import java.awt.Choice;import java.awt.Event;import java.awt.GridLayout;import java.awt.Label;import...
  • 27
  • 647
  • 3
Tài liệu Ví dụ minh hoạ thuật toán ppt

Tài liệu Ví dụ minh hoạ thuật toán ppt

Cao đẳng - Đại học

... 2 Object-Centroid distance: Chúng ta tính toán khoảng cách gi a nhóm trọng tâm đến mỗi đối tượng. Sử dụng cách tính khoảng cách c a Euclidean. Sau đó ta đ a ra ma trận: C1 = (1,1) ... 1) Bước 1 Giá trị ban đầu c a các trọng tâm: Giả sử chúng ta sử dụng medicine A và medicine B như các trọng tâm ban đầu. Đ a vào C1, C2 biểu diễn toạ độ c a các trọng tâm đó là: C1= ... 0 1 1 A B C D  Ví dụ minh hoạ thuật toán Ví dụ như chúng ta có một vài đối tượng (4 kiểu c a thuốc) và mỗi đối tượng có hai thuộc tính hoặc đặc tính như biểu diễn theo bảng sau. Mục...
  • 7
  • 708
  • 0
thuật toán số hóa thông điệp MD5.docx

thuật toán số hóa thông điệp MD5.docx

Khoa học tự nhiên

... 12 2] [CDAB 2 17 3] [BCDA 3 22 4][ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8][ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12][ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 ... 19] [BCDA 0 20 20][ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24][ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28][ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 ... [ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56][ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60][ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]/*...
  • 3
  • 1,265
  • 6
Các thuật toán mã hoá

Các thuật toánhoá

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ọngCá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ọngCá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ọngCá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,237
  • 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

... thời gian chấp nhận đƣợc do không nắm đƣợc kh a riêng c a B. Kh a công khai và kh a riêng có quan hệ toán học với nhau theo ngh a từ kh a riêng có thể tính toán để suy ra đƣợc kh a công khai, ... tạp c a thuật toán Khi tiến hành chạy cùng một thuật toán trên nhiều máy tính với cấu hình khác nhau ta sẽ thu đƣợc thời gian thực hiện thuật toán khác nhau. Do đó ta không thể lấy thời gian ... c a hệ thống RSA d a trên 2 vấn đề c a toán học: bài toán phân tích ra th a số nguyên tố các số nguyên lớn và bài toán RSA. Nếu 2 bài toán trên là khó (không tìm đƣợc thuật toán hiệu quả để...
  • 67
  • 1,132
  • 5
Thủy vân cơ sở dữ liệu quan hệ dựa trên kỹ thuật tối ưu hoá áp dụng thuật toán tìm kiếm theo mẫu

Thủy vân cơ sở dữ liệu quan hệ dựa trên kỹ thuật tối ưu hoá áp dụng thuật toán tìm kiếm theo mẫu

Thạc sĩ - Cao học

... cận truyền thống d a vào độ dốc (gradient) không thể áp dụng được cho những bài toán như thế này. Có hai kỹ thuật để giải bài toán tối ưu h a này là thuật toán di truyền và kỹ thuật tìm kiếm theo ... sở dữ liệu quan hệ bằng kỹ thuật tối ưu áp dụng thuật toán tìm kiếm theo mẫu. Chương 3: Phát triển ứng dụng thuỷ vân cơ sở dữ liệu quan hệ d a trên kỹ thuật tối ưu áp dụng thuật toán tìm kiếm ... thông tin (Information hiding) Giấu tin bí mật (steganography) Nhúng thuỷ vân (Watermarking) Thuỷ vân bền vững (Robust Copyright marking) Thuỷ vân “dễ vỡ” (Fragile Watermarking) Thuỷ vân...
  • 69
  • 1,362
  • 2
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

... thực hiện nay, baogồm :o Thuật toán tạo bóng phẳng Planar Shadowo Thuật toán tạo bóng Shadow Volumeo Thuật toán Projective Shadow MappingKhoa CNTT - ÐH KHTN TP.HCMKhoa CNTT - ... TIN HỌC KH A 99-9- Thuật toán tạo bóng trên các mặt phẳng (Planar Shadow) c a Schilling, Andreas, G.Knittel và Wolfgang năm 1996 Thuật toán vùng bóng (shadow volume) c a Heidmann năm 1991 ... đồ h a ba chiều mang tính tương tác, thời gian thực. Từ phần này c a luậnvăn khi nói về thuật toán tạo bóng, xin hiểu là thuật toán tạo bóng giảCác thuật toán tạo bóng (giả) trong đồ h a ba...
  • 70
  • 888
  • 4

Xem thêm