Do máy tính được phát triển vớitốc độ rất nhanh để đáp ứng nhiều yêu cầu của người dùng, các phiên bản đượcphát hành liên tục với các tính năng mới được thêm vào ngày càng nhiều, điềunày
Trang 1MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT 3
LỜI MỞ ĐẦU 4
CHƯƠNG 1 TỔNG QUAN VỀ AN TOÀN BẢO MẬT THÔNG TIN 5
VÀ CHỮ KÝ SỐ 5
1 1 Vấn đề an toàn bảo mật thông tin 5
1.1.1 Khái niệm an toàn thông tin 5
1.1.2 Mục đích của an toàn thông tin 5
1.2 Các nguy cơ mất an toàn thông tin 6
1.2.1 Nguy cơ mất an toàn thông tin về khía cạnh vật lý 6
1.2.2 Nguy cơ bị mất, hỏng, sửa đổi nội dung thông tin 7
1.2.3 Nguy cơ bị tấn công bởi các phần mềm độc hại 7
1.2.4 Nguy cơ xâm nhập từ lỗ hổng bảo mật 8
1.2.5 Nguy cơ xâm nhập do bị tấn công bằng cách phá mật khẩu 8
1.2.6 Nguy có mất an toàn thông tin do sử dụng e-mail 8
1.2.7 Nguy cơ mất an toàn thông tin trong quá trình truyền tin 9
1.3 Các giải pháp bảo vệ an toàn thông tin 9
1.3.1 Bảo vệ thông tin trước nguy cơ tấn công bằng cách phá mật khẩu 10
1.3.2 Bảo vệ thông tin do nguy cơ do sử dụng e-mail 11
1.3.3 Bảo vệ hệ thống bằng tường lửa (firewall) 12
1.3.4 Bảo vệ hệ thống bằng cách ngăn chặn phần mềm độc hại 13
1.4 Giới thiệu về chữ ký số 15
1.4.1 Giới thiệu chung 15
1.4.2 Khái niệm về chữ ký số 17
1.4.3 Cơ sở hình thành nên chữ ký số 19
1.4.4 Quy trình sử dụng chữ ký điện tử 20
1.4.5 So sánh chữ ký số với chữ ký thông thường (chữ ký viết tay) 23
1.4.6 Vị trí vai trò của chữ ký số điện tử 24
CHƯƠNG 2 LÝ THUYẾT SỐ 26
Trang 22.1 Một số khái niệm 26
2.1.1 Phép chia modulo 26
2.1.2 Môt số tính chất của phép modulo: 26
2.1.3 Ước số 27
2.1.4 Số nguyên tố 27
2.1.5 Phần tử nghịch đảo của phép nhân modulo 27
2.2 Định lý Fermat 27
2.3 Phép logarit rời rạc 28
2.4 Thuật toán Euclid 30
2.4.1 Thuật toán Euclid 30
2.4.2 Thuật toán euclid mở rộng 32
CHƯƠNG 3 CHỮ KÝ SỐ MTA 11.15-01 34
3.1 Đặt vấn đề 34
3.2 Hàm băm mật mã 34
3.3 Mã hóa khóa riêng và mã hóa khóa công khai 39
3.4 Mã hóa khóa công khai 41
3.5 Các bước tạo và kiểm tra chữ ký số MTA 11.15-01 44
3.6 Một số mô hình chữ ký số trong thực tế 46
3.6.1 Chữ ký số RSA 46
3.6.2 Chữ ký Rabin 47
CHƯƠNG 4 CÀI ĐẶT CHỮ KÝ SỐ MTA 11.15-01 48
4.1 Các modul 48
4.1.1 Modul của Alice 48
4.1.2 Modul của Bob 49
4.1.3 Modul kiểm tra xác thực chữ ký 50
4.2 Chương trình chạy thử 51
KẾT LUẬN 59
Tài liệu tham khảo 60
Trang 3DANH MỤC CÁC TỪ VIẾT TẮT
Trang 4lĩnh vực quan trọng mà công nghệ thông tin được ứng dụng rất mạnh mẽ và không thể thiếu đó là lĩnh vực truyền thông Rất nhiều thông tin liên quan đến những công việc hàng ngày đều do máy vi tính quản lý và truyền gửi trên hệ thống mạng, kéo theo đó là vấn đề xác thực nguồn thông tin nhận được Và vấn
đề đặt ra là làm thế nào để xác thực một cách chính xác nguồn thông tin nhận là của một người, một máy chủ hay của một thực thể nào đó gửi tin trên hệ thống mạng?
Với sự phát triển ngày càng nhanh chóng của Internet và các ứng dụng giao dịch điện tử trên mạng, nhu cầu bảo vệ thông tin trong các hệ thống và ứng dụng điện tử ngày càng được quan tâm và có ý nghĩa hết sức quan trọng
Vì vậy trước những yêu cầu cấp thiết đó, vấn đề đặt ra ở đây là làm thế nào để bảo vệ được các thông tin quan trọng, ngăn chặn được những hình thức tấn công, truy xuất dữ liệu bất hợp pháp vào mạng nội bộ Bên cạnh đó làm thế nào để khi trao đổi thông tin qua mạng phải bảo đảm thông tin dữ liệu không bị làm sai lệch và không bị lộ do sự xâm nhập của kẻ tấn công Việc nghiên cứu, cài đặt thuật toán chữ ký số đảm bảo có thể đáp ứng đầy đủ những vấn đề đặt ra
CHƯƠNG 1 TỔNG QUAN VỀ AN TOÀN BẢO MẬT THÔNG TIN
VÀ CHỮ KÝ SỐ
1 1 Vấn đề an toàn bảo mật thông tin
1.1.1 Khái niệm an toàn thông tin
An toàn thông tin là các hoạt động bảo vệ tài sản thông tin và là một lĩnhvực rộng lớn Nó bao gồm cả những sản phẩm và những quy trình nhằm ngănchặn truy cập trái phép, hiệu chỉnh, xóa thông tin An toàn thông tin liên quan
Trang 5đến hai khía cạnh đó là an toàn về mặt vật lý và an toàn về mặt kỹ thuật.
Mục tiêu cơ bản của an toàn thông tin:
Đảm bảo tính bí mật
Đảm bảo tính toàn vẹn
Đảm bảo tính xác thực
Đảm bảo tính sẵn sàng
Sự cần thiết của an toàn thông tin
Hệ thống thông tin là thành phần thiết yếu trong mọi cơ quan, tổ chức vàđem lại khả năng xử lý thông tin, là tài sản quan trọng nhưng hệ thống thôngtin cũng chứa rất nhiều điểm yếu và rủi do Do máy tính được phát triển vớitốc độ rất nhanh để đáp ứng nhiều yêu cầu của người dùng, các phiên bản đượcphát hành liên tục với các tính năng mới được thêm vào ngày càng nhiều, điềunày làm cho các phần mềm không được kiểm tra kỹ trước khi phát hành và bêntrong chúng chứa rất nhiều lỗ hổng có thể dễ dàng bị lợi dụng Thêm vào đó làviệc phát triển của hệ thống mạng, cũng như sự phân tán của hệ thống thôngtin, làm cho người dùng truy cập thông tin dễ dàng hơn và tin tặc cũng cónhiều mục tiêu tấn công dễ dàng hơn
1.1.2 Mục đích của an toàn thông tin
Bảo vệ tài nguyên của hệ thống: Các hệ thống máy tính lưu giữ rất nhiềuthông tin và tài nguyên cần được bảo vệ Trong một tổ chức, những thông tin vàtài nguyên này có thể là dữ liệu kế toán, thông tin nguồn nhân lực, thông tinquản lý, bán hàng, nghiên cứu, sáng chế, phân phối, thông tin về tổ chức vàthông tin về các hệ thống nghiên cứu Đối với rất nhiều tổ chức, toàn bộ dữ liệuquan trọng của họ thường được lưu trong một cơ sở dữ liệu và được quản lý và
sử dụng bởi các chương trình phần mềm Các tấn công vào hệ thống có thể xuấtphát từ những đối thủ của tổ chức hoặc cá nhân do đó, các phương pháp để bảođảm an toàn cho những thông tin này có thể rất phức tạp và nhạy cảm Các tấn
Trang 6công có thể xuất phát từ nhiều nguồn khác nhau, cả từ bên trong và bên ngoài tổchức Hậu quả mà những tấn công thành công để lại sẽ rất nghiêm trọng.
Bảo đảm tính riêng tư: Các hệ thống máy tính lưu giữ rất nhiều thông tin
cá nhân cần được giữ bí mật Những thông tin này bao gồm: Số thẻ bảo hiểm xãhội, số thẻ ngân hàng, số thẻ tín dụng, thông tin về gia đình Tính riêng tư làyêu cầu rất quan trọng mà các ngân hàng, các công ty tín dụng, các công ty đầu
tư và các hãng khác cần phải đảm bảo để gửi đi các tài liệu thông tin chi tiết vềcách họ sử dụng và chia sẻ thông tin về khách hàng Các hãng này có những quyđịnh bắt buộc để bảo đảm những thông tin cá nhân được bí mật và bắt buộc phảithực hiện những quy định đó để bảo đảm tính riêng tư Hậu quả nghiêm trọng sẽxảy ra nếu một kẻ giả mạo truy nhập được những thông tin cá nhân
1.2 Các nguy cơ mất an toàn thông tin
1.2.1 Nguy cơ mất an toàn thông tin về khía cạnh vật lý
Nguy cơ mất an toàn thông tin về khía cạnh vật lý là nguy cơ do mất điện,nhiệt độ, độ ẩm không đảm bảo, hỏa hoạn, thiên tai, thiết bị phần cứng bị hưhỏng, các phần tử phá hoại như nhân viên xấu bên trong và kẻ trộm bên ngoài
Để bảo vệ an toàn thông tin của hệ thống cần có các thiết bị và biện phápphòng chống các nguy cơ gây mất an toàn thông tin về khía cạnh vật lý như:Thiết bị lưu điện, lặp đặt hệ thống điều hòa nhiệt độ và độ ẩm Luôn sẵn sàngcác thiết bị chữa cháy nổ, không đặt các hóa chất gần thệ thống Thường xuyênsao lưu dữ liệu Sử dụng các chính sách vận hành hệ thống đúng quy trình, antoàn và bảo mật
1.2.2 Nguy cơ bị mất, hỏng, sửa đổi nội dung thông tin
Người dùng có thể vô tình để lộ mật khẩu hoặc không thao tác đúng quytrình tạo cơ hội cho kẻ xấu lợi dụng để lấy cắp hoặc làm hỏng thông tin
Kẻ xấu có thể sử dụng công cụ hoặc kỹ thuật của mình để thay đổi nội dungthông tin (các file) nhằm sai lệnh thông tin của chủ sở hữu hợp pháp
Trang 71.2.3 Nguy cơ bị tấn công bởi các phần mềm độc hại
Các phần mềm độc hại tấn công bằng nhiều phương pháp khác nhau đểxâm nhập vào hệ thống với các mục đích khác nhau như: virus, sâu máy tính(Worm), phần mềm gián điệp (Spyware)
Virus: là một chương trình máy tính có thể tự sao chép chính nó lênnhững đĩa, file khác mà người sữ dụng không hay biết Thông thừờng virusmáy tính mang tính chất phá hoại, nó sẽ gây ra lỗi thi hành, lệch lạc hay hủy
dữ liệu Chúng có các tính chất: Kích thước nhỏ, có tính lây lan từ chươngtrình sang chương trình khác, từ đĩa này sang đĩa khác và do đó lây từ máy nàysang máy khác, tính phá hoại thông thường chúng sẽ tiêu diệt và phá hủy cácchương trình và dữ liệu (tuy nhiên cũng có một số virus không gây hại nhưchương trình được tạo ra chỉ với mục đích trêu đùa)
Worm: Loại virus lây từ máy tính này sang máy tính khác qua mạng,khác với loại virus truyền thống trqớc đây chỉ lây trong nội bộ một máy tính và
nó chỉ lây sang máy khác khi ai đó đem chương trình nhiễm virus sang máynày
Trojan, Spyware, Adware: Là những phần mềm được gọi là phần mềmgián điệp, chúng không lây lan như virus Thường bằng cách nào đó (lừa đảongười sử dụng thông qua một trang web, hoặc một người cố tình gửi nó chongười khác) cài đặt và nằm vùng tại máy của nạn nhân, từ đó chúng gửi cácthông tin lấy được ra bên ngoài hoặc hiện lên các quảng cáo ngoài ý muốn củanạn nhân
1.2.4 Nguy cơ xâm nhập từ lỗ hổng bảo mật
Lỗ hổng bảo mật thường là do lỗi lập trình, lỗi hoặc sự cố phần mềm,nằm trong một hoặc nhiều thành phần tạo nên hệ điều hành hoặc trong chươngtrình cài đặt trên máy tính Hiện, nay các lỗ hổng bảo mật được phát hiện ngàycàng nhiều trong các hệ điều hành, các web server hay các phần mềm khác,
Và các hãng sản xuất luôn cập nhật các lỗ hổng và đưa ra các phiên bản mới
Trang 8sau khi đã vá lại các lỗ hổng của các phiên bản trước.
Hiện nay nhiều kẻ xấu hay lợi dụng những lỗ hổng bảo mật để tấn côngvào các hệ thống để phá hoại hoặc lấy cắp thông tin vì vậy người dùng nênthường xuyên cài đặt các bản cập nhật (updates) bảo vệ hệ thống của mình.Việc cài đặt các bản cập nhật và các bản vá lỗi (patches) là cách rất hiệu quả
để chống lại các tấn công trên một hệ điều hành
1.2.5 Nguy cơ xâm nhập do bị tấn công bằng cách phá mật khẩu
Quá trình truy cập vào một hệ điều hành có thể được bảo vệ bằng mộtkhoản mục người dùng và một mật khẩu Đôi khi người dùng khoản mục lạilàm mất đi mục đích bảo vệ của nó bằng cách chia sẻ mật khẩu với nhữngngười khác, ghi mật khẩu ra và để nó công khai hoặc để ở một nơi nào đó cho
dễ tìm trong khu vực làm việc của mình Những kẻ tấn công có rất nhiều cáchkhác phức tạp hơn để tìm mật khẩu truy nhập Những kẻ tấn công có trình độđều biết rằng luôn có những khoản mục người dùng quản trị chính
Kẻ tấn công sử dụng một phần mềm dò thử các mật khẩu khác nhau cóthể Phần mềm này sẽ tạo ra các mật khẩu bằng cách kết hợp các tên, các từtrong từ điển và các số Ta có thể dễ dàng tìm kiếm một số ví dụ về cácchương trình đoán mật khẩu trên mạng Internet như: Xavior, Authforce vàHypnopaedia Các chương trình dạng này làm việc tương đối nhanh và luôn cótrong tay những kẻ tấn công
1.2.6 Nguy có mất an toàn thông tin do sử dụng e-mail
Tấn công có chủ đích bằng thư điện tử là tấn công bằng email giả mạogiống như email được gửi từ người quen, có thể gắn tập tin đính kèm nhằmlàm cho thiết bị bị nhiễm virus Cách thức tấn công này thường nhằm vào một
cá nhân hay một tổ chức cụ thể Thư điện tử đính kèm tập tin chứa virus đượcgửi từ kẻ mạo danh là một đồng nghiệp hoặc một đối tác nào đó Người dùng
Trang 9bị tấn công bằng thư điên tử có thể bị đánh cắp mật khẩu hoặc bị lây nhiễmvirus.
Rất nhiều người sử dụng e-mail nhận ra rằng họ có thể là nạn nhân củamột tấn công e-mail Một tấn công e-mail có vẻ như xuất phát từ một nguồnthân thiện, hoặc thậm chí là tin cậy như: một công ty quen, một người thântrong gia đình hay một đồng nghiệp Người gửi chỉ đơn giản giả địa chỉ nguồnhay sử dụng một khoản mục email mới để gửi e-mail phá hoại đến người nhận.Đôi khi một e-mail được gửi đi với một tiêu đề hấp dẫn như “Congratulationyou’ve just won free software Những e-mail phá hoại có thể mang một tệpđính kèm chứa một virus, một sâu mạng, phần mềm gián điệp hay một trojanhorse Một tệp đính kèm dạng văn bản word hoặc dạng bảng tính có thể chứamột macro (một chương trình hoặc một tập các chỉ thị) chứa mã độc Ngoài ra,e-mail cũng có thể chứa một liên kết tới một web site giả
1.2.7 Nguy cơ mất an toàn thông tin trong quá trình truyền tin
Trong quá trình lưu thông và giao dịch thông tin trên mạng internet nguy
cơ mất an toàn thông tin trong quá trình truyền tin là rất cao do kẻ xấu chặnđường truyền và thay đổi hoặc phá hỏng nội dung thông tin rồi gửi tiếp tục đếnngười nhận
1.3 Các giải pháp bảo vệ an toàn thông tin
Cung cấp những hướng dẫn, những quy tắc, và những quy trình để thiết lập một môi trường thông tin an toàn Các chính sách của hệ thống có tác dụng tốt nhất khi người dùng được tham gia vào xây dựng chúng, làm cho họ biết rõ được tầm quan trọng của an toàn Đào tạo và cho người dùng tham gia vào uỷ ban chính sách an toàn là 2 cách để bảo đảm rằng người dùng cảm thấy chính bản thân họ là những nhân tố trong việc xây dựng hệ thống an toàn mạnh Một ưu điểm của việc gắn người dùng theo cách này là nếu người dùng hiểu được bản chất của các mối đe doạ về an toàn, họ sẽ không làm trái các nỗ lực
Trang 10bảo đảm an toàn Một chính sách của một tổ chức có thể tập trung vào một số vấn đề sau:
Đào tạo cho người dùng về các kỹ thuật an toàn
Đào tạo cho người dùng về các phần mềm phá hoại
Yêu cầu người dùng phải quét các thiết bị lưu trữ bằng các phầnmềm quét virus trước khi sử dụng chúng
Thiết lập các chính sách quy định những phương tiện nào từ bênngoài có thể mang được vào hệ thống và cách sử dụng chúng như thế nào
Thiết lập các chính sách để ngăn chặn người dùng tự cài đặt cácphần mềm riêng của họ
Thiết lập các chính sách để giảm thiểu hoặc ngăn chặn người dùngtải về các tệp và yêu cầu người dùng phải quét virus đối với các tệp này
Tạo một vùng riêng để người dùng cách ly các tệp có nguồn gốckhông rõ ràng để quét chúng trước khi sử dụng
Xây dựng chính sách giới hạn quyền để kiểm soát truy cập vào hệthống
Thường xuyên sao lưu tài nguyên thông tin quan trọng với hệthống dự phòng Sao lưu dự phòng hệ thống là việc quan trọng để bảo vệ hệthống do lỗi đĩa, mất mát dữ liệu hay do phần mềm phá hoại Nếu ta sao lưu dữliệu mà sau đó hệ thống bị nhiễm một mã độc phá hoại các hay xoá các tệp, thì
ta có thể khôi phục lại được các tệp đó hay toàn bộ hệ thống
1.3.1 Bảo vệ thông tin trước nguy cơ tấn công bằng cách phá mật
Trang 11cho mình, không nên dùng lại mật khẩu đã sử dụng, tránh những mật khẩu dễđoán như ngày sinh, tên người thân, thường xuyên thay đổi mật khẩu đăngnhập hệ thống để tránh trường hợp người dùng vô tình làm lộ mật khẩu hoặc
kẻ xấu cố tình lấy cắp mật khẩu
Sử dụng các ký tự mật khẩu có tính an toàn cao như: Sử dụng mậtkhẩu có độ dài đủ lớn (8 ký tự trở lên) và trong đó có sử dụng các ký tự chữ in,chữ thường, ký tự đặc biệt, ký tự số, Ví dụ: Lee_Chung; ChungTH146…
1.3.2 Bảo vệ thông tin do nguy cơ do sử dụng e-mail
Trong thời gian gần đây virus hoành hành và tấn công vào các Email đãtrở thành vấn đề nhức nhối đối với người sử dụng và các tổ chức gây các tổnthất nặng nề
Để đảm bảo an toàn cho Email cần có ý thức bảo vệ được máy tính bằngviệc tuân thủ các điều sau:
Không mở bất kỳ tập tin đính kèm được gửi từ một địa chỉ e-mail
mà không biết rõ hoặc không tin tưởng
Không mở bất kỳ e-mail nào mà mình cảm thấy nghi ngờ, thậmchí cả khi email này được gửi từ bạn bè hoặc đối tác bởi hầu hết virus được lantruyền qua đường e-mail và chúng sử dụng các địa chỉ trong sổ địa chỉ(Address Book) trong máy nạn nhân để tự phát tán Do vậy, nếu không chắcchắn về một e-mail nào thì hãy tìm cách xác nhận lại từ phía người gửi
Không mở những tập tin đính kèm theo các e-mail có tiêu đề hấpdẫn, nhạy cảm
Nên xóa các e-mail không rõ hoặc không mong muốn và khôngforward (chuyển tiếp) chúng cho bất kỳ ai hoặc reply (hồi âm) lại cho ngườigửi Những e-mail này thường là thư rác (spam)
Không sao chép vào đĩa cứng bất kỳ tập tin nào mà bạn không biết
rõ hoặc không tin tưởng về nguồn gốc xuất phát của nó
Trang 12 Hãy thận trọng khi tải các tập tin từ Internet về đĩa cứng của máytính Dùng một chương trình diệt virus được cập nhật thường xuyên để kiểmtra những tập tin này Nếu nghi ngờ về một tập tin chương trình hoặc một e-mail thì đừng bao giờ mở nó ra hoặc tải về máy tính của mình Cách tốt nhấttrong trường hợp này là xóa chúng hoặc không tải về máy tính của mình.
Dùng một chương trình diệt virus tin cậy và được cập nhật thườngxuyên như Norton Anti Virus, McAffee, Trend Micro, BKAV, D32 Sử dụngnhững chương trình diệt virus có thể chạy thường trú trong bộ nhớ để chúngthường xuyên giám sát các hoạt động trên máy tính và ở chức năng quét e-mail
1.3.3 Bảo vệ hệ thống bằng tường lửa (firewall)
Tường lửa có thể là hệ thống phần cứng, phần mềm hoặc kết hợp cả hai.Nếu là phần cứng thì sử dụng bộ bộ định tuyến (router) Bộ định tuyến có cáctính năng bảo mật cao cấp, trong đó có khả năng kiểm soát địa chỉ IP (IPAddress là sơ đồ địa chỉ hoá để định nghĩa các trạm (host) trong liên mạng).Quy trình kiểm soát cho phép định ra những địa chỉ IP có thể kết nối với mạngcủa tổ chức, cá nhân và ngược lại Tính chất chung của các tường lửa là phânbiệt địa chỉ IP hay từ chối việc truy nhập không hợp pháp căn cứ trên địa chỉnguồn
Chức năng chính của Firewall là kiể m soát luồng thông tin từ giữaIntranet và Internet Thiết lập cơ chế điều khiển dòng thông tin giữamạng bên trong (Intranet) và mạng Internet Cụ thể là:
Cho phép hoặc cấm những dịch vụ truy nhập ra ngoài (từ Intranet raInternet)
Cho phép hoặc cấm những dịch vụ phép truy nhập vào trong (từ Internetvào Intranet)
Theo dõi luồng dữ liệu mạng giữa Internet và Intranet
Kiểm soát địa chỉ truy nhập, cấm địa chỉ truy nhập
Trang 13 Kiểm soát người sử dụng và việc truy nhập của ngời sử dụng.
Kiểm soát nội dung thông tin thông tin lu chuyển trên mạng
Các thành phần Firewall chuẩn bao gồm một hay nhiều các thành phần sauđây:
Bộ lọc packet (packet-filtering router)
Cổng ứng dụng (application-level gateway hay proxy server)
Cổng mạch (circuite level gateway)
Bộ lọc paket (Paket filtering router)
1.3.4 Bảo vệ hệ thống bằng cách ngăn chặn phần mềm độc hại
Microsoft và các hãng khác thường phát hành các bản cập nhật cho hệđiều hành của họ và người dùng nên cài đặt các bản cập nhật này khi chúng cósẵn cho máy tính của mình Những bản cập nhật này thường bao gồm các bảnsửa lỗi có thể cải thiện tính bảo mật của hệ thống Một số hệ điều hành cũngcung cấp bản cập nhật tự động để người dùng có thể tự động nhận được cácbản cập nhật ngay sau khi chúng có sẵn
Luôn cập nhật máy tính và phần mềm đang dùng: Người dùngWindows có thể cài đặt bản cập nhật bằng cách sử dụng tính năng được gọi là
"Cập nhật Windows", trong khi người dùng các sản phẩm khác có thể cài đặtbản cập nhật bằng cách sử dụng tính năng được gọi là "Cập nhật phần mềm".Nếu người dùng không quen với các tính năng này thì nên tìm kiếm trang webMicrosoft và trang các hãng tương ứng để biết thêm thông tin về cách cài đặtbản cập nhật hệ thống trên máy tính của mình
Ngoài hệ điều hành của máy tính, phần mềm máy tính cũng phải đượccập nhật với phiên bản mới nhất Phiên bản mới hơn thường chứa bản sửa lỗibảo mật hơn để ngăn chặn phần mềm độc hại tấn công
Sử dụng tài khoản không phải là quản trị bất cứ khi nào có thể : Hầuhết các hệ điều hành đều cho phép người dùng tạo nhiều tài khoản người dùng
Trang 14trên máy tính để những người dùng khác nhau có thể có các cài đặt khác nhau.Người dùng có thể thiết lập những tài khoản này để có các cài đặt bảo mậtkhác nhau.
Ví dụ: tài khoản "quản trị" (hoặc "quản trị viên") thường có khả năng càiđặt phần mềm mới, trong khi tài khoản "có giới hạn" hoặc "chuẩn" thườngkhông có khả năng làm như vậy Khi duyệt web hàng ngày, bạn có thể khôngcần phải cài đặt phần mềm mới, vì vậy chúng tôi khuyên bạn nên sử dụng tàikhoản người dùng "có giới hạn" hoặc "chuẩn" bất cứ khi nào có thể Làm điềunày có thể giúp ngăn chặn phần mềm độc hại cài đặt trên máy tính của bạn vàthực hiện các thay đổi trên toàn bộ hệ thống
Hãy cân nhắc mỗi khi nhấp vào liên kết hoặc tải bất cứ thứ gì về máy :Trong thế giới thực, hầu hết mọi người đều có thể hơi nghi ngờ khi bước vàotòa nhà có vẻ khả nghi với bảng hiệu trưng bày "Máy tính miễn phí!" có đènnhấp nháy Trên web, bạn cũng nên áp dụng mức độ thận trọng tương tự khitruy cập vào trang web không quen thuộc tuyên bố cung cấp những thứ miễnphí
Tải xuống là một trong những cách chính khiến mọi người bị nhiễmphần mềm độc hại, vì vậy, hãy nhớ suy nghĩ thật kỹ về nội dung bạn tải xuống
và nơi bạn tải xuống
Hãy thận trọng khi mở tệp đính kèm hoặc hình ảnh trong email:Người dùng nên thận trọng nếu một người nào đó gửi cho mình email đángngờ có chứa tệp đính kèm hoặc hình ảnh Đôi khi, những email đó có thể chỉ làspam, nhưng đôi khi, những email đó có thể bí mật chứa phần mềm độc hạigây hại
Sử dụng phần mềm diệt virus : Nếu bạn cần phải tải xuống mục gì
đó, bạn nên sử dụng chương trình diệt vi rút để quét phần mềm độc hại cho bảntải xuống đó trước khi mở Phần mềm diệt vi rút cũng cho phép quét phầnmềm độc hại trên toàn bộ máy tính của người dùng Nên thường xuyên quét
Trang 15máy tính của mình để sớm phát hiện phần mềm độc hại và ngăn chặn phầnmềm độc hại đó phát tán.
Sử dụng các công cụ quét phần mềm phá hoại là một cách hiệu quả đểbảo vệ hệ điều hành Mặc dù chúng có thể quét hệ thống để phát hiện virus,sâu mạng và trojan horse, nhưng chúng thường được gọi là công cụ quét virus
Khi mua một phần mềm quét virus, ta cần chú ý đến một số tính năngsau đây:
Quét bộ nhớ và diệt virus
Quét bộ nhớ một cách liên tục
Quét ổ đĩa và diệt virus
Quét tất cả các định dạng tệp, kể cả tệp nén
Tự động chạy theo một thời gian biểu do người sử dụng đặt
Có tuỳ chọn chạy nhân công
Phát hiện cả phần mềm phá hoại đã công bố hoặc phần mềm pháhoại mới (chưa được biết đến)
Quét các tệp tải về từ trên mạng hoặc từ internet
Sử dụng một vùng được bảo vệ hoặc được cách ly để chứa các tệptải về để tự động quét chúng ở một nơi an toàn trước khi sử dụng chúng
Về các phần mềm phá hoại chưa được biết đến, các công cụ quét có thểđược tạo ra để quét và ghi nhớ cấu trúc của các tệp, đặc biệt là các tệp thực t
hi Khi chúng phát hiện một số lượng bất thường, như kích cỡ của tệp lớn độtđột hoặc một thuộc tính của tệp bị thay đổi, thì công cụ quét sẽ được cảnh báo
có thể đó là một phần mềm phá hoại chưa được biết đến
1.4 Giới thiệu về chữ ký số
1.4.1 Giới thiệu chung
Trong đời sống hàng ngày, chữ ký (viết tay) trên một văn bản là mộtminh chứng về “bản quyền” hoặc ít nhất cũng là sự “tán đồng, thừa nhận” các
Trang 16nội dung trong văn bản Chẳng hạn như trên việc ký vào phiếu nhận tiền từngân hàng, hợp đồng mua bán, chuyển nhượng, thừa kế, tố tụng Chữ ký viếttay được chính tay người ký nên không thể sao chụp được Thông thường chữ
ký viết tay trên văn bản thì được dùng để xác nhận người ký nó Những yếu tốnào làm nên “sức thuyết phục của nó”? Về mặt lý tưởng thì:
Chữ ký là bằng chứng thể hiện người ký có chủ định khi ký văn bản
Chữ ký thể hiện “chủ quyền”, nó làm cho người nhận văn bản biếtrằng ai đích thị là người đã ký văn bản
Chữ ký không thể “tái sử dụng”, tức là nó là một phần của văn bản
mà không thể sao chép sang các văn bản khác
Văn bản đã ký không thể thay đổi được
Chữ ký không thể giả mạo và cũng là thứ không thể chối bỏ ( người
đã ký văn bản không thể phủ định việc mình đã ký văn bản và ngườikhác không thể tạo ra chữ ký đó )
Trong cuộc sống đời thường, việc tạo một mô hình “lý tưởng”như trên
là không dễ vì việc ký trên văn bản giấy có thể giả mạo chữ ký, nhưng với khảnăng kiểm định sát sao thì việc làm thay đổi không phải dễ Tuy nhiên trongthế giới máy tính thì vấn đề ký như trong thực tế sẽ gặp phải nhiều khó khăn:các dòng thông tin trên máy tính có thể thay đổi dễ dàng, hình ảnh của chữ kýtay của một người cũng dễ dàng cho “sang - truyền” từ một văn bản này sangmột văn bản khác, và việc thay đổi nội dung một văn bản điện tử (sau khi ký)cũng chẳng để lại dấu vết gì về phương diện “tẩy, xóa”
Người gửi (chủ nhân của văn bản) ký văn bản bằng cách mã hóa nóvới khóa bí mật của mình
Người gửi, chuyển văn bản đã ký cho người nhận
Người nhận văn bản kiểm tra chữ ký bằng việc sử dựng chìa khóacông khai của người gửi để giải mã văn bản
Trang 171.4.2 Khái niệm về chữ ký số
Chữ ký số là mô hình sử dụng các kỹ thuật mật mã để gắn với mỗi người
sử dụng một cặp khóa công khai – bí mật và qua đó có thể ký các văn bản điện
tử cũng như trao đổi các thông tin mật Khóa công khai thường được phân phổithông qua chứng thực khóa công khai
Các thuật toán chữ ký số cho phép xác định nguồn gốc, bảo đảm tínhtoàn vẹn của dữ liệu được truyền đi, đồng thời nó cũng bảo đảm tính không thểphủ nhận của thực tế đã ký thông tin Chúng ta có thể hiểu nôm na về chữ ký
số điện tử như sau: là những thông tin đi kèm với dữ liệu nhằm xác định chủcủa người gửi nó
Chữ ký số điện tử bao gồm 3 thành phần: thuật toán tạo ra khóa, hàm tạochữ ký và hàm kiểm tra chữ ký Hàm tạo ra chữ ký là hàm tính toán chữ ký trên
cơ sở khóa mật và dữ liệu cần ký Hàm kiểm tra chữ ký là hàm kiểm tra xemchữ ký đã cho có đúng với khóa công khai không Khóa này mọi người có quyềntruy cập cho nên mọi người đều có thể kiểm tra được chữ ký
Định nghĩa: Sơ đồ chữ ký bao gồm các thành phần sau
Không gian bản rõ M
Không gian chữ ký S
Không gian khóa K để tạo nên chữ ký, không gian khóa K’ để kiểm trachữ ký
Thuật toán hiệu quả để tạo nên khóa Gen: N ↦ K×K ' , ở đây K và K’
tương ứng với không gian khóa mật và khóa công khai
Thuật toán tạo chữ ký Sign: M×K ↦ S .
Thuật toán kiểm tra chữ ký Verify: M×K× K ' ↦{True, False}
Đối với bất kỳ khóa tạo chữ ký sk ∈K và bất kỳ bản tin m∈M lệnh kýbức điện được ký hiệu:
s←Sign sk(m)
Trang 18Biểu thức này được đọc như sau: s- là chữ ký của bản tin m được tạo ra nhờthuật toán Sign và khóa mật sk.
Đối với bất kỳ khóa mật của chữ ký sk ∈K , tương ứng với khóa công khai
để kiểm tra chữ ký là pk∈K ' , bất kỳ bản tin m∈M và chữ ký s∈S cầnthỏa mãn điều kiện sau:
Verify pk(m,s) = ¿ { True,if ¿¿¿¿ s=Sign sk( m)
s≠Sign sk( m)
Bởi vì tài liệu cần ký thường có chiều dài khá dài Một biện pháp để ký làchia tài liệu ra các đoạn nhỏ và sau đó ký lên từng đoạn và ghép lại Nhưngphương pháp có nhược điểm là chữ ký lớn, thứ hai là ký chậm vì hàm ký là cáchàm mũ, thứ ba là chữ ký có thể bị đảo loạn các vị trí không đảm tính nguyênvẹn của tài liệu Chính vì điều đó mà khi ký thì người ta ký lên giá trị hàm hashcủa tài liệu, vì giá trị của hàm hash luôn cho chiều dài xác định
Chức năng của chữ ký số điện tử:
Xác thực được nguồn gốc tài liệu: Tùy thuộc vào từng bản tin mà có thể thêmcác thông tin nhận dạng, như tên tác giả, nhản thời gian…vv
Tính toàn vẹn tài liệu Vì khi có một sự thay bất kỳ vô tình hay cố ý lên bứcđiện thì gía trị hàm hash sẽ bị thay đổi và kết quả kiểm tra bức điện sẽ khôngđúng
Chống từ chối bức điện Vì chỉ có chủ của bức điện mới có khóa mật để kýbức điện
Các khả năng tấn công đối với chữ ký điện tử:
Tội phạm có thể giải mã để mạo chữ ký tương ứng với văn bản đãchọn
Tội phạm thử chọn bức điện mà tương ứng với chữ ký đã cho
Tội phạm có thể ăn trộm khóa mật và có thể ký bất kỳ một bức điệnnào nó muốn giống như chủ của khóa mật
Tội phạm có thể giả mạo ông chủ ký một bức điện nào đó
Trang 19 Tội phạm có thể đổi khóa công khai bởi khóa của mình.
Hai hệ quả và một ước lượng trong thuyết số học là tiền đề cho hệ thốngkhóa công khai ngày nay
Hệ quả 1: Sinh số nguyên tố thì dễ Việc tìm ra một số nguyên tố ngẫu nhiên
với kích cở cho trước là dễ dàng
Nó là kết quả của hai điểm khác: số nguyên tố với kích thước bất kỳ thì rấtphổ biến và việc kiểm tra số nguyên tố thì không khó - thậm chí với cả sốnguyên tố rất lớn Để sinh số nguyên tố ngẫu nhiên, đơn giản nhất là chỉ việcsinh ra một số nguyên ngẫu nhiên với độ lớn đã cho và kiểm tra tính nguyên tốcho đến khi một số nguyên tố được tìm thấy Dựa vào điều kiện số nguyên tố,một số kỳ vọng được kiểm tra dựa vào thứ tự của lnx( thuật toán tự nhiên củax) khi mà X là một số điển hình với độ lớn mong muốn
Việc kiểm tra một số là số nguyên tố là không dễ Trong thực tế, dường nhưviệc kiểm tra tính nguyên tố sẽ yêu cầu một số khác ngoài chính số đó và số 1
là ước của số nguyên cần kiểm tra Hầu hết các hệ mã hóa khóa công khai ngàynay đề phụ thuộc vào việc sinh số nguyên tố
Hệ quả 2: Phép tính nhân là dễ: Với pvàq cho trước, việc tính kết quả của
phép nhân n = p×q là dễ dàng
Trang 20Ước lượng : Phân tích thừa số là khó : Với một số nguyên n là kết quả của
phép nhân số nguyên tố lớn, việc tìm lại các số nguyên tố thừa số p, q là rất khó.Bất chấp hàng trăm năm nghiên cứu trong vấn đề này, việc phân tích ra thừa sốcủa một số nguyên lớn vẫn mất một thời gian dài Phương pháp nhanh nhất gầnđây đã nhanh hơn rất nhiều so với những cách đơn giản là tìm tất cả các thừa số ởcùng một thời điểm Tuy nhiên, chúng vẫn rất đắt Cho ví dụ, việc phân tích rathừa số nguyên tố của một số 1024 bit mất một năm với một máy giá 10 triệuUSD Với một số 2048 bit thì thời gian để hoàn thành còn gấp vài tỉ lần
Những ước lượng này thì ít hơn so với dự kiến ở những năm 1970 khi vấn
đề đầu tiên được đề xuất trong ngành mật mã học Độ lớn khuyến cáo đã tăngnhanh trong những năm gần đây, bởi sự khám phá ra những phương thức phântích thừa số nhanh hơn cũng như sự phát triển trong sức mạnh tính toán của máytính Không ai biết những phương thức nhanh hơn sẽ được phát hiện trong nhữngnăm tới sẽ xảy ra bao giờ Nhưng mặt khác, không ai có thể chứng minh nó sẽkhông xảy ra Cả hai khía cạnh đều tồn tại thành những lĩnh vực nghiên cứu củatoán học
1.4.4 Quy trình sử dụng chữ ký điện tử
Chữ ký điện tử hoạt động dựa trên hệ thống mã hóa khóa công khai Hệthống mã hóa này gồm hai khóa, khóa bí mật và khóa công khai Mỗi chủ thể cómột cặp khóa như vậy, chủ thể đó sẽ giữ khóa bí mật, còn khóa công khai củachủ thể sẽ được đưa ra công cộng để bất kỳ ai cũng có thể biết Nguyên tắc của
hệ thống mã hóa khóa công khai đó là, nếu mã hóa bằng khóa bí mật thì chỉkhóa công khai mới giải mã đúng thông tin được, và ngược lại, nếu mã hóa bằngkhóa công khai, thì chỉ có khóa bí mật mới giải mã đúng được
Ngoài ra, chữ ký còn đảm bảo phát giác được bất kỳ sự thay đổi nào trên
dữ liệu đã được “ký” Để ký lên một văn bản, phần mềm ký sẽ nghiền (crunchdown) dữ liệu để gói gọn bằng một vài dòng, được gọi là thông báo tóm tắt,
Trang 21bằng một tiến trình được gọi là “kỹ thuật băm”, rồi tạo thành chữ ký điện tử.Cuối cùng, phần mềm ký tên sẽ gắn chữ ký điện tử này vào văn bản
Ví dụ: Giả sử bên A có tài liệu P cần ký Bên A sẽ thực hiện băm văn bảnthành một bản tóm lược X, sau đó dùng khóa bí mật của mình ký lên bản tómlược X để được văn bản chữ ký điện tử Y, sau đó gửi tài liệu P kèm theo chữ ký
Y cho A
Giả sử B muốn xác nhận tài liệu P là của A, với chữ ký là bản mã Y Bên
B sẽ dùng khóa công khai của A để xác nhận chữ ký Y của A ký trên văn bản Pgửi có đúng hay không, nếu xác nhận đúng thì chữ ký Y chính là A ký trên vănbản P, ngược lại thì không phải hoặc bản ký đã được thay đổi
Một số trường hợp xảy ra với chữ ký điện tử, cũng giống như các trườnghợp xảy ra với chữ ký truyền thống Ví dụ: Khi tài liệu TL của A bị thay đổi (dùchỉ một ký tự, một dấu chấm, hay một ký hiệu bất kỳ), khi B xác nhận, anh ta sẽthấy bản giải mã khác với tài liệu TL của anh A B sẽ kết luận rằng tài liệu đó đã
bị thay đổi, không phải là tài liệu anh A đã ký
Trường hợp khác, nếu A để lộ khóa bí mật, nghĩa là văn bản tài liệu của A
có thể ký bởi người khác có khóa bí mật của A Khi một ai đó xác nhận tài liệuđược cho là của A ký, chữ ký vẫn là hợp lệ, mặc dù không phải chính A ký Nhưvậy, chữ ký của A sẽ không còn giá trị pháp lý nữa Do đó, việc giữ khóa bí mật
là tuyệt đối quan trọng trong hệ thống chữ ký điện tử
Trong trường hợp ví dụ trên, A có một cặp khóa để có thể ký trên vănbản, tài liệu số Tương tự như vậy, B hay bất cứ ai sử dụng chữ ký điện tử, đều
có một cặp khóa như vậy Khóa bí mật được giữ riêng, còn khóa công khai đượcđưa ra công cộng Vậy vấn đề đặt ra là làm thế nào để biết một khóa công khaithuộc về A, B hay một người nào đó?
Trang 22Hình 1.1 Tài liệu có chữ ký số
Hơn nữa, giả sử trong môi trường giao dịch trên Internet, cần sự tin cậycao, A muốn giao dịch với một nhân vật X X và A cần trao đổi thông tin cánhân cho nhau, các thông tin đó gồm họ tên, địa chỉ, số điện thoại, email… Vậylàm sao để A có thể chắc chắn rằng mình đang giao dịch với nhân vật X chứkhông phải là ai khác giả mạo X? Chứng chỉ số được tạo ra để giải quyết vấn đềnày! Chứng chỉ số có cơ chế để xác nhận thông tin chính xác về các đối tượng
sử dụng chứng chỉ số Thông tin giữa A và X sẽ được xác nhận bằng một bêntrung gian mà A và X tin tưởng
Bên trung gian đó là nhà cung cấp chứng chỉ số CA (CertificateAuthority) CA có một chứng chỉ số của riêng mình, CA sẽ cấp chứng chỉ số cho
A và X cũng như những đối tượng khác
Trở lại vấn đề trên, A và X sẽ có cách kiểm tra thông tin của nhau dựatrên chứng chỉ số như sau: khi A giao dịch với X, họ sẽ chuyển chứng chỉ số chonhau, đồng thời họ cũng có chứng chỉ số của CA, phần mềm tại máy tính của A
có cơ chế để kiểm tra chứng chỉ số của X có hợp lệ không, phần mềm sẽ kết hợpchứng chỉ số của nhà cung cấp CA và chứng chỉ của X để thông báo cho A vềtính xác thực của đối tượng X
Nếu phần mềm kiểm tra và thấy chứng chỉ của X là phù hợp với chứngchỉ CA, thì A có thể tin tưởng vào X
Trang 23Cơ chế chữ ký điện tử và chứng chỉ số sử dụng các thuật toán mã hóa đảmbảo không thể giả mạo CA để cấp chứng chỉ không hợp pháp, mọi chứng chỉ giảmạo đều có thể dễ dàng bị phát hiện.
Trở lại với việc ký văn bản, tài liệu, khóa bí mật sẽ dùng để ký các vănbản, tài liệu của chủ sở hữu Như đã đề cập trong ví dụ ở trên, giả sử A muốngửi một văn bản kèm với chữ ký của mình trên văn bản đó, A sẽ dùng khóa bímật để mã hóa thu được bản mã văn bản, bản mã đó chính là chữ ký điện tử của
A trên văn bản
Khi A gửi văn bản và chữ ký, để người khác có thể xác nhận văn bản củamình với thông tin đầy đủ về chủ sở hữu, A sẽ gửi cả chứng chỉ của mình đikèm với văn bản
Giả sử X nhận được văn bản A gửi kèm với chứng chỉ, khi đó X có thể dễdàng xác nhận tính hợp pháp của văn bản đó
Hình 1.2 Tách và kiểm tra chữ ký số
1.4.5 So sánh chữ ký số với chữ ký thông thường (chữ ký viết tay)
Về tài liệu được ký: Với tài liệu thông thường, nó là một phần vật lý củatài liệu Ngược lại, chữ ký số không phải theo kiểu vật lý gắn vào thông báonên không nhìn thấy trên bức điện
Trang 24Về vấn đề kiểm tra chữ ký: Chữ ký thông thường được kiểm tra bằngcách so sánh nó với các chữ ký xác thực khác (chữ ký mẫu) Điểm yếu của chữ
ký thông thường là không an toàn, và dễ có thể giả mạo Ngược lại, chữ ký sốlại được kiểm tra nhờ dùng thuật toán kiểm tra công khai, bất kỳ ai cũng có thểkiểm tra được Việc dùng một sơ đồ chữ ký an toàn có thể ngăn chặn được giảmạo
1.4.6 Vị trí vai trò của chữ ký số điện tử
Xu hướng quốc tế hóa và toàn cầu hóa đã và đang ảnh hưởng đến sự pháttriển của thế giới Việc trao đổi thông tin cũng từ đó yêu cầu nhanh gọn, chínhxác và đặc biệt là phải an toàn Việc trao đổi thông tin, chứng thực thông tintheo phong cách truyền thống làm giảm tốc độ, cũng như sự chính xác của thôngtin Những công việc đó mang lại tính chất thủ công gây ra sự chậm chễ và thiếuchính xác trong trao đổi
Hiện nay, ở tất cả các nước phát triển cũng như đang phát triển, mạngmáy tính đang ngày càng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt độngcủa toàn xã hội và nhu cầu bảo mật thông tin được đặt lên hàng đầu Điển hình
là việc mã hoá bảo mật các thông tin số của doanh nghiệp, dùng chữ ký số xácthực email trao đổi thông tin, kiểm soát truy cập vào các sàn thương mại điện
tử và các đơn đặt hàng, ngân hàng điện tử, mua sắm trực tuyến mà vai trò chủyếu là chữ ký số điện tử
Trên thực tế, chữ ký số không chỉ được thực hiện cho các giao dịch điện
tử trên mạng internet mà còn qua hệ thống mạng viễn thông di động Đặc biệt,hiện nay nhiều nước trên thế giới không chỉ triển khai ứng dựng chữ ký số trênmạng máy tính mà còn áp dụng trên mạng điện thoại di động để thực hiện cácgiao dịch điện tử Hướng đi này giúp đẩy nhanh giao dịch, đơn giản hoá muasắm trực tuyến và giúp người dùng có thể truy cập mọi lúc, mọi nơi
Sự ra đời của chữ ký số khẳng đinh được lợi ích to lớn về chiến lược vàkinh tế: giảm thiểu chi phí đi lại, rút ngắn thời gian làm việc cho cá nhân và tập
Trang 25thể… Chữ ký số còn giúp con người tránh những rủi ro không đáng có Nhưngviệc giữ được bí mật về nội dung cần truyền đang cần được phát triển thêm.
Trang 26CHƯƠNG 2 LÝ THUYẾT SỐ 2.1 Một số khái niệm
Nếu hai số a, b có cùng số dư trong phép chia cho n thì ta nói rằng a
và b là đồng dư trong phép chia modulo cho n , phép so sánh đồng dư được
ký hiệu bằng dấu ≡ :
a ≡ b (mod n) hay viết tắt là a ≡ b mod n
Có thể thấy, phép toán modulo phân hoạch tập số tự nhiên N thành nlớp tương đương đồng dư úng với các giá trị của r trong tập {0, 1, 2, …, n-1}
Ví dụ n = 4 ta có các lớp tương đương sau:
{ 0,4,8,12,16 }
{1, 5,9,13,17 }
{2,6,1 0,14,18 }
{3, 7,11,15,19 }
2.1.2 Môt số tính chất của phép modulo
Cho a, b và n là các số nguyên, phép modulo có các tính chất:
(a + b) mod n = [(a mod n) + (b mod n)]mod n(a - b) mod n = [(a mod n) - (b mod n)]mod n
Trang 27(a x b) mod n = [(a mod n) x (b mod n)]mod n
2.1.3 Ước số
Nếu a mod n = 0 (viết cách khac a ≡ 0 mod n) thì có nghĩa là a chia hết cho
n, hay n là ước số của a Ước số chung lớn nhất của hai số: ký hiệu gcd(a, b) Đểtìm USCLN của hai số a, b chúng ta có thể dùng thuật toán Euclid
2.1.4 Số nguyên tố
Một số p được gọi là số nguyên tố nếu p chỉ chia hết cho 1 và chính nó,ngoài ra không chia hết cho số nào khác từ 2 đến p-1 Hai số nguyên a, b đượcgọi là nguyên tố cùng nhau nếu USCLN của a và b là 1
2.1.5 Phần tử nghịch đảo của phép nhân modulo
Nếu hai số nguyên a và n nguyên tố cùng nhau, thì tồn tại số nguyên wsao cho:
a w ≡ 1mod n
Ta gọi w là phần tử nghịch đảo của a trong phép modulo cho n và ký hiệu
là a-1 Ví dụ: n = 10, a = 7 là hai số nguyên tố cùng nhau, do đó tìm được a-1 = 3(21 ≡1 mod 10)
2.2 Định lý Fermat
Định lý: Nếu p là số nguyên tố và a là số nguyên không chia hết cho p
thì: ap-1≡ 1 mod pChứng minh:
Xét tập X gồm p -1 phần tử sau: X={ a mod p, 2a mod p, …,(n-1)a modp} Ta có hai nhận xét sau: Không có phần tử nào của tập X bằng 0 vì a nguyên
tố cùng nhau với p; Không tồn tại hai phần tử thứ i và thứ j (i≠j) sao cho: ia mod
p = ja mod p Vì a nguyên tố cùng nhau với p nên tồn tại a-1 trong phép modulo
p Do đó nếu ia≡ja mod p thì iaa-1 ≡ jaa-1 mod p nghĩa là i ≡ j mod p Điều này
Trang 28trái với giả thiết i ≠ j Từ hai nhận xét trên ta suy ra các phần tử của X sẽ là mộthoán vị của các giá trị {1, 2,…, p-1} Do đó:
Trang 29Ta chỉ xét trường hợp n là số nguyên tố bảng sau minh họa các giá trị củaphép lũy thừa modulo với n=19, a và x từ 1 đến 18.
Hình 2.1 Phép lũy thừa modulo với n=19
Nhìn vào bảng trên, ta thấy rằng không phải hàng nào cũng có đầy đủ cácgiá trị từ 1 đến 18 Xét hàng a=11, ta có:
Trang 30Do đó hàng a = 11 (tương úng với dãy 111, 112, 113, , 1118) chỉ có ba giátrị 11, 7, 1 được lặp lại theo chu kỳ.
Trong bảng trên chỉ có các giá trị a= 2, 3, 10, 13, 14, 15 là làm cho dãy a1,
a2, … , a18 có đầy đủ các giá trị từ 1 đến 18 với phép modulo 19 Như vậy chỉ cóa= 2, 3, 10, 13, 14, 15 thì phép lũy thừa modulo trên mới khả nghịch
Trong trường họp tổng quát với mỗi n chỉ có một số trường hợp của a thìphép lũy thừ là khả nghịch Lúc này a được gọi là primitive root của n Và cũngtương tự như số thực, nếu biết y, a và n, muốn tìm lại x thì ta cũng dùng hàmlogarith, được gọi là logarit rời rac
x = dloga,n yTuy nhiên không giống như số thực, việc tính logarith rời rạc đã đượcchứng minh rất tốn kém về mặt thời gian Và được xem như là bất khả thi với a
và n là các số lớn Do đó phép lũy thừa modulo cũng được xem như hàm mộtchiều và được ứng dụng trong phương pháp trao đổi khóa
2.4 Thuật toán Euclid
2.4.1 Thuật toán Euclid
Thuật toán Euclid, là một giải thuật giúp tính ước số chung lớn
nhất (ƯSCLN) của hai số một cách hiệu quả Giải thuật này đã được biết đến từ khoảng năm 300 trước Công Nguyên Nhà toán học Hy Lạp cổ Euclid đã viết giải thuật này trong cuốn sách toán nổi tiếng Elements
Ở dạng đơn giản nhất, thuật toán Euclid bắt đầu với cặp số nguyên dương,
và tạo ra một cặp số nguyên dương mới bao gồm số nhỏ hơn và phần dư của củaphép chia hai số ban đầu Quá trình được tiếp tục cho đến khi hai số trong cặp bằng nhau, giá trị lúc đó sẽ trở thành ước số chung lớn nhất của cặp số ban đầu
Nguyên lý chính của thuật toán là ước số chung lớn nhất của một cặp số không thay đổi với hiệu của hai số đó Ví dụ như ƯSCLN của 252 và 105 chính