Giới thiệu mật mã thị giác

14:00 | 03/10/2010

Mật mã học là ngành khoa học có nền tảng toán học và ngày càng phát triển đa dạng và sâu sắc. Có những loại hình mật mã dường như thoát ly khỏi toán học như mật mã lượng tử (quantum cryptography) và mật mã thị giác (visual cryptography). Bài báo này sẽ giới thiệu về mật mã thị giác và cơ chế hoạt động của loại mật mã này.

Mật mã thị giác là một kỹ thuật mã hóa đặc biệt, nhằm che giấu thông tin trong những hình ảnh sao cho thông tin đã được mã hóa không thể nhận thấy bởi thị giác của con người. Kỹ thuật này được đề xuất bởi Naor và Shamir năm 1994. Mật mã thị giác sử dụng hai ảnh trong suốt. Một lớp ảnh chứa những điểm ảnh ngẫu nhiên và một lớp ảnh khác chứa thông tin bí mật. Hai lớp ảnh này được sử dụng để bảo vệ thông tin rõ. Muốn biết được thông tin rõ, người ta phải biết cả hai lớp ảnh này. Cách thức dễ dàng nhất để thực thi mật mã thị giác là in hai tấm ảnh (hai lớp) trên một tờ giấy. Khi ảnh ngẫu nhiên (ảnh chứa các điểm ảnh ngẫu nhiên thực sự) kết hợp với ảnh chứa thông tin rõ, chúng ta có hệ thống tương tự như hệ thống khóa đệm ngẫu nhiên sử dụng một lần (OTP) và hệ thống này sẽ là hệ mật không thể phá vỡ nổi. Ví dụ dưới đây mô tả quá trình giải mã: khi kết hợp lớp ảnh  1 (khóa) và lớp ảnh 2 (bản mã), chúng ta sẽ thu được thông tin rõ ban đầu (Hình 1- 4).
Mỗi điểm ảnh được chia thành các block nhỏ hơn. Trong một điểm ảnh số block trắng và block đen luôn đều nhau (Hình 5). Nếu một điểm ảnh được chia làm hai phần, chúng ta có một block đen và một block trắng. Nếu điểm ảnh được chia thành bốn phần bằng nhau, thì sẽ có hai block trắng và hai block đen. Trong ví dụ ở trên, các điểm ảnh được chia làm bốn phần. Trong hình 5, chúng ta nhận thấy các điểm ảnh có 6 trạng thái. Nếu ở trong lớp 1, điểm ảnh có trạng thái cho trước, thì điểm ảnh của lớp 2 có một hoặc hai trạng thái: giống hoặc nghịch đảo so với điểm ảnh của lớp 1. Nếu điểm ảnh của lớp 2 giống với điểm ảnh của lớp 1, thì tổng hai điểm ảnh sẽ là nửa trắng và nửa đen. Nếu các điểm ảnh của lớp 1 và lớp 2 là ngược nhau, thì tổng hai điểm ảnh sẽ là điểm đen hoàn toàn. Đó chính là điểm ảnh thông tin.
Bây giờ, chúng ta có thể tạo ra hai lớp. Lớp thứ nhất chứa các điểm ảnh ngẫu nhiên, các trạng thái phân bố độc lập và đồng xác suất trong sáu trạng thái. Lớp ảnh thứ hai giống lớp ảnh thứ nhất, trừ các điểm ảnh có chứa thông tin. Các điểm ảnh khác biệt đó có trạng thái đối nghịch với điểm ảnh trong lớp thứ nhất. Khi hai ảnh kết hợp với nhau, vùng có các trạng thái giống nhau sẽ có màu trắng, còn các vùng khác nhau sẽ cho màu đen, và thông tin hiện ra.
Phương pháp đệm ảnh một lần (One-Time Image - OTM) được sử dụng để mã hóa hình ảnh theo nguyên lý mã hóa khóa đệm sử dụng một lần (OTP).
Phương pháp khóa đệm sử dụng một lần được phát triển trong Chiến tranh thế giới lần thứ Nhất, sau đó khoảng 25 năm, các nhà toán học đã chứng minh nó là phương pháp an toàn lý tưởng. OTP là phương pháp mã hóa thay thế ký tự đơn giản, với yêu cầu khóa phải có chiều dài như bản rõ.
Phương pháp OTM phát triển nguyên lý trên đối với hình ảnh. Đầu tiên, ảnh nguồn được chuyển sang ảnh đen trắng (ảnh đen và trắng thực sự, với các điểm ảnh chỉ chứa đúng hai màu khác nhau).
Bước thứ hai, một ảnh đóng vai trò là khóa được tạo ra, có cùng kích thước với ảnh nguồn, trong ảnh ngẫu nhiên (khóa ngẫu nhiên) này, mỗi điểm ảnh được chọn ngẫu nhiên giữa hai giá trị trắng hoặc đen.

Bước thứ ba, ảnh nguồn được mã hóa nhờ khóa, nếu các điểm ảnh trong khóa là trắng thì điểm ảnh tương ứng ở trong ảnh nguồn được giữ nguyên, ngược lại điểm ảnh trong khóa là đen thì điểm ảnh tương ứng của ảnh nguồn sẽ được thay thế nghịch đảo (đen thành trắng, trắng thành đen). Kết quả là chúng ta thu được ảnh mã có các điểm ảnh ngẫu nhiên, do tính chất ngẫu nhiên của ảnh – khóa.
Mã hóa thị giác có thể được sử dụng trong thông tin liên lạc. Đầu tiên, bên gửi sẽ phân phối các ảnh chứa các điểm ảnh ngẫu nhiên (phân phối khóa ngẫu nhiên) cho bên nhận theo kênh an toàn. Khi muốn mã hóa bản rõ, người gửi sử dụng ảnh ngẫu nhiên (khóa bí mật) kết hợp với ảnh nguồn và gửi cho người nhận. Người nhận sẽ kết hợp ảnh đã được mã hóa, và ảnh ngẫu nhiên (khóa bí mật) để khôi phục lại thông tin rõ ban đầu. Hệ thống là không thế phá vỡ, khi ảnh ngẫu nhiên (khóa ngẫu nhiên) không bị lộ. Tuy nhiên, tính ứng dụng của mã hóa thị giác là không cao, do phải phân phối ảnh ngẫu nhiên (khóa ngẫu nhiên) từ trước trên kênh an toàn, ảnh ngẫu nhiên chỉ được sử dụng một lần, vì vậy, việc tạo các ảnh ngẫu nhiên với số lượng lớn cũng đòi hỏi nhiều công sức tính toán.

Mật mã thị giác tuy có thể chứng minh được tính an toàn trên lý thuyết, nhưng ứng dụng của nó hiện nay chưa cao, do chưa thuận lợi trong việc sản xuất và phân phối ảnh ngẫu nhiên (đóng vai trò là khóa ngẫu nhiên bí mật)