Với những lợi ích về bảo mật và an toàn giao dịch, các giao thức về xác thực điện tử hiện đã được sử dụng rộng rãi trên thế giới như một công cụ xác minh danh tính của các bên trong các
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 3L ỜI CAM ĐOAN
Tôi tên là Vũ Thanh Vân, sinh năm 1980
Là học viên lớp cao học khoá 2003 - 2005 khoa Toán Tin ứng dụng, trường Đại học Bách Khoa Hà Nội
Tôi xin cam đoạn luận văn tốt nghiệp thạc sĩ khoa học này là do chính tôi hoàn thành Trong quá trình thực hiện luận văn tôi có tham khảo các tài liệu,
và các tài liệu này được ghi tại mục Tài liệu tham khảo
Nếu có gì không trung thực về việc thực hiện luận văn này, tôi xin hoàn toàn chịu trách nhiệm
Trang 4
M ỤC LỤC
MỤC LỤC 1
HÌNH VẼ 2
LỜI MỞ ĐẦU 3
Phần I TỔNG QUAN 5
1 Tổng quan về xác thực điện tử 5
2 Tình hình triển khai xác thực điện tử tại một số nước 15
3 Thực trạng xác thực điện tử tại Việt Nam 16
4 Các vấn đề cần quan tâm để xây dựng hệ thống cung cấp dịch vụ xác thực điện tử ở nước ta 17
Phần II Cơ sở lý thuyết 19
A Lý thuyết số học 19
1 Lý thuyết đồng dư 19
2 Phương trình đồng dư 24
3 Phương trình đồng dư bậc hai 28
4 Căn nguyên thủy 31
5 Số nguyên tố và sự phân bố số nguyên tố 33
B Mã hóa 35
1 Khái niệm 35
2 Một số hệ mã cổ điển 37
3 Một số hệ mã hiện đại 38
C Chữ ký điện tử 52
1 Giới thiệu về chữ ký điện tử 52
2 Chữ ký điện tử dựa trên hệ mã RSA 54
3 Chữ ký điện tử dựa trên hệ mã Elgamal 55
4 Hàm băm (Hash) 56
D Các giao thức mật mã dùng trong xác thực điện tử 65
1 Khái niệm 65
2.Các giao thức cơ bản trong trao đổi thông tin 69
Phần III Ứng dụng của xác thực điện tử trong thanh toán điện tử 89
1 Giao thức SSL 89
2 Giao thức giao dịch điện tử an toàn SET 90
KẾT LUẬN 111
TÀI LIỆU THAM KHẢO 112
PHỤ LỤC 113
Trang 5HÌNH V Ẽ
Hình 2.1: Quá trình mã hóa 36
Hình 2.2: Hình minh họa hệ mã hóa đối xứng 37
Hình 2.3: Hình minh họa hệ mã hóa khóa công khai 37
Hình 2.4 : Sơ đồ mã hóa DES 40
Hình 2.5: Hình mô tả hàm băm 57
Hình 2.6 : Sơ đồ tạo chữ ký điện tử 65
Hình 2.7 : Sơ đồ xác thực tính chính xác của thông điệp 65
Hình 3.1: Quá trình Cardholder Registration 100
Hình 3.2: Quá trình Merchant Registration 103
Hình 3.3 : Quá trình Purchase Request 105
Hình 3.4 : Quá trình Payment Authorization 107
Hình 3.4: Quá trình Payment Capture 109
Trang 6Với những lợi ích về bảo mật và an toàn giao dịch, các giao thức về xác thực điện tử hiện đã được sử dụng rộng rãi trên thế giới như một công cụ xác minh danh tính của các bên trong các giao dịch Mỗi quốc gia đều cần có những tổ chức xác thực bản địa để chủ động về các hoạt động xác thực trong nước Nhưng ngoài ra, nếu muốn thực hiện TMĐT vượt ra ngoài biên giới, các quốc gia cũng phải tuân theo các chuẩn công nghệ chung, và thực hiện xác thực chéo, trao đổi và công nhận các tổ chức xác thực của nhau Đây cũng là những yếu tố quan trọng đối với một quốc gia đang trong quá trình phát triển TMĐT như Việt Nam
Với đề tài “Một số vấn đề về xác thực điện tử và ứng dụng”, trong đồ án này tôi trình bầy về lý thuyết mã hóa, các giao thức trong mã hóa, đây chính là cốt lõi của xác thực điện tử Về phần ứng dụng của xác thực, tôi trình bầy về các giao thức xác thực trong thanh toán điện tử Đồ án có bố cục như sau:
- Phần 1: Giới thiệu tổng quan về xác thực điện tử
- Phần 2: Phần này trình bầy về cơ sở lý thuyết và được chia thành 4 phần nhỏ
Phần A: Trình bầy về lý thuyết số học
Phần B: Trình bầy về lý thuyết mã hóa Trong phần này bao gồm cả phần mã hóa cổ điển và mã hóa hiện đại, trong mã hóa hiện đại chia ra thành 2 lớp, mã hóa đối xứng và mã hóa phi đối xứng
Phần C: Trình bầy về chữ ký điện tử
Phần D: Trình bầy về các giao thức trong mã hóa dung trong xác thực điện tử Phần này đi sâu về các thủ tục giữa các bên nhằm sử dụng dữ liệu một cách an toàn và bảo mật
- Phần 3: Ứng dụng của xác thực trong thương mại điện tử Trong phần này
Trang 7đặc biệt là giao thức điện tử an toàn SET được phát triển bởi một tập đoàn các công ty thẻ tín dụng lớn như Visa, MasterCard và American Express , cũng như các nhà băng, các công ty bán hàng trên mạng và các công ty thương mại khác
- Phần 4: Phần này trình bầy về việc xây dựng thư viện mã hóa và ứng dụng cho hệ chữ ký điện tử
Tôi xin được gửi lời cảm ơn chân thành tới thầy Phan Trung Huy, người đã hướng dẫn tôi hoàn thành đồ án tốt nghiệp này Tôi cũng xin gửi lời cảm ơn tới gia đình và bạn bè, những người đã ủng hộ tôi trong suốt quá trình hoàn thành đồ
án
Người thực hiện
Vũ Thanh Vân
Trang 8Ph ần I TỔNG QUAN
1 T ổng quan về xác thực điện tử
1.1 Giới thiệu về xác thực
Xác thực điện tử là hoạt động xác thực danh tính của những người tham gia vào
việc gửi và nhận thông tin qua mạng, đồng thời cung cấp cho họ những công cụ,
những dịch vụ cần thiết để thực hiện việc bảo mật thông tin, xác thực nguồn gốc và nội dung thông tin Hạ tầng công nghệ của xác thực điện tử là cơ sở hạ tầng khoá công khai (PKI - Public Key Infrastructure) với nền tảng là mật mã khoá công khai
và chữ ký số
Người sử dụng dịch vụ xác thực điện tử sẽ được các cơ quan cung cấp dịch vụ
xác thực điện tử (CA - Certification Authority) cung cấp cho chứng chỉ số và phải được gán một cặp khoá mã (khoá bí mật và khoá công khai) để có thể tham gia sử
dụng xác thực điện tử trong các ứng dụng mà mình tham gia
Xác thực điện tử có các chức năng chính sau:
- Ký vào tài liệu điện tử
- Thư điện tử bảo đảm
- Thương mại điện tử
- Bảo vệ mạng WLAN (Wireless Lan Area Network)
- Bảo đảm an toàn cho các dịch vụ Web
- Bảo đảm an toàn cho Web Server, Mạng riêng ảo
Để có thể cung cấp được dịch vụ xác thực điện tử, cần có hệ thống luật pháp công nhận tính pháp lý của chữ ký số, quy định hoạt động của dịch vụ xác thực điện tử (thường là luật chữ ký số hoặc luật giao dịch điện tử) và các nhà cung cấp
dịch vụ xác thực điện tử
Trang 9Về cấu trúc tổ chức của hệ thống xác thực điện tử có thể chia làm ba loại: cấu trúc riêng lẻ, cấu trúc mắt lưới và cấu trúc hình cây Trong hệ thống cấu trúc riêng
lẻ, CA tự cấp chứng chỉ số cho mình, cấu trúc này thường được sử dụng trong nội
bộ một đơn vị như trong một trường đại học, một cơ quan nghiên cứu Cấu trúc mắt lưới được ứng dụng trong một cộng đồng các CA tin cậy lẫn nhau Các CA trong cấu trúc mắt lưới có quan hệ ngang hàng và thường cấp chứng chỉ cho nhau Cấu trúc hình cây là cấu trúc phổ biến nhất, nó bao gồm các thành phần cơ bản như dưới
Hình 1.1: Cấu trúc tổ chức hệ thống CA hình cây
- Cơ quan xác thực gốc (root CA): là cơ quan cấp chứng chỉ số cho các cơ quan xác thực, duy nhất trong một hệ thống các CA Đây chính là điểm tin cậy của người dùng trong hệ thống các CA Điều này có nghĩa khi người dùng tin cậy vào cơ quan xác thực gốc họ sẽ tin cậy vào dịch vụ của các CA được cấp
chứng chỉ số bởi cơ quan xác thực gốc này
- Cơ quan xác thực (CA): là cơ quan cấp chứng chỉ số cho người sử dụng
Cơ quan xác thựcgốc (root CA)
Cơ quan xác thực(CA)
Người dùng
Trang 10- Cơ quan đăng ký (RA - Registration Authority): là các đơn vị được CA uỷ quyền thực hiện các nhiệm vụ liên quan đến việc cấp chứng chỉ số bao gồm các công việc như tiếp nhận hồ sơ đăng ký, kiểm tra tính chính xác và hợp lệ
về các thông tin đăng ký của người muốn đăng ký được cấp chứng chỉ số
- Người sử dụng: là người được cấp chứng chỉ số để sử dụng trong các ứng dụng
của mình
Một khía cạnh rất quan trọng trong hoạt động Xác thực điện tử là hoạt động xác thực chéo Xác thực chéo là quá trình các CA hoặc các root CA thiết lập quan hệ tin cậy lẫn nhau, nhờ đó cộng đồng những người sử dụng có thể thực hiện các giao
dịch điện tử đối với các đối tác không cùng một CA
1.2 Các phương pháp mã hoá
1.2 1 Mã hóa khóa bí mật
Phương pháp mã hóa khóa bí mật (secret key cryptography) còn được gọi là mã hóa đối xứng (symmetric cryptography) Với phương pháp này, người gửi và người nhận sẽ dùng chung một khóa để mã hóa và giải mã dữ liệu Trước khi mã hóa dữ liệu để truyền đi trên mạng, hai bên gửi và nhận phải có khóa và phải thống nhất thuật toán dùng để mã hóa và giải mã Có nhiều thuật toán ứng dụng cho mã hóa khóa bí mật như: DES - Data Encrytion Standard, 3DES - triple-strength DES, RC2
- Rons Cipher 2 và RC4, v.v
Nhận xét: Nhược điểm chính của phương pháp này là khóa được truyền trên môi trường mạng nên tính bảo mật không cao Ưu điểm là tốc độ mã hóa và giải mã rất nhanh
1.2.2 Mã hóa khóa công khai
Phương pháp mã hóa khóa công khai (public key cryptography) đã giải quyết được vấn đề của phương pháp mã hóa khóa bí mật là sử dụng hai khóa public key và private key Public key được gửi công khai trên mạng, trong khi đó private key được giữ kín Public key và private key có vai trò trái ngược nhau, một khóa dùng
để mã hóa và khóa kia sẽ dùng để giải mã
Phương pháp này còn được gọi là mã hóa bất đối xứng (asymmetric cryptography)
vì nó sử dụng hai khóa khác nhau để mã hóa và giải mã dữ liệu Phương pháp này
sử dụng thuật toán mã hóa RSA (tên của ba nhà phát minh ra nó: Ron Rivest, Adi Shamir và Leonard Adleman) và thuật toán DH (Diffie-Hellman)
Trang 11Giả sử B muốn gửi cho A một thông điệp bí mật sử dụng phương pháp mã hóa khóa công khai Ban đầu, A có cả private key và public key A sẽ giữ private key ở nơi an toàn và gửi public key cho B B mã hóa và gửi cho A thông điệp đã mã hóa bằng public key nhận được của A Sau đó A sẽ giải mã thông điệp bằng private key của mình Ngược lại nếu A muốn gửi thông điệp cho B thì A phải mã hóa thông điệp bằng public key của B
Nhận xét: Phương pháp cho phép trao đổi khóa một cách dễ dàng và tiện lợi Tuy nhiên, tốc độ mã hóa khá chậm nên chỉ được sử dụng cho mẩu dữ liệu nhỏ
1.3 Chứng chỉ số
1.3.1 Chứng chỉ số là gì
Chứng chỉ số là một tệp tin điện tử dùng để xác minh danh tính một cá nhân, một máy chủ, một công ty trên Internet Nó giống như bằng lái xe, hộ chiếu, chứng minh thư hay những giấy tờ xác minh cá nhân Nó được một tổ chức tin cậy (như VeriSign, Entrust, CyberTrust, v.v ) tạo ra Tổ chức này được gọi là tổ chức chứng nhận khóa công khai Certificate Authority (CA) Một khi public key đã được CA chứng nhận thì có thể dùng khóa đó để trao đổi dữ liệu trên mạng với mức độ bảo mật cao
1.3.2 Cấu trúc của một chứng chỉ số
Trong chứng chỉ số có ba thành phần chính:
• Thông tin cá nhân của người được cấp
• Khoá công khai (Public key) của người được cấp
• Chữ ký số của CA cấp chứng chỉ
• Thông tin cá nhân
Đây là các thông tin của đối tượng được cấp chứng chỉ số, gồm tên, quốc tịch, địa chỉ, điện thoại, email, tên tổ chức v.v Phần này giống như các thông tin trên chứng minh thư của mỗi người
Khoá công khai
Trong khái niệm mật mã, khoá công khai là một giá trị được nhà cung cấp xác thựcđưa ra như một khoá mã hoá, kết hợp cùng với một khoá cá nhân duy nhất được tạo ra từ khoá công khai để tạo thành cặp mã khoá bất đối xứng
Nguyên lý hoạt động của khoá công khai trong chứng chỉ số là hai bên giao dịch phải biết khoá công khai của nhau Bên A muốn gửi cho bên B thì phải dùng khoá công khai của bên B để mã hoá thông tin Bên B sẽ dùng khoá cá nhân của mình để
mở thông tin đó ra Tính bất đối xứng trong mã hoá thể hiện ở chỗ khoá cá nhân có
Trang 12thể giải mã dữ liệu được mã hoá bằng khoá công khai (trong cùng một cặp khoá duy nhất mà một cá nhân sở hữu), nhưng khoá công khai không có khả năng giải
mã lại thông tin, kể cả những thông tin do chính khoá công khai đó đã mã hoá Đây
là đặc tính cần thiết vì có thể nhiều cá nhân B,C, D cùng thực hiện giao dịch và
có khoá công khai của A, nhưng C,D không thể giải mã được các thông tin mà B gửi cho A dù cho đã chặn bắt được các gói thông tin gửi đi trên mạng
Một cách hiểu nôm na, nếu chứng chỉ số là một chứng minh thư nhân dân, thì khoá công khai đóng vai trò như danh tính của bạn trên giấy chứng minh thư (gồm tên địa chỉ, ảnh ), còn khoá cá nhân là gương mặt và dấu vân tay của bạn Nếu coi một bưu phẩm là thông tin truyền đi, được "mã hoá" bằng địa chỉ và tên người nhận của bạn, thì dù ai đó có dùng chứng minh thư của bạn với mục đich lấy bưu phẩm này,
họ cũng không được nhân viên bưu điện giao bưu kiện vì ảnh mặt và dấu vân tay không giống
Chữ ký số của CA cấp chứng chỉ
Còn gọi là chứng chỉ gốc Đây chính là sự xác nhận của CA, bảo đảm tính chính xác và hợp lệ của chứng chỉ Muốn kiểm tra một chứng chỉ số, trước tiên phải kiểm tra chữ ký số của CA có hợp lệ hay không Trên chứng minh thư, đây chính là con dấu xác nhận của Công An Tỉnh hoặc Thành phố mà bạn trực thuộc Về nguyên tắc, khi kiểm tra chứng minh thư, đúng ra đầu tiên phải là xem con dấu này, để biết chứng minh thư có bị làm giả hay không
1.3.3 Lợi ích của việc dùng chứng chỉ số
Ngày nay, việc giao tiếp qua mạng Internet đang trở thành một nhu cầu cấp thiết Các thông tin truyền trên mạng đều rất quan trọng, như mã số tài khoản, thông tin mật Tuy nhiên, với các thủ đoạn tinh vi, nguy cơ bị ăn cắp thông tin qua mạng cũng ngày càng gia tăng Hiện nay giao tiếp qua Internet chủ yếu sử dụng giao thức TCP/IP Đây là giao thức cho phép các thông tin được gửi từ máy tính này tới máy tính khác thông qua một loạt các máy trung gian hoặc các mạng riêng biệt Chính điều này đã tạo cơ hội cho những ''kẻ trộm'' công nghệ cao có thể thực hiện các hành động phi pháp Các thông tin truyền trên mạng đều có thể bị nghe trộm (Eavesdropping), giả mạo (Tampering), mạo danh (Impersonation) v.v Các biện pháp bảo mật hiện nay, chẳng hạn như dùng mật khẩu, đều không đảm bảo vì có thể bị nghe trộm hoặc bị dò ra nhanh chóng
Do vậy, để bảo mật, các thông tin truyền trên Internet ngày nay đều có xu hướng
Trang 13trong quá trình truyền, dù có ''chặn'' được các thông tin này, kẻ trộm cũng không thể đọc được vì bị mã hoá Khi tới đích, người nhận sẽ sử dụng một công cụ đặc biệt để giải mã Phương pháp mã hoá và bảo mật phổ biến nhất đang được thế giới
áp dụng là chứng chỉ số (Digital Certificate) Với chứng chỉ số, người sử dụng có thể mã hoá thông tin một cách hiệu quả, chống giả mạo (cho phép người nhận kiểm tra thông tin có bị thay đổi không), xác thực danh tính của người gửi Ngoài ra chứng chỉ số còn là bằng chứng giúp chống chối cãi nguồn gốc, ngăn chặn người gửi chối cãi nguồn gốc tài liệu mình đã gửi
Hãy xem ví dụ A muốn gửi thông điệp cho B và mã hóa theo phương pháp khóa công khai Lúc này A cần phải mã hóa thông điệp bằng public key của B Trường hợp public key bị giả mạo thì sao? Hacker có thể tự sinh ra một cặp khóa public key/private key, sau đó đưa cho A khóa public key này và nói đây là khóa public key của B Nếu A dùng public key giả này mà tưởng là của B thì dẫn đến hệ quả mọi thông tin A truyền đi đều bị hacker đọc được
Vấn đề này được giải quyết nếu có một bên thứ ba được tin cậy, gọi là C, đứng ra chứng nhận public key Những public key đã được C chứng nhận gọi là chứng nhận điện tử (public key certificate hay digital certificate)
Lợi ích của việc sử dụng chứng chỉ số thể hiện ở các mặt sau:
Mã hoá
Lợi ích đầu tiên của chứng chỉ số là tính bảo mật thông tin Khi người gửi đã mã hoá thông tin bằng khoá công khai của bạn, chắc chắn chỉ có bạn mới giải mã được thông tin để đọc Trong quá trình truyền thông tin qua Internet, dù có đọc được các gói tin đã mã hoá này, kẻ xấu cũng không thể biết được trong gói tin có thông tin
gì Đây là một tính năng rất quan trọng, giúp người sử dụng hoàn toàn tin cậy về khả năng bảo mật thông tin Những trao đổi thông tin cần bảo mật cao, chẳng hạn giao dịch liên ngân hàng, ngân hàng điện tử, thanh toán bằng thẻ tín dụng, đều cần phải có chứng chỉ số để đảm bảo an toàn
Chống giả mạo
Khi bạn gửi đi một thông tin, có thể là một dữ liệu hoặc một email, có sử dụng chứng chỉ số, người nhận sẽ kiểm tra được thông tin của bạn có bị thay đổi hay không Bất kỳ một sự sửa đổi hay thay thế nội dung của thông điệp gốc đều sẽ bị phát hiện Địa chỉ mail của bạn, tên domain đều có thể bị kẻ xấu làm giả để đánh lừa người nhận để lây lan virus, ăn cắp thông tin quan trọng Tuy nhiên, chứng chỉ
Trang 14số thì không thể làm giả, nên việc trao đổi thông tin có kèm chứng chỉ số luôn đảm bảo an toàn
Chống chối cãi nguồn gốc
Khi sử dụng một chứng chỉ số, bạn phải chịu trách nhiệm hoàn toàn về những thông tin mà chứng chỉ số đi kèm Trong trường hợp người gửi chối cãi, phủ nhận một thông tin nào đó không phải do mình gửi (chẳng hạn một đơn đặt hàng qua mạng), chứng chỉ số mà người nhận có được sẽ là bằng chứng khẳng định người gửi là tác giả của thông tin đó Trong trường hợp chối cãi, CA cung cấp chứng chỉ
số cho hai bên sẽ chịu trách nhiệm xác minh nguồn gốc thông tin, chứng tỏ nguồn gốc thông tin được gửi
Chữ ký điện tử
Email đóng một vai trò khá quan trọng trong trao đổi thông tin hàng ngày của chúng ta vì ưu điểm nhanh, rẻ và dễ sử dụng Những thông điệp có thể gửi đi nhanh chóng, qua Internet, đến những khách hàng, đồng nghiệp, nhà cung cấp và các đối tác Tuy nhiên, email rất dễ bị tổn thương bởi các hacker Những thông điệp có thể
bị đọc hay bị giả mạo trước khi đến người nhận
Bằng việc sử dụng chứng chỉ số cá nhân, bạn sẽ ngăn ngừa được các nguy cơ này
mà vẫn không làm giảm những lợi thế của email Với chứng chỉ số cá nhân, bạn có thể tạo thêm một chữ ký điện tử vào email như một bằng chứng xác nhận của mình Chữ ký điện tử cũng có các tính năng xác thực thông tin, toàn vẹn dữ liệu và chống chối cãi nguồn gốc
Trang 15Ngoài ra, chứng chỉ số cá nhân còn cho phép người dùng có thể xác thựcmình với một web server thông qua giao thức bảo mật SSL Phương pháp xác thựcdựa trên chứng chỉ số được đánh giá là tốt, an toàn và bảo mật hơn phương pháp xác thựctruyền thống dựa trên mật khẩu
Bảo mật Website
Khi Website của bạn sử dụng cho mục đích thương mại điện tử hay cho những mục đích quan trọng khác, những thông tin trao đổi giữa bạn và khách hàng của bạn có thể bị lộ Để tránh nguy cơ này, bạn có thể dùng chứng chỉ số SSL Server để bảo mật cho Website của mình
Chứng chỉ số SSL Server sẽ cho phép bạn lập cấu hình Website của mình theo giao thức bảo mật SSL (Secure Sockets Layer) Loại chứng chỉ số này sẽ cung cấp cho Website của bạn một định danh duy nhất nhằm đảm bảo với khách hàng của bạn về tính xác thực và tính hợp pháp của Website Chứng chỉ số SSL Server cũng cho phép trao đổi thông tin an toàn và bảo mật giữa Website với khách hàng, nhân viên
và đối tác của bạn thông qua công nghệ SSL mà nổi bật là các tính năng:
+ Thực hiện mua bán bằng thẻ tín dụng
+ Bảo vệ những thông tin cá nhân nhạy cảm của khách hàng
+ Đảm bảo hacker không thể dò tìm được mật khẩu
Đảm bảo phần mềm
Nếu bạn là một nhà sản xuất phần mềm, chắc chắn bạn sẽ cần những ''con tem chống hàng giả'' cho sản phẩm của mình Đây là một công cụ không thể thiếu trong việc áp dụng hình thức sở hữu bản quyền Chứng chỉ số Nhà phát triển phần mềm
sẽ cho phép bạn ký vào các applet, script, Java software, ActiveX control, các file dạng EXE, CAB, DLL Như vậy, thông qua chứng chỉ số, bạn sẽ đảm bảo tính hợp pháp cũng như nguồn gốc xuất xứ của sản phẩm Hơn nữa người dùng sản phẩm có thể xác thực được bạn là nhà cung cấp, phát hiện được sự thay đổi của chương trình (do vô tình hỏng hay do virus phá, bị crack và bán lậu )
1.3 4 Nhà cung cấp xác thựcsố CA
Trong các hệ thống quản lý xác thựcsố đang hoạt động trên thế giới, Nhà cung cấp xác thựcsố (Certificate authority - CA) là một tổ chức chuyên đưa ra và quản lý các nội dung xác thực bảo mật trên một mạng máy tính, cùng các khoá công khai để mã hoá thông tin Là một phần trong Cơ sở hạ tầng khoá công khai (public key infrastructure - PKI), một CA sẽ kiểm soát cùng với một nhà quản lý đăng ký (Registration authority - RA) để xác minh thông tin về một chứng chỉ số mà người
Trang 16yêu cầu xác thực đưa ra Nếu RA xác nhận thông tin của người cần xác thực, CA sau đó sẽ đưa ra một chứng chỉ
Tuỳ thuộc vào việc triển khai cơ sở hạ tầng khoá công khai, chứng chỉ số sẽ bao gồm khoá công khai của người sở hữu, thời hạn hết hiệu lực của chứng chỉ, tên chủ
sở hữu và các thông tin khác về chủ khoá công khai
1.3 5 Cơ sở hạ tầng khoá công khai - PKI
Một PKI (public key infrastructure) cho phép người sử dụng của một mạng công cộng không bảo mật, chẳng hạn như Internet, có thể trao đổi dữ liệu và tiền một cách an toàn thông qua việc sử dụng một cặp mã khoá công khai và cá nhân được cấp phát và sử dụng qua một nhà cung cấp xác thựcđược tín nhiệm Nền tảng khoá công khai cung cấp một chứng chỉ số, dùng để xác minh một cá nhân hoặc tổ chức,
và các dịch vụ danh mục có thể lưu trữ và khi cần có thể thu hồi các chứng chỉ số Mặc dù các thành phần cơ bản của PKI đều được phổ biến, nhưng một số nhà cung cấp đang muốn đưa ra những chuẩn PKI riêng khác biệt Một tiêu chuẩn chung về PKI trên Internet cũng đang trong quá trình xây dựng
Một cơ sở hạ tầng khoá công khai bao gồm:
• Một Nhà cung cấp xác thựcsố (CA) chuyên cung cấp và xác minh các chứng chỉ số Một chứng chỉ bao gồm khoá công khai hoặc thông tin về khoá công khai
• Một nhà quản lý đăng ký (Registration Authority (RA) đóng vai trò như người thẩm tra cho CA trước khi một chứng chỉ số được cấp phát tới người yêu cầu
• Một hoặc nhiều danh mục nơi các chứng chỉ số (với khoá công khai của nó) được lưu giữ, phục vụ cho các nhu cầu tra cứu, lấy khoá công khai của đối tác cần thực hiện giao dịch xác thựcsố
• Một hệ thống quản lý chứng chỉ
1.3 6 Nhà quản lý đăng ký – RA
Một nhà quản lý đăng ký (Registration Authority - RA) là một cơ quan thẩm tra trên một mạng máy tính, xác minh các yêu cầu của người dùng muốn xác thực một chứng chỉ số, và yêu cầu CA đưa ra kết quả RA là một phần trong cơ sở hạ tầng khoá công khai PKI, một hệ thống cho phép các công ty và người dùng trao đổi các thông tin và hoạt động tài chính một cách an toàn bảo mật
1.4 Chữ ký điện tử
Trang 17Chữ ký điện tử (digital signature) là đoạn dữ liệu ngắn đính kèm với văn bản gốc
để xác thựctác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹn của nội dung văn bản gốc
Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một chiều trên văn bản gốc để tạo ra bản phân tích văn bản (message digest) hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc để gửi
đi khi nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại fingerprint để so sánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký
số
1.4 1 Các bước mã hóa
1 Dùng giải thuật băm để thay đổi thông điệp cần truyền đi kết quả ta được một message digest, dùng giải thuật MD5 (message digest) ta được digest có chiều dài 128-bit
2 Sử dụng khóa private key của người gửi để mã hóa message digest thu được ở bước 1 thông thường ở bước này ta dùng giải thuật rsa kết quả thu được gọi là digital signature của message ban đầu, dùng thuật toán mã hóa RSA 128 bit
3 Gộp digital signature vào message ban đầu công việc này gọi là “ký nhận” vào message sau khi đã ký nhận vào message, mọi sự thay đổi trên message sẽ bị phát hiện trong giai đoạn kiểm tra ngoài ra, việc ký nhận này đảm bảo người nhận tin tưởng message này xuất phát từ người gửi chứ không phải là ai khác
1.4 2 Các bước kiểm tra
1 Dùng public key của người gửi (khóa này được thông báo đến mọi người) để giải
mã chữ ký số của message
2 Dùng giải thuật MD5 băm message đính kèm
3 So sánh kết quả thu được ở bước 1 và 2 Nếu trùng nhau, ta kết luận message này không bị thay đổi trong quá trình truyền và message này là của người gửi
1.4 3 Nhận xét về ứng dụng chữ ký điện tử
Chữ ký điện tử là mô hình đảm bảo an toàn dữ liệu khi truyền trên mạng và được
sử dụng để tạo chứng nhận điện tử trong các giao dịch điện tử qua mạng Internet
Ví dụ A gửi đến tổ chức Certificate Authority yêu cầu cấp chứng nhận điện tử kèm theo khóa công khai của họ Tổ chức CA sẽ “ký nhận” vào đó và cấp digital certificate cho A Khách hàng này sẽ thông báo certificate của mình trên mạng Giả
sử có B muốn gửi cho A một message thì công việc đầu tiên B sẽ lấy certificate của
Trang 18A và kiểm tra tính hợp lệ của certificate Nếu hợp lệ, B sẽ lấy public key trong digital certificate để mã hóa dữ liệu và gửi cho A
2 Tình hình tri ển khai xác thực điện tử tại một số nước
Trong vài năm gần đây dịch vụ xác thực điện tử đã ra đời và ngày càng phát triển
ở nhiều nước trên thế giới Đây là dịch vụ các đơn vị có thẩm quyền xác thực cung
cấp Rất nhiều quốc gia trên thế giới đã cung cấp dịch vụ Xác thực điện tử Một số
CA nổi tiếng trên thế giới có thể kể đến như CA của các công ty VeriSign, WISeKey, eTrust, có chi nhánh tại rất nhiều nước trên thế giới
Để cung cấp dịch vụ xác thực điện tử, nhiều nước đều ban hành các văn bản pháp lý về hoạt động xác thực điện tử, cấp phép cho các CA và tổ chức hệ thống
CA Về cấu trúc hệ thống cung cấp dịch vụ xác thực điện tử có nước tổ chức theo
sơ đồ hình cây trong đó mức cao nhất là root CA quốc gia, mức duới là các CA cấp dưới Bên cạnh đó cũng có quốc gia không thành lập root CA mà tổ chức các CA theo dạng mắt lưới hoặc riêng rẽ
Ở các nước trong khu vực dịch vụ xác thực điện tử phát triển khá mạnh Nhật
Bản đã ban hành Luật về chữ ký điện tử và các dịch vụ xác thực vào năm 2001 Hàn Quốc ban hành luật chữ ký điện tử vào năm 1999 và sửa đổi vào năm 2001
Hiện nay Hàn Quốc có 6 CA được cấp phép hoạt động Hồng Kông ban hành sắc lệnh về giao dịch điện tử vào năm 2000 Đài Loan ban hành luật chữ ký số vào năm
2001 Malaysia ban hành luật chữ ký số vào năm 1997, hiện nay có 3 CA được cấp phép hoạt động Singapore ban hành luật giao dịch điện tử vào năm 1998 và Quy định về giao dịch điện tử cho các CA vào năm 1999 Thái Lan ban hành luật giao dịch điện tử năm 2001
Hiện nay xác thực điện tử được sử dụng trong khá nhiều ứng dụng, theo số liệu điều tra công bố vào tháng 8/2003 của tổ chức OASIS (Organization for the Advancement of Structured Information Standards) thì 24,1% sử dụng trong việc
ký vào các dữ liệu điện tử, 16,3% sử dụng để bảo đảm cho thư điện tử, 13,2% dùng trong thương mại điện tử, 9,1% sử dụng để bảo vệ WLAN, 8% sử dụng bảo đảm an toàn cho các dịch vụ Web, 6% sử dụng bảo đảm an toàn cho Web Server, 6% sử
dụng trong các mạng riêng ảo (VPC) Ngoài ra xác thực điện tử còn được sử dụng trong một số ứng dụng khác
Tuy xác thực điện tử phát triển khá nhanh và được sử dụng khá hiệu quả trong rất nhiều ứng dụng như vậy nhưng không phải không có những yếu tố cản trở sự
Trang 19phát triển của nó ở đây có thể nêu lên một số yếu tố chính cản trở sự phát triển của xác thực điện tử, đó là:
- Còn ít các phần mềm ứng dụng hỗ trợ sử dụng xác thực điện tử
- Giá thành hệ thống CA cũng như phí cung cấp dịch vụ cao
- Thiếu hiểu biết về PKI
- Có quá nhiều công nghệ
- Khó sử dụng đối với người dùng
- Khả năng kết hợp làm việc giữa các hệ thống chưa tốt
- Thiếu việc hỗ trợ quản lý
- Quá nhiều yêu cầu về mặt luật pháp
Tóm lại việc phát triển xác thực điện tử là một xu hướng tất yếu trên thế giới nhưng trong quá trình phát triển nó cũng gặp những rào cản nhất định Các nước hầu hết
đã triển khai cung cấp dịch vụ xác thực điện tử đặc biệt là những nước có các ứng dụng trên mạng phát triển
3 Th ực trạng xác thực điện tử tại Việt Nam
Trước nhu cầu sử dụng xác thực điện tử ngày càng tăng cao tại Việt Nam, trong thời gian qua tại Việt Nam đã có một số đơn vị cung cấp và thử nghiệm dịch vụ xác thực điện tử như công ty VASC, công ty VDC, Trung tâm tin học Bộ Khoa học Công nghệ (KHCN), Ban Cơ yếu chính phủ, một số ngân hàng Ngoài ra còn một
số đơn vị cũng thử nghiệm xây dựng các CA nội bộ Trong các CA đã nêu này hầu
hết là các CA riêng rẽ nghĩa là tự cấp chứng chỉ cho mình, chỉ có CA của VDC là đại lý cho CA của công ty VeriSign Ngoài ra trong các CA đã nêu chỉ có CA của VASC và CA của VDC là cung cấp dịch vụ xác thực cho cộng đồng Các ứng dụng sử dụng xác thực điện tử ở Việt Nam chủ yếu là ký vào dữ liệu điện tử, thư điện tử bảo đảm, xác thực quyền truy nhập, thanh toán điện tử Tuy vậy cho đến
hiện nay tại Việt Nam vẫn chưa có một văn bản nào mang tính pháp lý quy định về
hoạt động xác thực điện tử Hiện tại, chúng ta đang xây dựng bốn văn bản pháp lý liên quan đến hoạt động xác thực điện tử, đó là:
- Pháp lệnh TMĐT do Bộ Thương mại chủ trì
- Luật Giao dịch điện tử do Uỷ ban KHCN và Môi trường của Quốc hội chủ trì
- Nghị định của Chính phủ về quản lý, cung cấp và sử dụng dịch vụ xác thực điện tử do Bộ Bưu chính, Viễn thông (BCVT) chủ trì
Trang 20- Nghị định của Chính phủ quy định việc nghiên cứu, sản xuất và sử dụng mật
mã không thuộc phạm vi bí mật nhà nước do Ban Cơ yếu Chính phủ chủ trì, Ngoài ra còn phải kể đến Luật Công nghệ thông tin do Bộ BCVT chủ trì soạn
thảo Ba trong bốn văn bản pháp lý đã nêu ở trên dù ít hay nhiều trong bản dự thảo đều có đề cập đến tính pháp lý của chữ ký số cũng như quy định một số điều liên quan đến việc quản lý, cung cấp, sử dụng dịch vụ xác thực điện tử Văn bản còn lại liên quan đến việc sử dụng mật mã trong xác thực điện tử Vấn đề đặt ra là sự phối
hợp giữa các đơn vị xây dựng các văn bản pháp lý này như thế nào để tránh được
sự chồng chéo về nội dung xác thực điện tử trong các văn bản này Để có thể cung
cấp dịch vụ xác thực điện tử một cách tốt nhất, các vấn đề sau trong việc xây dựng
hệ thống cung cấp dịch vụ này cần quan tâm:
4 Các v ấn đề cần quan tâm để xây dựng hệ thống cung cấp dịch vụ xác thực điện tử ở nước ta
- Về xây dựng hành lang pháp lý, cần có một văn bản pháp luật quy định rõ về
hoạt động xác thực điện tử trong đó nêu rõ về tính pháp lý của chữ ký số, thủ tục
cấp và thu hồi giấy phép của CA, nghĩa vụ và quyền hạn của CA cũng như người
sử dụng, các điều khoản liên quan đến phát hành, thu hồi, huỷ bỏ chứng chỉ số, các điều liên quan đến mã khoá cá nhân, ngoài ra còn đưa ra các chế tài xử phạt, giải quyết tranh chấp Như ở trên đã đề cập, bốn văn bản pháp luật có liên quan đến
hoạt động Xác thực điện tử đang được xây dựng, vấn đề đặt ra là làm thế nào để tránh chồng lặp các quy định về xác thực điện tử trong các văn bản này Một vấn đề
nữa là việc chỉ định cơ quan quản lý nhà nước về hoạt động xác thực điện tử có trách nhiệm quản lý các hoạt động liên quan đến xác thực điện tử: cấp phép hoạt động, ban hành chuẩn, giám sát, thu hồi giấy phép cho các CA cũng như đóng vai trò như root CA quốc gia
- Xây dựng hệ thống tiêu chuẩn trong hoạt động xác thực điện tử liên quan
trực tiếp đến độ tin cậy của các dịch vụ và sự an toàn thông tin của mỗi CA, đến
hoạt động xác thực chéo và các hoạt động tương tác giữa các CA trong cùng một
hệ thống Việc xây dựng, ban hành các tiêu chuẩn kỹ thuật liên quan đến xác thực điện tử ở đây đề cập đến là các chuẩn về chứng chỉ số và chuẩn về mật mã cũng như các yêu cầu kỹ thuật khác mà các CA cần phải đáp ứng như vấn đề an toàn,
bảo mật hệ thống, sao lưu dữ liệu, bảo vệ vật lý, phòng chống cháy nổ, đảm bảo
chất lượng dịch vụ
Trang 21- Chuẩn về chứng chỉ số quy định về khuôn dạng của chứng chỉ số, tổ chức thư mục chứng chỉ, danh sách chứng chỉ thu hồi, còn chuẩn về mật mã liên quan đến đến các thuật toán mã hoá, hàm băm, tạo khoá và phân phối khoá
- Hiện nay các chuẩn này trên thế giới đã được xây dựng khá đầy đủ và tương đối đa dạng Vấn đề của chúng ta là lựa chọn chuẩn nào cho phù hợp và cân nhắc
giữa việc xây dựng các tiêu chuẩn riêng của chúng ta hay tuân thủ các tiêu chuẩn thế giới Một vấn đề nữa cần đề cập ở đây là vấn đề mật mã sử dụng trong xác thực điện tử, hiện nay Ban Cơ yếu Chính phủ đang chủ trì xây dựng "Nghị định của Chính phủ quy định việc nghiên cứu, sản xuất và sử dụng mật mã không thuộc
phạm vi bí mật nhà nước", chính vì vậy việc sử dụng mật mã trong xác thực điện tử cũng cần cân nhắc xem có phù hợp với nghị định này không
- Triển khai xây dựng hệ thống CA: việc lựa chọn mô hình tổ chức hệ thống
CA quốc gia cần được cân nhắc, cũng như số CA sẽ được cấp phép hoạt động Ngoài ra việc lựa chọn hạ tầng kỹ thuật của từng CA cho phù hợp và đảm bảo các yêu cầu về an toàn, bảo mật cũng cần phải xem xét một cách kỹ lưỡng Bên cạnh
đó việc xây dựng quy định về thủ tục xác thực (CPS - Certification Practice Statement) của từng CA cũng cần được quan tâm một cách đúng mực
- Giám sát đánh giá hoạt động của các CA: xác thực điện tử là một dịch vụ mang tính pháp lý cao nên cơ quan quản lý nhà nước cần kiểm tra chặt chẽ hoạt động, đảm bảo các yêu cầu kỹ thuật và chất lượng dịch vụ của các CA Bên cạnh
đó cần có quy định rõ ràng trong việc báo cáo định kỳ về hoạt động của các CA
Việc kiểm tra các CA cần được tiến hành định kỳ và có thể kiểm tra đột xuất khi
cần thiết
- Tuyên truyền hướng dẫn người sử dụng và đào tạo đội ngũ kỹ thuật: Để phát triển dịch vụ xác thực ở nước ta một cách nhanh chóng, vấn đề tuyên truyền hướng dẫn sử dụng Xác thực điện tử, nâng cao ý thức an toàn, bảo mật trong cộng đồng xã
hội và đào tạo đội ngũ kỹ thuật có đủ năng lực để duy trì và phát triển hệ thống cung cấp dịch vụ xác thực điện tử cần phải được đẩy mạnh
- Khuyến khích xây dựng các phần mềm hỗ trợ xác thực điện tử: Một trong
những yếu tố cản trở việc phát triển hoạt động xác thực điện tử là thiếu các phần mềm hỗ trợ sử dụng xác thực điện tử Chính vì vậy cần khuyến khích sử dụng và xây dựng các phần mềm ứng dụng hỗ trợ sử dụng xác thực điện tử
Trang 22- Xác thực chéo: Một vấn đề khi xây dựng hệ thống cung cấp dịch vụ xác thực điện tử là cần phải cân nhắc lựa chọn cấu trúc tổ chức hệ thống CA, cũng như các vấn đề kỹ thuật , chính sách liên quan sao cho việc xác thực chéo thuận lợi
nhất sau này Việc xác thực chéo là một điều bắt buộc khi chúng ta hội nhập với
thế giới xác thực chéo có thể thực hiện giữa các quốc gia, các CA quốc tế hoặc giữa các CA trong nước
- Hợp tác quốc tế về xác thực điện tử: Các hoạt động trên mạng là không biên
giới, bên cạnh đó vấn đề xác thực chéo giữa các tổ chức, các quốc gia là một vấn
đề rất quan trọng trong hoạt động Xác thực điện tử Hiện nay trên thế giới và khu
vực các diễn đàn về PKI và các hoạt động liên quan đến xác thực điện tử hoạt động rất sôi nổi Chính vì vậy việc hợp tác quốc tế là rất cần thiết trong hoạt động xác thực điện tử Có tham gia vào hợp tác quốc tế thì hoạt động Xác thực điện tử của chúng ta mới có thể phát triển bền vững được
Ph ần II Cơ sở lý thuyết
A Lý thuy ết số học
1 Lý thuy ết đồng dư
1.1 Đồng dư thức
1.1.1 Mở đầu
Xét vành số nguyên Z Cho m là một số tự nhiên, m≠0, a, b là các số nguyên
1 Định nghĩa Ta nói a đồng dư với b theo modun m nếu trong phép chia a và b
cho m ta được cùng một số dư, khi đó ta ký hiệu : a ≡ b (mod m) và gọi đó là đồng
Trang 23c) a ≡ b (mod m) và b ≡ c (mod m) kéo theo a ≡ c (mod m)
2 Ta có thể cộng hoặc trừ từng vế của nhiều đồng dư thức theo cùng một modun m với nhau, cụ thể là nếu ta có:
ai ≡ bi (mod m) i = 1, , k thì ta cũng có ∑ εi ai ≡ ∑ εi bi(mod m) với εi = ±1 i= 1, ,k i= 1, ,k
3 Ta có thể nhân từng vế của nhiều đồng dư thức theo cùng một modun m với nhau, cụ thể là nếu :
a) Ta có thể cộng hoặc trừ một số vào hai vế của một đồng dư thức :
a ≡ b (mod m) thì a ± c ≡ b ± c (mod m) , với mọi c ∈ Z
b) Ta có thể chuyển vế các số hạng của một đồng dư thức, bằng cách đổi dấu các số hạng đó, cụ thể là nếu ta có a+c ≡ b (mod m) thì ta cũng có a ≡ b- c (mod m)
- Nếu ta có a ≡ b (mod m) thì cũng có các đồng dư thức sau:
Trang 247 Nếu hai số đồng dư với nhau theo nhiều modun thì chúng cũng đồng dư với nhau theo modun là bội chung nhỏ nhất của các modun đã cho, cụ thể là nếu a ≡ b (mod mi), i = 1,2, , k và m = [m1 , m2 , , mk] thì ta cũng có a ≡ b (mod m)
8 Nếu hai số đồng dư với nhau theo modun m thì chúng cùng đồng dư với nhau theo mọi modun là ước của m, cụ thể là nếu ta có a ≡ b (mod m) và d|m , d>0 thì ta cũng có a ≡ b (mod d)
9 Nếu hai số a, b đồng dư với nhau theo modun m thì tập hợp các ước chung của a và m trùng với tập hợp các ước chung của b và m và riêng (a,m) = (b,m)
1.2 Các lớp thặng dư
1.2.1 Tập các lớp thặng dư modun
Do quan hệ đồng dư là quan hệ tương đương, nên ta có định nghĩa sau:
Định nghĩa Tập hợp thương của tập hợp các số nguyên z trên quan hệ đồng dư
modun m , được gọi là tập hợp các lớp thặng dư modun m , và ký hiệu là Zm Mỗi phần tử của Zmđược gọi là một lớp thặng dư modun m
- Từ nay về sau ta sẽ ký hiệu như sau : k (mod m) bằng [k]
1.2.2 Tính ch ất của tập hợp các lớp thặng dư
1 Tập hợp Zm gồm m phần tử
2 Mỗi lớp thặng dư modun m là tập hợp của k lớp thặng dư modun km (đôi một phân biệt)
+ Ví dụ : với m=8, k=3, ta xét lớp thặng dư 4 (mod 8)
Theo định lý trên thì lớp thặng dư 4 (mod 8) là hợp của 3 lớp thặng dư (mod 3*8) = ( mod 24 )
Từ kết quả này ta có định nghĩa sau:
Định nghĩa Ta gọi ước chung lớn nhất của một lớp A với modun m là ước
chung lớn nhất của mỗi đại diện của A với modun m , và ta ký hiệu là: d = (A,m) Nếu (A,m) = 1 thì A gọi là một lớp thặng dư nguyên tố với modun
Trang 251.2.3 Vành của các lớp thặng dư
Với hai phép toán cộng và nhân trong Zm thì nó trở thành một vành
1 Phép toán trong Zm Trong Zm ta định nghĩa các phép toán cộng và nhân như sau : [a]+[b] = [a+b] và [a].[b] = [a b] Có thể chứng minh định nghĩa phép toán không phụ thuộc vào việc chọn phần tử đại diện
2 Định lý 2 Tập hợp các lớp thặng dư modun m, Zm cùng với phép cộng và nhân vừa xác định trên đây là một vành giao hoán có đơn vị
3 Định lý 3 Lớp A thặng dư modun m là phần tử khả nghịch của vành Zm khi
và chỉ khi A là lớp nguyên tố với modun m
a Định lý Ơle : Nếu a, m ∈ Z, m>0, (a,m) = 1 thì ta có: aφ(m) ≡ 1 (mod m)
b Định lý Phécma: Nếu p là một số nguyên tố và a là một số nguyên không
Trang 262 Tính chất
a) Mỗi hệ thặng dư đầy đủ modun m đều gồm m số
b) Mọi hệ H có m số nguyên đôi một không đồng dư với nhau theo modun m đều lập thành một hệ thặng dư đầy đủ modun m
c) Cho (a,m) = 1, b là một số nguyên tuỳ ý, và x chạy qua một hệ thặng dư đầy
đủ modun m, khi đó ax+b cũng chạy qua một hệ thặng dư đầy đủ modun m
1.2.5 Hệ thặng dư thu gọn modun m
1 Định nghĩa
Ta xét ánh xạ như trên: f : Zm -> Z
Tập hợp f(Zm*) ảnh của các phần tử khả nghịch của vành Zmgọi là một hệ thặng
dư thu gọn modun m
2 Tính chất
a) Mỗi hệ thặng dư thu gọn modun m đều gồm φ(m) số
b) Mọi hệ K gồm φ(m) số nguyên, nguyên tố cùng nhau với m và đôi một không đồng dư với nhau theo modun m đều lập thành một hệ thặng dư thu gọn modun m c) Cho (a,m) = 1 và x chạy qua một hệ thặng dư thu gọn modun m khi đó ax cũng chạy qua một hệ thặng dư thu gọn modun m
b) φ(m) là số các thặng dư trong một hệ thặng dư thu gọn modun m
c) φ(m) bằng số các số tự nhiên bé hơn m và nguyên tố với m
2 Tính chất
a) φ(m) là một hàm số có tính chất nhân, nghĩa là : φ(m)*φ(n) = φ(m*n)
b) Nếu P là một số nguyên tố và là số tự nhiên, a>0 thì ta có
φ(pα) = pα - pα-1 = pα (1 – 1/p)
ức tính φ(m)
Trang 27Nếu số tự nhiên m có dạng phân tích tiêu chuẩn m = p1 α1 pk αk thì ta có
2.1 Khái niệm cơ bản
2.1.1 P hương trình đồng dư tương đương
1 Định nghĩa
a Nếu với x = a ∈ Z và f(x) là đa thức hệ số nguyên, ta có đồng dư thức
f(a) ≡ 0 (mod m) thì ta nói rằng x = a nghiệm đúng phương trình đồng dư
f(x) ≡ 0 (mod m) , hay phương trình f(x) ≡ 0 (mod m) nghiệm đúng với x = a
b Hai phương trình đồng dư f(x) ≡ 0 (mod m) và g(x) ≡ (mod m1) được gọi là tương đương nhau khi tập hợp các giá trị ẩn x nghiệm đúng phương trình này cũng nghiệm đúng phương trình kia
2 Những biến đổi tương đương đơn giản
3 Bậc của một phương trình đồng dư
Xét phương trình đồng dư như trên, nếu a≠0 (mod m) thì khi đó bậc của Phương trình đồng dư là bậc của đa thức f(x)
a Định lý Nếu x = a nghiệm đúng phương trình (1) thì mọi số thuộc lớp a(mod
m) đều nghiệm đúng phương trình (1)
b Định nghĩa Khi a nghiệm đúng phương trình (1) thì lớp thặng dư
a(mod m) gọi là một nghiệm của phương trình (1)
Trang 28- Đối với một phương trình đồng dư có thể suy ra các trường hợp của nghiệm như sau:
+ Phương trình vô nghiệm
+ Phương trình vô định : mọi giá trị xẻ Z đều thoả mãn phương trình, khi đó phương trình sẽ có m nghiệm, là m lớp đồng dư modun m
+ Tập hợp các giá trị của ẩn nghiệm đúng phương trình là một bộ phận thực sự
và khác rỗng của vành số nguyên Z, khi đó số nghiệm là một số tự nhiên lớn hơn 0
Nếu a là một số nguyên sao cho có các đồng dư thức trên thoả mãn thì ta nói x =
a nghiệm đúng hệ phương trình trên
- Nghiệm của một hệ phương trình đồng dư
Xét hệ (2), gọi m là bội số chung nhỏ nhất của m1, m2, , mr ; x∈x0 (mod m) + Định lý Nếu x0 là một số nghiệm đúng hệ (2) thì mọi số của lớp thặng dư x0
(mod m) đều nghiệm đúng hệ (2)
+ Định nghĩa Nếu x0 nghiệm đúng hệ (2) thì lớp thặng dư của x0 (mod m) được gọi là một nghiệm của (2)
2.2 Phương trình và hệ phương trình đồng dư bậc nhất
Phương trình (1) là phương trình bậc nhất khi a ≠ 0 (mod m)
1 Điều kiện có nghiệm và số nghiệm
+ Định lý Phương trình (1) có nghiệm khi và chỉ khi ước chung lớn nhất
d = (a,m) của a và m là ước của b Khi (1) có nghiệm thì nó có d nghiệm
Ví dụ :
Trang 29- phương trình 18x ≡ 9(mod 30) vô nghiệm vì (18,30) = 6 không chia hết 9
- phương trình 18x ≡ 12(mod 30) có 6 nghiệm , đó là các lớp:
i) Xác định nghiệm bằng cách chia cho a
+ Nếu a|b thì nghiệm của phương trình (1) là x ≡ b/a (mod m)
+ Ngược lại thì tất có 1≤ k ≤ a - 1 sao cho a|(b+km) Khi đó (1) tương đương với phương trình
ax ≡ b + km (mod m)
và có nghiệm là x ≡ (b + km)/a (mod m)
Các xác định nghiệm trên chỉ dùng cho trường hợp a là nhỏ
ii) Xác định nghiệm bằng cách vận dụng Định lý Ơle
Vì (a,m) = 1 nên ta có aφ(m) ≡ 1(mod m), từ đó ta được aφ(m) b ≡ b(mod m),
vậy x ≡ aφ(m)-1b(mod m) là nghiệm của phương trình (1)
b Trường hợp (a,m) = d|b, d>1 ta có thể chuyển phương trình (1) tương đương như sau: (a/d) x ≡ (b/d) (mod m/d) (2)
Như vậy ta đã đưa phương trình này về dạng như trong trường hợp a
Nếu (2) có 1 nghiệm [x0] (mod m/d) khi đó (1) sẽ có d nghiệm mod m:
Trang 301 Nếu hệ (2) có nghiệm thì nó có nghiệm duy nhất
2 Nếu hệ (2) có nghiệm thì dij chia hết bi - bj với mọi i,j = 1, 2, , n
3 Nếu m1, m2, , mnnguyên tố cùng nhau từng đôi một thì hệ (2) có nghiệm
4 Nếu dij chia hết bi - bjvới mọi i,j = 1, 2, , n thì hệ (2) có nghiệm
2 3 Phương trình đồng dư bậc cao
- Xét phương trình
f(x) ≡ 0 (mod m) với f(x) là đa thức trên vành số nguyên Z và m>1
Với m có dạng phân tích tiêu chuẩn m = p1a1 pkak, tương đương với hệ
và gọi f'(x) là đạo hàm của f(x), khi đó
a Nếu f'(x) ≠ 0 (mod p) thì trong lớp thặng dư x ≡ x0 (mod pa-1) có một và chỉ một nghiệm của phương trình (1)
b Nếu f'(x) ≡ 0 (mod p) thì trong lớp thặng dư đó có p nghiệm hoặc không có nghiệm nào của phương trình (1) tuỳ thuộc vào f(x0)/pa-1 có chia hết cho p hay không Nghĩa là nếu f(x0)/pa-1 chia hết cho p thì (1) có p nghiệm và ngược lại thì (1) không có nghiệm
3 Hệ quả Nếu x ≡ x0(mod p) là một nghiệm của phương trình f(x) ≡ 0(mod p)
mà f'(x) ≠ 0( mod p) thì trong nghiệm này có một nghiệm duy nhất của phương
Trang 312.3.2 Phương trình đồng dư theo modun nguyên tố
Các kết quả ở trên đưa đến việc nghiên cứu các phương trình đồng dư mà modun là một số nguyên tố Tuy nhiên, các kết quả về phương trình đồng dư bậc cao không nhiều, ngoại trừ phương trình bậc 2
Và sau đây là các mệnh đề cho ta sự liên hệ giữa bậc và số nghiệm của của phương trình đồng dư
2 Nếu phương trình (1) , với n<p có quá n nghiệm (phân biệt) thì tất cả các hệ
số a0, a1, , an của f(x) đều là bội của p
3 Hệ quả Một phương trình đồng dư bậc n theo modun nguyên tố p , với n<p
có không quá n nghiệm
4 Định lý Winson Nếu p là số nguyên tố thì ta có đồng dư thức
(p-1)! + 1 ≡ 0 (mod p)
Trên đây là một số kết quả của việc nghiên cứu phương trình đồng dư bậc cao nói chung, hiện tại các kết quả tốt đạt được chủ yếu trên phương trình bậc hai
3 Phương trình đồng dư bậc hai
Dạng tổng quát của phương trình đồng dư bậc 2
AX2 + BX + C ≡ 0 (mod p)
với p là số nguyên tố và p≠2 ( trường hợp p=2 sẽ được xét riêng)
Phương trình đã cho có thể biến đổi về dạng
x2 ≡ a (mod p)
giả sử a nguyên tố với p (vì nếu a không nguyên tố với p thì a chia hết cho p, khi
đó phương trình trở nên đơn giản)
3.1 Thặng dư bậc hai
Xét phương trình
x2 ≡ a (mod p) (1)
với p là số nguyên tố lẻ, a nguyên tố với p
1 Định nghĩa Ta gọi a là một thặng dư bậc 2 modun p nếu phương trình (1) có
nghiệm và a là bất thặng dư bậc 2 theo modun p nếu phương trình (1) vô nghiệm
Trang 32VD : 2 là một thặng dư bậc 2 modun 7 vì (2,7) = 1 và phương trình x2 ≡ 2 (mod 7) có nghiệm , cụ thể nghiệm đó là x ≡ ± 3 ( mod 7)
Hệ quả Nếu a thặng dư bậc 2 modun p thì mọi số thuộc lớp thặng dư a(mod p)
đều thặng dư bậc 2 modun p Nghiệm của (1) nếu có đều nguyên tố với p
2 Định lý 1 Nếu a là một thặng dư bậc 2 modun p thì phương trình (1) có hai
nghiệm
3 Định lý 2 Trong một hệ thặng dư thu gọn modun p có (p-1)/2 thặng dư bậc 2
tương ứng cùng lớp với các thặng dư 12, 22, , ((p-1)/2)2 và có (p-1)/2 bất thặng dư bậc 2
Dễ thấy 12, 22, , ((p-1)/2)2là các thặng dư bậc 2 modun p, đôi một không cùng thuộc một lớp thặng dư modun p và mỗi thặng dư bậc hai đều cùng lớp với một trong các số đó
4 Định lý 3 a là thặng dư bậc 2 modun p khi và chỉ khi a(p-1)/2 ≡ 1 (mod p) Ngược lại, a là bất thặng dư bậc 2 modun p khi và chỉ khi a(p-1)/2 ≡ -1 (mod p)
3.2 Ký kiệu Lagrang, ký hiệu Jacobi
Xét phương trình đồng dư bậc hai như trên
x2 ≡ a (mod p) (1)
3.2.1 Ký hiệu Lagrang
1 Định nghĩa:
Ký hiệu Lagrang (a/p) được định nghĩa như sau:
(a/p) = 1 nếu a là thặng dư bậc 2 modun p
(a/p) = -1 nếu a là bất thặng dư bậc 2 modun p
Trang 331 Định nghĩa :
Cho P là số nguyên lẻ, P>0
Ký hiệu Jacobi (a/P) được định nghĩa như sau:
(a/P) = (a/p1) (a/p2) (a/pr)
Trong đó (a/pi) là những ký hiệu Lagrang Như vậy mỗi ký hiệu Lagrang là một
ký hiệu Jacobi đặc biệt (với P là số nguyên tố)
với a nguyên tố với m, m là hợp số , giả sử m có dạng m = 2α p1 α…pk α, với
a ≥ 0 và pilà những số nguyên tố lẻ đôi một phân biệt, ai ≥ 1, k ≥ 0;
Phương trình (1) tương đương với hệ phương trình sau :
Trang 34Nếu phương trình trên có nghiệm thì nó có
2k nghiệm khi a = 0,1,
2k+1 nghiệm khi a = 2,
2k+2 nghiệm khi a ≥ 3
4 Căn nguyên thủy
4.1 Căn nguyên thuỷ
4.1.1 Định nghĩa
Cho m là một số tự nhiên khác không, a là một số nguyên nguyên tố với m Trong các luỹ thừa (tự nhiên khác 0) của a : a, a2, , có những luỹ thừa với số mũ γ sao cho aγ ≡ 1 (mod m) (chẳng hạn γ = φ(m) - theo định lý Ơle)
Ta có định nghĩa sau đây :
1 Số mũ của một số Số tự nhiên δ ≠ 0 và nhỏ nhất sao cho aδ ≡ 1 (modun m) gọi là số mũ của a theo modun m
Ta thường ký hiệu số mũ của a theo (modun m) là δm(a) Hiển nhiên ta có δm(a)
≤ φ(m) Ta cũng còn nói a thuộc vào số mũ δ theo modun m
2 Căn nguyên thuỷ Số nguyên g được gọi là căn nguyên thuỷ modun m nếu số
mũ của nó theo modun m là φ(m)
4.1.2 Tính chất
1 Nếu a thuộc vào số mũ δ theo modun m thì mọi số cùng lớp với a theo modun
m đều thuộc vào số mũ δ, và riêng nếu a là căn nguyên thuỷ (modun m) thì mọi số cùng lớp với a theo (modun m) đều là căn nguyên thuỷ (modun m)
2 Nếu a thuộc vào số mũ δ theo modun m thì các số a0 = 1, a, a2, …, aδ-1 đôi một không đồng dư với nhau theo modun m, và do đó nếu g là căn nguyên thuỷ (modun m) thì các số
g0 = 1, g, …, gφ(m)-1 hợp thành một hệ thặng dư thu gọn modun m
3 Nếu a thuộc vào số mũ δ theo modun m thì :
a) aγ ≡ 1 (mod m) khi và chỉ khi δ|γ hay γ ≡ 0 (mod δ);
b) aγ ≡ aγ’(mod m) khi và chỉ khi γ ≡ γ’ (mod δ);
4 Nếu a thuộc số mũ δ theo modun m , s là một số tự nhiên nguyên tố với δ , thì
ascũng thuộc vào số mũ δ theo modun m
5 Nếu theo modun m số mũ của a là δ1 , số mũ của b là δ1 và δ1, δ2 nguyên tố cùng nhau thì số mũ của tích ab là δ = δ1δ2
Trang 354.1.3 Vấn đề tồn tại căn nguyên thuỷ
Định lý Các số 2, 4, pα, 2pαvới p là số nguyên tố lẻ, α là số tự nhiên khác 0, và chỉ các số đó là có căn nguyên thuỷ
4.2 Chỉ số và việc giải phương trình nhị thức
4.2.1 Định nghĩa và tính chất
- Cho m là một số tự nhiên có căn nguyên thuỷ chẳng hạn là g Khi đó g0, g1,…,
gφ(m) – 1 họp thành một hệ thặng dư thu gọn modun m Vậy với mỗi số nguyên a nguyên tố với m , tất có γ ∈ N sao cho gγ ≡ a (mod m)
1 Định nghĩa: Cho a là một số nguyên nguyên tố với m, g là căn nguyên thủy
modun m Số tự nhiên γ được gọi là chỉ số cơ số g của a theo modun m nếu ta có đồng dư thức a ≡ gγ (mod m)
Ký hiệu :khi m là xác định ta ký hiệu chỉ số cơ số g của a là indga = γ, và trong trường hợp không cần chú ý đến cơ số g hoặc cơ số g đã hoàn toàn xác định, ta còn viết inda=γ
2 Hệ quả
a) Các chỉ số (với cùng một cơ số g) của một số a theo modun m hợp thành một lớp thặng dư modun φ(m)
b) Các số thuộc cùng một lớp thặng dư modun m thì có cùng một tập hợp chỉ số
3 Tính chất Chỉ số (cùng một cơ số g) theo modun m của tích nhiều số bằng
tổng các chỉ số của các thừa số (sai khác một bội của φ(m))
4 Hệ quả
a) ind an ≡ n ind a( mod φ(m))
b) ind (a/b) ≡ ind b – ind a( mod φ(m)) với a|b
4.2.2 Phương trình nhị thức
Xét phương trình đồng dư
(1) xn ≡ a (mod p) (a,p) = 1, 0 ≠ n ∈N, trong đó p là một số nguyên
tố
1 Định nghĩa thặng dư bậc n Nếu (a,p) = 1 và phương trình (1) có nghiệm thì
ta nói rằng a là một thặng dư bậc n modun p
2 Điều kiện có nghiệm Phương trình (1) có nghiệm khi và chỉ khi
d = (n, p-1) là ước của chỉ số a.inda, trong trường hợp có nghiệm thì nói có d nghiệm
Trang 363 Tiêu chuẩn thặng dư bậc n: a là thặng dư bậc n modun p khi và chỉ khi a 1)/d ≡ 1 (mod p) (d = (n,p-1))
(p-4 Số thặng dư bậc n Trong một hệ thặng dư thu gọn modun p có (p-1)/d
thặng dư bậc n (d = (n, p-1))
5 S ố nguyên tố và sự phân bố số nguyên tố
Số nguyên tố có vai trò rất quan trọng trong nhiều hệ mã hiệm đại Ở đây chỉ nêu ra những khái niệm cơ bản về số nguyên tố và sự phân bố của nó
5.2 Sự phân tích số tự nhiên thành tích các số nguyên tố
Định lý mọi số tự nhiên lớn hơn 1 đều có thể phân tích được thành tích các thừa số
nguyên tố , sự phân tích đó là duy nhất không kể thứ tự các thừa số
Dạng phân tích tiêu chuẩn của một số tự nhiên có dạng sau :
a = p1 α1 p
2 α2 … p
k αk
Với p1, p2 … pklà các số nguyên tố đôi một phân biệt
5.3 Một số bài toán về số nguyên tố
a Xác định số nguyên tố
Bài toán đầu tiên đặt ra là hãy xác định số nguyên tố thứ n, pn (theo n)
Có hay không một biểu thức chỉ lấy giá trị là số nguyên tố với mọi giá trị tự nhiên của biến?
Đến nay vẫn chưa hi vọng có lời giải cho bài toán này
Đối với đa thức , người ta đã tìm được một số đa thức nhận kết quả là một số nguyên tố đối với một số đối số, ví dụ : x2+ x + 41 có giá trị nguyên tố với x= 0, 1,
…, 39 hay x2 + x + 17 nguyên tố với các giá trị x = 0, 1, …,15 Ta dễ chứng minh được rằng mọi đa thức đều nhận vô số giá trị hợp số Song cho một đa thức , hỏi nó
có lấy vô số giá trị nguyên tố không là bài toán chưa có lời giải
b Sự phân bố số nguyên tố
- Vấn đề trung tâm trong lý thuyết số nguyên tố là nghiên cứu hàm số ∏(x), biểu thị số các số nguyên tố không lớn hơn x , với x là một số thực dương.∏(x) = ∑ 1
p≤x
Trang 37Ví dụ : ∏(1)=0, ∏(10)=4, ∏(11)=5…
Trebưsep đã chứng minh được rằng : lim ∏(x) / (x/lnx) =1
x→ ∞
Nghĩa là khi x->∞ thì số các số nguyên tố nhỏ hơn hoặc bằng x bằng x/lnx
Luật phân bố số nguyên tố đựơc ứng dụng vào thuật toán các thuật toán xác xuất, ví
dụ như thuật toán RabinMiller ở phần sau để kiểm tra số nguyên tố và từ đó sinh các số nguyên tố cho các hệ mã hoá
c Bài toán phân tích thừa số
Chúng ta đề cập đến bài toán này vì nó có ý nghĩa trong xây dựng hệ mã RSA Phép phân tích thừa số đơn giản nhất là phép chia thử Một số sẽ được phân tích bằng cách chia thử nó cho các số bé hơn nó để thu được một tích các số nguyên tố
Có rất nhiều tài liệu về vấn đề phân tích thừa số Các thuật toán hiệu quả trong việc này phải kể đến như thuật toán sàng bậc hai, thuật toán đường cong eliptic, sàng trường số Ngoài ra còn có một số thuật toán nổi tiếng khác như thuật toán p-1 của Pollard, p+1 của Williams, liên phân số và cả phép chia thử nữa
Do khuôn khổ tài liệu và thời gian có hạn nên ở đây chỉ nêu ra 1 phương pháp phân tích thừa số đó là thuật toán p-1 của Pollard, như sau :
- Đầu vào của thuật toán là một số nguyên lớn n và số B gọi là cận (phía dưới sẽ cho ta thấy ý nghĩa của cận B)
Thuật toán như sau : Đầu vào n, B
1 a=2
2 for i=2 to B do a=aj mod n
3 d= UCLN (a-1,n)
4 if 1<d<n then d là một thừa số của n (thành công)
Else không tìm được thừa số của n (không thành công)
Chứng minh:
Giả sử p là một ước nguyên tố của n và với q ≤ B , q|(p-1) Khi đó : (p-1)| B!
Ở cuối vòng lặp for (bước 2)
a ≡ 2B! (mod n) nên a ≡ 2B! (mod p)
vì p|n nên theo định lý Phécma ta có : 2p-1≡ 1 (mod p)
Vì (p-1) | B! nên a ≡ 1 (mod p)(trong bước 3)
Bởi vậy ở bước 4: p|(a-1) và p|n, do đó p|d = UCLN (a-1,n)
Trang 38Số nguyên d sẽ là ước không tầm thường của n trừ khi a=1 ở bước 3 Sau khi đã tìm được d ta sẽ tiếp tục phân tích d và n/d nếu chúng là hợp số
Ví dụ minh hoạ :
Giả sử n = 15770708441 Nếu áp dụng thuật toán p-1 với B = 180 thì sẽ thấy rằng a=11620221425 ở bước 3, còn d được tính bằng 135979 Trên thực tế, phân tích đầy đủ n thành các số nguyên tố là :15770708441 = 135979 × 115979
Trong trường hợp này, phép phân tích sẽ thành công do 135978 chỉ gồm các thừa số nguyên tố nhỏ :135978 = 2×3×131×173
Nếu lấy B≥ 173 thì chắc chắn rằng 135978 | B! như mong muốn Nghĩa là nếu B
< 173 thì sẽ không có được kết quả phân tích
Mặt khác nếu B được chọn quá lớn thì thuật toán sẽ không nhanh hơn thuật toán chia thử !
Điểm bất lợi của thuật toán này là nó yêu cầu n phải có ứơc nguyên tố p sao cho (p-1) chỉ có các thừa số nguyên tố bé Ta có thể dễ dàng xây dựng được hệ mật RSA với modul n=pq hạn chế được việc phân tích theo phương pháp này
Trước tiên tìm một số nguyên tố lớn p1 sao cho p=2p1 +1 cũng là một số nguyên tố, và chọn số nguyên tố lớn q1 sao cho q=2q1 +1 cũng là một số nguyên
tố, nhờ dùng thuật toán kiểm tra số nguyên tố nhanh, như RabinMiller
Khi đó modun RSA n=pq sẽ chống được các phân tích theo phương pháp p-1
B Mã hóa
1 Khái ni ệm
1.1 Định nghĩa
Trước khi định nghĩa, ta sẽ tìm hiểu những khái niệm cơ bản về mã hoá
Mã hoá là một hình thức che dấu thông tin được gửi đi trong môi trường truyền tin không an toàn, môi trường truyền tin chúng ta nói tới ở đây là mạng máy tính Giả sử chúng ta có một bản rõ muốn gửi đi trên mạng, để đảm bảo tính bảo mật thông tin thì bản rõ sẽ được mã hoá bằng một khoá, sau khi mã hoá nó sẽ được truyền đi tới nơi nhận, và ở đây sử dụng khoá để giải mã, thu được bản rõ ban đầu Quá trình mã hoá và giải mã được thể hiện trong sơ đồ sau:
Trang 39
Hình 2.1: Quá trình mã hóa
- Các thuật ngữ :
+ Bản rõ (plaintext or cleartext): chứa các xâu ký tự gốc, thông tin trong bản
rõ là thông tin cần mã hoá để giữ bí mật
+ Bản mã (ciphertext): chứa các ký tự sau khi đã được mã hoá, mà nội dung được giữ bí mật
+ Mật mã học (Crytography): là nghệ thuật và khoa học để giữ thông tin được an toàn
+ Sự mã hoá (Encryption): quá trình che dấu thông tin bằng phương pháp nào đó để làm ẩn nội dung bên trong gọi là sự mã hoá
+ Sự giải mã (Decryption): quá trình biến đổi trả lại bản mã bản thành bản rõ gọi là giải mã
- Định nghĩa
Một hệ mã hoá là một bộ 5 ( P, C, K, E, D) thoả mãn các điều kiện sau:
1 P là một tập hữu hạn các bản rõ có thể
2 C là tập hữu hạn các bản mã có thể
3 K( không gian khoá) là tập hữu hạn các khoá có thể
4 Đối với mỗi k∈K có một qui tắc mã eK : P→ C và một qui tắc giải mã tương ứng dk ∈ D Mỗi ek : P→ C và dk : C→ P là những hàm mã :
dk(ek(x)) = x với mọi bản rõ x ∈ P
1.2 Phân loại
+ Hệ mã khoá công khai và mã khoá đối xứng:
* Mã hoá đối xứng : là các hệ mã hoá mà khi mã hoá và giải mã đều dùng một khoá Ví dụ các hệ mã hoá cổ điển như dịch vòng, afin, hay hệ mã hoá hiện đại DES là các hệ mã hoá đối xứng
Sơ đồ sau đây minh hoạ cho hệ mã hoá đối xứng
Trang 40Hình 2.2: Hình minh họa hệ mã hóa đối xứng
* Mã hoá khoá công khai : là các hệ mã hoá mà khi mã hoá và giải mã đều dùng một khoá Các hệ mã hoá hiện đại như RSA, Elgamal là các hệ mã hoá khoá công khai
Sơ đồ sau đây minh hoạ cho hệ mã hoá khoá công khai
Hình 2.3: Hình minh họa hệ mã hóa khóa công khai + Hệ mã cổ điển và hiện đại : đây là một tiêu chí phân loại khác
Các hệ mã hoá theo kiểu cổ điển là các hệ cũ, đơn giản, hiện nay không có giá trị bảo mật cao, đó là các hệ mã như dịch vòng, thay thế, Afin Còn các hệ mã hoá hiện đại là những hệ mới xuất hiện vài thập kỷ gần đây, chúng có ý nghĩa bảo mật cao, đó là các hệ mã như DES, RSA, Elgamal
2 M ột số hệ mã cổ điển
2.1 Hệ mã dịch vòng
- Định nghĩa :