Nội dung của bài học học sẽ giúp các em biết được các vấn đề thường phải giải quyết trong một bài toán quản lí và sự cần thiết phải có CSDL, vai trò của CSDL trong học tập và cuộc sống, các mức thể hiện CSDL và các yêu cầu cơ bản đối với hệ CSDL. Ở dưới phần nội dung lý thuyết có hai bài tập minh họa để các em củng cố lại bài học.
Hình 1. Ví dụ hồ sơ lớp
Trong tạo lập hồ sơ cần thực hiện các công việc như sau:
Gồm các công việc như sau:
Có 3 mức thể hiện của CSDL:
Hình 2. Các mức thể hiện của CSDL
Hình 2.1. Mức vật lý của CSDL
Ví dụ: Trong CSDL hs các tệp được lưu trữ trên vùng nhớ nào, dữ liệu về mỗi học sinh chiếm bao nhiêu byte?
Hình 2.2. Mức khái niệm của CSDL
Hãy phân biệt cơ sở dữ liệu với hệ quản trị cơ sở dữ liệu
Gợi ý trả lời:
Giả sử phải xây dựng một CSDL để quản lí mượn/trả sách ở thư viện, theo em cần phải lưu trữ những thông tin gì? Hãy cho biết những việc phải làm để đáp ứng nhu cầu quản lí của người thủ thư.
Sau khi học xong bài này, các em cần nắm vững các nội dung trọn tâm:
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 12 Bài 1 cực hay có đáp án và lời giải chi tiết.
Hãy chọn đúng các công việc cần làm khi muốn tạo hồ sơ
Khi ta sắp xếp các hồ sơ theo một trình tự nào đó thì công việc này thuộc vào nhóm công việc gì?
Trong cơ sở dữ liệu quản lí học sinh, khi một học sinh chuyển qua trường khác thì ta cần làm thao tác nào?
Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 12 Bài 1để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Bài tập 1 trang 16 SGK Tin học 12
Bài tập 2 trang 16 SGK Tin học 12
Bài tập 3 trang 16 SGK Tin học 12
Bài tập 4 trang 16 SGK Tin học 12
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học DapAnHay sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 12 DapAnHay
Hãy chọn đúng các công việc cần làm khi muốn tạo hồ sơ
Khi ta sắp xếp các hồ sơ theo một trình tự nào đó thì công việc này thuộc vào nhóm công việc gì?
Trong cơ sở dữ liệu quản lí học sinh, khi một học sinh chuyển qua trường khác thì ta cần làm thao tác nào?
Mục đích cuối cùng của việc tạo lập, cập nhật, khai thác hồ sơ là gì?
Một cơ sở dữ liệu là một tập hợp các …(1)… có liên quan với nhau, chứa thông tin của một tổ chức nào đó, được lưu trữ trên các …(2)… để đáp ứng nhu cầu khai thác thông tin của nhiều người dùng với nhiều mục đích khác nhau.
Phần mềm cung cấp một môi trường thuận lợi và hiệu quả để tạo lập, lưu trữ và khai thác thông tin của CSDL được gọi là?
Người ta thường dùng thuật ngữ hệ cơ sở dữ liệu để chỉ một …(1)… cùng với …(2)… quản trị và khai thác CSDL nào đó.
Hãy chọn đúng tên các mức thể hiện của cơ sở dữ liệu, có các mức là:
Đối với người dùng thì CSDL được thể hiện ở mức nào?
Đối với người quản trị hệ CSDL thì CSDL được thể hiện ở mức nào?
Nêu một ứng dụng CSDL của một số tổ chức mà em biết.
Hãy phân biệt cơ sở dữ liệu với hệ quản trị cơ sở dữ liệu.
Giả sử phải xây dựng một CSDL để quản lí mượn/ trả sách cho thư viện. Theo em, cần phải lưu trữ những thông tin gì? Hãy cho biết những việc phải làm để đáp ứng nhu cầu quản lí của người thủ thư?
Hãy nêu ví dụ minh họa một vài yêu cầu cơ bản đối với hệ CSDL.
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
Câu trả lời của bạn
Câu trả lời của bạn
Câu trả lời của bạn
Câu trả lời của bạn
Câu trả lời của bạn
Câu trả lời của bạn
khái niệm hệ cơ sở dữ liệu là gì
Câu trả lời của bạn
CSDL là một tập hợp có cấu trúc của những Dữ liệu có liên quan với nhau được lưu trữ trong máy tính (bảng chấm công nhân viên, danh sách các đề án, niên giám điện thoại…). Một CSDL được thiết kế, xây dựng và lưu trữ với một mục đích xác định như phục vụ lưu trữ, truy xuất dữ liệu cho các ứng dụng hay người dùng.
Hệ Quản Trị Cơ Sở Dữ Liệu Là Gì
Bất cứ cơ sở dữ liệu nào sau khi được tạo ra cũng cần được lưu trữ lại. Quá trình lưu cơ sở dữ liệu này được thực hiện qua việc sử dụng hệ quản trị cơ sở dữ liệu. Hệ quản trị cơ sở dữ liệu là chương trình phần mềm giúp thực hiện việc lưu trữ cơ sở dữ liệu. Hệ quản trị trị cơ sở dữ liệu khi lưu trữ cơ sở dữ liệu cần đảm bảo được được tính cấu trúc trong cơ sở dữ liệu và ngoài ra cần phải hỗ trợ việc đọc, chỉnh sửa, thêm và xóa dữ liệu trên cơ sở dữ liệu một cách dễ dàng.
Như ở ví dụ trên chúng ta có thể lưu danh sách sinh viên này trên một bảng tính Excel hoặc một tập tin CSV. (CSV là viết tắt của cụm từ comma separated vlue, là một loại cấu trúc tập tin đơn giản sử dụng dấu phảy (,) để phân biệt giữa các trường dữ liệu). Tuy nhiên cả Excel và CSV không được coi là hệ quản trị cơ sở dữ liệu vì chúng không hỗ trợ việc đọc, xóa và chỉnh sửa thông tin một cách dễ dàng. Lấy ví dụ nếu bạn muốn đếm xem có bao nhiêu sinh viên có ngày sinh nhật trước ngày 20/09/1988 thì việc này rất khó thực hiện trên cả tập tin Excel và CSV.
Các hệ quản trị cơ sở dữ liệu phổ biến hiện này bao gồm: Microsoft Access, MySQL, Oracle, PostgreSQL, SQL Server...
Việc sử dụng các phần mềm (hệ quản trị cơ sở dữ liệu) này sẽ giúp các nhà quản trị hệ thống dễ dàng thực hiện các thao tác như tìm kiếm, lọc, xóa, chỉnh sửa hay tạo mới dữ liệu trên cơ sở dữ liệu. Để làm được điều này trên các hệ quản trị cơ sở dữ liệu các nhà quản trị hệ thống thường sử dụng ngôn ngữ truy vấn mang tính cấu trúc: Structured Query Language hay SQL.
Cơ sở dữ liệu là một tập hợp các dữ liệu có tổ chức, thường được lưu trữ và truy cập điện tử từ hệ thống máy tính. Khi cơ sở dữ liệu phức tạp hơn, chúng thường được phát triển bằng cách sử dụng các kỹ thuật thiết kế và mô hình hóa chính thức.
Hệ quản lý cơ sở dữ liệu (DBMS) là phần mềm tương tác với người dùng cuối, ứng dụng và chính cơ sở dữ liệu để thu thập và phân tích dữ liệu. Phần mềm DBMS bao gồm các tiện ích cốt lõi được cung cấp để quản trị cơ sở dữ liệu. Tổng cộng của cơ sở dữ liệu, DBMS và các ứng dụng liên quan có thể được gọi là "hệ thống cơ sở dữ liệu". Thông thường thuật ngữ "cơ sở dữ liệu" cũng được sử dụng để nói đến bất kỳ DBMS, hệ thống cơ sở dữ liệu hoặc ứng dụng nào được liên kết với cơ sở dữ liệu.
- CSDL là một tập hợp có cấu trúc của những Dữ liệu có liên quan với nhau được lưu trữ trong máy tính (bảng chấm công nhân viên, danh sách các đề án, niên giám điện thoại…). Một CSDL được thiết kế, xây dựng và lưu trữ với một mục đích xác định như phục vụ lưu trữ, truy xuất dữ liệu cho các ứng dụng hay người dùng.
Một vật dao động điều hoà với phương trình ly độ có dạng x=Acos(2πt/T + φ), t tính theo đơn vị giây. Ở thời điểm t1 thì ly độ là x1 ; ở thời điểm t2 = t1 + ( 2k + 1 )xT/2 ( k là số nguyên thì ly độ là x2. Kết luận đúng là
A.x2+x1=0 B.x2 + x1=A
Câu trả lời của bạn
Cái này phải hỏi bên mảng Vật Lí hay sao chứ hỏi bên này :D
So sánh giống và khác nhau giữa cơ sở dữ liệu và quản trị cơ sở dữ liệu
Câu trả lời của bạn
Phân biệt CSDL và hệ quản trị CSDL: CSDL: là một tập hợp các dữ liệu có liên quan với nhau được lưu vào máy. Ví dụ: bảng “ Hồ sơ học sinh” là CSDL được lưu dưới dạng bảng biểu. Hệ QTCSDL: là phần mềm để tạo lập, lưu trữ, tìm kiếm,… thông tin của CSDL Ví dụ: Muốn biết những học sinh có “ điểm trung bình” các môn > 8.0. Do đó, ta phải dùng hệ QTCSDL timg kiếm trên bảng “ Hồ sơ học sinh”
Cơ Sở Dữ Liệu Là Gì
Cơ sở dữ liệu là tập hợp các dữ liệu được tổ chức theo một cấu trúc nhất định để có thể dễ dàng quản lý (đọc, thêm, xóa, sửa dữ liệu).
Ví dụ: Một danh sách sinh viên của một trường với 5 trường dữ liệu là họ và tên sinh viên, năm sinh, mã số sinh viên, lớp học và khóa học được coi là một cơ sở dữ liệu.
Sự khác biệt cơ bản giữa cơ sở dữ liệu và dữ liệu thông thường đó là tính cấu trúc sắp xếp có hệ thống. Dữ liệu không thôi có thể là bất cứ thông tin nào chưa được sắp xếp hay cấu trúc theo một trật tự cụ thể ví dụ văn bản trên một file được coi là dữ liệu, hay dữ liệu trên một video hay tập tin.
Ngược lại với cữ liệu, cơ sở dữ liệu bao gồm dữ liệu dược cấu trúc một cách rõ ràng. Một tập hợp dữ liệu không có cấu trúc hệ thống nhất định không được coi là một cơ sở dữ liệu.
Hệ Quản Trị Cơ Sở Dữ Liệu Là Gì
Bất cứ cơ sở dữ liệu nào sau khi được tạo ra cũng cần được lưu trữ lại. Quá trình lưu cơ sở dữ liệu này được thực hiện qua việc sử dụng hệ quản trị cơ sở dữ liệu. Hệ quản trị cơ sở dữ liệu là chương trình phần mềm giúp thực hiện việc lưu trữ cơ sở dữ liệu. Hệ quản trị trị cơ sở dữ liệu khi lưu trữ cơ sở dữ liệu cần đảm bảo được được tính cấu trúc trong cơ sở dữ liệu và ngoài ra cần phải hỗ trợ việc đọc, chỉnh sửa, thêm và xóa dữ liệu trên cơ sở dữ liệu một cách dễ dàng.
Như ở ví dụ trên chúng ta có thể lưu danh sách sinh viên này trên một bảng tính Excel hoặc một tập tin CSV. (CSV là viết tắt của cụm từ comma separated vlue, là một loại cấu trúc tập tin đơn giản sử dụng dấu phảy (,) để phân biệt giữa các trường dữ liệu). Tuy nhiên cả Excel và CSV không được coi là hệ quản trị cơ sở dữ liệu vì chúng không hỗ trợ việc đọc, xóa và chỉnh sửa thông tin một cách dễ dàng. Lấy ví dụ nếu bạn muốn đếm xem có bao nhiêu sinh viên có ngày sinh nhật trước ngày 20/09/1988 thì việc này rất khó thực hiện trên cả tập tin Excel và CSV.
Các hệ quản trị cơ sở dữ liệu phổ biến hiện này bao gồm: Microsoft Access, MySQL, Oracle, PostgreSQL, SQL Server...
Việc sử dụng các phần mềm (hệ quản trị cơ sở dữ liệu) này sẽ giúp các nhà quản trị hệ thống dễ dàng thực hiện các thao tác như tìm kiếm, lọc, xóa, chỉnh sửa hay tạo mới dữ liệu trên cơ sở dữ liệu. Để làm được điều này trên các hệ quản trị cơ sở dữ liệu các nhà quản trị hệ thống thường sử dụng ngôn ngữ truy vấn mang tính cấu trúc: Structured Query Language hay SQL.
Hãy phân biệt CSDL với hệ quản trị CSDL?
Trả lời:
Phân biệt CSDL và hệ quản trị CSDL:
CSDL: là một tập hợp các dữ liệu có liên quan với nhau được lưu vào máy.
Ví dụ: bảng “ Hồ sơ học sinh” là CSDL được lưu dưới dạng bảng biểu.
Hệ QTCSDL: là phần mềm để tạo lập, lưu trữ, tìm kiếm,… thông tin của CSDL
Ví dụ: Muốn biết những học sinh có “ điểm trung bình” các môn > 8.0. Do đó, ta phải dùng hệ QTCSDL timg kiếm trên bảng “ Hồ sơ học sinh”
Xem thêm tại: https://DapAnHay/cau-2-trang-16-sach-giao-khoa-sgk-tin-hoc-12-c154a28403.html#ixzz5pVsL1CHC
-Cơ sở dữ liệu là một bộ sưu tập các tác nghiệp được lưu trữ lại và được các hệ ứng dụng của một cơ quan,xí nghiệp cụ thể nào đó sử dụng.
-Hệ quản trị cơ sở dữ liệu là một hệ thống phần mềm cho phép tạo lập cơ sở dữ liệu và điều khiển mọi truy nhập đối với cơ sở dữ liệu đó.
An toàn thông tin là?
Câu trả lời của bạn
An toàn thông tin là sự bảo vệ thông tin và các hệ thống thông tin tránh bị truy nhập, sử dụng, tiết lộ, gián đoạn, sửa đổi hoặc phá hoại trái phép nhằm bảo đảm tính nguyên vẹn, tính bảo mật và tính khả dụng của thông tin.
An toàn thông tin là hành động ngăn cản, phòng ngừa sự sử dụng, truy cập, tiết lộ, chia sẻ, phát tán, ghi lại hoặc phá hủy thông tin chưa có sự cho phép.
Ngày nay vấn đề an toàn thông tin được xem là một trong những quan tâm hàng đầu của xã hội, có ảnh hưởng rất nhiều đến hầu hết các ngành khoa học tự nhiên, kỹ thuật, khoa học xã hội và kinh tế.
Đáp án:An toàn thông tin là hành động ngăn cản, phòng ngừa sự sử dụng, truy cập, tiết lộ, chia sẻ, phát tán, ghi lại hoặc phá hủy thông tin chưa có sự cho phép.
"Là sự bảo toàn của việc bảo mật, toàn vẹn và tính sẵn có của thông tin: Chú ý: Những đặc tính khác như: xác thực, sự tự chịu trách nhiệm với thông tin, không thể trối cãi và độ tin cậy cũng có thể liên quan tới định nghĩa"
Quyền sở hữu bản quyền cấp cho chủ sở hữu quyền duy nhất để sử dụng tác phẩm, với một số trường hợp ngoại lệ. Khi một người tạo tác phẩm gốc, cố định trong một môi trường hữu hình, họ nghiễm nhiên sở hữu bản quyền đối với tác phẩm đó.
An toàn thông tin là sự bảo vệ thông tin và các hệ thống thông tin tránh bị truy nhập, sử dụng, tiết lộ, gián đoạn, sửa đổi hoặc phá hoại trái phép nhằm bảo đảm tính nguyên vẹn, tính bảo mật và tính khả dụng của thông tin.
An toàn thông tin là hành động ngăn cản, phòng ngừa sự sử dụng, truy cập, tiết lộ, chia sẻ, phát tán, ghi lại hoặt phá hủy thông tin chưa có sự cho phép.
Bản quyền là?
Câu trả lời của bạn
Quyền sở hữu bản quyền cấp cho chủ sở hữu quyền duy nhất để sử dụng tác phẩm, với một số trường hợp ngoại lệ. Khi một người tạo tác phẩm gốc, cố định trong một môi trường hữu hình, họ nghiễm nhiên sở hữu bản quyền đối với tác phẩm đó.
Quyền sở hữu bản quyền cấp cho chủ sở hữu quyền duy nhất để sử dụng tác phẩm, với một số trường hợp ngoại lệ. Khi một người tạo tác phẩm gốc, cố định trong một môi trường hữu hình, họ nghiễm nhiên sở hữu bản quyền đối với tác phẩm đó.
Nhiều loại tác phẩm có đủ điều kiện để bảo vệ bản quyền, ví dụ:
Ở hầu hết các quốc gia, bản quyền là quyền hợp pháp bảo vệ tác phẩm gốc của tác giả. Thông thường, nếu bạn tạo một trong các tác phẩm đó, bạn sẽ có bản quyền từ thời điểm tạo tác phẩm.
là Quyền sở hữu bản quyền cấp cho chủ sở hữu quyền duy nhất để sử dụng tác phẩm, với một số trường hợp ngoại lệ. Khi một người tạo tác phẩm gốc, cố định trong một môi trường hữu hình, họ nghiễm nhiên sở hữu bản quyền đối với tác phẩm đó.
Bản quyền là bản quyền
Quyền sở hữu bản quyền cấp cho chủ sở hữu quyền duy nhất để sử dụng tác phẩm, với một số trường hợp ngoại lệ. Khi một người tạo tác phẩm gốc, cố định trong một môi trường hữu hình, họ nghiễm nhiên sở hữu bản quyền đối với tác phẩm đó.
Quyền sở hữu bản quyền cấp cho chủ sở hữu quyền duy nhất để sử dụng tác phẩm, với một số trường hợp ngoại lệ. Khi một người tạo tác phẩm gốc, cố định trong một môi trường hữu hình, họ nghiễm nhiên sở hữu bản quyền đối với tác phẩm đó.
Nhiều loại tác phẩm có đủ điều kiện để bảo vệ bản quyền, ví dụ:
Quyền tác giả hay tác quyền hoặc bản quyền là độc quyền của một tác giả cho tác phẩm của người này
hãy nêu các phuơng pháp mã hóa thông tin . cho ví dụ
Câu trả lời của bạn
Mã hóa chủ yếu là để dữ liệu của chúng ta an toàn hơn, tránh sự soi mói tò mò của những kẻ không phận sự, hiện nay có 4 loại mã hóa thường được sử dụng và ứng dụng của mã hóa trong đời sống thực tế.
Trong ngành mật mã học, mã hóa là quá trình dùng để biến thông tin từ dạng này sang dạng khác và ngăn những người không phận sự tiếp cận vào thông tin đó. Bản thân việc mã hóa không ngăn chặn việc thông tin bị đánh cắp, có điều thông tin đó lấy về cũng không xài được, không đọc được hay hiểu được vì đã được làm biến dạng đi rồi.
Ví dụ:: bạn có thư tỏ tình muốn gửi cho cô đồng nghiệp ngồi ở phòng bên, nhưng ngặt cái phòng bên có rất nhiều người có thể nhìn thấy bức thư đó trước cả cô gái bạn thích. Ngay cả khi bạn đã giao thư tận tay cho cô ấy rồi thì vẫn có khả năng những người kia sẽ bới móc lại bức thư ra mà đọc. Vì thế để việc tỏ tình diễn ra an toàn và bí mật, bạn mã hóa bức thư tỏ tình theo cách mà chỉ bạn và cô gái kia hiểu, những người khác nhìn vào chỉ thấy một đống kí tự loằng ngoằng, rối rắm.
Mã hóa sẽ mang lại tính an toàn cao hơn cho thông tin, đặc biệt là trong thời đại Internet ngày nay, khi mà thông tin phải đi qua nhiều trạm trung chuyển trước khi đến được đích. Nếu không có mã hóa, khả năng thông tin của bạn sẽ bị ai đó xem trộm trong quá trình truyền tải rồi lợi dụng để làm việc xấu là hoàn toàn hiện hữu.
Thử nghĩ đến việc bạn đang gửi tài liệu mật cho đồng nghiệp ở một thành phố khác, nếu bạn không mã hóa tài liệu đó thì có thể đối thủ cạnh tranh sẽ thấy được kế hoạch kinh doanh bí mật của công ty bạn và làm bạn mất đi doanh thu, thị trường.
Về lý thuyết, bất kì thông điệp mã hóa nào cũng có thể bị giải mã mà không cần biết về thuật toán hoặc các khóa mã hóa (sẽ nói thêm ở bên dưới), vấn đề là mất bao lâu và nguồn lực tính toán cần thiết là như thế nào.
Có những lúc để giải mã một tài liệu phải cần đến cả một siêu máy tính chạy liên tục 24 giờ mỗi ngày, 7 ngày mỗi tuần, 365 ngày một năm. Khi đó thì thông tin giải mã ra không còn giá trị nữa nên không đáng để bỏ công sức, nguồn lực vào chuyện đó. Còn nếu đã biết về thuật toán hoặc khóa mã hóa thì người nhận có thể nhanh chóng giải mã trong tích tắc và không gặp bất kì trở ngại nào.
Hiện có 4 biện pháp mã hoá dữ liệu thông dụng:
Mã hoá cổ điển là cách đơn giản nhất, tồn lại lâu nhất trên thế giới và không cần khóa bảo mật, chỉ cần người gửi và người nhận cùng biết về thuật toán này là được.
Ví dụ: nếu chúng ta dùng thuật toán đổi kí tự trong câu văn thành kí tự liền kề trong bảng chữ cái thì chữ “Tinh tế” sẽ biến thành “Ujoi uf”. Người nhận khi nhận được chữ “Ujoi uf” thì chỉ việc dịch ngược lại là xong.
Tuy nhiên, giải pháp mã hóa này được xem là không an toàn, vì nếu một người thứ ba biết được thuật toán thì xem như thông tin không còn bảo mật nữa. Việc giữ bí mật thuật toán trở nên rất quan trọng, và không phải ai cũng có thể giữ bí mật đó một cách trọn vẹn. Có khả năng người đó sẽ rò rỉ ra, hoặc có ai đó ngồi giải ra thuật toán thì xem như chúng ta thua cuộc.
Phương pháp này dùng để mã hóa những thứ không cần dịch lại nguyên bản gốc. Ví dụ, khi bạn đăng nhập vào Tinh tế, mật khẩu mà bạn nhập sẽ được chuyển thành một chuỗi dài các kí tự bằng một thứ gọi là hash function (tạm dịch: hàm băm).
Chuỗi này sẽ được lưu vào cơ sở dữ liệu, chứ không lưu mật khẩu thô của bạn nhằm tăng tính bảo mật. Lỡ hacker có trộm dữ liệu thì cũng chỉ thấy những thứ như FIiyXYB547bhvyuuUIbZ chứ không biết password thật của bạn là gì.
Mỗi lần bạn đăng nhập, hash function sẽ “băm” password thật của bạn thành chuỗi kí tự rồi so sánh nó với cái trong cơ sở dữ liệu, nếu khớp thì đăng nhập tiếp, không thì báo lỗi. Chúng ta không có nhu cầu dịch ngược chuỗi nói trên ra lại thành password thật để làm gì cả.
Nói thêm vềhash function , nhiệm vụ của nó là chuyển một chuỗi có độ dài bất kì thành chuỗi kí tự có độ dài cố định. Ví dụ, nếu bạn quy định chuỗi kí tự sau khi “băm” sẽ dài 10 kí tự thì dù đầu vào của bạn có bao nhiêu chữ đi nữa thì kết quả nhận được sẽ luôn là 10 và chỉ 10 kí tự mà thôi.
Đặc điểm của hash function là trong cùng 1 điều kiện, dữ liệu đầu vào như nhau thì kết quả sau khi băm cũng sẽ y hệt như nhau. Nếu chỉ đổi một chút xíu thôi, có khi chỉ là 1 kí tự nhỏ thì chuỗi kết quả sẽ khác hoàn toàn.
Cũng vì vậy mà người ta dùng hash function để kiểm tra tính toàn vệ
Có rất nhiều loại phương pháp mã hóa khác nhau, mỗi loại có những ưu và nhược điểm riêng. Thông thường phương pháp mã hóa dữ liệu được phân chia thành 4 loại chính:
Mã hóa cổ điển
Mã hóa một chiều
Mã hóa đối xứng
Mã hóa bất đối xứng
Tìm hiểu sâu về các loại mã hóa:
Mã hóa cổ điển
Đây là phương pháp mã hóa đầu tiên, và cố xưa nhất, và hiện nay rất ít được dùng đến so với các phương pháp khác. Ý tưởng của phương pháp này rất đơn giản, bên A mã hóa thông tin bằng thuật toán mã hóa cổ điển, và bên B giải mã thông tin, dựa vào thuật toán của bên A, mà không dùng đến bất kì key nào. Do đó, độ an toàn của thuật toán sẽ chỉ dựa vào độ bí mật của thuật toán, vì chỉ cần ta biết được thuật toán mã hóa, ta sẽ có thể giải mã được thông tin.
Mã hóa đối xứng
Mã hóa đối xứng là phương pháp mã hóa mà key mã hóa và key giải mã là như nhau (Sử dụng cùng một secret key để mã hóa và giải mã). Đây là phương pháp thông dụng nhất hiện nay dùng để mã hóa dữ liệu truyền nhận giữa hai bên. Vì chỉ cần có secret key là có thể giải mã được, nên bên gửi và bên nhận cần làm một cách nào đó để cùng thống nhất về secret key.
Để thực hiện mã hóa thông tin giữa hai bên thì:
Đầu tiên bên gửi và bên nhận bằng cách nào đó sẽ phải thóa thuận secret key (khóa bí mật) được dùng để mã hóa và giải mã. Vì chỉ cần biết được secret key này thì bên thứ ba có thể giải mã được thông tin, nên thông tin này cần được bí mật truyền đi (bảo vệ theo một cách nào đó).
Sau đó bên gửi sẽ dùng một thuật toán mã hóa với secret key tương ứng để mã hóa dữ liệu sắp được truyền đi. Khi bên nhận nhận được sẽ dùng chính secret key đó để giải mã dữ liệu.
Vấn đề lớn nhất của phương pháp mã hóa đối xứng là làm sao để “thỏa thuận” secret key giữa bên gửi và bên nhận, vì nếu truyền secret key từ bên gửi sang bên nhận mà không dùng một phương pháp bảo vệ nào thì bên thứ ba cũng có thể dễ dàng lấy được secret key này.
Các thuật toán mã hóa đối xứng thường gặp: DES, AES…
Mã hóa bất đối xứng
Mã hóa bất đối xứng là phương pháp mã hóa mà trong đó key mã hóa và key giải mã khác nhau. Nghĩa là key ta sử dụng để mã hóa dữ liệu sẽ khác với key ta dùng để giải mã dữ liệu. Tất cả mọi người đều có thể biết được public key, và có thể dùng public key này để mã hóa thông tin. Nhưng chỉ có người nhận mới nắm giữ private key, nên chỉ có người nhận mới có thể giải mã được thông tin.
Để thực hiện mã hóa bất đối xứng thì:
Bên nhận sẽ tạo ra một gặp khóa (public key và private key). Bên nhận sẽ dữ lại private key và truyền cho bên gửi public key. Vì public key này là công khai nên có thể truyền tự do mà không cần bảo mật.
Bên gửi trước khi gửi dữ liệu sẽ mã hóa dữ liệu bằng thuật toán mã hóa bất đối xứng với key là public key từ bên nhận.
Bên nhận sẽ giải mã dữ liệu nhận được bằng thuật toán được sử dụng ở bên gửi, với key giải mã là private key.
Điểm yếu lớn nhất của mã hóa bất đối xứng là tốc độ mã hóa và giải mã rất chậm so với mã hóa đối xứng, nếu dùng mã hóa bất đối xứng để mã hóa dữ liệu truyền – nhận giữa hai bên thì sẽ tốn rất nhiều chi phí.
Do đó, ứng dụng chỉnh của mã hóa bất đối xứng là dùng để bảo mật secret key cho mã hóa đối xứng: Ta sẽ dùng phương pháp mã hóa bất đối xứng để truyền secret key của bên gửi cho bên nhận. Và hai bên sẽ dùng secret key này để trao đổi thông tin bằng phương pháp mã hóa đối xứng.
Thuật toán mã hóa bất đối xứng thường thấy: RSA.
Mã hóa một chiều
Đôi khi ta chỉ cần mã hóa thông tin chứ không cần giải mã thông tin, khi đó ta sẽ dùng đến phương pháp mã hóa một chiều (Chỉ có thể mã hóa chứ không thể giải mã). Thông thường phương pháp mã hóa một chiều sử dụng một hàm băm (hash function) để biến một chuỗi thông tin thành một chuỗi hash có độ dài nhất định. Ta không có bất kì cách nào để khôi phục (hay giải mã) chuỗi hash về lại chuỗi thông tin ban đầu. Đặc điểm của hash function là khi thực hiên băm hai chuỗi dữ liệu như nhau, dù trong hoàn cảnh nào thì nó cũng cùng cho ra một chuỗi hash duy nhất có độ dài nhất định và thường nhỏ hơn rất nhiều so với chuỗi gốc, và hai chuỗi thông tin bất kì dù khác nhau rất ít cũng sẽ cho ra chuỗi hash khác nhau rất nhiều. Do đó hash function thường được sử dụng để kiểm tra tính toàn vẹn của dữ liệu.
Thuật toán mã hóa một chiều (hàm băm) mà ta thường gặp nhất là MD5 và SHA.
Ta có thể phân chia các phương pháp mã hóa thành 4 loại chính:
Mã hóa cổ điển
Đây là phương pháp mã hóa đầu tiên, và cố xưa nhất, và hiện nay rất ít được dùng đến so với các phương pháp khác. Ý tưởng của phương pháp này rất đơn giản, bên A mã hóa thông tin bằng thuật toán mã hóa cổ điển, và bên B giải mã thông tin, dựa vào thuật toán của bên A, mà không dùng đến bất kì key nào. Do đó, độ an toàn của thuật toán sẽ chỉ dựa vào độ bí mật của thuật toán, vì chỉ cần ta biết được thuật toán mã hóa, ta sẽ có thể giải mã được thông tin.
Một ví dụ về phương pháp mã hóa cổ điển: Giả sử bạn mã hóa bằng cách thay đổi một kí tự trong chuỗi cần mã hóa thành kí tự liền kề (“Di hoc ve” thành “Ek ipd xg”). Thì bất cứ người nào, chỉ cần biết cách bạn mã hóa, đều có thể giải mã được.
Mã hóa một chiều
Đôi khi ta chỉ cần mã hóa thông tin chứ không cần giải mã thông tin, khi đó ta sẽ dùng đến phương pháp mã hóa một chiều (Chỉ có thể mã hóa chứ không thể giải mã). Thông thường phương pháp mã hóa một chiều sử dụng một hàm băm (hash function) để biến một chuỗi thông tin thành một chuỗi hash có độ dài nhất định. Ta không có bất kì cách nào để khôi phục (hay giải mã) chuỗi hash về lại chuỗi thông tin ban đầu.
Hàm băm (Hash function) là một hàm mà nó nhận vào một chuỗi có độ dài bất kì, và sinh ra một chuỗi kết quả có độ dài cố định (Gọi là chuỗi hash), dù hai chuỗi dữ liệu đầu vào, được cho qua hàm băm thì cũng sinh ra hai chuỗi hash kết quả khác nhau rất nhiều. Ví dụ như đối với kiểu dữ liệu Hash-table, ta có thể coi đây là một dạng kiểu dữ liệu mảng đặc biệt mà index nó nhận vào là một chuỗi, nó được định nghĩa bằng cách bên trong nó chứa một mảng thông thường, mỗi khi truyền vào index là một chuỗi, thì chuỗi này sẽ đi qua hàm băm và ra một giá trị hash, giá trị này sẽ tương ứng với index thật của phần tử đó trong mảng bên dưới.
Đặc điểm của hash function là khi thực hiên băm hai chuỗi dữ liệu như nhau, dù trong hoàn cảnh nào thì nó cũng cùng cho ra một chuỗi hash duy nhất có độ dài nhất định và thường nhỏ hơn rất nhiều so với chuỗi gốc, và hai chuỗi thông tin bất kì dù khác nhau rất ít cũng sẽ cho ra chuỗi hash khác nhau rất nhiều. Do đó hash function thường được sử dụng để kiểm tra tính toàn vẹn của dữ liệu.
Giả sử bạn có một file dữ liệu định up lên mạng, và bạn muốn người dùng có thể kiểm tra xem dữ liệu họ down về có chính sát dữ liệu mình up lên hay không. Thì bạn sẽ dùng một hash function để băm dữ liệu của file đó ra một chuỗi hash, và gửi kèm cho người dùng chuỗi hash này. Khi đó, người dùng chỉ việc dùng đúng hash function đó để tìm chuỗi hash hiện tại của file down về, rồi so sánh với chuỗi hash ban đầu, nếu hai chuỗi này giống nhau thì dữ liệu down về vẫn toàn vẹn.
Ngoài ra có một ứng dụng mà có thể bạn thường thấy, đó là để lưu giữ mật khẩu. Vì mật khẩu là một thứ cực kì quan trọng, do đó ta không nên lưu mật khẩu của người dùng dưới dạng rõ, vì như vậy nếu bị hacker tấn công, lấy được CSDL thì hacker có thể biết được mật khẩu của người dùng. Do đó, mật khẩu của người dùng nên được lưu dưới dạng chuỗi hash, và đối với server thì chuỗi hash đó chỉnh là “mật khẩu” đăng nhập (lúc đăng nhập thì mật khẩu mà người dùng nhập cũng được mã hóa thành chuỗi hash và so sánh với chuỗi hash trong CSDL của server). Dù hacker có lấy được CSDL thì cũng không tài nào có thể giải mã được chuỗi hash để tìm ra mật khẩu của người dùng.
Thuật toán mã hóa một chiều (hàm băm) mà ta thường gặp nhất là MD5 và SHA.
Mã hóa đối xứng
Mã hóa đối xứng (Hay còn gọi là mã hóa khóa bí mật) là phương pháp mã hóa mà key mã hóa và key giải mã là như nhau (Sử dụng cùng một secret key để mã hóa và giải mã). Đây là phương pháp thông dụng nhất hiện nay dùng để mã hóa dữ liệu truyền nhận giữa hai bên. Vì chỉ cần có secret key là có thể giải mã được, nên bên gửi và bên nhận cần làm một cách nào đó để cùng thống nhất về secret key.
Để thực hiện mã hóa thông tin giữa hai bên thì:
Vấn đề lớn nhất của phương pháp mã hóa đối xứng là làm sao để “thỏa thuận” secret key giữa bên gửi và bên nhận, vì nếu truyền secret key từ bên gửi sang bên nhận mà không dùng một phương pháp bảo vệ nào thì bên thứ ba cũng có thể dễ dàng lấy được secret key này.
Các thuật toán mã hóa đối xứng thường gặp: DES, AES…
Mã hóa bất đối xứng
Mã hóa bất đối xứng (Hay còn gọi là mã hóa khóa công khai) là phương pháp mã hóa mà key mã hóa (lúc này gọi là public key – khóa công khai) và key giải mã (lúc này gọi là private key – khóa bí mật) khác nhau. Nghĩa là key ta sử dụng để mã hóa dữ liệu sẽ khác với key ta dùng để giải mã dữ liệu. Tất cả mọi người đều có thể biết được public key (kể cả hacker), và có thể dùng public key này để mã hóa thông tin. Nhưng chỉ có người nhận mới nắm giữ private key, nên chỉ có người nhận mới có thể giải mã được thông tin.
Để thực hiện mã hóa bất đối xứng thì:
Điểm yếu lớn nhất của mã hóa bất đối xứng là tốc độ mã hóa và giải mã rất chậm so với mã hóa đối xứng, nếu dùng mã hóa bất đối xứng để mã hóa dữ liệu truyền – nhận giữa hai bên thì sẽ tốn rất nhiều chi phí.
Do đó, ứng dụng chỉnh của mã hóa bất đối xứng là dùng để bảo mật secret key cho mã hóa đối xứng: Ta sẽ dùng phương pháp mã hóa bất đối xứng để truyền secret key của bên gửi cho bên nhận. Và hai bên sẽ dùng secret key này để trao đổi thông tin bằng phương pháp mã hóa đối xứng.
Thuật toán mã hóa bất đối xứng thường thấy: RSA.
Ứng dụng
Khi cần bảo mật thông tin truyền đi giữa các ứng dụng chat, hoặc các ứng dụng có truyền nhận thông tin bí mật giữa client-server, thì ta có thể sử dụng kết hợp phương pháp mã hóa bất đối xứng và phương pháp mã hóa đối xứng để đảm bảo dữ liệu đó sẽ được bảo mật.
Ta sẽ thực hiện bằng cách dùng phương pháp mã hóa bất đối xứng để truyền secret key từ bên gửi cho bên nhận, và dùng key này để mã hóa, giải mã thông tin.
Ta có thể thực hiện theo quy trình sau:
Có rất nhiều loại phương pháp mã hóa khác nhau, mỗi loại có những ưu và nhược điểm riêng. Thông thường phương pháp mã hóa dữ liệu được phân chia thành 4 loại chính:
Mã hóa cổ điển
Mã hóa một chiều
Mã hóa đối xứng
Mã hóa bất đối xứng
Tìm hiểu sâu về các loại mã hóa:
Mã hóa cổ điển
Đây là phương pháp mã hóa đầu tiên, và cố xưa nhất, và hiện nay rất ít được dùng đến so với các phương pháp khác. Ý tưởng của phương pháp này rất đơn giản, bên A mã hóa thông tin bằng thuật toán mã hóa cổ điển, và bên B giải mã thông tin, dựa vào thuật toán của bên A, mà không dùng đến bất kì key nào. Do đó, độ an toàn của thuật toán sẽ chỉ dựa vào độ bí mật của thuật toán, vì chỉ cần ta biết được thuật toán mã hóa, ta sẽ có thể giải mã được thông tin.
Mã hóa đối xứng
Mã hóa đối xứng là phương pháp mã hóa mà key mã hóa và key giải mã là như nhau (Sử dụng cùng một secret key để mã hóa và giải mã). Đây là phương pháp thông dụng nhất hiện nay dùng để mã hóa dữ liệu truyền nhận giữa hai bên. Vì chỉ cần có secret key là có thể giải mã được, nên bên gửi và bên nhận cần làm một cách nào đó để cùng thống nhất về secret key.
Để thực hiện mã hóa thông tin giữa hai bên thì:
Đầu tiên bên gửi và bên nhận bằng cách nào đó sẽ phải thóa thuận secret key (khóa bí mật) được dùng để mã hóa và giải mã. Vì chỉ cần biết được secret key này thì bên thứ ba có thể giải mã được thông tin, nên thông tin này cần được bí mật truyền đi (bảo vệ theo một cách nào đó).
Sau đó bên gửi sẽ dùng một thuật toán mã hóa với secret key tương ứng để mã hóa dữ liệu sắp được truyền đi. Khi bên nhận nhận được sẽ dùng chính secret key đó để giải mã dữ liệu.
Vấn đề lớn nhất của phương pháp mã hóa đối xứng là làm sao để “thỏa thuận” secret key giữa bên gửi và bên nhận, vì nếu truyền secret key từ bên gửi sang bên nhận mà không dùng một phương pháp bảo vệ nào thì bên thứ ba cũng có thể dễ dàng lấy được secret key này.
Các thuật toán mã hóa đối xứng thường gặp: DES, AES…
Mã hóa bất đối xứng
Mã hóa bất đối xứng là phương pháp mã hóa mà trong đó key mã hóa và key giải mã khác nhau. Nghĩa là key ta sử dụng để mã hóa dữ liệu sẽ khác với key ta dùng để giải mã dữ liệu. Tất cả mọi người đều có thể biết được public key, và có thể dùng public key này để mã hóa thông tin. Nhưng chỉ có người nhận mới nắm giữ private key, nên chỉ có người nhận mới có thể giải mã được thông tin.
Để thực hiện mã hóa bất đối xứng thì:
Bên nhận sẽ tạo ra một gặp khóa (public key và private key). Bên nhận sẽ dữ lại private key và truyền cho bên gửi public key. Vì public key này là công khai nên có thể truyền tự do mà không cần bảo mật.
Bên gửi trước khi gửi dữ liệu sẽ mã hóa dữ liệu bằng thuật toán mã hóa bất đối xứng với key là public key từ bên nhận.
Bên nhận sẽ giải mã dữ liệu nhận được bằng thuật toán được sử dụng ở bên gửi, với key giải mã là private key.
Điểm yếu lớn nhất của mã hóa bất đối xứng là tốc độ mã hóa và giải mã rất chậm so với mã hóa đối xứng, nếu dùng mã hóa bất đối xứng để mã hóa dữ liệu truyền – nhận giữa hai bên thì sẽ tốn rất nhiều chi phí.
Do đó, ứng dụng chỉnh của mã hóa bất đối xứng là dùng để bảo mật secret key cho mã hóa đối xứng: Ta sẽ dùng phương pháp mã hóa bất đối xứng để truyền secret key của bên gửi cho bên nhận. Và hai bên sẽ dùng secret key này để trao đổi thông tin bằng phương pháp mã hóa đối xứng.
Thuật toán mã hóa bất đối xứng thường thấy: RSA.
Mã hóa một chiều
Đôi khi ta chỉ cần mã hóa thông tin chứ không cần giải mã thông tin, khi đó ta sẽ dùng đến phương pháp mã hóa một chiều (Chỉ có thể mã hóa chứ không thể giải mã). Thông thường phương pháp mã hóa một chiều sử dụng một hàm băm (hash function) để biến một chuỗi thông tin thành một chuỗi hash có độ dài nhất định. Ta không có bất kì cách nào để khôi phục (hay giải mã) chuỗi hash về lại chuỗi thông tin ban đầu. Đặc điểm của hash function là khi thực hiên băm hai chuỗi dữ liệu như nhau, dù trong hoàn cảnh nào thì nó cũng cùng cho ra một chuỗi hash duy nhất có độ dài nhất định và thường nhỏ hơn rất nhiều so với chuỗi gốc, và hai chuỗi thông tin bất kì dù khác nhau rất ít cũng sẽ cho ra chuỗi hash khác nhau rất nhiều. Do đó hash function thường được sử dụng để kiểm tra tính toàn vẹn của dữ liệu.
Thuật toán mã hóa một chiều (hàm băm) mà ta thường gặp nhất là MD5 và SHA.
Các loại mã hóa dữ liệu thông dụng
Hiện có 4 biện pháp mã hoá dữ liệu thông dụng:
Mã hóa cổ điển
Mã hoá cổ điển là cách đơn giản nhất, tồn lại lâu nhất trên thế giới và không cần khóa bảo mật, chỉ cần người gửi và người nhận cùng biết về thuật toán này là được.
Ví dụ: nếu chúng ta dùng thuật toán đổi kí tự trong câu văn thành kí tự liền kề trong bảng chữ cái thì chữ “Tinh tế” sẽ biến thành “Ujoi uf”. Người nhận khi nhận được chữ “Ujoi uf” thì chỉ việc dịch ngược lại là xong.
Tuy nhiên, giải pháp mã hóa này được xem là không an toàn, vì nếu một người thứ ba biết được thuật toán thì xem như thông tin không còn bảo mật nữa. Việc giữ bí mật thuật toán trở nên rất quan trọng, và không phải ai cũng có thể giữ bí mật đó một cách trọn vẹn. Có khả năng người đó sẽ rò rỉ ra, hoặc có ai đó ngồi giải ra thuật toán thì xem như chúng ta thua cuộc.
Mã hóa một chiều (hash)
Phương pháp này dùng để mã hóa những thứ không cần dịch lại nguyên bản gốc. Ví dụ, khi bạn đăng nhập vào Tinh tế, mật khẩu mà bạn nhập sẽ được chuyển thành một chuỗi dài các kí tự bằng một thứ gọi là hash function (tạm dịch: hàm băm).
Chuỗi này sẽ được lưu vào cơ sở dữ liệu, chứ không lưu mật khẩu thô của bạn nhằm tăng tính bảo mật. Lỡ hacker có trộm dữ liệu thì cũng chỉ thấy những thứ như FIiyXYB547bhvyuuUIbZ chứ không biết password thật của bạn là gì.
Mỗi lần bạn đăng nhập, hash function sẽ “băm” password thật của bạn thành chuỗi kí tự rồi so sánh nó với cái trong cơ sở dữ liệu, nếu khớp thì đăng nhập tiếp, không thì báo lỗi. Chúng ta không có nhu cầu dịch ngược chuỗi nói trên ra lại thành password thật để làm gì cả.
Nói thêm về hash function, nhiệm vụ của nó là chuyển một chuỗi có độ dài bất kì thành chuỗi kí tự có độ dài cố định. Ví dụ, nếu bạn quy định chuỗi kí tự sau khi “băm” sẽ dài 10 kí tự thì dù đầu vào của bạn có bao nhiêu chữ đi nữa thì kết quả nhận được sẽ luôn là 10 và chỉ 10 kí tự mà thôi.
Đặc điểm của hash function là trong cùng 1 điều kiện, dữ liệu đầu vào như nhau thì kết quả sau khi băm cũng sẽ y hệt như nhau. Nếu chỉ đổi một chút xíu thôi, có khi chỉ là 1 kí tự nhỏ thì chuỗi kết quả sẽ khác hoàn toàn.
Cũng vì vậy mà người ta dùng hash function để kiểm tra tính toàn vẹn của dữ liệu. Ví dụ, trước khi gửi một tập tin Word cho người bạn thì mình dùng mã hóa một chiều và tạo ra được chuỗi sau băm là DFYUBUfyeufuefu. Khi người bạn đó tải tập tin về máy, nếu nó băm và cũng nhận được chuỗi DFYUBUfyeufuefu thì có nghĩa là tập tin của mình không bị can thiệp bởi hacker, còn nếu kết quả khác thì có nghĩa là quá trình truyền tải có thể đã bị lỗi làm mất một phần dữ liệu, hoặc tệ hơn là có ai đó đã xén bớt hay thêm vào thứ gì đó rồi.
Hiện nay, hai thuật toán hash function thường được dùng nhất là MD5 và SHA. Nếu bạn tải tập tin trên mạng thì đôi khi sẽ thấy dòng chữ MD5 do tác giả cung cấp, mục đích là để bạn so sánh file đã tải về với file gốc xem có bị lỗi gì không.
Mã hóa đối xứng (symmetric key encryption)
Chúng ta bắt đầu đi tìm hiểu về việc bảo mật có dùng khóa. Khóa ở đây được gọi là “key”, nó là mấu chốt để thuật toán có thể nhìn vào mà biết đường mã hóa và giải mã dữ liệu.
Cũng giống như cánh cửa nhà của bạn, nếu bạn có khóa thì bạn có thể nhanh chóng đi vào trong, còn không có khóa thì bạn vẫn có thể đục cửa hay kêu thợ sửa khóa, nhưng sẽ tốn thời gian và công sức hơn. Mỗi chìa khóa cho mỗi ổ khóa trên thế giới là duy nhất với các đường rãnh không chìa nào giống chìa nào – key mã hóa cũng tương tự như vậy.
Ở phương pháp mã hóa đối xứng, chìa khóa để mã hóa và giải mã là như nhau nên người ta mới gọi là đối xứng, tiếng Anh là symmetric. Theo một số tài liệu thì mã hóa đối xứng là giải pháp được sử dụng nhất phổ biến hiện nay.
Giả sử mình cần mã hóa một tập tin để gửi cho bạn, thì quy trình sẽ như sau:
Vấn đề ở đây, đó là mình phải làm sao để chuyển khóa cho bạn một cách an toàn. Nếu khóa này bị lộ ra thì bất kì ai cũng có thể xài thuật toán nói trên để giải mã tập tin, như vậy thì tính bảo mật sẽ không còn nữa.
"Chết cha quên mã PIN rồi", và tôi đã suýt làm mất 30.000 USD tiền bitcoin
Ngày nay người ta thường xài password như là khóa mã hóa, và bằng cách này bạn có thể nhanh chóng nhắn cho người nhận cùng đoạn password đó để xài làm khóa giải mã.
Các thuật toán mã hóa thường thấy bây giờ là DES và AES. Trong đó, AES phổ biến trong thế giới hiện đại hơn và nó dùng để thay thế cho DES vốn đã xuất hiện từ năm 1977. Hiện nay nhiều cơ quan chính phủ trên thế giới quy định tài liệu khi được gửi qua mạng phải mã hóa AES.
Thuật toán AES có thể dùng nhiều kích thước ô nhớ khác nhau để mã hóa dữ liệu, thường thấy là 128-bit và 256-bit, có một số lên tới 512-bit và 1024-bit. Kích thước ô nhớ càng lớn thì càng khó phá mã hơn, bù lại việc giải mã và mã hóa cũng cần nhiều năng lực xử lý hơn.
Hiện chế độ mã hóa mặc định của Android 5.0 đang xài là AES 128-bit. Điều này có nghĩa là mỗi khi bạn chuẩn bị ghi dữ liệu xuống bộ nhớ máy thì hệ điều hành sẽ mã hóa nó rồi mới tiến hành ghi.
Tương tự, mỗi khi OS chuẩn bị đọc dữ liệu thì Android phải giải mã trước rồi mới chuyển ra ngoài, khi đó thì hình ảnh mới hiện ra được, các tập tin nhạc mới chơi được và tài liệu mới có thể đọc được. Bằng cách này, nếu bạn có lỡ làm mất máy thì người lượm được cũng không thể xem trộm dữ liệu của bạn (giả sử bạn đã lock màn hình).
Nếu người đó có gỡ chip nhớ ra để đọc thì dữ liệu cũng đã mã hóa hết. Tất nhiên, Android cũng xài key dạng symmetric (tạo ra dựa vào password của bạn), và key đó còn được băm thêm một lần nữa bằng SHA 256-bit để tăng tính an toàn.
Mình không có tài liệu về Windows 10 và OS X, nhưng cơ chế mã hóa của cả hai hệ điều hành này có vẻ như cũng tương tự, tức là xài AES và xài key tạo ra bằng password kết hợp thêm SHA.
Mã hóa bất đối xứng (public key encryption)
Nếu như ở trên, khóa mã hóa và khóa giải mã đều giống nhau thì với phương pháp bất đối xứng, hai khóa này hoàn toàn khác nhau. Để phân biệt giữa hai khóa thì người ta gọi khóa mã hóa là public key, còn khóa giải mã là private key.
Public, như cái tên đã gợi ý, mang tính chất “công cộng” và có thể được sử dụng để mã hóa dữ liệu bởi bất kì ai. Tuy nhiên, chỉ người nào nằm trong tay private key mới có khả năng giải mã dữ liệu để xem.
Quy trình mã hóa bất đối xứng như sau:
Đơn giản đúng không?
Một nhược điểm của mã hóa bất đối xứng đó là tốc độ giải mã chậm hơnso với mã hóa đối xứng, tức là chúng ta phải tốn nhiều năng lực xử lý của CPU hơn, phải chờ lâu hơn, dẫn đến “chi phí” cao hơn. Khoảng thời gian lâu hơn là bao nhiêu thì còn tùy vào thuật toán mã hóa, cách thức mã hóa và key.
Chính vì thế mà hiện tại ít ai mã hóa cả một file bằng phương pháp bất đối xứng. Thay vào đó, họ xài phương pháp bất đối xứng để mã hóa chính cái key dùng trong mã hóa đối xứng (hoặc tạo ra key đó bằng cách tổng hợp public và private key của bên gửi và nhận).
Như đã nói ở trên, mã hóa đối xứng có nhược điểm là key bị lộ là coi như xong đời, vậy thì giờ chúng ta mã hóa luôn cái key đó cho an toàn và có thể gửi key thoải mái hơn. Một khi đã giải mã bất đối xứng để ra key gốc rồi thì tiến hành giải mã thêm lần nữa bằng phương pháp đối xứng để ra file ban đầu.
Một thuật toán mã hóa thường được xài là RSA.
hệ QTCSDL có những thành phần nào
Câu trả lời của bạn
Hai thành phần chính trong một hệ quản trị cơ sở dữ liệu là: Bộ xử lí truy vấn (bộ xử lí yêu cầu) và bộ quản lí dữ liệu.
Mysql: MySQL là hệ quản trị cơ sở dữ liệu sử dụng mã nguồn mở phổ biến nhất thế giới và được các chueyen gia lập trình web rất ưa chuộng trong quá trình phát triển web, phát triển ứng dụng. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet.
Oracle: Oracle xuất phát từ tên của một hãng phần mềm và cũng là một hệ quản trị cơ sở dữ liệu phổ biến trên thế giới. Khởi đầu với phần mềm quản trị cơ sở dữ liệu cách đây hơn 50 năm, hiện tại ngoài sản phẩm Oracle Database Server, Oracle còn cung cấp nhiều sản phẩm khác phục vụ doanh nghiệp.
SQlite: SQLite là hệ thống cơ sở dữ liệu quan hệ nhỏ gọn, hoàn chỉnh, có thể cài đặt bên trong các trình ứng dụng khác. SQLite được viết dưới bằng ngôn ngữ lập trình C.
MongoDB: MongoDB là một mã nguồn mở và là một tập tài liệu dùng cơ chế NoSQL để truy vấn, nó được viết bởi ngôn ngữ C++.
PostgreSql: PostgreSQL cũng là hệ quản trị cơ sở dữ liệu hỗ trợ rất tốt trong việc lưu trữ dữ liệu không gian. PostgreSQL kết hợp với module Postgis cho phép người dùng lưu trữ các lớp dữ liệu không gian một cách hiệu quả.
Redis: Redis là một trong số các Hệ quản trị cơ sở dữ liệu phát triển theo phong cách NoSQL. Redis là hệ thống lưu trữ key-value với rất nhiều tính năng và được sử dụng rộng rãi. Redis nổi bật bởi việc hỗ trợ nhiều cấu trúc dữ liệu cơ bản đồng thời cho phép scripting bằng ngôn ngữ lua.
Đừng quên theo dõi WEBICO BLOG hoặc Fanpage của chúng tôi để luôn cập nhật những bài viết mới nhất!
mn cho mình hỏi một số ứng dụng của cơ sở dữ liệu ạ
Câu trả lời của bạn
Tương tác bên ngoài với cơ sở dữ liệu sẽ thông qua một chương trình ứng dụng có giao diện với DBMS. Điều này có thể bao gồm từ một công cụ cơ sở dữ liệu cho phép người dùng thực hiện các truy vấn SQL bằng văn bản hoặc bằng đồ họa, đến một trang web tình cờ sử dụng cơ sở dữ liệu để lưu trữ và tìm kiếm thông tin.
bạn lên google tra ra sẽ rõ
Cho em hỏi.
Một số yêu cầu khai thác dữ liệu trong cơ sở dữ liệu là gì ạ?
Câu trả lời của bạn
Câu trả lời của bạn
Bài 11: Các thao tác với CSDL quan hệ nhé
0 Bình luận
Để lại bình luận
Địa chỉ email của hạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *