Nội dung của chương này trình bày khái niệm, nhu cầu và nguyên lý hoạt độn
2.1.4 Nguyên lý hoạt động của chữ ký số
Chữkýsốlàcách dùngmậtmãđể tạodữliệunhằm xácthựcđượcngười gởivà bảo đảmdữliệuđókhôngbịthayđổi.Chữkýsốđượcthựchiệnnhờ vàokỹthuậtmãhóa với sự phốihợp vớimột cặpkhóa (mộtkhóa bí mật– privatekey vàmột khóa công
khai – public key). Người gửi sẽ sử dụng khóa bí mật để mã hóa dữ liệu gửi, người nhậnsẽsửdụngkhóacôngkhaicủangườigửiđểgiải mãdữliệunhận.Cơ sởchokỹ thuật này chính là kỹ thuật mã hóa khóa công khai (Public Key Cryptography – PKC).
Chữ ký số tạo một ràng buộc giữangười dùng khóa bí mật vớitài liệu được ký bởi anh ta. Đồng thời, chữ ký số cũng bảo đảm tính toàn vẹn thông tin và tính không thể chối từ của người gửi từ khi người gửi ký nhận trên thông tin đến khi thông tin đó được gửi đến nơi người nhận.
Haithuậttoánchính đượcsửdụngtrongchữkýsốlàthuậttoán hàmbămmậtmãvà thuật toán chữ ký số (tạo khóa, ký và xác nhận chứ ký).
2.1.4.1 Chứcnăngcủahàmbămtrongchữkýsố
Hàmbămđượcsửdụngởđâylàhàmbămmộtchiều.Chứcnăngchínhcủahàmbăm trongkỹthuậtchữkýđiệntửlàxửlýmộtthôngđiệpcóchiềudàibấtkỳđểchorakết quả là một thông điệp có chiều dài cố định được gọi thông điệp rút gọn (message digest) hay giá trị băm (hash value). Chiều dài của thông điệp rút gọn tùy thuộc vào hàm bămnào đãđược sử dụng.Điều nàygiúp tăngtốc cho thuậttoán chữ kýsố (sẽ trình bày ở phần …) và khả năng an toàn cao (do khó có thể tìm ra 2 thông điệp có thông điệp rút gọn giống nhau).
Hình2.2.Bămdữliệu
Chi tiết về hàm băm sẽ được trình bày ở mục 2.2. 16
2.1.4.2 Chứcnăngcủathuậttoán “ký”trongchữ kýsố
Thuật toán ký có chức năng “ký” vào thông điệp rút gọn được tạo ra từ hàm băm như trên.
Hình2.3.Kýnhậnmộtthôngđiệprútgọn
Việc ký này thực ra là việc mã hóa thông điệp rút gọn bằng mật mã (hay khóa). Tùy thuộcvào mụcđích củaứngdụngmà tasửdụng khóacông khaihaykhóabí mậtđể ký. Trong trường hợp chữ ký số thì người ta sử dụng khóa bí mật để ký. Người ký sẽ gửi thông điệp và chữ ký số vừa tạo ra đến người nhận.
2.1.4.3 Chứcnăngcủathuậttoán“xác nhậnchữký”trongchữkýsố
Khi nhậnđược thông điệpvà chữký sốtừ người gửi,người nhận sửdụng cùngmột thuật toánbăm vớingườigửi trênthông điệpnhận đượcsẽ thu đượcmột thông điệp rút gọn tương ứng. Sau đó người nhận dùng khóa công khai (public key) của người gửiđể giải mã chữký số nhận được và so sánh kếtquả vớithông điệp tómtắt nhận được ở trên.Nếu giống nhau thì chấp nhận. Nếu khác nhau thì chứng tỏ thông điệp nhận được không phải do người gửi ký nhận hoặc thông điệp đã bị thay đổi.
Hình2.4.Kiểmđịnhchữkýđiệntử
Chi tiết của thuật toán ký và xác nhận chữ ký sẽ được trình bày ở mục 2.3.
2.2 Thuật toánhàm băm mật mã2.2.1 Giớithiệu