Java - Mã hóa và giải mã với thuật toán RSA
Công nghệ mã hóa Mã hóa và giải mã dữ liệu là kỹ thuật nhằm bảo mật dữ liệu, xác thực và đảm bảo tính toàn vẹn của thông tin được truyền trên các phương tiện truyền thông. Mã hóa là thao tác chuyển đổi văn bản hoặc dữ liệu ban đầu thành một hình thức mã hóa hay các bản mã bằng cách áp dụng các ...
Công nghệ mã hóa
Mã hóa và giải mã dữ liệu là kỹ thuật nhằm bảo mật dữ liệu, xác thực và đảm bảo tính toàn vẹn của thông tin được truyền trên các phương tiện truyền thông. Mã hóa là thao tác chuyển đổi văn bản hoặc dữ liệu ban đầu thành một hình thức mã hóa hay các bản mã bằng cách áp dụng các biến đổi toán học. Ngược lại với thao tác này là giải mã. Giải mã truy xuất dữ liệu gốc từ các bản mã sử dụng một khóa giải mã.
Khi nói đến mã hóa, chúng ta dễ liên tưởng đến những bộ phim trình chiếu những đoạn mã số dài chạy nhấp nháy trên màn hình với những thông điệp khó hiểu. Hay cuộc chiến giữa Apple và FBI về vụ thông tin bị mã hóa mà chính phủ Mỹ buộc Apple phải giải mã thông tin trên chiếc iPhone của thủ phạm trong vụ xả súng ở San Bernardino, Mỹ. Nói đơn giản, mã hóa là một kỹ thuật làm cho nội dung không thể đọc được đối với bất kỳ ai không có chìa khóa. Ta có nghe thấy những thông tin như gián điệp sử dụng mã hóa để gửi thông tin bí mật, các tướng chỉ huy quân đội gửi nội dung mã hóa để phối hợp chiến đấu cho đồng bộ, còn tội phạm sử dụng mã hóa để trao đổi thông tin và lên kế hoạch hành động, tin nhắn của người dùng được mã hóa để kể cả quản trị tối cao của hệ thống cũng không đọc được...
Các hệ thống mã hóa cũng xuất hiện trong hầu hết mọi lĩnh vực liên quan đến công nghệ, không chỉ che dấu thông tin của tội phạm, kẻ thù hay gián điệp mà còn xác thực và làm rõ những thông tin rất cơ bản, rất cá nhân.
Mã hóa và giải mã dữ liệu trong java – Các thuật toán mã hoá cơ bản
Có nhiều thuật toán mã hóa được phổ biến rộng rãi và được sử dụng trong an ninh thông tin. Chúng được phân loại gồm mã hoá khoá đối xứng và mã hoá khoá không đối xứng. Trong mã hóa khóa đối xứng chỉ có một khoá (key) được sử dụng để mã hóa và giải mã dữ liệu. Trong mã hoá khóa bất đối xứng sử dụng hai khoá là khóa riêng và khoá công khai. Trong đó khóa công khai được sử dụng để mã hóa và khóa riêng được sử dụng để giải mã. Bảng bên dưới trình bày các thuật toán mã hoá phổ biến.
AES | DES | RSA | |
---|---|---|---|
Developed | 2000 | 1977 | 1978 |
Key Size | 128, 192, 256 bits | 56 bits | >1024 bits |
Algorithm | Đối xứng (Symmetric) | Đối xứng (Symmetric) | Bất đối xứng (Asymmetric) |
Tuy nhiên trong bài này mình sẽ sử dụng RSA để mô tả