1.2.2.1. Khái niệm
Mật mã bất đối xứng - hay còn gọi là mật mã công khai - có 2 loại khóa trong không gian khóa là (PR, PU), trong đó PR là khóa bí mật, PU là khóa công khai. 2 thủ tục mã hóa E và giải mã D với lần lƣợt khóa PU và khóa PR đƣợc ký hiệu nhƣ sau:
Thỏa mãn :
Hàm mã hóa EPU(x) và hàm giải mã DPR(y) là các hàm dễ dàng tính đƣợc. Việc phá mật mã công khai đƣợc đƣa về các bài toán sau:
Tìm bản rõ x nếu biết bản mã hóa EPU(x) và khóa công khai PU
Tìm khóa công bí mật PR khi biết khóa công khai PU
Không giống nhƣ hệ mã hóa khóa đối xứng - sử dụng 1 khóa chia sẻ để mã hóa và giải mã thông điệp trao đổi - mã hóa khóa công khai sử dụng 1 cặp khóa gọi là khóa bí mật và khóa công khai: Khóa công khai đƣợc sử dụng để mã hóa dữ liệu, khóa bí mật sử dụng để giải mã. Mã hóa khóa công khai đã giải quyết đƣợc những điểm yếu của mã hóa khóa đối xứng, đó là mã hóa khóa đối xứng trƣớc khi sử dụng phải có sự trao đổi khóa giữa các thực thể truyền, nếu khóa chung đƣợc chia sẻ qua môi trƣờng công cộng (Nhƣ Internet hay điện thoại …) thì rất dễ bị nghe lén, khi bị lộ khóa thì việc mã hóa không còn tác dụng nữa. Mặt khác mã hóa khóa đối xứng không có chức năng “ký”, do vậy các thực thể tham gia truyền thông không thể tự bảo vệ mình nếu đối tác có hành động chống lại ( Hành động chối bỏ dữ liệu đã truyền, hoặc giả mạo ). Mã hóa khóa công khai sử dụng 2 khóa để hoạt động, mỗi bên sẽ tự tạo cho mình 2 khóa có liên hệ về mặt toán học, khóa công khai sẽ đƣợc công bố công khai, khóa bí mật sẽ đƣợc giữ kín.
Khi bên A cần truyền thông tin bí mật cho bên B, bên A sẽ sử dụng khóa công khai của bên B để mã hóa. Do chỉ B mới có khóa bí mật trong cặp khóa, nên chỉ duy nhất B mới có thể giải mã đƣợc thông tin bên A gửi, đó gọi là chức năng mã hóa (Hình 1.12a). Khi bên B muốn xác nhận 1 thông điệp gửi cho bên A là chính xác do
EPU : P → C DPR : C → P DPR( EPU(x) ) = x với x P EPU( DPR(y) ) = y với y C (3) (4)
B gửi, B sẽ dùng khóa bí mật của mình để mã hóa thông điệp truyền và gửi đính kèm thông điệp truyền. Bên A nhận đƣợc sẽ dùng khóa công khai của B để giải mã bản mã bên B gửi đính kèm, nếu kết quả giải mã trùng với thông tin bên B gửi thì bên A có thể chắc chắc thông tin đó chính xác là do bên B gửi, đây là chức năng “ký” của mã hóa khóa công khai (Hình 1.12b).
Theo William Stalling, mã hóa khóa công khai có 3 chức năng chính [27]:
Mã hóa và giải mã
Chứ ký điện tử
Trao đổi khóa
Hình 1.12a : Chức năng mã hóa / giải mã
Hình 1.12b: Chức năng ký
Comment [u5]: William Stalling (2005) “Cryptography and Network Security”, pp 266-267
Cơ sở lý thuyết của mã hóa khóa công khai là dựa trên hàm 1 chiều trong các phép tính toán học, theo đó phép tính theo chiều xuôi rất dễ, nhƣng phép tính theo chiều ngƣợc lại là rất khó, Ví dụ nhƣ trong phép nhân 2 số nguyên tố rất lớn, chiều xuôi là phép nhân đƣợc tính toán rất đơn giản, nhƣng chiều ngƣợc, tức là phần tích 1 số nguyên rất lớn thành tích của các thừa số nguyên tố lại là bài toán rất khó, các phƣơng tiện máy tính hiện đại nhất và các phƣơng pháp phá mã, thám mã đến nay vẫn chƣa thể giải quyết đƣợc.