« Home « Kết quả tìm kiếm

Cơ bản về mã hoá (Cryptography)


Tóm tắt Xem thử

- Cơ bản về mã hoá (Cryptography).
- Những điều căn bản về mã hoá Khi bắt đầu tìm hiểu về mã hoá, chúng ta thường đặt ra những câu hỏi chẳng hạn như là: Tại sao cần phải sử dụng mã hoá ? Tại sao lại có quá nhiều thuật toán mã hoá ?v..v….
- Tai sao cần phải sử dụng mã hoá.
- Thuật toán Cryptography đề cập tới nghành khoa học nghiên cứu về mã hoá và giải mã thông tin.
- Đây là một phương pháp hỗ trợ rất tốt cho trong việc chống lại những truy cập bất hợp pháp tới dữ liệu được truyền đi trên mạng, áp dụng mã hoá sẽ khiến cho nội dung thông tin được truyền đi dưới dạng mờ và không thể đọc được đối với bất kỳ ai cố tình muốn lấy thông tin đó..
- Nhu cầu sử dụng kỹ thuật mã hoá.
- Không phai ai hay bất kỳ ứng dụng nào cũng phải sử dụng mã hoá.
- Nhu cầu về sử dụng mã hoá xuất hiện khi các bên tham gia trao đổi thông tin muốn bảo vệ các tài liệu quan trọng hay gửi chúng đi một cách an toàn.
- Do đó, mã hoá được áp dụng như một biện pháp nhằm giúp chúng ta tự bảo vệ chính mình cũng như những thông tin mà chúng ta gửi đi.
- Bên cạnh đó, mã hoá còn có những ứng dụng khác như là bảo đảm tính toàn vẹn của dữ liệu..
- Tại sao lại có quá nhiều thuật toán mã hoá.
- Theo một số tài liệu thì trước đây tính an toàn, bí mật của một thuật toán phụ thuộc vào phương thức làm việc của thuật toán đó.
- Nếu như tính an toàn của một thuật toán chỉ dựa vào sự bí mật của thuật toán đó thì thuật toán đó là một thuật toán hạn chế (Restricted Algrorithm).
- Hệ thống mã hoá hiện nay đã giải quyết vấn đề trên thông qua khoá (Key) là một yếu tố có liên quan nhưng tách rời ra khỏi thuật toán mã hoá.
- Do các thuật toán hầu như được công khai cho nên tính an toàn của mã hoá giờ đây phụ thuộc vào khoá.
- Hai quá trình mã hoá và giải mã đều dùng đến khoá.
- Hiện nay, người ta phân loại thuật toán dựa trên số lượng và đặc tính của khoá được sử dụng..
- Nói đến mã hoá tức là nói đến việc che dấu thông tin bằng cách sử dụng thuật toán..
- Chẳng hạn một thuật toán rất đơn giản mã hoá thông điệp cần gửi đi như sau:.
- Trên đây là một ví dụ rất đơn giản mô phỏng cách làm việc của một thuật toán mã hoá..
- -Plaintext (Cleartext): Thông tin trước khi được mã hoá.
- -Ciphertext: Thông tin, dữ liệu đã được mã hoá ở dạng mờ -Key: Thành phần quan trọng trong việc mã hoá và giải mã.
- -CryptoGraphic Algorithm: Là các thuật toán được sử dụng trong việc mã hoá hoặc giải mã thông tin.
- -CryptoSystem: Hệ thống mã hoá bao gồm thuật toán mã hoá, khoá, Plaintext, Ciphertext.
- Kí hiệu chung: P là thông tin ban đầu, trước khi mã hoá.
- E() là thuật toán mã hoá.
- D() là thuật toán giải mã.
- C là thông tin mã hoá.
- Chúng ta biểu diễn quá trình mã hoá và giải mã như sau:.
- -Quá trình mã hoá được mô tả bằng công thức: EK(P)=C -Quá trình giải mã được mô tả bằng công thức: DK(C)=P.
- Bên cạnh việc làm thế nào để che dấu nội dung thông tin thì mã hoá phải đảm bảo các mục tiêu sau:.
- Độ an toàn của thuật toán Nguyên tắc đầu tiên trong mã hoá là “Thuật toán nào cũng có thể bị phá vỡ”.
- Các thuật toán khác nhau cung cấp mức độ an toàn khác nhau, phụ thuộc vào độ phức tạp để phá vỡ chúng.
- Tại một thời điểm, độ an toàn của một thuật toán phụ thuộc:.
- -Nếu chi phí hay phí tổn cần thiết để phá vỡ một thuật toán lớn hơn giá trị của thông tin đã mã hóa thuật toán thì thuật toán đó tạm thời được coi là an toàn..
- -Nếu thời gian cần thiết dùng để phá vỡ một thuật toán là quá lâu thì thuật toán đó tạm thời được coi là an toàn..
- -Nếu lượng dữ liệu cần thiết để phá vỡ một thuật toán quá lơn so với lượng dữ liệu đã được mã hoá thì thuật toán đó tạm thời được coi là an toàn.
- Trong thế giới mã hoá cũng vậy, tất cả phụ thuộc vào trình độ và thời gian…sẽ không ai có thể nói trước được điều gì.
- Phân loại các thuật toán mã hoá Có rất nhiều các thuật toán mã hoá khác nhau.
- Từ những thuật toán được công khai để mọi người cùng sử dụng và áp dụng như là một chuẩn chung cho việc mã hoá dữ liệu.
- đến những thuật toán mã hoá không được công bố.
- Có thể phân loại các thuật toán mã hoá như sau:.
- -Mã hoá cổ điển (Classical cryptography) -Mã hoá đối xứng (Symetric cryptography) -Mã hoá bất đối xứng(Asymetric cryptography) -Hàm băm (Hash function).
- -Mã hoá khoá bí mật (Private-key Cryptography) -Mã hoá khoá công khai (Public-key Cryptography) 3.1Mã hoá cổ điển:.
- Thuật toán đơn giản và dễ hiểu.
- Những từ chính các phương pháp mã hoá này đã giúp chúng ta tiếp cận với các thuật toán mã hoá đối xứng được sử dụng ngày nay.
- Trong mã hoá cổ điển có 02 phương pháp nổi bật đó là:.
- -Mã hoá thay thế (Substitution Cipher):.
- -Mã hoá hoán vị (Transposition Cipher):.
- Bên cạnh phương pháp mã hoá thay thế thì trong mã hoá cổ điển có một phương pháp khác nữa cũng nổi tiếng không kém, đó chính là mã hoá hoán vị.
- phương pháp mã hoá thay thế, các kí tự trong Plaintext được thay thế hoàn toàn bằng các kí tự trong Ciphertext, thì trong phương pháp mã hoá hoán vị, các kí tự trong Plaintext vẫn được giữ nguyên, chúng chỉ được sắp xếp lại vị trí để tạo ra Ciphertext..
- Ở phần trên, chúng ta đã tìm hiểu về mã hoá cổ điển, trong đó có nói rằng mã hoá cổ điển không dùng khoá.
- Mã hoá cổ điển có sử dụng khoá.
- Trong phương pháp mã hoá hoán vị thì khóa nằm ở số hàng hay số cột mà chúng ta qui định.
- Khoá này có thể được thay đổi tuỳ theo mục đích mã hoá của chúng ta, nhưng nó phải nằm trong một phạm vi cho phép nào đó..
- Để dùng được mã hoá cổ điển thì bên mã hoá và bên giải mã phải thống nhất với nhau về cơ chế mã hoá cũng như giải mã.
- Mã hoá đối xứng còn có một số tên gọi khác như Secret Key Cryptography (hay Private Key Cryptography), sử dụng cùng một khoá cho cả hai quá trình mã hoá và giải mã..
- Trong hệ thống mã hoá đối xứng, trước khi truyền dữ liệu, 2 bên gửi và nhận phải thoả thuận về khoá dùng chung cho quá trình mã hoá và giải mã.
- Sau đó, bên gửi sẽ mã hoá bản rõ (Plaintext) bằng cách sử dụng khoá bí mật này và gửi thông điệp đã mã hoá cho bên nhận.
- Bên nhận sau khi nhận được thông điệp đã mã hoá sẽ sử dụng chính khoá bí mật mà hai bên thoả thuận để giải mã và lấy lại bản rõ (Plaintext)..
- Hình vẽ trên chính là quá trình tiến hành trao đổi thông tin giữa bên gửi và bên nhận thông qua việc sử dụng phương pháp mã hoá đối xứng.
- Việc trao đổi, thoả thuận về thuật toán được sử dụng trong việc mã hoá có thể tiến hành một cách công khai, nhưng bước thoả thuận về khoá trong việc mã hoá và giải mã phải tiến hành bí mật..
- Chúng ta có thể thấy rằng thuật toán mã hoá đối xứng sẽ rất có lợi khi được áp dụng trong các cơ quan hay tổ chức đơn lẻ.
- Mã hoá đối xứng có thể được phân thành 02 loại:.
- Từng nhóm bits này được gọi với một cái tên khác là khối (Block) và thuật toán được áp dụng gọi là Block Cipher..
- Đối với các thuật toán ngày nay thì kích thước chung của một Block là 64 bits..
- Các thuật toán áp dụng được gọi là Stream Cipher.
- Theo đó, dữ liệu của văn bản được mã hoá từng bit một.
- Các thuật toán mã hoá dòng này có tốc độ nhanh hơn các thuật toán mã hoá khối và nó thường được áp dụng khi lượng dữ liệu cần mã hoá chưa biết trước..
- Một số thuật toán nổi tiếng trong mã hoá đối xứng là: DES, Triple DES(3DES), RC4, AES….
- Với DES, bản rõ (Plaintext) được mã hoá theo từng khối 64 bits và sử dụng một khoá là 64 bits, nhưng thực tế thì chỉ có 56 bits là thực sự được dùng để tạo khoá, 8 bits còn lại dùng để kiểm tra tính chẵn, lẻ.
- DES là một thuật toán được sử dụng rộng rãi nhất trên thế giới.
- -Triple DES (3DES): 3DES cải thiện độ mạnh của DES bằng việc sử dụng một quá trình mã hoá và giải mã sử dụng 3 khoá.
- Khối 64-bits của bản rõ đầu tiên sẽ được mã hoá sử dụng khoá thứ nhất.
- Cuối cùng, sử dụng khoá thứ ba và kết quả của quá trình mã hoá trên để mã hoá..
- Hay còn được gọi với một cái tên khác là mã hoá khoá công khai (Public Key.
- Cryptography), nó được thiết kế sao cho khoá sử dụng trong quá trình mã hoá khác biệt với khoá được sử dụng trong quá trình giải mã.
- Hơn thế nữa, khoá sử dụng trong quá trình giải mã không thể được tính toán hay luận ra được từ khoá được dùng để mã hoá và ngược lại, tức là hai khoá này có quan hệ với nhau về mặt toán học nhưng không thể suy diễn được ra nhau.
- Thuật toán này được gọi là mã hoá công khai vì khoá dùng cho việc mã hoá được công khai cho tất cả mọi người.
- Một người bất kỳ có thể dùng khoá này để mã hoá dữ liệu nhưng chỉ duy nhất người mà có khoá giải mã tương ứng mới có thể đọc được dữ liệu mà thôi.
- Do đó trong thuật toán này có 2 loại khoá:.
- Khoá để mã hoá được gọi là Public Key, khoá để giải mã được gọi là Private Key..
- Mã hoá khoá công khai ra đời để giải quyết vấn đề về quản lý và phân phối khoá của các phương pháp mã hoá đối xứng.
- Hình minh hoạ ở trên cho chúng ta thấy được quá trình truyền tin an toàn dựa vào hệ thống mã hoá khoá công khai.
- Quá trình truyền và sử dụng mã hoá khoá công khai được thực hiện như sau:.
- -Sau đó hai bên thống nhất thuật toán dùng để mã hoá dữ liệu, bên gửi sử dụng khoá công khai của bên nhận cùng với thuật toán đã thống nhất để mã hoá thông tin được gửi đi..
- Vậy là với sự ra đời của Mã hoá công khai thì khoá được quản lý một cách linh hoạt và hiệu quả hơn.
- Tuy nhiên nhược điểm của Mã hoá khoá công khai nằm ở tốc độ thực hiện, nó chậm hơn rất nhiều so với mã hoá đối xứng.
- Do đó, người ta thường kết hợp hai hệ thống mã hoá khoá đối xứng và công khai lại với nhau và được gọi là Hybrid Cryptosystems.
- Một số thuật toán mã hoá công khai nổi tiếng: Diffle-Hellman, RSA,….
- 3.4 Hệ thống mã hoá khoá lai (Hybrid Cryptosystems):.
- Trên thực tế hệ thống mã hoá khoá công khai chưa thể thay thế hệ thống mã hoá khoá bí mật được, nó ít được sử dụng để mã hoá dữ liệu mà thường dùng để mã hoá khoá.
- Hệ thống mã hoá khoá lai ra đời là sự kết hợp giữa tốc độ và tính an toàn của hai hệ thống mã hoá ở trên.
- Dưới đây là mô hình của hệ thống mã hoá lai:.
- Nhìn vào mô hình chúng ta có thể hình dung được hoạt động của hệ thống mã hoá này như sau:.
- -Bên gửi tạo ra một khoá bí mật dùng để mã hoá dữ liệu.
- -Sau đó, Session Key này lại được mã hoá bằng khoá công khai của bên nhận dữ liệu..
- -Tiếp theo dữ liệu mã hoá cùng với Session Key đã mã hoá được gửi đi tới bên nhận..
- Như vậy, hệ thống mã hoá khoá lai đã tận dụng tốt được các điểm mạnh của hai hệ thống mã hoá ở trên đó là: tốc độ và tính an toàn.
- Một số ứng dụng của mã hoá trong Security Một số ứng dụng của mã hoá trong đời sống hằng ngày nói chung và trong lĩnh vực bảo mật nói riêng

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt