Trong giao dịch Website khi người dùng muốn Upload tài liệu, gửi dữ liệu trên mạng thì trước tiên dữ liệu phải được mã hóa. Sử dụng chuẩn JKS (Java key Store) hoặc PKCS#7, PKCS#12 (Peronal Information Exchange Syntax Standard) để phục vụ quá trình tạo khóa bí mật từ cặp khóa công khai và khóa riêng từ các file lưu trữ khóa đó. Để mã hóa và giải mã người dùng cần có file lưu trữ khóa theo chuẩn JKS hoặc PKCS#12. Đồng thời phải nhập mật khẩu bảo vệ file lưu trữ khóa để kiểm tra. Khi kiểm tra mật khẩu thành công, khóa công khai và kháo riêng của file lưu trữ khóa sẽ được lấy ra. Sau đó ta băm khóa công khai bằng thuật toán SHA1 được một chuỗi có độ dài 160 bit. Tiếp theo sử dụng thuật toán RSA để mã hóa chuỗi đó bằng khóa riêng ta thu được khóa bí mật có độ dài 128 bit dùng để mã hóa, giải mã bằng khoá công khai.
Ngoài ra chúng ta có thể xây dựng trương trình mã hóa dữ liệu sử dụng những thuật toán đã biết như thuật toán RSA, AES,…tích hợp trên website để mã hóa dữ liệu trước khi upload và giải mã khi download theo sơ đồ sau:
Hình 2.4: Sơ đồ truyền tin có mã hoá và giải mã trên website. Quá trình mã hoá được thực hiện theo 2 dạng:
- Mã hoá file, là kiểu thực hiện mã hoá các file dữ liệu trước khi chúng được gửi đi. Các file dữ liệu có thể là file dạng pdf, doc, …
- Mã hoá form, là kiểu thực hiện mã hoá dữ liệu nhập trên form và gửi đi tới người nhận, sau đó dữ liệu được giải mã trên form giải mã.