Hải thuật tiêu biểu mí loại mật mẽ này dùng chính la chuẩn mã hoá đữ liệu DES Dala Eneryplion Standard, chuan ma hoa nảy được các tổ chức tải chính sử dụng để mã hoá số nhận đạng cá nhân
Trang 1DẠI HỌC QUỐC GIA HẢ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thị Tuyết Minh
NGHIÊN CỨU HỆ MẠT MA KHOA CONG KHAI
TRONG GIAO DICH DIEN TU
LUAN VAN THAC SI
Hà Nội - 2096
Trang 2
1.2 Quy trình giao dịch điện tử
1.3 Những kiến thức toán học nến tang
1.3.1 Xác suất
1.3.2 Số học
1.3.2 Các định lý áp dung cho phép toán chia lẫy phan dir (mod)
Trang 32.6.1.1 Tấn công không gian khoả của MAC 38
2.6.1.2 Tâm công kích thước bịt trên MÁC 34
2.6.1.4 Tan công các mục tiêu song song trén OWHFs 34
2.6.1.5 Tan céng ban tin dai đành che tiền ảnh thứ 2 34
2.6.1.6 Tấn công từng bít trên MDC 35
Chương 3: Hệ mật mã khoá công kh:
3.2.1 Một số phương pháp truyền thống - - - 4§
3.2.2 Một số phương pháp hiện đại o2 52
Chương 4: Các sư dỗ chữ ký số, sơ để dịnh danh
41.3 So dd chit ky REAL ccc ee cette te center tects eee 4
4.1.3.1 Định nghĩa và giải thuật
Trang 44.3 Ủng dụng hệ mật mã R8A cho bải toán GDĐT
Kết luận
Thụ lục À: Các thuật ngữ viết tắt
Thụ lục B: Các thuật ngữ tiếng anh dịch sang tiếng việt
Tài liệu tham khảo
84
Trang 5MO DAU
Chúng ta đang sống trong một xã hội CMTT với những ứng đụng của máy tỉnh có mặt ở mọi nơi, mọi lĩnh vực đời sống Bên cạnh đó, quá trình hội nhập quốc
tế và toàn cầu hoá tlrúc dẫy việc áp dụng thương, mại điện tử tại tất cả các nên kinh:
tế Thay vì phải đi xa tìm các cơ hội thương mại, các doanh nghiệp có thể sử đựng,
Internet, web dễ giao tiếp, tìm kiếm, thảo luận và ký kết hợp déng mua bán sản
phẩm, nói chưng là thục hiện giao địch điện tử trên mạng với chỉ phí rẻ hơn
Ngày nay, những ứng đụng thương mại điện từ đã phat trién rat cao, trong
tương lai sản, chắc chắn thương mại điện tử sẽ trở thành nên tảng chung cho thương,
mai toan cầu Vì thẻ, tất cá mọi quốc gia, mọi thành phân kinh tổ trong xã hội tất
yếu đều sẽ sử dụng thương mại điện tử Khi đó, yêu câu về an toàn mạng, an ninh
dữ liệu trên mạng cảng trở nên cần thiết và cấp bách để chống lại hacker luân hiên
tầm cách tải công, Iruy cập trái phép, giả mạo, gây ra những thiệt lại to lớn:
Hiện nay, có rất nhiều công cụ, phần mêm, phẩn cứng dùng để mã hoả, bão
vệ đữ liệu trước và trong khi truyền đi trên mạng Phương pháp được sử dụng phô
biến là những loại mật mã như: mặt mã khoả công khai, chữ ký số, xác thục diện
từ, Dặc biết, trong giao dịch điện tứ hiện nay, xóc thực điện tứ sứ dụng các lược
đổ chữ ký số đã trở thành bộ phận không thể thiểu Các loại mật mã nảy đựa trên nén tang chung là toán học, lý thuyết số học, các hàm đại số phúc tạp, tạo nên
những tu điểm nếi bật cho các hệ mã
Việc bảo đảm an toàn cho các giao dich din ti di va dang dược rất nhiều
nhà khoa học quan tâm nghiên cứu, đặc biệt là những nhả mật mã học Am ninh, an
toàn cho các giao dịch điện tử thực hiện trên mạng công cộng yêu cầu hai phân cơ
bản; thử nhất đó là bảo mật dữ liệu (báo đám bí mật đữ liệu trong trường hợp dữ liệu rơi vào tay hacker trên mạng); thứ hai là xác thưo đữ liệu bao gồm xác mình người gửi đữ liệu và xác minh sự nguyên vẹn của dữ liệu trong quá trình truyền
Những yêu cầu nảy lam cho các hệ thống mật mã khoá công khai, các lược đỗ chữ
ký số, được quam lâm và ứng dụng rộng rãi Việt Nam đang từng bước hội nhập
với nên kinh tế thế giới, từng bước ứng dụng thương mại diện tử trong các thánh phân kinh tế, các giaa địch điện tử cũng ứng dụng những thống mật mã nói trên
nhưng chưa rộng rãi, vi vậy tôi xin dăng kỷ thực hiện dễ tài “Nghiên cửu hệ mật mổ khoá công khai trong giao dịch điện tử" làm dé tai cho luận văn thạo sỹ của mình
Mục tiêu của đề tài: Nghiên cứu cơ sở lý thuyết để hình thành, tên công, lử
dò có các phân tích, đảnh giả một mã khoá công khai trong những giao dịch dién bi Xây dựng bài toán ứng dụng
Đề tài nhằm giải quyết các công, việc sau:
Nghiên cứu cơ sở lý thuyết của việc báo đám an nình dữ liệu trong các giao địch trén mang, bao gồm hai vẫn dé cơ bản: bảo mật đữ
liệu và xác thực đữ liệu (xác minh người gửi và xác minh tính nguyên
3
Trang 6vẹn, không bị can thiệp trái phớp trong khi truyền) thông qua các hệ mã
hoa nhur khoá công khai, RSA, chữ ký số, mã xác thực ban tin,
—_ Để cập đến các phương pháp tiêu biểu nhằm phá vỡ hệ thống
an ninh dữ liệu tạo bới các hệ mã nói trên;
— Nhận xét, đánh giã, phân tích các hệ thẳng mã khóa công khai
tìm hiểu dược, từ đỏ xây dựng ứng dụng mô phông
Pham vi nghiên cứu: Đề tải tập trưng nghiên cửu kỹ cơ sở lý thuyết của các
phương pháp đám báo an ninh dữ liệu trong, các giao dịch điện tứ, hệ mật mã khóa
công khai, chữ ký số, lược đỏ chữ ký số, các công cụ toán học làm nên tăng, Bên
cạnh đỏ phân lích độ an toàn, các phương pháp tân công, thám mã,
Bỗ cục của để tài: Để tải bao gồm 4 chương, mở đâu, kêt luận và cáo phụ lục
"Phụ lục B:_ Các thuật ngữ tiếng anh dịch sang tiếng việt;
Tài liệu tham khảo
Cuối cùng, tôi xin chân thành cảm ơn ÚS Nguyễn Quốc Tuấn, G5-T§ Nguyễn Đình Thông những người đã trực tiếp hướng dẫn tôi hoàn thành luận văn nay Tôi xin gửi lời cảm ơn tới tất cả các thấy cô trong khoa Điện tử Viễn Thông, trường Dại học Công Nghệ - Dại học Quốc Gia 1à Nội, cùng toàn thê bạn bè, đồng
nghiệp lại cơ quan, những người thân trong gia đình đã động viên, đóng góp, giúp
đỡ tôi hoàn thành luận văn này Tuy nhiên, vi trình độ còn hạn chế cho nên luận vấn nay không trãnh khỏi những thiểu sót Tôi xin chân thành cảm ơn những ý kiến
dong góp, phê bình để có thể tiếp tạc hoàn thiện sau nay
Lid N@i, tháng 12 năm 2006
Trang 7Nguyễn Thị Tuyết Minh.
Trang 8Chương 1 CÁC KHẢI NIỆM CƠ SỞ 1.1 Các dịnh nghĩa
Mật mã: là sự nghiên cứu các kỹ thuật loán học phục vụ cho việc đấuu bão
những khía cạnh an toàn cho thông tin như là: độ tin cậy, tính toàn vẹn dữ liệu, xác
thục, bản quyền, tinh không thẻ phủ nhận
Mục đích của mặt mã: Trong giao địch điện tữ, mật mã được áp dụng phải đảm bảo được những tính chất sau cho thông tin:
1 2 tửr cậy: báo mật được nội dung của thông tin khối tất cá những đổi tượng khác ngoại trừ dối tượng được xác nhận là có chủ quyển của thông tin đề
tở Tink nguyén vẹn dữ liệu kiểm soát được những sự thay đổi không phải
đo đối tượng có bản quyền sở hữu thông tin tạo ra
3 -Yáe thực: nhận đạng chủ sở hữu của tài liệu, thông tin hiện đang sử đụng,
Thông tin được truyền trên một kênh cân được xác thục rằng đó là bàn gốc (không bị làm giả, sao chép), thời gian gửi, nội dang, Khái niệm
xác thực thường được chủa ra làm hai đựng: xác thực chủ sở hữu thông lin
và xác thực tính nguyên gốc của bản tin
4 Không thê phú nhận: chủ sở hữu thông tin đã được ma hoá không thể phủ nhận rằng chính mình đã tạo ra thông Lin dé
Mit ma khod bi mét con duoc gọi là mat md đổi xứng sử đụng cùng một khoả để mã hoá và giải mã bản tin Do dé, người gửi vẻ người nhận đều phải biết thông tin về khoá được sử dụng Hải thuật tiêu biểu mí loại mật mẽ này dùng chính
la chuẩn mã hoá đữ liệu DES (Dala Eneryplion Standard), chuan ma hoa nảy được các tổ chức tải chính sử dụng để mã hoá số nhận đạng cá nhân — PIN của khách
hảng |1 |3{
Mit mã khoá công khưi còn được gọi là mật mã bất đúi xứng, sử dụng một
khoá đề mã hoá và một để giải mã bản tin Cặp khoả này được liên kết với nhau
bằng một hàm toán học sao cho bản tm dược mã hoá bằng khoá nay chí có thể giải
xmã dược bằng khoả cỏn lại cùng cặp với nó Như vậy mỗi người đủng sẽ sử dụng
hai khoá, một được gọi là khoả công khai, và cái cản lại gọi là khoá cá nhân Khoá
Trang 9công khai theo nghĩa của nó được người dùng quảng bá Vì ráng buộc toán học giữa
hai khoa, cho nên người dùng yên lâm rằng đữ liệu dược raã hoá bằng khoá công,
khai chỉ có thể được giải mã bằng khoá cá nhân cửa họ Văn để họ phải đảm bảo
rằng khoá cá nhân của họ không bị lộ ra cho người khác biết Dễ đảm bão điều này, cặp khoá của người dùng tót nhất là do chính họ tạo ra Giải thuật tiêu biểu của kiểu
mật mã này chỉnh là giải thuật RSA (chữ đần của tên của 3 nhà phật mình ra giải thuat: Rivest, Shamir, va Adleman) [3]
Va hoc sé - Digital envelope Trong phương thức giao địch điện tử an toàn, đữ liệu trong bản tu gửi di sẽ
được mã hoá bằng một khoá mã đối xứng được tạo ra một cách ngẫu nhiên Khoá
mã đối xửng được tạo ra một cách ngẫu nhiên này sau đó sẽ được mã hoá bằng khoá
công khai của người nhận bên tìn Hai quả tình này hình thành khái niệm “vỏ bọc số” cho bản lin Phía rihận bản tin sẽ dùng khoả cá nhân cia mink để giải mã thu
được khoá đối xưng được tạo một cách ngẫu nhiên nói trên và dùng no dé khôi phục
lại bản tin ban dau [13}
Chix ky sé - Digital signature
Chữ ký số bảo đăm tính chất xác thực, bản quyền, và không thê phủ nhận của
các thông điệp trong các GDĐT Thao tác ly ở dây chính là việc biến dỗi ban tin và một số thông lin bí mật thành một định dạng thông tín (thể) dược gọi là chữ ký [13]
Cúc tôm lược bằn tin - message digest Mét ban tom luge ban tin là giá trị dược tạo ra từ một bản tỉa đó mà có tính
duy nhất đối với bản tín đó, Để lao ra raột bản Lớm lược bản lún, người tá cho ban tín cần truyền (được tính toán thành một giá trị nhị phân) đi qua một hảm mật mã một chiều, tức là rất khỏ tạo lại bản tin gốc từ bản tóm lược bản tin của chỉnh ban
tin dỏ Thao tác người gửi đúng khoá bí mật của họ mã hoá cho bản tóm lược bán
tìn cần truyền và sau đó gắn sản phẩm vào ban tin gốc bình thành khải niệm ký số cho ban tin
Người nhận băn tin do do yên tâm rằng bán tim đỏ thực sy do chính người
git tạo ra Vì rằng bài cứ một ký tự nào trong bản bin gốc thay đổi, thì bản kóm lược
được tạo ra cũng sẽ thay đối theo Do vậy, bang cách so sánh người nhận có thế yên
tâm răng bản tin không hẻ bị thay đổi sau khi nó đã được ky chit ky sé (tao ban tom
lược}.
Trang 10của người số hữu
LỆ thác nhờ bên thứ 3 đúng tin cập
Giải pháp cho truyền dẫn các cặp khóa an toàn là uỷ thác cho một bên thứ 3
đảng in cây eé nhiệm vụ xác thực rằng khóa công khai đó thuộc về bên A Bên thử
3 như thể được gọi là một CA (Certificate Authority)
1.2 Quy trình giao dịch điện tử
Khi traa đổi thông tin qua mạng công cộng, việo chỉ sử dựng mật mã khoá bí
mật lả không an toàn Để đắm báo an toản dữ liệu, phải kết hợp sử dụng mật mã khoá công khai, các thuế bao, lỗ chức, cá nhân tham gia giao dịch trên mạng cần có
một cặp khoá đành riêng Việc sử đụng mật mnã khoá công khai còn cho phép các tổ chức, cá nhân trên mạng tạo và sở hữu cặp khoá riêng của mônh,
Khi hai người dùng (công ty, đại điện thương mại, ) muốn trao dối bản tin
cho nhan, họ sẽ trao đổi khoá công khai với nhau, giữ bí inật khoá cá nhân Bắn tin
gửi đi được mã hoá bằng khoá công khai của người nhận, nó chỉ có thể được giải
mã bằng khoá cả nhân của người nhận cho nên cỏ thể vận chuyển bản tin đỏ trên 1một kênh không dược bão về, luôn trong lình trang bị lây cắp thông bã truyền
Giao dịch điện tử an toàn (SET) sử đụng một cặp khoá công khai/ca nhân đẻ tạo ra chữ kỷ số Mỗi giao dịch SET sé xứ lý bai cặp khoa bất dối xứng Cập khoá
dùng trong việc mã hoá vá giải mã được gọi là khoả trao đổi (cặp khoá của người nhận bản tin), cặp khoá sử dụng trong việc tạo và xác nhận chữ ký số được gợi là
cặp khoá chữ ký (cặp khoả của người gi bán tin), llinh vẽ 1.1 mô tá các bước của quy trình thực hiện gửtnhận tải liệu an toàn Lưu ÿ rằng trong thao tác ký số, khoá
ti mật được dùng để mã hoá (sẽ đúng khoá công khsi gùng cặp với nỗ để xảu thực), trong khí đó tại phía thu lại sử đựng khoá bí mật dé giải mã bản tin nhận được
Tỷ có thể thực hiện được giao dịch điện tứ, phía gửi bản tim phải có chứng
nhận người dùng của phúa nhận bản tin (do bên thứ 3 đăng tím cây được nở thác xác
Trang 11nhận) Dựa vào giấy chứng nhận người dùag[12], bên nhận tin tin tưởng rằng khoá
công khai được sử dụng dễ xác thực chữ kỷ số là thuộc về bên A chứ không phải
mệt kế mạo danh nào đỏ trên mạng,
Khi có đầy đủ cơ sở thông tín (cơ sở hạ tâng phục vụ), giao địch trao đổi tài liệu điện tử được thực hiện theo các bước mô tả như sau:
Các bước Mô tả
Tiên gủi tin A cho bản tin cần gửi đi qua một ham cửa dé tao một bản đớm lược bản tin Tiến tóm lược này được xem như là đâu van tay số mê tả đặc tỉnh của bàn tin và sẽ dược dùng dễ kiểm tra
tính nguyên vẹn của bân tin được gửi
ban tin m gửi, chữ ký số và bản copy chứng chỉ của Á (chứa khóa
chữ ký công khai) Dễ giải ma ban tin, B can mét ban copy an toàn
của khỏa đối xứng ngấu nhiên dã dược A sử dụng
A phải nhận được chứng chỉ của B trước khi A bat dau giao dịch với lB, chứng chỉ của l3 chứa bản copy của khỏa trao đổi khóa
công khai của B
Be dam bảo khóa đối xứng được gửi an toán, Á mã hóa nó bằng khỏa công khai của l3 Khóa đối xúng sau khi đã được mã hóa
(có vô bọc số) dược gửi cho B cùng với bàn tin đã dược mã hóa
tản tin đến B chứa: bản mô tả đặc tính đã được mã hoa déi xửng, chữ ky và chứng chỉ áp dụng, khóa dối xứng dã dược
A gũi m
má hóa bất đối xứng
nhận được bắn tì gửi từ A B dùng khóa trao đối khóa bí
mật của mình để “gỡ” vỏ bọc số, tao lại khóa đối xứng,
Trang 12
8 B dùng khóa cong khai cia A (e6 duge tir théng fin trong
chimg chi) đề giải mã chữ ký sé của A Sau khi giải ma, B nhan được bản têm lược bản tín từ bản tín gốc
9 B cho ban tin qua một giải thuật một cửa giống với giải thuật
mà A đã sử dụng, thu được một bản tóm lược bắn tìn mới
10 B số sánh bản lôm lược bản tín mới lao ra vei ban tom lược
ban tin ma A giti (kèm chữ kỷ số của A), giống nhau tức là nội dung của bản tin không bị thay dối trong suốt quả trình truyền Nêu khác
thau, lức là bân tím gốc đã bị thất lạc hoặc bị thay đổi san khi A ký
Trang 13(1) Trananina
Trang 14
1.3 Những kiến thức tuán hực nền (ang
1.3.1 Xác suất
Dịnh nghĩa 1: Giả sử X và Y là các biển ngẫu nhiên, xác suất để X nhận giá
trị xlà p(+), xác suất để Y nhận giả trị y]a p( y) Xác suất đẳng thới P(+, y) là xác
suất dễ Ä nhận giả trì x và Y nhậu giá trị y Xác suất có điêu kiện P(x, y) là xác suất để X nhận giá trị z với điêu kiện Y nhận giá trị y Các biển ngẫu nhiên X va
Y gợi là độc lập nhau nêu P(x, y) = p(x).p(y ) với mọi giá trị có thế có x của X và
Hệ quả: X và Y là các biên độc lập ngẫu nhiên khi và chỉ khi
Giá sử tốn tại mội phân bổ xác suất trên không gian bán rõ là P ký hiệu xác suất tiển nghiệm để bản rõ xuất tiện là Pp (a) Giả sử rằng khoá K được A và B chọn (chính là khoá đếi xứng để mã hoá băn tin) theo một phân bế xáo suất nào đó (không bắt buộc là phải được chọn ngẫu nhiên) Gọi phân bổ xác suất trên không
gian khoá là K., xác suất lựa chọn khoá K là Pụ (K)
Khoa K và bản rõ là các sự kiện độc lập nhau Hai phân bồ xác suất K và P
†ạo ra phân bỏ xác suất trên bản mã là C Xác suất hậu nghiệm sẽ là Pp( y) trong đó
y lả giá trị bản mã tương ứng với bán rõ x
Trang 15êm để
bắn võ là x với diễu kiện dã thu được bản mã là dẳng nhất là dũng nhÁt với xác
Định nghĩa 1: Một bệ mật có độ mật hoàn thiện nếu xác suất hậu ng
xuất tiền nghiệm để bản rỡ là x
Pp(x' y)=Pp(x) voimoi x oP, y eC
Định lý I: Giả sử Œ, C, K, D, E ) là một hệ mật trong dó [K J~ |CI-IP| Hệ mật gò độ rnật hoàn thiện khi và chỉ khi mỗi khoá K dược dùng với một xác suất như nhan bằng 1/|K| và với mẫi xe P, ye C tổn tại một khoá K duy nhật sao cho: enix) = ¥
1.3.2 Số học
Phan nay để cập đến mật số định lý sả họe phục vụ cho việc phân tích các hệ mật
xã [1][2], với Z là ký hiệu cho tập các số nguyễn, ⁄ = { -3, -2, -1, 0, 1, 2, 3, ],
dịnh lý sau:
Z thoả mãn các tỉnh chỉ
1 Với a, b là các số nguyên, b gọi là chia hết cho a nêu tổn tại (số nguyên) c sao
cho b = ac Ky hiệu là a|b a được gọi là chia hết b
2, Với a, by c cZ⁄, áo nhận dịnh sau là đúng:
1 ala
2 Néualb va ble thi ale
3 Néualb va ale thi alfbx + cy) voi moi x, y €Z
4 Nếu alb và bịa thì a =+b
3 Với a,b c7
,„b#0ta cỏ: a đi b=[a/b] và amodb=a_ b[a/b] Irong đó kỷ hiệu
[a/b] tức là phản nguyên của phép chia a cho b
4 Nếu p là số nguyên tế và plab, khi đó hoặc p|a, hoặc pÍb, hoặc cä hai
5 xGQ được định ngÌữa là số lượng của các số nguyên tô < x, khi đỏ
Trang 16Yim 2°) as)
soe xin x
Điều này co nghia la voi cae 86 x lon, a(x) xap xi bang gid trị x/Inx
6 Với x(x) được định nghĩa là sô các số nguyên tổ < x, Voix 217 thi:
Ins với x3>1 thì:
9 Véin> 1, kín) được gọi là số các số nguyên trong đoạn [L,n] là nguyên tả đối
vain Ham $ được gọi là ham phi Kuler
Với n là một số nguyên dương:
Trang 1712 Nếu a và b là các số nguyên, khi đó a được gọi là đồng dự với b theo modulo n tiêu n chúa hết (a-b), ký hiệu là a = b Gnod n) Số nguyên n được goi 1a modulus của
phép đồng dư Mệnh đẻ (a mod m) được phát biểu là rút gọn a theo modulo n
13 Dịnh nghĩa: Tập Z„ = /0, 1, m-i} được trang bị hai pháp tính là cộng và
nhân, là tập các giả trị thu được từ kết quả rút gọn của một số theo modula m
Các tính chất của phép cộng và phép nhân đều được bảo toàn trang tap Zen Tuy nhién chú ý rằng, tổn tại phép toán ngược của phép cộng trong tập Z„„„ ta định
nghĩa a-b trong Z4 là (atrm-b) mod m, cũng có thể tính kết quả của phép trừ a-b rồi
Túi gọn theo modulo mm
Vd: Bé tinh 11-17 trang Zio, ta tinh 11112 mod 29 = 23 trong đương với kết quả
11-17 med 29 = -6 med 29= 23
15 Với m là một số nguyên đương, a, ay, b, by, € © Zan 5
1 a=b(nedn) nếu và chỉ nếu a và b có cùng số đư trong phép chia cho ñ
2 a a(modn}
3 Nếua=b(nodn) thì b=a nod n)
4 Néua=b (mod n) va b= ¢ (med n) thi a = ¢ (mod n)
Néua— a, (mod n), b— b, (mod n}, khi do a+b — ay + by God n) va ab—
arb (mod n)
Lớp tương đương của số nguyễn a là tập tắt cả cáo số nguyên đồng đư với a
theo modulo n Néu a = qn +r, trong đó 0 <r < n, khi đóa r Gnodn), Do
đỗ mỗi số nguyên ä là đồng đư theo modlo 1t với một số nguyên đuy nhất trong khoảng (0, nằ1), số nguyên duy nhất này được gợi là thăng đư who what
của phép rút gon a theo mmodulo n a var thuộc cùng một lớp tương đương
16 Binh nghĩa: Pháp rút gọn các số nguyên theo modulo n hình (hành nên một tập
Fy là các lớp tương đương của các sỐ nguyên (Ú,1,2, ., nel} Pháp cộng, pháp trữ,
và phép nhân trong Z„ đều được rút gọn theo maduÌa n
vi du: Zas ~ {0,1,2 24} Trong Zas thi 13 + 16— 4 và 13.16 — 8,
17 Định lý: Với ä © Z„„, số nghịch đão nhân của a mod m là một số nguyên x © Zim
ma thoa man ax = 1 (mod n) Nêu tồn tại đuy nhất một số x như vậy, a được gọi là
nghìch dão dược hoặc lả số dơn vị, số nghịch đáo của ø dược ký hiệu là aˆ
Trang 1818 Dinh nghia: Néu a, 6 c 4, Phép chia a cho b được phân dự là m là kết quá của phép a nhân bi! lay phan dem chi khi ton tai b! rit gon theo modulo m
19 II@ qua: Véia € Za, a dune goi là nghịch đão được nêu và chỉ nếu ƯCLN(,m)
=1
VÌ dụ: các thành phần nghịch đảo dược Irong Z2 là: 1,2, 4, 5,7, và 8 (4) 7 Vi 4.721 (mod 9}.)
20 116 qua: Goi d=UCLN(a, n) Phuong trinh déng du ax = b (mod n) có nghiệm x
néu va chi néu b chia hét cho d, khi đó các nghiệm đ nằm trong khoảng (0,n-1) và
déu dang du véi modulo nd
21 Dinh ly phan dur China: Dinh ly nay 18 mét phuong phap dé piai cdc hé phuong
trình dẻng dư Giá sử nụ, ,m, là các số nguyên tổ cùng nhau từng dõi một (tức UƯ€TNúm; mị)—1 niếu 12), ãị, , ay là các số nguyên, khi đó hệ phương trình
f x— Sữnod7)
(modi 1) [> 10(mod13)
Trang 1922 Thuật toán Gauss: Nghiệm x của các phương trình đồng dư để cập đến trong
23, Hé qua: Néu UCLNGm, m) —1, khí đó hệ phương trình đồng dự x = a (mod m)
và x = b (med n;) có nghiệm đuy nhất
Cha y: [é,"| = $(n) va phép nhan trong tap Z," duge goi la dong, tức là nếu
acFg vabeZe thiabe7Z,,
26 Liệ quả: Liệ quá: Với n> 2 vá n nguyên, ta co
1 NếuacZ¿ thìa!* 1 qnodn),
2 Néun la mét sé nguyén (4, va néu r= x God $(n), khi dé a’ = äŸ (mod n)
với mọi số nguyên a
27 Hệ quả: Với p lả một số nguyên tổ, ta có
1 Néu UCTN(ap)-L, kb dé a? = 1 (od p)
2 Néur-— s (mod p-1), khi dé a’ = a mod p
31 Các tỉnh chất của thành phân nguyễn ilmỷ của Z„ :
ae
Trang 201 ¿` có thành phần nguyên thuỷ nếu và chỉ nếu n = 2, 4, p` hay 2p* với p là
muột số n lễ và k > 1 Trường hợp p là một số nguyên tổ thì
3 Giả sử rằng œ là thành phần nguyên thuỷ của Z,", khi dé b = of mod n
cũng là một thành phần nguyên gốc của Z„' nêu và chi néu UICLN(G,¢(n)) =
1 Tức là nếu Z„` là tuần hoàn thì số các thành phẩn nguyên gốc sẽ lá $($(n))
4 œeZ„` là một thành phân nguyên gốc của Z„` nếu và chỉ nêu ö‡f?P không,
đẳng đư với 1 (mod n) với mỗi số chia p (của $(n)) là số nguyên tá
Câp của các thành phan ct 7."
Nhân thấy rằng khêng có thánh phần của Z¿¡` chứa cấp của ¿(21)=12, 21 không thỏa mãn điều kiện 2.132 (1) Nói cách khác Z¿;` là tuần hoàn và thành phần
nguyên gốc của nó œ 2
32 Dịnh nghĩa: Với a eZ„, a được gọi là thặng dư bac hai (quadratic residue)
modulo n, ho&c binh phương modulo n, nếu tổn tại một giả trị xCZu` thỏa mãn x2 —
ø (mod n) Nếu không tổn lại một giá trị x như vậy, ä được gọi là không thăng dư
bac hai (quadratic non-residue) modulo n Tap hop etia cdc thing dit bac hai modulo
n duge ky higu 1a Q, va tap hop của các không thặng đư bậc hai được ký hiệu la
9,
Choy: theo định nghĩa, 0£Z2 là vi 06Q„ và 0£@„
33 Giả sử p là một số nguyên tả lẻ và œ là một thành phần nguyên gốc của Z„ `, khi
do acZ,’ 14 mét thing du bic hai modulo p néu va chi néu a = of mod p, voila
một sổ nguyên chẵn Khi đó |Q,|=(P-1)/2 và Ø, Ƒ(p-1)⁄2; có nghĩa là một nửa số
Trang 21thành phần trong Z„` là thăng dư bậc hai và nửa số thành phân còn lại là không
thặng đư bậc hai
3⁄4 Dịnh lý: Giả sử p và q là hai số nguyên tổ khác nhau, n=pq, khi đó với ae7„ là
một thặng dư bậc hai modulo n nếu và chỉ nếu acQ, va acQ,y Diéu nay chi ra ring
¿|=|Q,L|QaEŒ-1+13⁄4 và |ø, F3@-U@-1⁄4
3S Tiêu chuẩn Buler: Giả sử p là một số nguyên tổ, x là một thăng đư bậc 2 theo modulo p khi va chi khi:
36 Định nghĩa: Với ae(Q,, nếu xe Z„` thỏa mãn xˆ = a (mod nị, thì x được gọi là
căn hậc hai (sạuare rool) của a modile n
37 Hệ quả (số lượng căn bậc lai}:
1 Kến p là một sô nguyên tô lẻ và aeQ, thì a có chính xác 2 căn bậc hai
modulo p
2 Tổng quát hơn, với n— pỹ p2 " , pị là các số nguyên lô lẻ phân biệt và
3) > 1, niểu ác Q„ thì a có chính xác 2 căn bậc lai phân biệt rodulo rị
1.3.4 Ký hiệu Legendrc và ký hiệu Jncobi
38 Cho p là số nguyên tổ lẻ, a là số nguyên Kí hiệu Legendre | ; | được định nghĩa
aby lá:
Tinh chất của kí hiệu Legendre
Cho p là số nguyên tổ lẽ; a, b là các số nguyên, khi đó:
Trang 22
-# | : rõ rằng là nếu n là số
Pe
nguyễn tổ thi ki luéu Jacobi tring voi ki hiéu Legendre
Tinh chdt cite ki hiệu Jacobi
Trang 231 ()-cn* với kEn°]l, Vi thé [= -1, néu n = 1;7 mod 8, va
> | H2), rir rong hgp m= n= 3 mod 4, khi da 2 = (£
1.3.5 Một số thuật toàn
40 Bái toán loparit rời rạc trong Zp
Giả thiết: Gọi p là mệt số nguyên tổ, œ Z„ là phân tử nguyên thủy (phân tử sinh) ciia Zp, Bc Zp
Kết luận: Hãy tìm một số nguyên a duy nhất : 0 < a < p-2 thoả mân:
B {mod p)
a
Lời giải: Số nguyên a duge xac dinh: a = log, B
41 Thuật toàn Buelid tim ước số chung etia 2 sé nguyén a, b, ab
put: hai số nguyên duong a, b; a>=b
Oulpul: ước số chung lớn nhất của a và b (gcd(a,b))
while (b<>0)
{ tT: amod b, a=b
bi=r
$
returni(ay,
42 Thuat toan Euclid tim phan ti nghịch dao
Giả sử ta cần từn phản tử nghịch đảo cua a theo modun m, khi do ta can tim
x và y sao cho: m.x + a¿y — UCLNÍA, m),
Suy ra (mx | ay) mod m = UCLN(a, m) mod m = UCLN(a, m),
© mx medm +ay mod m = UCLN(@, m) @ ay mod m = UCLN(@, m)
Do do, néu UCLN{a, m) = 1 thi a co phan tu nghich dao a = y;
Vi du: a -11, p17, q-19, n-323, §(n) — 288, phải lim
Trang 24
a.a1— 1 Gnod $0) aa? 1=ke(n)
Trang 25Chương 2
CÁC HÀM BĂM
2.1 Các ký hiệu chung
oy Tập lất cả các xân nhị phân có độ dain
ta Tập tất cả các xâu nhị phẩm có độ đài giới hạn
AxB Tap tat ca cae cap (v,w), ma ve Ava w eB
H.ASB Tầm TH xác định ir tap A dén lap B
he Độ đài của xâu w
we ghép, chắp nói chuối w vào chuối v
wy XOR từng bịt của xâu nhị phân w với xâu nhị phân v{(có độ dải
bang nhan)
XAY Phép logic X “AND” Y theo timg bit
XvY Phép logic X “OR” Y theo timg bit
xey Phép logic K “KOR” ¥ theo bmg bit
¬ Xhay X : Phin bi ctaX
X + Y: Phép cộng theo modulo 2”
X<<s; (K€s) Phép địch trái X dị s bít (0 <s <31)
Ví dụ: H:{0,1}” x {0/1}! > {0,1}? nghĩa là hàm H gêm có 2 đổi số, đối số
thứ nhất là một xâu nhị phần có độ đài tuỳ ý, đối số thử 2 là một xâu nhị phân có độ dai], bam tra lai một xâu co dé dain
2.2 Các dịnh nghĩa, khái niệm và các tính chất căn bản
3.2.1 Định nghĩa
Trong thuc 18 sit dung, ham bim (hash) duge chia thành rhiểu loại khác
nhau Chương này phân loại hàm băn: thành bai loại: bấm băm có khoá và ham bis không khoá
Định nghia 1: A461 ham băm là rmội hàm h mà tối thiếu cú 2 đặc lĩnh sau:
1 Nên - h ảnh xạ lỗi vàa x có độ dài (số bi) hữu hạn tu) ý thành một
Idi ra h(x) có độ dài xác định ny
3 Dễ tính toán - cho trước h và lối vào x, đễ dàng tỉnh được h(x)
Định nghĩa 2: Với 2 số nghiên dương 1, n h được gọi là hàm băm có lỗi ra
mbit va sứ dụng khoá Là nếu h là một hàm tiền định có 2 đầu vào, đầu vào thứ
Trang 26nhất có độ dài tủb ý, đầu vào thú: bai có độ dài Ì bù, lồi ra là một chuỗi nhị phân có
độ đài n Hàm băm nhục vậy được lợi hiệu là: H-{0,1)25(0,1)) =ề (0,17
Dại điện cho các hảm bảm không khoá là các mã đỏ sự thay đổi MDC
(Modification Detection Code, côn duge goi 1k Manipulation Detection ode)|2}
Ban than MDC ctmg được chia ra các lớp con gồm:
1 Các hàm băm một chiếu (OWHFs): những hàm theo nghĩa của nó, không có khả năng tầm được giả trị bạn đầu Lừ giá trị băm |2],
2 Cac hàm bặm chặn xung đội (CRHFS): những hàm tủy có đặc
điểm rất khó để có thể lim ra các trị khác nhau mà có cùng một giá
một khoá K Khi A gửi tin M cho B, A sé pan “ed” xac thuc v = Ig(MD, cò nảy sẽ
dược B tỉnh toán lại khi nhận dược bản tin, dua vao két qua tinh nay ma B kết luận
ban tin có bị giả mạo hay không
2.2.2 Các tính chit co ban cia ham băn
Các tinh chat sau được áp dụng cho cả các hảm bám không khoá và hàm bam
có khoá
Tinh chất chặn tên ảnh: với tất cả các lỗi ra đã biết trước của một hàm băm,
không thể tính toàn đẻ tìm ra được bắt cứ một lỗi vào nảo (tiên ảnh)
Tình chất chống xung đột Không thê tính toán đề tìm ra 2 giá trị lỗi vàn
phân biệt x, x” của một hàm băm mà cho ra củng một gia tri bam (h(x}= h(x "})
Chủ v:Trong các tài liệu liên quan, tỉnh chất chặn tiên ảnh còn được gợi là
tính chất một chiều, tính chất chồng xung đột còn được gọi là tỉnh chất chồng va
cham|2| Néu ham bam có va chạm được hiểu là tồn tại tiên ảnh thử 2 mà 2 tién anh
nay cho ra giá trị băm giồng nhau
2.3 Phương pháp xây dựng các hàm băm
Trang 27Ilo cde hàm băm thưởng được xây dựng từ 2 thành phân được nghiên cứu
dộc lập nhau Thành phẩu thứ nhật là một hàm nén thực hiện ảnh xạ một lối vào có
độ đài xác định thành một lỗi ra cũng có độ đài xảo định Thành phân thử 2 là một
bộ mở rộng miền mà với một hàm nén cho trước, bộ mở rộng miễn này sẽ tạo ra
một hàm cho phép lỗi vào có độ dài ngẫu nhiên
2.3.1 Hàm nén
hiễu nghiên cứu lý thuyết đã chỉ ra rằng từ một ham một chiều không thé tạo ra được các hàm băm có tỉnh chất chặn xung đột Trong thực tổ, các hàm băm có tính chải chặn xung đội thường được xây dựng trên cơ sở các bộ mã khối
Môi bộ mã khối là một hoán vị đã được khoá lại, B:{0,112x{0,17 > {0,1}"
'Về mặt kỹ thuật, một bộ mã khói thực hiện nén đầu vào của nó tức là ảnh xạ &†m tít lối vào thành n bít, Tuy nhiên, các bộ mã khối lại không có tỉnh một chiêu Hai
lược đổ mã thông dụng nhất dược sử dụng trong các hằm băm đó là|2]
mỡ rộng miễn được sử dụng rộng rãi nhất và đơn giản nhất lá Merkle-Damaard,
hoạt động theo giải thuật sau:
Cho trước: làm nénC: {0,1}°x {0,1}”> {0/1}":
1iằng số IV n-bi (giá trị ban đầu dùng cho các biển hạ)
Lỗi vào Ban inf
1 Chia AZ thành các khối kich thuéc ambit 14 Mj, My, padding
2 Chọn Mụ.¡ được mã hoá cho |M |
cừng với khái tiếp theo của bản tin tạo thành lỗi vào của vòng tiếp theo của C Tầm
băm của khối cuối củng, khi này độ dài của bản tin da được mã hoá, là hàm hash
của toàn bộ bản lim" Cơ chế lưu lạ thời lội ra của hàm rên Bà hý được gọi là biền
Trang 28day chuyén (chaining variable) hay trang thai bén trong (internal state), xem hinh
2.4 Cac ham băm cơ bản
Phan nảy xim đề cập đến các hàm hash được sử dụng phỏ biên trong thực tế Ham MDS va ham SHA-I
MDS 1a phién ban manh hon của MD4 được Ron Rivest tao ra nim 1990
MD là viết tắt của Message Digest và con số tiếp theo có nghĩa là các hảm là thiết
kế thứ 5 từ củng một họ hảm hash
SHA viết tắt của Secure Hash Algorithm - Thuật toán băm an toàn, được đưa
vào sử dụng cùng với chuẩn chữ ký số - DSS (Digital Signature Standard) vao nim
1993(NIST00)[1] SHA-1 cỏ mô hình rất gần với MD4 Chúng sử dụng củng một
giải thuật padding, chia bản tin thành các block có kích thước 512bit và độ dài của
ban tin được mã hoa thành một số 64bät Kích thước của trạng thải bên trong vả lối
ra của SHA-I có củng độ đải 160bit, dải hơn so với kích thước 128bit của MDS
Mặc dù, các hàm lặp của chúng đơn giản hơn và ít thay đổi hơn so với các hàm lặp
của MD5 nhưng SHA-I cỏ nhiều hàm lặp hơn Nếu một bít của bản tín bị thay đổi
sẽ kéo theo hơn một nửa số bít trong khối 32 bịt nói trên thay đổi theo (trong MDS, chỉ 4 bịt thay đồi)
Trang 29
SHA-512 1024 64 512 80
(roads: sé lan update giá trị biến trạng thai hén trong, vi dy MDS cố rounds = 164)
2.4.1 MDS
Bảng 2.1 Thơng số đặc trưng của các ham băm thơng dung
MDS đựa trên nguyên tắc thiết kẻ M1 là từ một hàm nén được thiết kế dựa
trên một bộ mã khối sau dị sử dụng một bộ mở rộng miễn theo kiến trúc của
Merkle-Damgard
Tử một xân bit x rạo thành mét ming M=Mg Myy Mpa ; Mgy chinh 1A một tử cĩ độ dài 32 bít, N là số từ
Xây dựng M:
Xuất phát từ một xâu x cĩ độ dài bít tuỷ ý gọi là b, b> Ơ;
Paddinh vao x 1 bữ "1° đơn lẻ và các bịt "0? để xâu bít x cĩ độ đải
thộ mãn x _ 448 (mod 512)
64 bịt cuối cùng của xâu x dược mã hố chứa thơng tin về dộ dài thực của x; (cĩ thể được rút gọn theo mođulo 25), do đĩ xâu kết quả sẽ chia hết 512;
Giả trị ban dầu của các biến dây chuyên dược xác dinh (H,,Hạ,Hy,Hà)
= Mh, ty, bs, ha),
Xây dựng lỗi ra — ban tom luge ban tin dai [28bit
Sit dung 4 thanh ghi 32 bit A, B, C,D Mỗi vịng lốp sẽ xử lý 16 từ
Tại vịng thứ nhất, lấy 16 tử tiếp theo của Mụi để lưu vào măng X
For i=0 to [(N/16) -1] do For j;— Ơ1ø 15 do
X= Mpsisi)
Thực hiện thao tác này trang 4 vàng (round) , mỗi vịng xử lý l6
bước, sau đỏ update giá trị cho biển dây chuyển
PML gia trị cho các thanh ghi lầm việo: (A, B, C,D): (HH; HHạ),
Round1: for j: 010 15 do
FCLY,Z) = (KAY) VX AZ)
t= (At /(B,C.D) + Xpain + ya);
(AB,GD): (D,B+(q ©sl¡J).B,C);
Round 2: for j-= 16 to 31 do
gO%Y,Z) = (SAL) v (YAZ);
Trang 30cũng được phát triển từ MI24, cũng thực hiện chia bán tin thành các
khối có kích thước 512bil, sau đó lại chữa tiên ác khối 512bit thành các từ
(subblock) có kieh thước 32bil[2] Tâp hợp các từ được go ra nảy tạo thinh mang MEM| Mại Ma] Dệ đài của bản tin cũng được mã bằng một con số 64bit Kich thước lối ra 160bït Sử dụng các hàm mà MD4 dùng Tuy nhiên có một số
diễm khác biệt dó lá: SHA1 sử đụng Š biểu đây chuyển (MD4 và MDS sử dụng 4
Trang 31bién), 4 rounds , mdi rounds gdm 20 bước (MD4 sử dựng 3 rounds, MDS sit dung 4
rounds méi round 16 buée).Giai thuật của SHA1 nữuz sau:
Xây dựng M:
Xuất phát từ mệt xâu x có độ đài bít mỷ ý gọi là b, b> 0;
Paddinh vào x 1 bit "1” dơn lẻ và các bít "0", ngoại trừ 64 bít cuối
cùng (2 từ cuếi cùng) để xâu bit x có độ đài thoả mãn x = 448 (mod
512
2 tử cuối củng của xâu x (chửa thông thì về độ dài b của x)
Giá trị ban đầu của các biến dây chuyển được xác định (Hị,H¿Hy,Hạ)
„ hạ, bạ, hai;
Xây dựng lỗi ra — bản tóm lược bản tin dài L60bit
Sử dụng 4 thanh ghi 32 bịt À, B, C, D Mỗi vòng lắp sẽ xử lý 20 Lư
Tại mỗi vong, copy 1é tir (block thir i) My) hu vao mang X
For &=0 to [0N/16) -1] do For j:- 0 to 15 do
Sc dung cde subblock nay tong cae round gém 20 bude
Đặt giá trị cho cáo thanh phí làm việc: (A, B, C, D) := (Hụ,H;,H,H.), Roumdl: fer j:= 0 te 19 đo
CCY,2)=(X^ Y)v(A)
¿ (AC5)+7(Œ,CD)T-E+ÄXj+yn) (A.B,C.DE) := (t A Œ €30),C, D):
Trang 32Két thic 4 vong, update gia tri cho biển đây chuyên:
(F,Fb,1,H4,Hs) ‘= (Hi: AH) | BUH; | CHy! Ds ' B),
Giá trị Hash cuối cùng sẽ là: II,||H; ||Lạ|ILL||L; (đứng cả về thứ tự
byte cae, byte (hap)
2.5 Cac hàm băm có khoá
hư đã nỏi ở trên, các hàm hash có khoá được sử đụng đề cung cấp tính xác
thực (chứ không phải dâm bảo độ mật) của bản tin, được gọi là các MAC Khoá sử
ô liệu trong một file có bị người
khác can thiệp bat hop pháp vào hay không MAC được xây đựng từ một hàm hash
hoàn thiện h, là một hàm băm không khoá có tính chất chồng xưng, dột, sử dụng,
dụng cho phép người nhận Ð kiểm tra xem các
khơá E bằng cách ghép nối khoá K, K e {0,1}! vào bản tin MI cần gũi, dược gọi là
ham HMAC
TIMACE(M) = h{K © ¢, |[b(K De, |M))
Trong đỏ cụ và ca là các hằng số 1 bit
Ta xét trường hợp MAC được tạo ra lừ hàm hash MDS:
Léi vào: xâu đữ liệu z có độ dài tuỳ ý b >0, khoá K <128
Lỗi ra: Giá trị MAC của x có độ đải 61 bịt
Thuật toán: Tạo hàm 3⁄Đ5 từ hàm MDS bằng cách padding thêm vào các bít “0” và “J” Nếu kích thước khoá K nhỏ hơn 128 bit, K sé
được tự nổi chính nó để đạt được độ đài 128biL Sau đỏ, xây đựng các
Khoa Ko, Kụ, Kạ từ khoá K, Mỗi K; sẽ dược sử dụng với một vai trỏ khác nhau
Te Wie (Bien YC Gea 1 ie,
Tae cic K: Fori: Oto 2do
Kị:= MDS(K ||U; IK);
31
Trang 33Chia các khoá K; kích thước 128bit thành các khoá con K Jil, 0
<1<3, có kích thước 32 bịt
Cáo khoa Koli] dùng để thay thê cho các giá trị hị trong giải
thuật MDS Cac khoa Kyli[ dược tỉnh mod 32, thay cho cae yij] trong 4 vòng round của MDS
Các kheá K; được dùng để tạo ra một khối 512bit bằng cách:
Kz K;Ø Tị||K¿ ® TT: ||K¿ Ð 1:
Thực hiện giải thuật MDS với các thay đổi như trên
Giá trị MÁC được lấy là 64 bị! bên trái của lỗi ra 128 bịL của MDS với
các thay đổi như trên
2.6 Tân công các hàm băm
Ngh
thêm những đánh giá sâu hơn vẻ độ an toàn của chúng khi sử đụng Hiện nay có
ứu các phương án lấn công khổ thí đối với các hàm bắm số cung cấp
nhiều dạng, nhiều phương pháp được nghiên cửu chỉ với mục dích tấn công các
ham bam
Kiểu tân công thông thường nhất đó là kế giả mạo O bắt đâu bằng một cấp
(x,y% y = h(x) Sau đó, O tính z = h(x) và thử đi tìm x' = x sao cho h(x’) =
h(x) Nếu tìm được một giả trị x` như vậy, đã giá mạo thành công, Tình chất chăn xung đột (chống va clưun) của hàm băm được yêu câu để ngăn chận kiểu giả
mao nay
Một kiểu tản công khác mà O có thể sứ dụng đó là trước tiên, O tim 2 bue
diéu x va x? sao cho h(x} h(x”) Sau dé O dưa bản x cho Á và thuyết phục Á
tao bân tém lược » =h(x) Khi đó O sẽ giả mạo hợp lệ bằng cặp (x`, y) thay vi
cặp (x, y) mới là bản được A thông qua Chính vì lý đo này mà các hàm băm yêu
cầu phẩi có tỉnh chặn xung dột mạnh
Dang (4n công thứ 3 mà Ø có thể dàng tới đỏ là O thị được ban tom lược ban tin z Sau đó © đi tìm x sao che h(x) = z Đề đổi phó với dạng tân công này, hảm băm phải cỏ tính chất một chiều (chặn tiên ánh)
Tuy nhiên các tính chảt nói trên của ham bam chỉ mang lính lý thuyết, được Jam (én trong muột phạm vì xác suất nảo đỏ, trong thục lễ các và chạm luôn tổn tại
De đỏ các phương pháp tần công luôn có cơ hội thành công
2.6.1 Dạng tấn cổng cơ bản
Phương pháp tấn công mạnh là những phương pháp tấn công độc lập với giải
thuật, các phương pháp tân công có thế áp đựng được cha bất kỳ hàm băm nào
3
Trang 34Chung coi hàm băm lá một hộp đen với những đặc điểm nổi bật nào đó về độ đài bít
cũa lỗi ra n (có thể cả kích thước khoá dấi với MACs) và thời gian chạy của một
thao tác tính hàm băm Các đạng tân công của phương pháp này lä tấn công dựa
trên từng bịt kết quả băm thu được, tìm kiểm vét cạn không gian khoá MAC và đẩn
công ngày sinh nhật
1.6.1.1 TẤn công không gian khoá của MAC
Người ta sử đụng phương pháp từm kiểm vét cạn để luận ra các khoá của
MAC Biết trước một cặp text-MAC, ké tin công có thể tỉnh ra giá trị MÁC nhịt
của đoạn texL đó bằng tất cả các khoá có thể, sau đó kiểm tra giá ti MAC nao hod
trấn cặp (ext-MAC ri trên Với không gian khoá thịt, yêu cầu 2Í thạo tác MÁC,
sau đỏ tìm được 1+2!° khóa để thử Giả sử rằng MAC là một ánh xạ ngẫu nhiên, sau tín cặp tcxt-MAC được kiểm tra, rất có thê tim được một khoá duy nhất trong các
khoá dùng dễ thữ sẽ thoả tấn Trường hợp lý lưỡng, khoá MAC không thể khôi phục được nêu sử dụng it hơn 2F thao tác
Chủ ý; Với kích thước khoá sử dụng là t-bit, lối ra có độ đài xác dịnh n-bit, khoá dy đoán một cách ngẫu nhiên sẽ trùng với khoá MAC st dụng với xác suất
xắp xỉ 2ˆ với t <n [2]
3.6.1.2 TẤn công kích thước bit trên MÁC
Kẻ giả mao MAC thường cổ gắng tạo ra được bất cứ một lỗi vào x nào tương ứng với giả trị MAC ma khong can biết đến khoá dã dược sử dụng và bản rõ
cụ thể là như thế nào Một giải thuật MÁC kích thứợc n bịt mục đích hoặc đoán giá
tri MAC voi một lỗi vào biết trước hoặc đoán tiền ảnh của giá trị MAC đã biết Giải
thuật như thế có xác suất thành công vào khoảng 2^ đối với các hàm hash không,
khoá - MDCS Điểm khác biết @ dy là mặc đủ các giá trị MÁC đã đoán không thể
được xác nhận oíTline mà không biết trước cặp texI-MAC, hoặc thông lin về khoá
sử dụng, hoặc biết trước lối vảo theo một cách nào đó Vị rằng kẻ giá mạo chí cỏ cơ liội bằng max(2, 2”) để tạo ra một cặp LexL-MAC chính xác, niên có rộội hướng tt
hơn đỗ là đoán giá trị MÁC hoặc đoán khoá
2.6.1.3 Tan công tính toắn trước
Phương pháp này ding dé tin công tiên ảnh va tấn công ảnh thử 2, kẻ tấn công tỉnh toản trước một số lượng lớn các cặp tương ứng lỗi vào — lỗi ra của hàm băm Ví dụ, giá Irị băm 64bit nêu chọn ngẫu nhiên 2! lỗi vào, sau đó tính giá lai
tăm tương ứng của các lỗi vào đó và hưu cặp (giá trị băm, lỗi vào) theo chỉ số liên
33
Trang 35quan đến giả trị bãm Khi đỏ sự tính toàn trước cho phép kẻ tân công ting được xác suất thánh công lên từ 2“' lên 22“ Một cách tương Lự, xá suất để tìm ra tiểu ảnh
Thứ 2 cũng tăng lên r lần so với xác suất ban đầu, r là các cặp lối vào — lỗi ra của
một hàm OWTIE đã được tính trước và thống kê lại
2.6.1.4 Tan céng các mục tiêu song song trên OWHES
Khi tấn công cơ bản, kẻ tấn công thường tìm kiếm tiên ảnh thứ 2 dựa trên
một mục trêu xác định (tin ra liển ảnh khác từ một tiển ảnh đâu tiên) Nếu đã có r
tiễn ảnh, mục tiêu của kẻ tân công la äm ra tiền ảnh thứ 2 của bất cứ tiên ảnh nào trong số r tiên ảnh nói trên, khi dó xác suất tân công thành công, sẽ tăng lên r lẫn so với ban dâu Trong các sơ đỏ sử dụng MAC, ví dụ như sơ đỏ chữ ký, việc sử dụng lặp đi lặp lại khoá làm cho độ an toàn của sơ đồ bị suy yên Khi kẻ tân công nằm được r bản tin đã được ký, xác suất để tân công thánh công sơ đồ chữ ký đó sẽ được tầng lên r lân
2.6.1.5 Tấn công bản tin dải dành cho tiền ảnh thứ 2
Goi h là một hàm hash được lặp lại với hàm nén ƒ Gợi x là bản tin chua t khải Khi đó tiễn ảnh thứ 2 cửa h(x) có thể được tim thây trong khoảng thỏi gian 9⁄4) + s thao tác tính / vá không gian nhở nís + lạ(s}) bịt với bắt kỳ giá trị s trong, đãi 1 <s < min(, 2) ap đụng tấu công ngày sih nhật (trình bày trong phân sau) trên các kết quã băm với lựa chọn s=t Tính h( x), hưu các giá trị ŒH,, i) img voi mai
+ kết quả trung gian Ll; tương ứng với t khối lỗi vào x) Sau đó tính giá trị LI(Z) của
một giả trị chọn ngẫu nhiên z„ kiểm tra xung dột nủa h(⁄) trên bảng các giá trị thu
được ở trên, cho đến khi rào tìm ra xung đột, áp dựng nghịch lý ngày sinh nhật có khoảng xấp xỉ 2⁄4 giá trị z sẽ được thử như vậy Tương ứng với chỉ số j của bằng các giá trị tìm xung đột là lỗi vào xung đột với lối vào đã biết x
Phương pháp này được áp dựng cho các bản tín dài, tiền ảnh thứ 2 (tần tại va chạm |2| thường dễ tìm ra hơn so với tìm tiển ảnh (tìm tiễn ảnh mất khoảng 2” thao
2”2, phép tính toán dược tối
22 thao tác tính hàm f dé
tác Link), cảng dễ hon vii cde ban tin x dai Vii
thiếu hoá khi chọn s = 2"? „ trong trường hop nay e:
tìm ra tiễn ảnh thử 2
2.6.1.6 Tân công từng bit trén MDC
Cho trước một bản tin xác định x với hàm hanh bíx ) nhị, phương pháp thô
sơ để tìm mệt lỗi vào xung đột với z là lây một xâu bit ngẫu nhiên x" (độ dài giới
34
Trang 36han) vả kiểm tra xem h(x") = h(x) hay khơng Giá sử mã băm lả một biến ngẫu Trhiên, xác suất dé lim dược là 2^ Khi đĩ:
« Với một hảm h cĩ lỗi ra nbit, để tìm ra được tiễn ảnh hay tiên ảnh thứ 2 cứa
né can khoảng 2° tao tác băm Một kế lấn cơng cĩ thể chọn các bản tín, phương
pháp tân cơng ngày sinh nhật cho phép cặp bản tin xung dét x va x’ voi h(x) =
h(x `} được tìm ra sau 2"?
đáng kể
thao téc (bam), v6i khơng gian bộ nhớ sử dụng khơng
© Mét ham băm khơng khố cĩ kích thuốc lối ra n bịt gọi là an tồn lý tưởng,
nếu: cho trước lỗi ra của hàm, yêu cầu xắp xi 2° thao tác dễ cĩ thể tìm ra một tiển ảnh hộc mớt tiền ảnh thứ 2, và 2° thao tác dễ tìm ra được một xung đột, Các kích thước bit yêu cầu trong thực tế
Với mệt ham băm cĩ lỗi ra là các giá trị n bít, và ngưỡng tiêu chuấn dành
cho số lượng các thao tác cĩ thể tính được là 2Ê5,[2] khi đĩ n phải thoả mãn các điều
kiện sau:
Với những hàm OWIIT, n > 80 Phép tấn cơng vét cạn offline yêu cầu khoảng 2° thao tác tính, nhưng số lượng thao tác tính cĩ thể bị giảm xuống, néu ap dung được phép tân cơng tỉnh tốn trước;
Với những hàm CRHE, n > 160 dễ cĩ thể tránh được tấn cơng ngày sinh
nhật,
Đơi với MAC, n> 64 với khố MÁC cĩ kích thước từ 64 đến 80 bít, Nêu chỉ
một khố MAC được sử dụng, lẫn cơng ollline cĩ thể tỉm ra được một hoặc nhiều
hon cip text — MÁC, nhưng nêu trên một giải thuật MAC tốt, tính chật chăn tiên
ảnh và chặn tiễn ãnh thử 2 (tinh chất chỗng xung dột) làm cho các dạng tin cơng, phụ thuơc nhiều vào kích thước khố dược sử dụng chứ khơng phải n Đối với các dạng tân cơng online, cĩ thế châp nhận giá trị tơi thiểu của n = 32 hoặc n = 40
2.6.2 Tan cing ngày sinh nhật
Tan cơng ngảy sinh nhật là phương pháp tắn cơng bằng cách tìm kiếm đơn
giản các va chạm của hảm băm Thuật ngữ ngày sinh nhật xuất phát từ một bài tốn xác xuất nghịch lý ngày sinh nhậĐ1]: trong một nhĩm 23 ngưới ngẫu nhiên, cĩ ít
nhật 2 ngưới cĩ trừng ngày sinh nhật với nhau với xác suất ít nhất là 1/2 I1!
Các ham bam h: X > % voi X va ⁄ là hữu hạn, |X|— m và Z — n, thơng
thường m > n, do đĩ luơn tổn tại xung đột trong ham hash bh Ta cd thé minh hoa
35
Trang 37phương pháp tốn công ngày sinh nhật một cách đơn giản như sau: Chọn k phần tứ
ngau hién phân biệt trong không gian lỗi vào của hàm hi xq, xà, , vụ c Ä, sau
dé tinh 2 = h(x), 1 <
chạm nào không Qua trinh này giống như khi ta ném k quả bóng vao n thing va
k Tìm trong sẽ cáo kết quả thu được xem có tồn tại va
sau đỏ kiểm tra xem có thủng nảo chứa ít nhất 2 quả hay không,
hận thấy rằng xác suất dé tim thấy một va chạm chính là xác suất thành công của bài toán tấn công
Giá sử các ảnh dão cỏ xác suất như nhau khi dó |” (2}|= min với mọi z c Z
Vi >, dược chọn một cách ngẫu nhiên cho nên có thể xem các phân tử nhận dược z4 cững là ngẫu nhiên của Z Tập hợp các z; thu được tương ứng với các x; là : z¡,
Neu x là số thực nhỏ khi đó: e*alix
Khi đẻ xác suất không có va cham nao sé la:
Trang 38trên Jz phan Lit eta XÃ sẽ có mội xác suất va chạm là 0.5 Nói chưng, b
đã chỉ ra rằng k tỷ lệ với vn Những dang tấn công áp dụng tính chất này được gọi
Căn cứ vào dang tắn công này, giới bạn về các kích thước bịt được đặt ra cho
các bản tôm lược thông bảo Với những hàm CRHE, n> 160 (ngưỡng tính lon tiêu
chuẩn là 259)
Đổi với MAC, 4 với khoá MAC có kích thước từ 64 dến 80 bít, Nếu chỉ
một khoá MAC được sử dụng, lẫn công ollline có thể tìm ra được một hoặc nhiều
hon cip text — MÁC, nhưng nêu trên một giải thuật MAC tốt, tính chất chặn tiên
ảnh và chặn tiễn ãnh thử 2 (tinh chất chéng xung dột) làm cho các dạng tấn công,
phụ thuôc nhiều vào kích thước khoá dược sử dụng chứ không phải n Đối với các dạng tân công online, có thế châp nhận giá trị tôi thiếu của n = 32 hoặc n = 40
Phương pháp tấn công ngày sinh nhật của Yuval
Tân
ông ngày sinh nhật của Yuval Wi một trong những phương pháp tân
công hảng đầu ứng dụng bài toán nghịch lý ngày sinh nhật Xác suất cao (> 0.5) để cdc phan lắp lại sẽ tính được sau OCxjn) lựa chọn (O là một hàm của xa) Điểm
chung của các phương pháp tốn công ngày sinh nhật là tìm các va chạm chơ một
Tưm băm một chiều chú không lim các tiễn ảnh, hay các tiền ảnh thứ 2 của chúng,
Giải thuật của phương pháp
Lối vào: bản tin hợp lệ xì, ban tin gid mao x; , một hàm n bịt bắm một chiều
hŒó lối ra là n bÌ0,
Trang 39Lỗi ra: x;, x; thu được từ những biến đổi của xị và x› với h(x¡) = h(x;)
(Điều này làm cho chữ kỷ trên bản tin +; cũng hợp lệ như chữ ký trên x„)
1 Chọnk= 2°” số những phép biến đổi nhỏ+, của xị Chọn g là một
ham dé sao cho g(x1, II) = + - được gọi là phép biến đổi nhỏ của xị x) được quyết định bởi giá trị bãm H của xụ; có thể viết ø, Œ7)—x,
ta Bam từng bản tin bị biến đổi *;„ hưu các giá trị bấm (có thể được chia
nhỏm tương ứng với bản tin) để có thể sử dung về sau (Bước này được
thực hiện trong khoảng thời gian O(k))
3 Tạo những thay đối nhỏ x, của x; băng cách tính h(x,) cho từng giá trị
x, và kiếm tra chứng, cho đến khi tim được giá trị thích hợp thoả mãn
có lếi ra 128bit, giá trị k được tính bằng 64, do đỏ yêu câu 2'“ biến đối Thời gian
yêu câu là O(?"®, yêu câu không gian nhé cho O(2) ban tin Chinh điểm này làm
các giá tri H phan biệt sé cho ra cáo giá trị +, phân biệ Khi đó, vái hai bản tin xác
định x, va x2 va mét vài đặc tính có thể dùng để phan biệt một cách 48 dang sẽ chia được không gian các giá trị bằm thành bai tap con gần bing nhau Ta dinh
nighia mdi him r ảnh xe các kếi quả bẩm sang cáo kết quả bằm rửnư sau:
re) = hú, 0T) nen TFÍaÍe
(2.4)
Sau đó, ứng dung kỹ thuật từa kiếm xung đột không nhớ nỏi trên để tìm ra hai lỗi vào r mà ảnh xạ ra cùng một lỗi ra (xung đột), Nếu h là một ánh xạ ngẫu
38
Trang 40nhiên với xác suất va chạm xảy ra là Q.5, sự phân biệt chẵn lẻ cúa 11 vá Ủ' tương ủng với các lỗi vào xung dột Trong trường hợp dò ñŒœ,„ (f3) — Ay, (7) va cap va chạm là xị—g„ ŒĐvà x;—g„ Q7) tương ứng với 2 bân tin phân biệt xị và xã
Phuong pháp nay yêu cầu một dưng lượng nhớ sử dụng không đảng kế do đó cờn được gọi là phép biến đỗi không nhớ của
công ngày sinh nhật
Ngoài tân công ngày sinh nhật, còn cò cdc dang tn công giả xung đột, tắn công biến dây chuyển, tắn công dựa trên các đặc tính nổi bật của bộ mã khỏi Tuy nhiên, phương pháp tân công ngảy sinh nhật được cho là phương pháp tân công cỏ tiiệu quả nhất trên các hãm hash
Chủ ý: Trong các tài liệu liên quan, kỹ thuật tân công tiên ảnh hay tiên anh thứ 2 còn được gọi là tân công mục tiêu, tắn công giả tiên ảnh còn được gọi la tan công mục tiêu khởi phát tự do, tân câng va chạm chính là tấn công với các hằng số TV[1] là xáe định; tần công va chạm với TV ngẫu nhiên gọi là tấn công va cham ban khối phát tự do, tắn công giá va chạm của được gọi là tấn công va chạm khởi phát
tự do Các dạng lẫn công này đến thuộc phương pháp tân công hàm tiến
39