Mã hóa là gì? Các thuật toán mã hóa

 Nguyễn Thị Hà    
Mã hóa là gì? Các thuật toán mã hóa
Rate this post

Mã hóa là gì? Các thuật toán mã hóa

1/Mã hóa là gì?

Mã hóa là gì? Mã hoá là một tiến trình biến đổi thông tin, sử dụng các thuật toán nhằm mục đích không cho người khác có thể nắm bắt được nếu thiếu một vốn thông số nhất định (key) để dịch ngược.

Đi kèm với mã hoá là giải mã.

Có rất nhiều loại thuật toán mã hóa cho dữ liệu máy tính, chúng được gọi tên theo thuật toán và có thể so sánh trực tiếp với nhau, ví dụ mã hóa 128-bit, Triple-DES, 2048-bit RSA.

Trong cùng một loại, dĩ nhiên một phép mã hóa 2048-bit RSA sẽ mạnh mẽ hơn phép mã hóa 1024-bit RSA.Nhưng như vậy không có nghĩa là một phép mã hoá với độ dài dãy bit lớn được xem là an toàn. Thử liên tưởng đến ngôi biệt thự của bạn, với chiếc cổng được khoá bằng ổ khoá 4 chân, mỗi chân như vậy có thể nằm trong 10 vị trí, ổ khóa chỉ mở được khi 4 chân được sắp theo mã khoá của chủ nhà, và để vượt qua, 1 tên trộm cần phải dùng tối đa 10.000 phép thử (brute-force attack).

Nhưng nếu tăng ổ khoá lên 10 chân, sẽ tạo nên 10 triệu khe cắm khóa hợp lệ, thì không ai đủ sự thông minh (hay sự ngu dốt) để mở chiếc khóa bằng cách tấn công thuật toán này. Họ có thể phá cửa sổ, hay thậm chí là phá chiếc cổng, giả danh chính quyền, thợ nước… để đột nhập vào căn nhà của bạn. Một ổ khoá tốt không thể chống lại những kiểu tấn công như thế được.

Điều đó cho thấy một thuật toán mã hoá cực mạnh sẽ chỉ hữu ít nếu được sử dụng ở đúng những nơi cần thiết, không phải lúc nào cũng là tối ưu. Cái cần bảo vệ ở trên chính là ngôi nhà của bạn chứ không phải là đặt một hàng rào bẫy và hi vọng kẻ trộm sẽ dính vào cái bẫy đó.

Với sự phát triển mạnh mẽ của mình, hầu hết các kênh thông tin đều lấy Internet làm nền tảng để phát triển. Điều tất yếu sẽ nảy sinh là vấn đề An toàn thông tin, một ngày nào đó, bạn bỗng nhận ra rằng, thông tin của bạn đang bị theo dõi.

Để vừa đảm bảo thông tin luôn kết nối, vừa đảm bảo yếu tố bảo mật của thông tin thì phương pháp tốt nhất là mã hoá thông tin.

Ngày nay việc mã hoá đã trở nên phổ cập, các quốc gia hay là các công ty lớn đều có chính sách phát triển công cụ mã hoá riêng biệt để bảo vệ cho chính thông tin của họ.

Trên thế giới hiện có rất nhiều các loại thuật toán, trong khuôn khổ bài báo cáo, chúng ta chỉ tìm hiểu về các thuật toán được ứng dụng phổ biến trong Internet.

Mã hóa là gì?

Mã hóa là gì?

Hiện tại, Tri thức cộng đồng đang cung cấp dịch vụ giá việt luận văn thuê viết luận án tiến sĩ thuê, khóa luận tốt nghiệp, đồ án tốt nghiệp, dịch vụ chạy SPSS,… chuyên nghiệp nhất thị trường. Nếu bạn không có thời gian hoàn thành bài luận, hãy liên hệ ngay cho chúng tôi nhé!

Mật mã hóa được sử dụng phổ biến để đảm bảo an toàn cho thông tin liên lạc. Vậy các thuộc tính được yêu cầu đối với mã hòa là gì?:

– Bí mật: Chỉ có người nhận đã xác thực có thể lấy ra được nội dung của thông tin chứa đựng trong dạng đã mật mã hóa của nó. Nói khác đi, nó không thể cho phép thu lượm được bất kỳ thông tin đáng kể nào về nội dung của thông điệp.

– Nguyên vẹn: Người nhận cần có khả năng xác định được thông tin có bị thay đổi trong quá trình truyền thông hay không.

– Xác thực: Người nhận cần có khả năng xác định người gửi và kiểm tra xem người gửi đó có thực sự gửi thông tin đi hay không.

2/ Các thuật toán mã hóa

a/ Mã hóa đối xứng

Mã hóa đối xứng

Mã hóa đối xứng

Nguyên lý cơ bản của hệ thống mã hóa khóa đối xứng được chỉ ra trong trên. Có thể thấy rằng bản chất của mã hoá đối xứng là cả phía thu và phía phát đều sử dụng cùng một khoá bí mật (SK), và thuật toán ở cả hai phía cũng đều giống nhau. Mã hoá đối xứng như trên dựa vào việc phân phối khóa một cách bảo mật giữa cả hai phía.

Nhưng thực tế là khóa chung đó lại phân phối tới tất cả mọi người trong mạng, và vấn đề “kênh bảo mật” đã làm đau đầu những nhà quản trị mạng. Điều nguy hiểm nhất là bất cứ ai chiếm được khoá trong quá trình phân phối cũng có toàn quyền truy nhập tới dữ liệu do khoá đó bảo vệ. Do đó, quá trình phân phối khóa phải trên “kênh bảo mật”, bất kể là kênh logic hay kênh vật lý.

b/ Mã hoá bất đối xứng

Ngược lại với mã hoá đối xứng, thuật toán bất đối xứng hoạt động theo ít nhất là hai khóa, hay chính xác hơn là một cặp khoá. Khoá sử dụng được biết đến như là khóa bí mật và khóa công khai và do đó có khái niệm mã hoá khoá công khai. Mỗi khoá được sử dụng để mã hoá hay giải mã, nhưng khác với thuật toán đối xứng, giá trị của khóa ở mỗi phía là khác nhau.

Mã hoá bất đối xứng

Mã hoá bất đối xứng

Trong hệ thống RSA, dữ liệu được mã hoá bằng khoá bí mật (KXu) và chỉ có thể giải mã được bằng khoá công khai của cặp khoá đó. Cặp khoá này được tạo ra cùng nhau và do đó có liên quan trực tiếp với nhau.

Mặc dù có quan hệ với nhau nhưng nếu biết hay truy nhập được khoá công khai thì cũng không thể tính toán được giá trị của khoá bí mật. Do đó, công khai khóa mã cũng không làm ảnh hưởng tới tính bảo mật của hệ thống, nó cũng chỉ như một địa chỉ thư tín còn khoá bí mật vẫn luôn được giữ kín. Bản chất của mã hoá khoá công khai RSA là bất cứ bản tin mật mã nào đều có thể được nhận thực nếu như nó được mã hoá bằng khoá bí mật còn giải mã bằng khóa công khai.

Từ đó, phía thu còn xác định được cả nguồn gốc của bản tin. Bất cứ người nào giữ khoá công khai đều có thể nghe trộm bản tin mật mã bằng cách tính toán với kho bí mật, không chỉ đảm bảo tính tin cậy của bản tin (trong một nhóm) mà còn được nhận thực, hay còn gọi là không thể từ chối, ví dụ như người gửi không thể từ chối rằng chính họ là tác giả của bản tin đó.

Nó hoàn toàn trái ngược với hoạt động của khoá đối xứng, trong đó bản tin mật mã được đảm bảo tính toàn vẹn giữa phía mã hoá và giải mã, nhưng bất kỳ ai có được khoá chung đều có thể phát bản tin và từ chối rằng chính mình đã phát nó, còn phía thu thì không thể biết được đâu là tác giả của bản tin đó.

Thuật toán đối xứng yêu cầu khả năng tính toán lớn hơn và do đó, tốc độ quá trình mã hoá chậm hơn so với mã hoá đối xứng. Đó cũng là trở ngại chính trong các hệ thống cho phép tỷ lệ lỗi lớn như trong truyền thông thoại.

Do đó, mã hoá khoá công khai không phù hợp với các bản tin có chiều dài thông thường, tuy nhiên khi kết hợp cả hai chế độ với nhau lại có thể đảm bảo tính nhận thực, tin cậy và toàn vẹn của bản tin. Nói chung, các ứng dụng sử dụng thuật toán bất đối xứng là:

  • Sử dụng một giá trị “băm” nhỏ làm chữ ký điện tử.
  • Mã hoá các khoá bí mật được sử dụng trong thuật toán đối xứng.
  • Thỏa thuận khóa mã bí mật giữa các phía trong truyền thông.

Bạn đã hiểu “mã hóa là gì” chưa? Hi vọng bài viết trên sẽ hữu ích với bạn!