Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Tài liệu Mật mã ( Cryptography) phần 1 doc
MIỄN PHÍ
Số trang
9
Kích thước
201.0 KB
Định dạng
PDF
Lượt xem
1352

Tài liệu Mật mã ( Cryptography) phần 1 doc

Nội dung xem thử

Mô tả chi tiết

Chương 14 : Mật mã ( Cryptography)

Mật mã (cryptography) là một trong những mặt phức tạp nhất của quá trình phát triển

phần mềm mà bất kỳ nhà phát triển nào cũng sẽ sử dụng. Lý thuyết kỹ thuật mật mã hiện

đại cực kỳ khó hiểu và đòi hỏi một mức kiến thức toán học mà tương đối ít người có

được. May mắn là thư viện lớp .NET Framework cung cấp các hiện thực dễ sử dụng cho

hầu hết các kỹ thuật mật mã thông dụng và hỗ trợ các giải thuật phổ biến nhất. Chương

này sẽ bàn về các vấn đề sau:

„ Tạo số ngẫu nhiên (mục 14.1).

„ Tạo và xác minh các mã băm mật mã và các mã băm có khóa (mục 14.2, 14.3, 14.4,

và 14.5).

„ Sử dụng giải thuật đối xứng và không đối xứng để mật hóa và giải mật hóa dữ liệu

(mục 14.6 và 14.8).

„ Tìm lại, lưu trữ, và chuyển đổi các khóa mật mã (mục 14.7, 14.9, và 14.10).

# Khi nghĩ cách áp dụng các kỹ thuật trong chương này vào mã lệnh, bạn nên

nhớ rằng mật mã chẳng phải là cái mà bạn hiện thực đơn lẻ. Mật mã không

ngang bằng với bảo mật (security); sử dụng mật mã chỉ là một phần nhỏ trong

việc tạo một giải pháp an toàn.

Đối với những ai chưa quen thuộc với mật mã, dưới đây là định nghĩa của một số từ quan

trọng:

• Encrypt (động từ, tạm dịch là mật hóa) là mã hóa thông tin theo cách nào đó để mọi

người không thể đọc được nó, trừ những ai có khóa.

• Decrypt (động từ, tạm dịch là giải mật hóa) là giải mã thông tin đã-được-mật-hóa.

• Key là chuỗi các bit dùng để mật hóa và giải mật hóa thông tin.

• Plaintext là text chưa-được-mật-hóa hay đã-được-giải-mật-hóa.

• Ciphertext là text đã-được-mật-hóa.

1.1 Tạo số ngẫu nhiên

V Bạn cần tạo một số ngẫu nhiên dùng cho các ứng dụng mật mã và bảo mật.

# Sử dụng một bộ tạo số ngẫu nhiên mật mã (cryptographic random number

generator), chẳng hạn

System.Security.Cryptography.RNGCryptoServiceProvider.

Lớp System.Random là một bộ tạo số giả ngẫu nhiên, nó sử dụng một giải thuật toán học

để mô phỏng việc tạo số ngẫu nhiên. Thực ra, giải thuật này là tất định (deterministic),

nghĩa là bạn luôn có thể tính được số kế tiếp sẽ là gì dựa trên số đã được tạo trước đó.

Tải ngay đi em, còn do dự, trời tối mất!