Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn thạc sĩ ngành công nghệ thông tin với đề tài: Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật, cho các bạn làm luận văn tham khảo
Ngôn ngữ tự nhiên là những ngôn ngữ được con người sử dụng trong các giao tiếp hàng ngày: nghe, nói đọc, viết. Mặc dù con người có thể dễ dàng hiểu được và học các ngôn ngữ tự nhiên nhưng việc làm cho máy hiểu được ngôn ngữ tự nhiên không phải là chuyện dễ dàng. Sở dĩ có khó khăn là do ngôn ngữ tự nhiên có các bộ luật, cấu trúc ngữ pháp phong phú hơn nhiều các ngôn ngữ máy tính, hơn nữa để hiểu đúng nội dung các giao tiếp, văn bản trong ngôn ngữ tự nhiên cần phải nắm được ngữ cảnh của nội dung đó. Do vậy, để có thể xây dựng được một bộ ngữ pháp, từ vựng hoàn chỉnh, chính xác để máy có thể hiểu ngôn ngữ tự nhiên là một việc rất tốn công sức và đòi hỏi người thực hiện phải có hiểu biết về ngôn ngữ học.
Các phương pháp xử lý ngôn ngữ tự nhiên dựa trên thống kê không nhắm tới việc con người tự xây dựng mô hình ngữ pháp mà lập chương trình cho máy tính có thể “học” nhờ vào việc thống kê các từ và cụm từ có trong văn bản. Cốt lõi nhất của phương pháp xử lý ngôn ngữ tự nhiên dựa trên thống kê chính là việc xây dựng mô hình ngôn ngữ.
Mô hình ngôn ngữ là một phân bố xác suất trên các tập văn bản. Cụ thể thì mô hình ngôn ngữ cho biết xác suất một câu ( một cụm từ hoặc một từ) trong bộ dữ liệu mẫu là bao nhiêu.
Ví dụ : Khi áp dụng mô hình ngôn ngữ cho tiếng Việt :
P[“ngày tết thật là vui”] = 0,001.
P[“vui là thật tết ngày”] = 0.
Mô hình ngôn ngữ được áp dụng trong rất nhiều lĩnh vực của xử lý ngôn ngữ tự nhiên như: kiểm tra lỗi chính tả, dịch máy hay phân đoạn từ... Chính vì vậy, nghiên cứu mô hình ngôn ngữ chính là tiền đề nghiên cứu các lĩnh vực tiếp theo.
Mô hình ngôn ngữ có nhiều hướng tiếp cận, nhưng chủ yếu được xây dựng theo mô hình N-gram mà ta sẽ đề cập dưới đây.
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn thạc sĩ ngành công nghệ thông tin với đề tài: Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật, cho các bạn làm luận văn tham khảo
Ngôn ngữ tự nhiên là những ngôn ngữ được con người sử dụng trong các giao tiếp hàng ngày: nghe, nói đọc, viết. Mặc dù con người có thể dễ dàng hiểu được và học các ngôn ngữ tự nhiên nhưng việc làm cho máy hiểu được ngôn ngữ tự nhiên không phải là chuyện dễ dàng. Sở dĩ có khó khăn là do ngôn ngữ tự nhiên có các bộ luật, cấu trúc ngữ pháp phong phú hơn nhiều các ngôn ngữ máy tính, hơn nữa để hiểu đúng nội dung các giao tiếp, văn bản trong ngôn ngữ tự nhiên cần phải nắm được ngữ cảnh của nội dung đó. Do vậy, để có thể xây dựng được một bộ ngữ pháp, từ vựng hoàn chỉnh, chính xác để máy có thể hiểu ngôn ngữ tự nhiên là một việc rất tốn công sức và đòi hỏi người thực hiện phải có hiểu biết về ngôn ngữ học.
Các phương pháp xử lý ngôn ngữ tự nhiên dựa trên thống kê không nhắm tới việc con người tự xây dựng mô hình ngữ pháp mà lập chương trình cho máy tính có thể “học” nhờ vào việc thống kê các từ và cụm từ có trong văn bản. Cốt lõi nhất của phương pháp xử lý ngôn ngữ tự nhiên dựa trên thống kê chính là việc xây dựng mô hình ngôn ngữ.
Mô hình ngôn ngữ là một phân bố xác suất trên các tập văn bản. Cụ thể thì mô hình ngôn ngữ cho biết xác suất một câu ( một cụm từ hoặc một từ) trong bộ dữ liệu mẫu là bao nhiêu.
Ví dụ : Khi áp dụng mô hình ngôn ngữ cho tiếng Việt :
P[“ngày tết thật là vui”] = 0,001.
P[“vui là thật tết ngày”] = 0.
Mô hình ngôn ngữ được áp dụng trong rất nhiều lĩnh vực của xử lý ngôn ngữ tự nhiên như: kiểm tra lỗi chính tả, dịch máy hay phân đoạn từ... Chính vì vậy, nghiên cứu mô hình ngôn ngữ chính là tiền đề nghiên cứu các lĩnh vực tiếp theo.
Mô hình ngôn ngữ có nhiều hướng tiếp cận, nhưng chủ yếu được xây dựng theo mô hình N-gram mà ta sẽ đề cập dưới đây.
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn thạc sĩ với đề tài: Ứng dụng mã xyclic cục bộ xây dựng hệ mật, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn thạc sĩ ngành công nghệ thông tin với đề tài: Phân cụm đa mô hình và ứng dụng trong phân đoạn ảnh viễn thám, cho các bạn làm luận văn tham khảo
CÁC BIỆN PHÁP KỸ THUẬT AN TOÀN KHI XÃY RA HỎA HOẠN TRONG.pptxCNGTRC3
Cháy, nổ trong công nghiệp không chỉ gây ra thiệt hại về kinh tế, con người mà còn gây ra bất ổn, mất an ninh quốc gia và trật tự xã hội. Vì vậy phòng chông cháy nổ không chỉ là nhiệm vụ mà còn là trách nhiệm của cơ sở sản xuất, của mổi công dân và của toàn thể xã hội. Để hạn chế các vụ tai nạn do cháy, nổ xảy ra thì chúng ta cần phải đi tìm hiểu nguyên nhân gây ra các vụ cháy nố là như thế nào cũng như phải hiểu rõ các kiến thức cơ bản về nó từ đó chúng ta mới đi tìm ra được các biện pháp hữu hiệu nhất để phòng chống và sử lý sự cố cháy nổ.
Mục tiêu:
- Nêu rõ các nguy cơ xảy ra cháy, nổ trong công nghiệp và đời sống; nguyên nhân và các biện pháp đề phòng phòng;
- Sử dụng được vật liệu và phương tiện vào việc phòng cháy, chữa cháy;
- Thực hiện được việc cấp cứa khẩn cấp khi tai nạn xảy ra;
- Rèn luyện tính kỷ luật, kiên trì, cẩn thận, nghiêm túc, chủ động và tích cực sáng tạo trong học tập.
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
https://dienlanhbachkhoa.net.vn
Hotline/Zalo: 0338580000
Địa chỉ: Số 108 Trần Phú, Hà Đông, Hà Nội
Để xem full tài liệu Xin vui long liên hệ page để được hỗ trợ
:
https://www.facebook.com/garmentspace/
https://www.facebook.com/thuvienluanvan01
HOẶC
https://www.facebook.com/thuvienluanvan01
https://www.facebook.com/thuvienluanvan01
tai lieu tong hop, thu vien luan van, luan van tong hop, do an chuyen nganh
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdfLngHu10
Chương 1
KHÁI LUẬN VỀ TRIẾT HỌC VÀ TRIẾT HỌC MÁC - LÊNIN
A. MỤC TIÊU
1. Về kiến thức: Trang bị cho sinh viên những tri thức cơ bản về triết học nói chung,
những điều kiện ra đời của triết học Mác - Lênin. Đồng thời, giúp sinh viên nhận thức được
thực chất cuộc cách mạng trong triết học do
C. Mác và Ph. Ăngghen thực hiện và các giai đoạn hình thành, phát triển triết học Mác - Lênin;
vai trò của triết học Mác - Lênin trong đời sống xã hội và trong thời đại ngày nay.
2. Về kỹ năng: Giúp sinh viên biết vận dụng tri thức đã học làm cơ sở cho việc nhận
thức những nguyên lý cơ bản của triết học Mác - Lênin; biết đấu tranh chống lại những luận
điểm sai trái phủ nhận sự hình thành, phát triển triết học Mác - Lênin.
3. Về tư tưởng: Giúp sinh viên củng cố niềm tin vào bản chất khoa học và cách mạng
của chủ nghĩa Mác - Lênin nói chung và triết học Mác - Lênin nói riêng.
B. NỘI DUNG
I- TRIẾT HỌC VÀ VẤN ĐỀ CƠ BẢN CỦA TRIẾT HỌC
1. Khái lược về triết học
a) Nguồn gốc của triết học
Là một loại hình nhận thức đặc thù của con người, triết học ra đời ở cả phương Đông và
phương Tây gần như cùng một thời gian (khoảng từ thế kỷ VIII đến thế kỷ VI trước Công
nguyên) tại các trung tâm văn minh lớn của nhân loại thời cổ đại. Ý thức triết học xuất hiện
không ngẫu nhiên, mà có nguồn gốc thực tế từ tồn tại xã hội với một trình độ nhất định của
sự phát triển văn minh, văn hóa và khoa học. Con người, với kỳ vọng được đáp ứng nhu
cầu về nhận thức và hoạt động thực tiễn của mình đã sáng tạo ra những luận thuyết chung
nhất, có tính hệ thống, phản ánh thế giới xung quanh và thế giới của chính con người. Triết
học là dạng tri thức lý luận xuất hiện sớm nhất trong lịch sử các loại hình lý luận của nhân
loại.
Với tư cách là một hình thái ý thức xã hội, triết học có nguồn gốc nhận thức và nguồn
gốc xã hội.
* Nguồn gốc nhận thức
Nhận thức thế giới là một nhu cầu tự nhiên, khách quan của con người. Về mặt lịch
sử, tư duy huyền thoại và tín ngưỡng nguyên thủy là loại hình triết lý đầu tiên mà con
người dùng để giải thích thế giới bí ẩn xung quanh. Người nguyên thủy kết nối những hiểu
biết rời rạc, mơ hồ, phi lôgích... của mình trong các quan niệm đầy xúc cảm và hoang
tưởng thành những huyền thoại để giải thích mọi hiện tượng. Đỉnh cao của tư duy huyền
thoại và tín ngưỡng nguyên thủy là kho tàng những câu chuyện thần thoại và những tôn
9
giáo sơ khai như Tô tem giáo, Bái vật giáo, Saman giáo. Thời kỳ triết học ra đời cũng là
thời kỳ suy giảm và thu hẹp phạm vi của các loại hình tư duy huyền thoại và tôn giáo
nguyên thủy. Triết học chính là hình thức tư duy lý luận đầu tiên trong lịch sử tư tưởng
nhân loại thay thế được cho tư duy huyền thoại và tôn giáo.
Trong quá trình sống và cải biến thế giới, từng bước con người có kinh nghiệm và có
tri thức về thế giới. Ban đầu là những tri thức cụ thể, riêng lẻ, cảm tính. Cùng với sự tiến
bộ của sản xuất và đời sống, nhận thức của con người dần dần đạt đến trình độ cao hơn
trong việc giải thích thế giới một cách hệ thống
1. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
MỤC LỤC
MỤC LỤC.............................................................................................................i
CHƯƠNG I: MÃ HÓA DES.................................................................................1
1.1. Định nghĩa..................................................................................................1
1.2. Mô hình mã Feistel.....................................................................................2
1.3. Thuật toán sinh khóa con............................................................................4
1.4. Hàm Feistel (F)...........................................................................................6
CHƯƠNG II. PHƯƠNG PHÁP THÁM MÃ TUYẾN TÍNH VỚI DES..............8
2.1. Giới thiệu....................................................................................................8
2.2. Nguyên lý cơ bản của tấn công tuyến tính.................................................8
2.2.1. Thuật toán 1:........................................................................................8
2.2.2. Thuật toán 2:......................................................................................10
2.3. Xấp xí tuyến tính các S-box.....................................................................10
2.4. Xấp xỉ tuyến tính của hệ mã DES.............................................................11
2.5. Tỉ lệ thành công với tấn công bản rõ đã biết của hệ mã DES...................12
CHƯƠNG III: THỰC HÀNH TẤN CÔNG TUYẾN TÍNH DES VỚI 4 VÒNG
.............................................................................................................................14
3.1. Phương pháp áp dụng...............................................................................14
3.2. Chương trình thám mã tuyến tính với DES 4 vòng..................................18
3.3. Kết quả thực nghiệm................................................................................18
Nhóm 4 Page i
2. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
DANH MỤC HÌNH ẢNH, BẢNG BIỂU
Hình 1: Sơ đồ tính toán của hệ mã Feistel.............................................................3
Hình 2: Quá trình sinh khóa con............................................................................5
Hình 3: Hàm Feistel trong DES.............................................................................7
Hình 4: Sơ đồ minh họa quá trình áp dụng..........................................................15
Bảng 1: Tỷ lệ thành công của thuật toán 1..........................................................12
Bảng 2: Tỷ lệ thành công của thuật toán 2..........................................................13
Bảng 3: Tỉ lệ thành công của thuật toán..............................................................16
Bảng 4: Tỉ lệ thành công của thuật toán với (3.5) và (3.6)..................................16
Bảng 5: Tỉ lệ thành công của thuật toán với (3.9) và (3.10)................................17
Bảng 6: Tỉ lệ thành công của thuật toán với (3.13) và (3.14)..............................17
Bảng 7: Kết quả thực nghiệm và tỉ lệ thành công thám DES 4 vòng (tìm đủ 56
bit khóa)...............................................................................................................19
Nhóm 4 Page ii
3. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
CHƯƠNG I: MÃ HÓA DES
1.1. Định nghĩa
DES là thuật toán mã hóa khối, nó xử lý từng khối thông tin của bản rõ có
độ dài xác định và biến đổi theo những quá trình phức tạp để trở thành khối
thông tin của bản mã có độ dài không thay đổi, độ dài mỗi khối là 64 bit. Hơn
nữa, DES là một giải thuật đối xứng nên nó dùng cùng một mã khóa cho cả 2
quá trình: mã hóa và giải mã. Khóa dùng trong DES có độ dài toàn bộ là 64 bit.
Tuy nhiên chỉ có 56 bit thực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc
kiểm tra. Vì thế, độ dài thực tế của khóa chỉ là 56 bit.
DES có thiết kế liên quan tới 2 khái niệm: mã hóa tổng (product cipher)
và mã Feistel (Feistel cipher). Một mã hóa tổng bao gồm hai hay nhiều mã hóa
đơn giản (như phép thay thế hoặc hoán vị), trong đó mã hóa tổng an toàn hơn rất
nhiều so với các mã hóa thành phần. Mã Feistel là một mã khối lặp, cũng là sự
kết hợp của các phép thay thế và hoán vị. Trong hệ mã Feistel, bản rõ sẽ được
biến đổi qua một số vòng để cho ra bản mã cuối cùng.
Nhóm 4 Page 1
4. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
1.2. Mô hình mã Feistel
Mã Feistel là một mã khối lặp. Có 16 chu trình giống nhau trong quá trình
xử lý. Ngoài ra còn có hai lần hoán vị đầu và cuối (Initial and final permutation -
IP & FP). Hai quá trình này có tính chất đối nhau (Trong quá trình mã hóa thì IP
trước FP, khi giải mã thì ngược lại). Bản rõ P và các bản mã Ci được chia thành
nửa trái và nửa phải:
( )
( )
0 0,
, 1,2,...,ni i i
p L R
C L R i
=
= =
Quy tắc biến đổi các nửa trái phải này qua các vòng được thực hiện như sau:
( )
1
1 1,
i i
i i i i
L R
R L F R K
−
− −
=
= ⊕
Ki là một khóa con cho vòng thứ i. Khóa con này được sinh ra từ khóa K
ban đầu theo một thuật toán sinh khóa con (key schedule):
1 2 ... nK K K K→ → → →
F là một hàm mã hóa dùng chung cho tất cả các vòng. Hàm F đóng vai
trò như là phép thay thế còn việc hoán đổi các nửa trái phải có vai trò hoán vị.
Bản mã C được tính từ kết xuất của vòng cuối cùng:
( ),n n nC C L R= =
Nhóm 4 Page 2
5. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
Hình 1: Sơ đồ tính toán của hệ mã Feistel
Để giải mã quá trình được thực hiện qua các vòng theo thứ tự ngược lại:
( )
1
1 1
,
,
n n
i i
i i i i
C L R
R L
L R R K
−
− −
→
=
= ⊕
Và cuối cùng bản rõ là: ( )0 0,P L R=
Nhóm 4 Page 3
6. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
1.3. Thuật toán sinh khóa con
Khóa DES là một khối 64-bit, trong đó các bit ít quan trọng nhất của mỗi
byte được bỏ qua và được sử dụng để kiểm tra chẵn lẻ, đảm bảo rằng khóa
không có lỗi. Hoạt động này được thực hiện bởi permuted choice 1, ký hiệu là
PC: 8 bit còn lại bị loại bỏ, 56 bit thu được được chia làm hai phần bằng nhau,
mỗi phần được xử lý độc lập. Sau mỗi chu trình, mỗi phần được dịch đi 1 hoặc 2
bit (tùy thuộc từng chu trình, nếu đó là chu trình 1,2,9,16 thì đó là dịch 1 bit, còn
lại thì sẽ được dịch 2 bit). Các khóa con 48 bit được tạo thành bởi thuật toán lựa
chọn 2 (Permuted Choice 2, hay PC-2) gồm 24 bit từ mỗi phần. Quá trình dịch
bit (được ký hiệu là "<<<" trong sơ đồ) khiến cho các khóa con sử dụng các bit
khác nhau của khóa chính; mỗi bit được sử dụng trung bình ở 14 trong tổng số
16 khóa con.
Quá trình tạo khóa con khi thực hiện giải mã cũng diễn ra tương tự nhưng
các khóa con được tạo theo thứ tự ngược lại. Ngoài ra sau mỗi chu trình, khóa sẽ
được dịch phải thay vì dịch trái như khi mã hóa.
Nhóm 4 Page 4
7. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
Hình 2: Quá trình sinh khóa con
Nhóm 4 Page 5
8. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
1.4. Hàm Feistel (F)
Hàm F, như được miêu tả ở Hình 3, hoạt động trên khối 32 bit và bao gồm
bốn giai đoạn:
1. Mở rộng: 32 bit đầu vào được mở rộng thành 48 bit sử dụng thuật toán
hoán vị mở rộng (expansion permutation) với việc nhân đôi một số bit.
Giai đoạn này được ký hiệu là E trong sơ đồ.
2. Trộn khóa: 48 bit thu được sau quá trình mở rộng được XOR với khóa
con. Mười sáu khóa con 48 bit được tạo ra từ khóa chính 56 bit theo
một chu trình tạo khóa con (key schedule) miêu tả ở phần sau.
3. Thay thế: 48 bit sau khi trộn được chia làm 8 khối con 6 bit và được xử
lý qua hộp thay thế S-box. Đầu ra của mỗi khối 6 bit là một khối 4 bit
theo một chuyển đổi phi tuyến được thực hiện bằng một bảng tra. Khối
S-box đảm bảo phần quan trọng cho độ an toàn của DES. Nếu không
có S-box thì quá trình sẽ là tuyến tính và việc thám mã sẽ rất đơn giản.
4. Hoán vị: Cuối cùng, 32 bit thu được sau S-box sẽ được sắp xếp lại theo
một thứ tự cho trước (còn gọi là P-box).
Nhóm 4 Page 6
9. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
Hình 3: Hàm Feistel trong DES
Nhóm 4 Page 7
10. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
CHƯƠNG II. PHƯƠNG PHÁP THÁM MÃ
TUYẾN TÍNH VỚI DES
2.1. Giới thiệu
Cùng với nhiều phương pháp thám mã khác, phương pháp thám mã tuyến
tính là một trong những cách tấn công nổi tiếng nhất đối với mã hóa khối.
Phương pháp này được đề xuất bởi Mitsuru Matsui trong cuốn “Advances in
Cryptology” năm 1993, khi đó ông đã chứng minh có thể phá mã DES với 247
bản rõ, nhanh hơn phương pháp vét cạn.
Một năm sau, ông cải tiến kỹ thuật của mình và chứng minh rằng chỉ cần
243
bản rõ là đủ. Hơn nữa, ông thực hiện và phá mã DES trong 50 ngày với sự
trợ giúp của 12 máy tính. Cho đến ngày nay, phương pháp thám mã tuyến tính
vẫn là công cụ mạnh nhất để tấn công DES.
2.2. Nguyên lý cơ bản của tấn công tuyến tính
Ý tưởng cơ bản của phương pháp thám mã tuyến tính đối với DES là tìm
các biểu diễn tuyến tính “hiệu quả có dạng sau”
[ ] [ ] [ ]1 2 1 2 1 2, ,..., , ,..., , ,...,a b cP i i i C j j j K k k k⊕ = (2.1)
Trong đó 1 2 1 2, ,..., , , ,...,a bi i i j j j và 1 2, ,..., ck k k biểu thị những bit cố
định, P là bản rõ được lấy ngẫu nhiên, C là bản mã tương ứng với 1 khóa K cố
định cho trước nào đó, phương trình (2.1) đúng với xác suất p≠1/2. Giá trị:
1
2
pε = −
thể hiện độ hiệu quả của phương trình (2.1)
Nếu ta có thể thành công trong việc tìm một biểu diễn tuyến tính hiệu quả,
thì khi đó có thể sử dụng nó để tìm ra bit dạng khóa quan trọng [ ]1 2, ,..., cK k k k
theo thuật toán sau dựa trên phương pháp hợp lý cực đại:
2.2.1. Thuật toán 1:
Bước 1: Cho T là số các bản rõ sao cho vế trái phương trình (2.1) bằng
0. Ký hiệu N là số bản rõ được sử dụng trong tấn công.
Nhóm 4 Page 8
11. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
Bước 2: Nếu T > N/2 thì
Lấy [ ]1 2, ,..., 0cK k k k = (khi p > 1/2) hoặc bằng 1 (khi p < 1/2)
Ngược lại:
Lấy [ ]1 2, ,..., 1cK k k k = (khi p > 1/2) hoặc bằng 0 (khi p < 1/2)
Khả năng thành công của thuật toán sẽ tăng lên khi N hoặc biên độ
1
2
p − tăng lên. Chúng ta gọi biểu diễn tuyến tính có biên độ
1
2
p − cực đại
là biểu diễn tốt nhất.
Chúng ta có thể sử dụng thuật toán trên để tấn công hệ DES như sau. Để
tấn công DES n vòng, chúng ta sử dụng các biểu diễn tuyến tính tốt nhất đối với
(n-1) vòng. Bản mã sau vòng thứ (n-1) có thể được thiết lập từ bản mã tại vòng
thứ n, bằng cách thực hiện phép giải mã với khóa con Kn của vòng thứ n. Như
vậy, ta chấp nhận một số hạng có hàm vòng F trong biểu diễn tuyến tính đang sử
dụng để tấn công DES n vòng. Kết quả là ta sẽ nhận được một dạng biểu diễn
sau đúng với xác xuất tốt nhất của (n-1) vòng của DES.
[ ] [ ] ( )[ ] [ ]1 2 1 2 1 1 2 1 2, ,..., , ,..., , , ,..., , ,...,a b n n d cP i i i C j j j F C K l l l K k k k⊕ ⊕ = (2.2)
Thực chất biểu thức [ ] ( )[ ]1 2 1 1 2, ,..., , , ,...,b n n dC j j j F C K l l l⊕ chính là
bản mã tại vòng thứ (n-1);
Như vật trong phương trình (2.2) ta thấy số lượng các bit khóa tham gia
nhiều hơn so với phương trình (2.1). Trong đó việc tìm một số bit khóa trong Kn
chính xác có thể sẽ được thực hiện dễ dàng hơn nhờ nhận xét sau. Nếu khóa Kn
trong (2.2) là không chính xác thì độ hiệu quả của phương trình (2.1) sẽ giảm đi
rõ rệt, tức là nó sẽ làm ảnh hưởng lớn đến xác suất đúng của (2.1). Do vậy, có
thể sử dụng thuật toán hợp lý cực đại sau cùng để cùng một lúc tìm và quyết
định các thành phần khóa tham gia trong (2.2)
Nhóm 4 Page 9
Tải bản FULL (FILE WORD 21 trang): bit.ly/2Ywib4t
12. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
2.2.2. Thuật toán 2:
Bước 1: Với mỗi ứng cử viên
( )
( )1,2,...i
nK i = của K: cho Ti là số các
bản rõ sao cho vế trái của phương trình (2.2) là bằng 0. Ký hiệu N là số các bản
rõ được sử dụng trong tấn công.
Bước 2: Cho Tmax là giá trị cực đại và Tmin là giá trị cực tiểu của tất cả
các giá trị của Ti.
Nếu |Tmax – N/2| > |Tmin – N/2|, thì ta chấp nhận khóa ứng cử viên tương
ứng với Tmax và lấy K[k1,k2,…,kc] = 0 (khi p>1/2) hoặc 1 (khi p<1/2).
Nếu |Tmax – N/2| < |Tmin – N/2|, thì ta chấp nhận khóa ứng cử viên tương
ứng với Tmin và lấy K[k1,k2,…,kc] = 1 (khi p>1/2) hoặc 0 (khi p<1/2).
Như vậy, từ nguyên lí cơ bản của thám mã tuyến tính chúng ta có thể nhận
thấy, để thực hành thám mã với một hệ mã cụ thể thì cần phải quan tâm tới các
vấn đề sau:
- Làm thế nào để tìm được các biểu thức tuyến tính “hiệu quả”?
- Tỷ lệ thành công của thuật toán theo N và xác suất P như thế nào?
- Tìm các biểu thức tốt nhà và tính toán các xác suất tốt nhất.
2.3. Xấp xí tuyến tính các S-box
Định nghĩa 1
Cho trước hộp nén Sa(a=1,2,…,8), 1≤ α ≤63 và 1≤β≤15, NSa(α,β) được
định nghĩa là số tất cả các đầu ra của 64 mẫu đầu vào của Sa sao cho giá trị
XOR của các bit đầu vào được đánh dấu với α trùng với giá trị XOR của các bit
đầu ra được đánh dấu bởi β. Nghĩa là:
[ ] [ ]( ) ( )[ ] [ ]( )0
0 0
#{ / 0 64, * *
def s s
a
i i
NS x x x s s S x i iα β
= =
= ≤ ≤ ⊕ = ⊕ ÷ ÷
(2.3)
Ở đây ký hiệu * biểu thị 1 thao tác bit AND.
Ví dụ 1
NS5(16,15) = 12 (2.4)
Khi NSa(α,β) không phải bằng 32, thì đó là sự tương quan giữa các bit
đầu vào và đầu ra của Sa. ví dụ phương trình (2.4) chỉ ra tằng bít đầu vào thứ 4
của S5 trùng với giá trị XOR của tất cả các bit đầu ra với xác suất 12/64=0.19.
Nhóm 4 Page 10
13. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
Do đó, sử dụng các hàm mở rộng E và phép hoán vị P trong hàm F, ta sẽ nhận
được phương trình sau đây đúng với xác suất 0.19 cho K cố định và X ngẫu
nhiên đã cho:
[ ] ( )[ ] [ ]15 , 7,18,24,29 22 ;X F X K K⊕ = (2.5)
Sau đây là bổ đề rút ra từ định nghĩa xấp xỉ tuyến tính của S-box
Bổ đề 1
(1) NSa(α,β): là chẵn.
(2) Nếu α = 1, 32 hay 33, thì NSa(α,β) = 32 cho tất cả các Sa và β.
2.4. Xấp xỉ tuyến tính của hệ mã DES
Trong phần này sẽ mở rộng xấp xỉ tuyến tính của hàm F cho toàn bộ các
thuật toán. Ví dụ đầu tiên là mật mã DES 3 vòng. Bằng cách áp dụng phương trình
(2.5) vào vòng đầu, ta nhận thấy phương trình sau đây đúng với xác suất 12/64:
[ ] [ ] [ ] [ ]2 17,18,24,29 7,18,24,29 15 22 ;H LX P P K⊕ ⊕ = (2.6)
Đồng thời cũng đúng với vòng cuối cùng:
[ ] [ ] [ ] [ ]2 37,18,24,29 7,18,24,29 15 22 ;H LX C C K⊕ ⊕ = (2.7)
Do đó ta có được biểu thức tuyến tính gần đúng sau đây với mật mã DES
3 vòng bằng việc loại bỏ những số hạng chung:
[ ] [ ] [ ] [ ] [ ]1 37,18,24,29 7,18,24,29 15 22 22 ;H H LP C P K K⊕ ⊕ = ⊕ (2.8)
Các xác suất của phương trình (2.8) đúng với bản rõ ngẫu nhiên P đã cho
và tương ứng với bản mã C là (12/64)2
+ (1-12/64)2
= 0.70. Khi đó phương trình
(2.5) là phép xấp xỉ tuyến tính tốt nhất của hàm F, phương trình (2.8) là biểu
thức tốt nhất với mật mã DES 3 vòng. Bây giờ ta có thể tìm ra lời giải cho
phương trình (2.8) để luận ra [ ] [ ]1 322 22K K⊕ bằng cách sử dụng thuật toán 1.
Bổ đề sau đây mô tả tỷ lệ thành công của phương pháp này:
Bổ đề 2
Cho N là số các bản rõ ngẫu nhiên đã cho và P là xác suất của phương
trình (2.4), giả sử |p-1/2| là đủ nhỏ. Do đó tỉ lệ thành công của thuật toán 1 là:
Nhóm 4 Page 11
14. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
/2
2 1/2
1
;
2N p
e dxπ
π
−
−∫ (2.9)
Bảng sau cho thấy 1 số kết quả của biểu thức (2.9)
N 1/4|p-1/2|-2
1/2|p-1/2|-2
|p-1/2|-2
2|p-1/2|-2
Tỉ lệ thành công 84.1% 92.1% 97.7% 99.8%
Bảng 1: Tỷ lệ thành công của thuật toán 1
Tiếp theo, ta sẽ hiển thị một ví dụ của mật mã DES 5 vòng. Trong trường
hợp này, ta sẽ áp dụng phương trình (2.5) vào vòng thứ 2 và thứ 4, và phương
trình tuyến tính sau đây (được suy luận từ NS1(27,4)=22) ở vòng đầu và vòng
cuối cùng):
[ ] ( )[ ] [ ]27,28,30,31 , 15 42,43,45,46 ;X F X K K⊕ = (2.10)
Rất dễ dàng tính toán để có được một biểu thức tuyến tính gần đúng với
mật mã DES 5 vòng:
[ ] [ ] [ ]
[ ] [ ] [ ] [ ] ( )
1 1
1 2 4
15 7,18,24,27,28,29,30 7,18,24,27,28,29,30,31
42,43,45,46 22 22 42,43,45,46 ; 2.11
HP P C
K K K K
⊕ ⊕
= ⊕ ⊕ ⊕
bổ để tiếp theo đưa ra một phương pháp đơn giản để tính toán xác suất đúng với
phương trình dạng này.
Bổ đề 3 (Piling up)
Giả sử Xi (1≤i≤n) là các biến ngẫu nhiên độc lập có giá trị là 0 với xác
suất pi hoặc bằng 1 với xác suất 1-pi. Khi đó xác suất của X1⊕X2⊕…⊕Xn=0 là:
( )1
1
1/ 2 2 1/ 2
n
n
i
i
p−
=
+ −∏ (2.12)
Điều này cho thấy phương trình (2.11) đúng với xác suất 1/2+22
(-10/64)2
(-
20/64)2
=0.519. Vì vậy, theo bổ đề 2, nếu |0.519-1/2|-2
=2800 là những bản rõ đã
cho, có thể dự đoán vế phải của phương trình (2.11) với tỉ lệ thành công 97.7%.
2.5. Tỉ lệ thành công với tấn công bản rõ đã biết của hệ mã DES
Để tấn công bản rõ đã biết với DES n vòng, ta sử dụng biểu biễn tuyến
tính tốt nhất của DES (n-1) vòng. Sử dụng thuật toán 2 để tìm lại các bit khóa
Nhóm 4 Page 12
15. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
con của các vòng có liên quan trong biểu thức tuyến tính. Matsui đã đưa ra tỉ lệ
thành công của thuật toán 2 như sau:
N 2|p-1/2|-2
4|p-1/2|-2
8|p-1/2|-2
16|p-1/2|-2
Tỉ lệ thành công 48.6% 78.5% 96.7% 99.9%
Bảng 2: Tỷ lệ thành công của thuật toán 2
Nhóm 4 Page 13
16. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
CHƯƠNG III: THỰC HÀNH TẤN CÔNG TUYẾN TÍNH DES
VỚI 4 VÒNG
3.1. Phương pháp áp dụng
Với mỗi biểu thức tuyến tính (1 vòng) tìm được, áp vào vòng thứ 1 và thứ
3 là ta đã thu được 1 biểu thức tuyến tính hiệu quả cho DES 4 vòng. Xác suất
của biểu thức tuyến tính hiệu quả (tính theo bổ đề Pilling-up của Matsui) như
sau:
P=0,5 + 2.(pi – 0,5)2
Như vậy, nếu pi càng cách xa 0,5 (gần 0 hoặc 1) thì xác suất p sẽ tăng lên.
Ta sẽ chọn các biểu thức tuyến tính (1 vòng) sao cho nó có xác suất càng xa 0,5
càng tốt
[ ] ( )[ ] [ ]15 , 7,18,24,29 22 ; 12 / 64.X F X K K p⊕ = =
Biểu thức tuyến tính được rút ra từ hộp S5: NS5(16,15) = 12; xác suất
p=12/64. Áp dụng biểu thức này cho các vòng 1, 3 ta được biểu thức xấp xỉ
tuyến tính:
[ ] [ ] [ ] [ ] ( )[ ]4 47,18,24,29 7,18,24,29 15 15 , 15H L L H LP C P C F C K⊕ ⊕ ⊕ ⊕ =
[ ] [ ]1 322 22 ;K K⊕ (3.1)
Và cho vòng 2,4 có:
[ ] [ ] [ ] [ ] ( )[ ]1 17,18,24,29 7,18,24,29 15 15 , 15H L L H LC P C P F C K⊕ ⊕ ⊕ ⊕ =
[ ] [ ]2 422 22 ;K K⊕ (3.2)
Sau đây là sơ đồ minh họa quá trình áp dụng:
Nhóm 4 Page 14
17. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
Hình 4: Sơ đồ minh họa quá trình áp dụng
Nhóm 4 Page 15
F1
X1
K1
F2
X2
K2
F3
X3
K3
F4
X4
K4
P
PL
PH
[15]
[22]
(7,18,24,29)
[15]
[22]
(7,18,24,29)
C
CL
CH
18. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
Xác suất đúng với cả 2 phương trình là p1=0,7. Và theo lí thuyết ta cần có
N1 = 16|0,7-0,7|2 = 400 cặp rõ – mã để cho tỉ lệ thành công là 99,9%
N 50 100 200 400
Tỉ lệ thành công 48.6% 78.5% 96.7% 99.9%
Bảng 3: Tỉ lệ thành công của thuật toán
Và khi áp dụng thuật toán 2, ta sẽ tìm được 11 bit khóa sau: 9, 10, 11, 17,
34, 35, 42, 49, 51, 59, 60 (4 bit 49 trùng nhau) và 2 bit tổng:
[ ] [ ] [ ] [ ]1 322 22 55 20 ;K K K K⊕ = ⊕ (3,3)
[ ] [ ] [ ] [ ]2 422 22 28 4 ;K K K K⊕ = ⊕ (3.4)
[ ] ( )[ ] [ ]31 , 1,9,15,23 46 ; 14 / 64;X F X K K p⊕ = =
Biểu thức tương ứng với xác suất tốt nhất của hộp S1, p=16/64. Hoàn toàn
tương tự ta có 2 xấp xỉ tuyến tính sau:
[ ] [ ] [ ] [ ] ( )[ ]4 41,9,15,23 31 1,9,15,23 31 , 31H L L H LP P C C F C K⊕ ⊕ ⊕ ⊕ =
[ ] [ ]1 346 46 ;K K⊕ (3.5)
[ ] [ ] [ ] [ ] ( )[ ]1 11,9,15,23 31 1,9,15,23 31 , 31H L L H LC C P P F C K⊕ ⊕ ⊕ ⊕ =
[ ] [ ]2 446 46 ;K K⊕ (3.6)
Xác suất đúng của 2 phương trình này là p2 = 0,658. Cũng tương tự ta tính
được tỉ lệ thành công của 2 biểu thức này theo lý thuyết là:
N 80 159 320 639
Tỉ lệ thành công 48.6% 78.5% 96.7% 99.9%
Bảng 4: Tỉ lệ thành công của thuật toán với (3.5) và (3.6)
Sử dụng thuật toán 2 ta sẽ tìm được 10 bit khóa nữa là: 1, 18, 19, 25, 26,
27, 36, 41, 43, 52 (cặp bit 1 trùng nhau và bit 59 đã tìm được ở bước trước và 2
bit tổng):
[ ] [ ] [ ] [ ]1 346 22 51 57 ;K K K K⊕ = ⊕ (3.7)
[ ] [ ] [ ] [ ]2 446 46 43 11 ;K K K K⊕ = ⊕ (3.8)
Nhóm 4 Page 16
19. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
[ ] ( )[ ] [ ]3 , 5,11,17,27 4 ; 16 / 64;X F X K K p⊕ = =
Biểu thức tương ứng với xác suất tốt nhất của hộp S8, p = 16/64 có:
[ ] [ ] [ ] [ ] ( )[ ]4 43 5,11,17,27 3 5,11,17,27 , 3H L L H LP P C C F C K⊕ ⊕ ⊕ ⊕ =
[ ] [ ]1 34 4 ;K K⊕ (3.9)
[ ] [ ] [ ] [ ] ( )[ ]1 13 5,11,17,27 3 5,11,17,27 , 3H L L H LC C P P F C K⊕ ⊕ ⊕ ⊕ =
[ ] [ ]2 44 4 ;K K⊕ (3.10)
Xác suất đúng của 2 phương trình này là p3 = 0,625. Tỉ kệ thành công theo
lí thuyết là:
N 128 256 512 1024
Tỉ lệ thành công 48.6% 78.5% 96.7% 99.9%
Bảng 5: Tỉ lệ thành công của thuật toán với (3.9) và (3.10)
Sử dụng thuật toán 2 ta sẽ tìm được 11 bit khóa nữa là: 5, 7, 13, 20, 23,
29, 30, 46, 47, 53, 63 (bit 53 trùng nhau) và 2 bit tổng:
[ ] [ ] [ ] [ ]1 34 4 14 53 ;K K K K⊕ = ⊕ (3.11)
[ ] [ ] [ ] [ ]2 44 4 6 37 ;K K K K⊕ = ⊕ (3.12)
[ ] ( )[ ] [ ] 420,24 , 2,8,16,26 35,31 ; 48 / 64;X F X K K P⊕ = =
Biểu thức tương ứng với xác suất tốt nhất của hộp S3, p = 48/64 có:
[ ] [ ] [ ] [ ]20,24 2,8,16,26 2,8,16,26 20,24H L L HP P C C⊕ ⊕ ⊕ ⊕
( )[ ] [ ] [ ]4 4 1 3, 20,24 31,35 31,35 ;LF C K K K= ⊕ (3.13)
[ ] [ ] [ ] [ ]20,24 2,8,16,26 2,8,16,26 20,24H L L HC C P P⊕ ⊕ ⊕ ⊕
( )[ ] [ ] [ ]1 1 2 4, 20,24 31,35 31,35 ;LF C K K K= ⊕ (3.14)
Xác suất đúng của 2 phương trình này là p = 1/2 + 49/256. Tỉ lệ thành
công theo lí thuyết là:
N 56 109 218 437
Tỉ lệ thành công 48.6% 78.5% 96.7% 99.9%
Bảng 6: Tỉ lệ thành công của thuật toán với (3.13) và (3.14)
Nhóm 4 Page 17
20. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
Khác với 3 biểu thức ở trên sử dụng tuyến tính 2 ta sẽ tìm được 12 bit
khóa cho mỗi biểu thức. Ở đây ta thu thêm được 15 bit khóa: 4, 12, 14, 15, 21,
22, 28, 31, 37, 38, 45, 54, 55, 61, 62 (các bit 61, 28, 38 trùng nhau và các bit 29,
63, 20, 23 đã tìm thấy ở các biểu thức trước) và 2 bit tổng sau:
[ ] [ ] [ ] [ ] [ ] [ ]1 331,35 31,35 49 44 44 3K K K K K K⊕ = ⊕ ⊕ ⊕
[ ] [ ]49 3 ;K K= ⊕ (3.15)
[ ] [ ] [ ] [ ] [ ] [ ]2 431,35 31,35 33 57 26 60K K K K K K⊕ = ⊕ ⊕ ⊕ (3.16)
Như vậy đến đây ta đã tìm được 47 bit khóa. Xét đến 8 bit tổng tìm được
(các biểu thức (3.3), (3.4), (3.7), (3.8), (3.11), (3.12), (3.15), (3.16)), ta thấy như
sau:
• (3.3), (3.4), (3.7), (3.8), (3.11) không cần đến vì các bit nằm trong
tổng đều đã tìm được.
• Với (3.12), K[37] đã biết nên suy ra được K[6].
• Với (3.15), K[49] đã biết nên suy ra được K[3].
• Với (3.16), K[26,60] đã biết nên suy ra được K[33]⊕K[57].
6 bit khóa còn lại sẽ tìm bằng phương pháp vét cạn
3.2. Chương trình thám mã tuyến tính với DES 4 vòng
Chương trình thám mã tuyến tính với DES 4 vòng thực hiện các công việc
như sau:
Tạo N bản rõ ngẫu nhiên và tính toán N bản mã tương ứng.
Với mỗi biểu thức tuyến tính đếm các bit text hiệu quả và thực hiện tìm
khóa theo thuật toán 2.
Cuối cùng tìm 6 bit khóa còn lại bằng phương pháp vét cạn.
3.3. Kết quả thực nghiệm
Mỗi giá trị N được chạy thử nghiệm 40 lần, kết quả cụ thể được trình bày
ở dưới. phần tỷ lệ thành công được tính theo số lần thành công trên tổng số lần
thử nghiệm
Nhóm 4 Page 18
Tải bản FULL (FILE WORD 21 trang): bit.ly/2Ywib4t
21. Học viện Kỹ thuật Mật mã Môn: Cơ sở lí thuyết Mật mã
N 400 512 600 700 800 1000
Thành công 24 32 36 40 40 40
Hỏng 16 8 4 0 0 0
Tỉ lệ thành công 60% 80% 90% 100% 100% 100%
Bảng 7: Kết quả thực nghiệm và tỉ lệ thành công thám DES 4 vòng
(tìm đủ 56 bit khóa)
Thời gian thực hiện toàn bộ chương trình trên 1 máy tính thông thường
không quá 1 phút. Tuy nhiên để tìm thành công toàn bộ 56 bit khóa với DES 4
vòng cần có số lượng cặp rõ-mã tương ứng lớn hơn. Điều này có nghĩa là trong
thực tế thám mã cần phải thu thập được đủ nhiều (lớn hơn 700) các cặp rõ-mã
tương ứng mới có thể thám mã thành công DES 4 vòng.
Nhóm 4 Page 19
4381637