Ra mắt hai series mới cực hot Trí tuệ nhân tạo A đến ZPython công cụ không thể thiếu khi nghiên cứu Data science, Machine learning.

Mã hóa công khai là gì?

Mã hóa là quá trình biến đổi một nội dung đọc được sang một nội dung khác không thể đọc được, đảm bảo khi lưu trữ hoặc truyền đi qua các hệ thống truyền tin không bị lộ thông tin. Mã hóa có từ rất lâu đời, ngay từ thời xa xưa con người đã có những cách thức khác nhau để truyền tải thông tin mã hóa. Trong các trận chiến thời cổ đại, con người đã dùng lửa với các ám hiệu khác nhau để truyền tin, đây chính là các hình thức sơ khai nhất của mã hóa. Các cách thức mã hóa đều phải có một bản quy ước hay còn gọi là khóa để giải mã một tín hiệu, khi bị lộ khóa giải mã, các thông tin mã hóa sẽ đọc được.

Trong các phim cổ trang, chúng ta cũng không ít lần gặp các trường hợp quân ta cử người trà trộn vào hàng ngũ địch để học được các quy tắc hay chính xác hơn là lấy được các khóa giải mã, do đó đọc được các thông tin địch truyền đi. Các nhà khoa học, toán học đã rất đau đầu với vấn đề làm sao để bảo vệ được khóa mã hóa, vì khóa này phải dùng cả ở hai đầu để mã hóa khi truyền tin và giải mã khi nhận tin. Năm 1874, trong cuốn sách "The Principles of Science" của William Stanley Jevons, tác giả đã ý tưởng sơ khai về cách mã hóa với hai khóa, một khóa để mã hóa và một khóa để giải mã tách biệt nhau. Phải đến những thập niên 70 của thế kỷ 20, các nhà khoa học cùng các tổ chức quân sự của Mỹ mới đặt nền móng bằng các tính toán toán học cho thuật toán mã hóa 2 khóa khác nhau.

Mã hóa công khai ra đời

Mã hóa công khai (Public-key Cryptography) sử dụng hai khóa khác nhau để mã hóa và giải mã thông tin, khóa sử dụng để mã hóa là khóa công khai (public key), còn khóa để giải mã là khóa bí mật (private key). Nếu ai đó lấy được khóa công khai cũng không thể giải mã được nội dung tin truyền đi nếu không có khóa bí mật.

Mô hình mã hóa công khai

Mã hóa công khai còn một tên gọi khác là mã hóa bất đối xứng (Asymmetric Encryption), như ở hình trên chúng ta thấy khóa công khai sẽ được công khai cho cả hai đầu cuối của đường truyền tin. Mỗi khi mã hóa nội dung truyền trên đường truyền sẽ sử dụng khóa công khai, còn khi giải mã sử dụng khóa bí mật, mỗi đầu truyền tin sẽ có một khóa bí mật riêng. ## Ứng dụng của Mã hóa công khai

Mã hóa công khai hiện là nền tảng của rất nhiều các thuật toán được áp dụng trong các giao thức bảo mật như RSA, ECC... Các thuật toán mã hóa công khai được áp dụng trong việc mã hóa các tài liệu truyền trên mạng, làm nền tảng cho các giao thức bảo mật, nền tảng của chữ ký số... Các ứng dụng trên web hiện đã phát triển rất nhanh và là xu hướng tất yếu của thời đại, đặc biệt khi ngày nay thương mại điện tử không còn là điều gì mới mẻ. Trong một giao dịch trực tuyến trong thương mại điện tử có rất nhiều các thông tin truyền nhận giữa người dùng và nhà cung cấp sản phẩm như: xác thực người dùng, thông tin giao dịch như thông tin tài khoản khách hàng, thông tin đơn hàng...

Việc sử dụng các thuật toán mã hóa, giao thức bảo mật trong các ứng dụng web trở lên phổ thông. Một trong những ứng dụng phổ biến nữa hiện nay là chữ ký số, trong thực tế khi các văn bản ký kết để văn bản có giá trị thì phải được ký và đóng dấu. Chữ ký và con dấu phải được đăng ký ở một tổ chức và tổ chức này có trách nhiệm chứng thực các văn bản đã ký và đóng dấu. Tuy nhiên, khi công nghệ thông tin phát triển, việc gửi các văn bản theo truyền thống gặp phải nhiều khó khăn như thời gian gửi lâu, tính bảo mật không cao, dễ bị thất lạc... chính vì vậy, văn bản điện tử ra đời giúp cho mọi thứ hoạt động đơn giản và hiệu quả hơn nhiều. Cũng từ đây chữ ký số được phát triển, khi một văn bản điện tử được áp dụng chữ ký số nó có giá trị không khác gì văn bản giấy được ký và đóng dấu. Chữ ký số cũng sử dụng các thuật toán mã hóa công khai để mã hóa và giải mã, giúp văn bản truyền đi trên mạng không thể bị lộ cũng như xác thực được người ký.

Mã hóa công khai không thể bị bẻ khóa?

Các khóa sử dụng trong mã hóa bất đối xứng (Mã hóa công khai) thường là 1024 hoặc 2048 bit, hiện nay các khóa nhỏ hơn 2048 bit đã không còn được sử dụng. Với các khóa 2048 bit, các mã hóa đảm bảo là duy nhất, người ta cũng đã chứng minh rằng phải mất đến 14 tỉ năm để giải mã một chứng chỉ mã hóa với khóa 2048 bit. Các thuật toán mã hóa công khai hiện đang được sử dụng rất nhiều trong các giao thức bảo mật như SSL/TLS, sử dụng trong các giao thức truyền nhận nội dung trên mạng như HTTPS... Bản thân All Laravel cũng đang sử dụng HTTPS với các chứng chỉ SSL được cài đặt.


CÁC BÀI VIẾT KHÁC

FirebirD

Đam mê Toán học, Lập trình. Sở thích chia sẻ kiến thức, Phim hài, Bóng đá, Cà phê sáng với bạn bè.

Laravel view xây dựng logic trong giao diện

HTTPS, chứng chỉ SSL là gì, hoạt động như thế nào?

0 Bình luận trong "Mã hóa công khai là gì?"

Thêm bình luận