1. Trang chủ
  2. » Luận Văn - Báo Cáo

MÃ HÓA ĐỐI XỨNG

45 2,4K 25
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 1,46 MB

Nội dung

MÃ HÓA ĐỐI XỨNG

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

_ _

ĐỒ ÁN MÔN HỌC

BẢO MẬT THÔNG TIN

CHƯƠNG 6: MÃ HÓA ĐỐI XỨNG

Sinh viên thực hiện:

Trần Thị Huyền 08110227 Nguyễn MinhNhật 08110168

Tp Hồ Chí Minh Tháng 04/2011

Trang 2

Tóm tắt chương:

Hệ DES

Des được xem như là chuẩn mã hóa dữ liệu cho các ứng dụng Song căn cứ vào lỗ hổng tiềm năng của DES đối với việc tấn công hàng loạt, đã tạo ra một sự quan tâm đáng kể về việc tìm một giải pháp thay thế đó là sử dụng nhiều mã hoá với DES và nhiều khóa mã: DES 2 lớp, DES 3 lớp 2 khóa mã, DES 3 lớp 3 khóa mã

DES 2 lớp có thể bị thám mã bằng việc tấn công dùng xác suất 3DES với 2 khóa mã là phương án thay thế khá thông dụng cho DES Trong thực tế người sử dụng 3 DES với 2 khóa cảm thấy một vài lo âu Vì vậy, nhiều nhà nghiên cứu ngày nay cảm thấy sử dụng 3DES 3 khóa là giải pháp thay thế ưa thích hơn.

Chế độ hoạt động mã hóa theo khối

Chế độ hoạt động mã hóa theo khối có 5 kiểu điển hình: kiểu electric codebook, kiểu chuỗi khối

mã hóa, kiểu phản hồi mã hóa, kiểu phản hồi đầu ra, và kiểu máy đếm.

• Kiểu electric codebook (ECB): Thông điệp được chia thành các khối độc lập, được

mã hóa riêng rẽ Các khối hoàn toàn độc lập với nhau.

• Kiểu mã hóa chuỗi khối (CBC): Thông điệp cũng được chia thành các khối nhưng

có liên kết với nhau trong qui trình mã hóa Các khối mã hóa có liên kết với chuỗi văn bản nguồn Sử dụng vector khởi tạo IV nhằm không để kẻ thứ 3 đoán được thông điệp gửi và nhận.

• Kiểu phản hồi mã hóa (CFB): Thông điệp cũng được chia thành các khối, kết quả được dùng làm đầu vào cho vòng sau Nếu lỗi xảy ra sẽ lan truyền cho các khối sau đó.

• Kiểu phản hồi đầu ra (OFB): Thông điệp cũng được chia thành các khối có liên kết với nhau, sử dụng thanh ghi dịch Nếu lỗi xảy ra sẽ không ảnh hưởng đến khối kế tiếp.

• Kiểu máy đếm (CTR): Máy đếm được mã hóa và sau đó XOR với bản nguồn để tạo ra bản mã, sử dụng tính năng song song.

Phương thức mã hóa dòng (stream cipher)

Phương thức mã hóa dữ liệu theo từng bit Một mã dòng điển hình sẽ mã hóa bản rõ mỗi lần được

1 byte mặc dù mã dòng có thể được thiết kế để hoạt động mỗi lần trên 1 bit hay trên những đơn vị lớn hơn 1 byte Trong cấu trúc này, một khóa được đưa vào một bộ sinh chuỗi bit ngẫu nhiên giả

mà tạo ra được một dòng những bộ đếm 8 bit bề ngoài có vẻ như ngẫu nhiên Dữ liệu ra của bộ sinh, được gọi là dòng khóa, kết hợp mỗi lần 1 byte với dòng plaintext sử dụng phép toán đảo bit loại trừ OR (XOR).

Trang 3

Chương 6: Mã hóa đối xứng

6.1 Quá trình mã hóa tổ hợp và DES 3 lớp……… Trang 5

DES 2 lớp………Trang 5DES 3 lớp với 2 khóa mã Trang 10DES 3 lớp với 3 khóa……… Trang 156.2 Chế độ hoạt động của kiểu mã hóa theo khối……….Trang 16

Kiểu Electronic Codebook (ECB)….……… Trang 17Kiểu mã hóa chuỗi khối (CBC)……… Trang 19Kiểu phản hồi mã hóa (CFB)……… Trang 21Kiểu phản hồi đầu ra (OFB).……… Trang 24Kiểu máy đếm (CTR) ……….Trang 256.3 Mã hóa dòng và RC4……… Trang 27

Cấu trúc mã hóa dòng……… Trang 27Thuật toán RC4………Trang 316.4 Giới thiệu sách đọc và Website………Trang 366.5 Thuật ngữ then chốt, câu hỏi ôn tập, và vấn đề………Trang 37

Thuật ngữ then chốt……… Trang 37Câu hỏi ôn tập………Trang 38Bài toán……… Trang 38

Trang 4

“ Tôi gần như quen với tất cả các dạng của viết bảo mật, và chính tôi là tác giả của những nghiên cứu vặt theo chủ đề, trong đó tôi phân tích 160 mã hóa riêng biệt”, theo Holmes.

Cuộc phiêu lưu của những người khiêu vũ, Arthur Conan Doyle.

Chương này tiếp tục cho chúng ta thảo luận về mã hóa đối xứng, bắt đầu với chủ

đề mã háo tổ hợp, được sử dụng rộng rãi nhất trong qui trinh mã hóa tổ hợp là DES

3 lớp

Chương tiếp theo đề cập đến chế độ hoạt động của kiểu mã hóa theo khối, chúng ta nhận thấy 3 cách khác nhau để đưa mã hóa theo khối đến bản nguồn với mỗi ưu điểm riêng và ứng dụng cụ thể

Trọng tâm:

• Mã hóa tổ hợp là kỹ thuật trong đó thuật toán mã háo được dùng nhiều thời gian Trong giải pháp đầu tiên, bản nguồn được chuyển thành bản mã sử dụng thuật toán mã hóa Bản mã này sau đó được dùng như đầu vào và thuật toán được áp dụng lại Tiến trình này được lặp đi lặp lại cho bất kì giai đoạn nào

• DES 3 lớp sử dụng 3 giai đoạn trong thuật toán DES, dùng tổng cộng

2 hoặc 3 khóa riêng biệt

• Kiểu hoạt động là kỹ thuật cải tiến hiệu quả của giải thuật mã hóa hay tương thích giải thuật cho ứng dụng, như là đưa mã háo theo khối đến chuỗi dữ liệu khối hoặc dữ liệu dòng

• 5 kiểu hoạt động được chuẩn hóa cho việc sử dụng mã hóa khối đối xứng như là: kiểu electric codebook, kiểu chuỗi khối mã hóa, kiểu phản hồi mã hóa, kiểu phản hồi đầu ra, và kiểu máy đếm

• Mã hóa theo luồng là thuật toán mã hoá đối xứng, trong đó đầu ra mã hóa được tạo ra từng bit một, hoặc từng byte một cho luồng đầu vào văn bản nguồn, được sử dụng rộng rãi như thuật mã hóa là RC4

Trang 5

Cuối cùng, chương này phát biểu chủ đề mã hóa luồng đối xứng, khác với cách mã hóa khối đối xứng, chúng ta cũng thấy quan trọng nhất như mã hóa, RC4.

6.1 Quá trình mã hóa tổ hợp và DES 3 lớp

Căn cứ vào lỗ hổng tiềm năng của DES đối với việc tấn công hàng loạt, đã tạo ra một sự quan tâm đáng kể về việc tìm một giải pháp thay thế Một phương pháp đó

là thiết kế một thuật toán mới hoàn toàn, mà AES là ví dụ tiêu biểu Một giải pháp khác, sẽ bảo tồn đầu tư hiện có trong phần mềm và thiết bị, đó là sử dụng nhiều mã hoá với DES (Chuẩn mã hoá dữ liệu) và nhiều khóa mã Chúng ta bắt đầu bằng cách kiểm tra ví dụ đơn giản nhất của giải pháp thứ hai này Sau đó chúng ta xét về phương pháp chuẩn hóa dữ liệu 3 lớp (3DES) được chấp nhận rộng rãi

Trang 6

Hình 6.1 Mã hoá tổ hợp

Quá trình giải mã đòi hỏi những khóa mã phải được áp dụng theo trật tự ngược lại:

P = D (K1, D (K2, C))

Trang 7

Đối với DES thì nhìn bề ngoài, giản đồ này có chứa độ dài của khóa mã 56 x 2 =

112 bits, dẫn đến việc độ dài ghi mã sẽ tăng lên đáng kể Tuy nhiên ta cũng cần nghiên cứu kĩ lưỡng hơn về thuật toán này

Giảm thiểu đến từng giai đoạn đơn lẻ ( Reduction to a Single Stage)

Giả sử điều đó là đúng cho DES, với mọi giá trị khóa 56 bits, dựa vào bất kì 2 khóa

K1, K2 nào thì cũng sẽ tìm được 1 khóa mã K3 tương ứng

Xét theo bề ngoài thì Phương trình (6.1) có vẻ không cố định được Hãy xét đến việc mã hóa bằng DES là một phép ánh xạ các khối kí hiệu 64 bit đến các khối 64 bit Thực ra, phép ánh xạ có thể xem như một sự hoán vị Nghĩa là, nếu chúng ta xem xét tất cả 264 khối dữ liệu vào có thể thì mã hóa DES với một khóa mã cụ thể

sẽ ánh xạ từng khối vào một khối độc nhất 64 bit Mặt khác, nếu hai khối dữ liệu

Trang 8

vào đã cho được ánh xạ đến cùng một khối dữ liệu xuất thì sau đó quá trình giải mã

sẽ không thể khôi phục lại đoạn văn bản gốc Với 264 dữ liệu vào có thể, thì sẽ có bao nhiêu phép ánh xạ khác nhau để tạo ra một sự hoán vị cho những khối dữ liệu vào? Ta có thể dễ dàng nhận thấy trị số sẽ là:

Mặt khác, DES xác định một phép ánh xạ khác nhau cho mỗi mã khóa khác nhau, đối với tổng cộng số cách gán: 256 > 1017

Vì thế, cũng hợp lý khi giả định rằng nếu DES được sử dụng 2 lần bằng 2 khóa mã khác nhau thì sẽ tạo ra một trong số nhiều phép ánh xạ mà không hề được xác định bởi ứng dụng đơn lẻ của DES Mặc dù có nhiều bằng chứng ủng hộ cho giả thuyết này nhưng mãi đến năm 1992 thì điều này mới được chứng minh [CAMP92]

Tấn công dùng xác suất (Meet-in-the-middle attack)

Như vậy, việc sử dụng DES 2 lớp dẫn đến một phép ánh xạ không tương đương với một thuật mã hóa đơn DES Tuy nhiên có một cách để thâm nhập hệ thống này, một cách mà không lệ thuộc vào bất kì đặc tính riêng biệt nào của DES nhưng lại

sẽ hoạt động chống lại bất kì mật mã mã hóa khối

Trang 9

Thuật toán được biết đến như là một dạng tấn công dùng xác suất, lần đầu tiên được mô tả trong [DIF77], dựa trên sự quan sát như sau, nếu ta có

Dựa vào một cặp đã biết, (P, C), quá trình thâm nhập tiến hành như sau Đầu tiên,

mã hóa P cho tất cả 256 giá trị có thể có của K1 Lưu lại những kết quả này trên 1

bảng biểu, rồi phân loại bảng này dựa trên những giá trị của X Tiếp đó giải mã C,

sử dụng tất cả 256 giá trị có thể của K2 Khi mỗi quá trình giải mã được tạo ra, kiểm tra kết quả với bảng biểu xem có khớp hay không Nếu khớp thì thử hai khóa

mã kết quả với một cặp văn bản rõ – bản mã đã biết mới Nếu hai khóa đó tạo ra bản mã đúng thì chấp nhận chúng là những khóa mã đúng

Đối với bất kì bản nguồn (plaintext) đã cho P nào, DES 2 lớp cũng có thể tạo ra 264

giá trị bản mã Thực vậy, DES đôi sử dụng một khóa dài 112 bit, để có được 2112

khóa mã có thể có Vì thế, trung bình đối với 1 văn bản gốc đã cho P, số khóa mã

112 bit sẽ tạo ra 1 bản mã đã cho C là 2112/ 264 = 248 Như vậy, quá trình nói trên sẽ

Trang 10

tạo ra khoảng 248 báo động giả trên cặp đầu tiên (P, C) Một lý luận tương tự cũng chỉ ra rằng bằng mỗi 64 bit bổ sung của văn bản rõ và bản mã đã biết thì tỉ lệ báo động giả được giảm đến 248-64 = 2-16 Nói cách khác, nếu tấn công bằng xác suất được thực hiện trên hai khối của bản ró – bản mã đã biết thì khả năng mà khóa mã đúng sẽ được xác định là 2-16 Kết quả là việc tấn công một bản rõ đã biết sẽ thành công dựa trên DES đôi có kích thước khóa 112 bit, với nỗ lực trên bậc 256, không nhiều hơn bậc 255 đòi hỏi đối với DES đơn.

DES ba lớp với 2 khóa mã ( Triple DES with Two Keys )

Một cách đếm hiển nhiên trong tấn công bằng xác suất là sử dụng ba giai đoạn của quá trình mã hóa với ba khóa khác nhau Việc này làm tăng hao phí của tấn công văn bản rõ đã biết tới 2112, quá mức cái gọi là thực tiễn hiện tại và xa trong tương lai Tuy nhiên, nó cũng có nhược điểm của việc đòi hỏi độ dài khóa 56 x 3 = 118 bit là hơi khó điều khiển

Để thay thế, Tuchman đã đề ra phương thức mã hóa ba lần mà chỉ sử dụng có 2 khóa [TUCH79] Vận hành theo chuỗi mã hóa – giải mã – mã hóa (EDE) (Sơ đồ 6.1b):

C = E(K1, D(K2, E(K1, P)))

Trang 11

Không hề có ý nghĩa về mặt mật mã nào khi sử dụng quá trình giải mã cho giai đoạn thứ 2 Lợi ích duy nhất của việc đó là cho phép người sử dụng 3DES giải mã

dữ liệu đã được mã hóa bởi người sử dụng DES đơn trước đây:

C = E(K1, D(K1, E(K1, P))) = E(K1, P)

3DES với 2 khóa mã là phương án thay thế khá thông dụng cho DES và đã được đưa vào sử dụng trong tiêu chuẩn quản lý khóa mã ANS X9.17 và ISO 8732[1]

[1] (ANS) American National Standard: Financial Institution Key Management (Wholesale) Cái tên X9.17 có vẻ

là một tiêu chuẩn ít người biết đến Tuy nhiên, một số phương pháp kí thuật được định rõ trong tiêu chuẩn này đã được đưa

và sử dụng trong những ứng dụng và tiểu chuẩn khác như chúng ta sẽ thấy rõ xuyên suốt cuốn sách.

Hiện tại không có tấn công mang tính thực tiễn nào đến 3DES Coppersmith [COPP94] nhận thấy rằng hao phí của tìm kiếm khóa bằng bạo lực trên 3DES là ở bậc 2112 (5 x 1033) và ước đoán rằng hao phí của phá mã vi sai tăng theo số mũ vượt quá 1052 so với DES đơn

Nhiều tấn công 3DES được đề ra cũng đáng phải xem xét, dù không mang tính thực tiễn, tăng thêm hứng thú cho những kiểu tấn công đã được xem xét và có thể hình thành nền tảng cho những tấn công thành công hơn trong tương lai

Trang 12

Đề xuất nghiêm túc đầu tiên là từ Merkle và Hellman [MERK81] Đề án của họ liên quan đến việc tìm kiếm những giá trị văn bản rõ mà tạo ra giá trị tức thời đầu

tiên A = 0 (Hình 6.1b) rồi sử dụng trong tấn công xác suất để xác định ra 2 khóa

Cấp độ nỗ lực là 256, nhưng cách thức đòi hỏi 256 cặp bản nguồn – bản mã được chọn, một số lượng mà người nắm giữ khóa mã không thể cung cấp được

Một cách tấn công bản nguồn đã biết được phác thảo trong [VANO90] Kế hoạch

của họ bao gồm tìm giá trị bản nguồn (plaintext) để tạo ra giá trị trung gian đầu

tiên A = 0 ( Hình 6.1 b ) rồi sử dụng tấn công dùng xác suất tấn công để xác định

hai khóa Mức độ nỗ lực là 256, nhưng kỹ thuật đòi hỏi 256 cho việc chọn cặp plaintext ( bản nguồn) - ciphertext (bản mã hoá) , một số không để được cung cấp bởi người nắm giữ khóa

Việc tấn công một bản nguồn đã biết đã được tóm lược trong [VANO90] Cách thức này là phương thức cải tiến phương thức tiếp cận văn bản rõ đã chọn nhưng đòi hỏi nhiều nỗ lực hơn Loại tấn công này dựa trên sự quan sát nếu chúng ta biết

A và C (Hình 6.1b) thì vấn đề giảm bớt đi cho một cuộc tấn công vào DES 2 lớp

Tất nhiên, kẻ tấn công không biết A, thậm chí P và C được biết, văn bản nguồn

vẫn được an toàn khi chúng chưa biết rõ 2 khóa Tuy nhiên, kẻ tấn công có thể

chọn giá trị tiềm năng của rồi cố gắng tìm cặp ( P, C ) mà tạo ra A Kẻ tấn công thu

được như sau:

1

Trang 13

Đạt được cặp n ( P, C ) Đây là văn bản gốc đã biết Đặt những bảng này ( Bảng 1 ) sắp xếp theo giá trị của P ( Hình 6.2 b ).

Hình 6.2 Biết - Tấn công vào bản nguồn đã biết trên DES 3 lớp

2

Trang 14

Chọn giá trị tùy ý cho A, và tạo một bảng thứ 2 ( Hình 6.2 c ) với khoản mục được định nghĩa trong trang sau Đối với mỗi khóa trong

B = D ( i, C )

Bước cuối cùng, sắp xếp Bảng 2 dựa theo giá trị của B

3

Hiện tại chúng ta có một số giá trị ứng cử viên K1 trong Bảng 2 và ở

vị trí để tìm kiếm giá trị của K2 Đối với mỗi một trong 256 khoá then chốt K2 = j, ước tính giá trị trung gian thứ 2 cho giá trị mà chúng ta đã chọn của a:

Bj = D ( j, a )

Ở mỗi bước, tìm Bj trong Bảng 2 Nếu có trùng khớp, thì khoá i tương ứng từ Bảng 2 cộng giá trị này của j là ứng của giá trị cho khoá chưa biết rõ (K1, K2 ) Tại sao? Bởi vì chúng ta đã tìm được cặpkhóa ( i, j ) tạo ra cặp ( P, C ) đã biết ( Hình 6.2a )

Trang 15

4

Kiểm tra mỗi ứng cử viên cặp khoá ( i, j ) trên một vài cặp văn bản gốc - văn bản mã hoá khác Nếu cặp khoá tạo ra văn bản mã mong muốn, nhiệm vụ được hoàn thành Nếu không thành công, lặp lại từ bước 1với giá trị mới của a

Giả sử cho ( P, C ) đã biết, khả năng có thể xảy ra cho việc chọn giá trị duy nhất dẫn đến thành công là 1 / 264 Vì vậy, dựa vào cặp n ( P, C ), khả năng có thể xảy

ra thành công cho môt giá trị đơn được chọn là n / 264 Xác suất một kết quả cơ bản tạo ra từ lý thuyết là con số mong đợi của draws yêu cầu phải rút một quả bóng màu đỏ ra khỏi thùng chứa n quả bóng đỏ và N n quả bóng xanh là ( N + 1 ) / ( n +

1 ) nếu những quả bóng không được thay thế Vậy là con số mong đợi của giá trị cho việc đó là phải thử với một số lượng lớn n

Vì vậy, thời gian mong đợi thực hiện của cuộc tấn công là khoảng :

DES 3 lớp với 3 khóa ( Triple DES with Three Keys)

Trang 16

Mặc dù các cuộc tấn công chỉ mô tả xuất hiện không thực tế, bất kỳ ai sử dụng hai khoá - 3DES then chốt có thể cảm thấy một vài sự lo âu Vì vậy,nhiều nhà nghiên cứu ngày nay cảm thấy ba khoá - 3DES là giải pháp thay thế được ưa thích hơn ( chẳng hạn như,[ KALI96a ] ) Ba khoá - 3DES có chiều dài khoá nổi bật của 168 bit và được định nghĩa là như sau :

6.2 Chế độ hoạt động của kiểu mã hóa theo khối

Thuật toán mã hoá theo khối là một khối cấu trúc cơ bản cung cấp bảo mật dữ liệu Mã hóa khối được áp dụng trong nhiều trường hợp, bốn " chế độ hoạt động "

đã được định nghĩa bởi NIST ( FIPS 81 ) Về bản chất, chế độ hoạt động là kỹ thuật để cải tiến hiệu quả của thuật toán mã hoá hay thích ứng thuật toán cho ứng

Trang 17

dụng, như là đưa mã hoá khối vào chuỗi dữ liệu khối hay luồng dữ liệu Bốn chế

độ này hướng đến để bao gồm hầu như tất cả ứng dụng khả thi của việc mã hóa để

mà mã hóa khối có thể được dùng Khi có những yêu cầu và ứng dụng mới, NIST

mở rộng danh sách chế độ yêu cầu lên năm trong ấn phẩm đặc biệt 800 - 38A

Những chế độ này là nhằm để dùng bất kì mã hóa khối đối xứng nào, bao gồm

AES và DES 3 lớp Chế độ được tóm tắt trong bảng 6.1 và mô tả ngắn gọn trong phần còn lại của phần này

Bảng 6.1 Chế độ hoạt động của kiểu mã hóa theo khối

Electronic

Codebook (ECB)

Mỗi khối của 64 bit văn bản gốc được mã hoá độc lập dùng khóa giống nhau

Những giá trị đơn của việc truyền tải bảo mật ( e g., khóa mã hóa )

Cipher Block

Chaining (CBC)

Đầu vào cho thuật toán mã hóa được XOR 64 bit kế tiếp của văn bản gốc và 64 bit có trước của văn bản

mã hoá

• Truyền khối hướng truyền đa năng

• Tiến trình thẩm định quyền

kế tiếp của văn bản mã hoá

• Truyền theo dòng

có hướng đa năng

• Tiến trình thẩm định quyền

Output Feedback

(OFB)

Giống với CFB, ngoại trừ đầu vào cho thuật toán mã hóa là đầu ra DES có trước (Chuẩn mã hoá dữ liệu)

• Truyền theo hướng luồng trên kênh có nhiễu ( ví dụ: liên lạc vệ tinh)

Counter (CTR) Mỗi khối của văn bản gốc

đươc XOR với bộ đếm mã hoá Bộ đếm được tăng đến khối tiếp theo

• Truyền theo hướng khối truyền đa năng

• Có ích cho yêu cầu tốc độ cao

Trang 18

Kiểu Electronic Codebook

Kiểu đơn giản nhất là kiểu electronic codebook ( ECB ), trong đó văn bản gốc được xử lý từng khối một và mỗi khối được mã hóa bằng khóa giống nhau ( Hình

6.3 ) Thuật ngữ codebook được sử dụng vì, 1 khóa được đưa ra, có 1 văn bản mã

duy nhất cho mỗi khối b - bit của văn bản gốc Do đó, chúng ta có thể tưởng tượng

1 codebook khổng lồ trong đó có đầu vào cho mẫu văn bản gốc b - bit hợp lý mô tả văn bản mã hoá tương ứng của nó

Hình 6.3 Kiểu Electronic Codebook ( ECB )

Trang 19

Ví dụ: 1 thông điệp dài hơn b bit, thủ tục thì đơn giản để chia thông điệp thành

khối b- bit, bổ sung (padding) khối cuối cùng nếu có Việc giải mã được thực hiện trên từng khối, luôn dùng 1 khóa chung Ở hình 6.3, văn bản gốc (được bổ sung khi

cần ) gồm 1 dãy các khối b- bit, , ,., ; tương ứng dãy các khối văn bản mã

hoá là , ,.,

Phương pháp ECB là ý tưởng dùng cho một lượng dữ liệu ngắn, chẳng hạn 1 khóa

mã hóa Vì vậy, nếu bạn muốn truyền khóa DES an toàn, ECB là kiểu thích hợp để dùng

Đặc trưng quan trọng nhất của ECB là khối b- bit giống nhau của văn bản gốc, nếu

nó xuất hiện hơn một lần trong thông điệp, luôn tạo ra văn bản mã giống nhau

Ví dụ: Những thông báo dài, kiểu ECB có lẽ không bảo mật Nếu thông điệp có cấu trúc cao, sẽ có lợi cho người giải mã khai thác qui luật này Chẳng hạn như, nếu thông điệp luôn bắt đầu với trường chắc chắn được xác định trước, thì người giải mã sẽ có 1 cặp văn bản gốc - văn bản mã để nhận dạng Nếu 1thông điệp có

những yếu tố lặp lại, với sự lặp lại nhiều khối b bit, thì các nhà phân tích có thể xác

định được những yếu tố này Điều này có thể trợ giúp trong phân tích hay tạo cơ hội cho việc thay thế hoặc sắp xếp lại khối

Kiểu mã hóa chuỗi khối (CBC)

Để khắc phục những khiếm khuyết bảo mật của ECB, chúng tôi giới thiệu kỹ thuật trong đó khối văn bản gốc giống nhau, nếu lặp lại, tạo ra khối văn bản mã khác nhau Một cách đơn giản để đáp ứng yêu cầu này là kiểu mã hóa chuỗi khối (CBC) ( Hình 6.4 ) Trong kiểu này, đầu vào thuật toán mã hóa là XOR các khối văn bản gốc hiện tại và khối văn bản mã trước đó; khóa giống nhau được dùng cho mỗi khối Trong thực tế, chúng ta có thể liên kết chuỗi khối văn bản gốc với nhau Đầu vào hàm mã hoá cho mỗi khối văn bản gốc sinh ra không có mối liên hệ cố định

với khối văn bản mã Do đó, mẫu lặp lại của b bit không được lộ ra.

Trang 20

Đối với việc giải mã, mỗi khối mã đã được giải thông qua thuật toán giải mã Kết quả được XOR với khối văn bản mã có trước để tạo ra khối văn bản gốc Để xem công việc này, chúng ta có thể viết

Thì

Trang 21

Để tạo ra khối đầu tiên của văn bản mã, vector khởi tạo ( IV ) được XOR với khối đầu tiên của văn bản nguồn Trong việc giải mã, IV XOR với đầu ra của thuật toán giải mã để phục hồi khối đầu tiên của văn bản nguồn IV là khối dữ liệu có kích thước giống như khối mã.

Vector khởi tạo (IV) đều nhằm tới cả bên gửi và bên nhận nhưng không để kẻ thứ

3 đoán được Để tính an toàn cao, Vector khởi tạo (IV) nên được bảo vệ khỏi những thay đổi trái phép Người ta làm điều này bằng việc sử dụng mã hóa ECB để gửi cho vector khởi tạo (IV) Một lý do cần bảo vệ vector khởi tạo (IV) là: Nếu đối thủ có thể qua mắt (fool) bên nhận để dùng giá trị khác cho IV, thì đối thủ có thể đảo bit được chọn trong khối đầu tiên của văn bản nguồn Để thấy được điều này, xem ví dụ dưới đây:

Bây giờ sử dụng kí hiệu X [ i ] thể hiện i bit của lượng b-bit X Thì

Sau đó, dùng thuộc tính của XOR, chúng ta có thể thấy

Ở đây kí hiệu đầu tiên thể hiện bit bổ sung Điều này nghĩa là nếu đối thủ có thể dự đoán được thay đổi bit ở IV, bit tương ứng của giá trị nhận của P1 sẽ thay đổi theo.Cho những tấn công khác có thể dựa trên kiến thức về IV, xem [ VOYD83 ]

Tóm lại, vì cơ chế chuỗi của CBC, nó là kiểu thích hợp cho mã hoá chiều dài thông

điệp lớn hơn b bit

Ngoài sử dụng của nó để đạt được bảo mật, chế độ CBC có thể được dùng để xác

Trang 22

Kiểu phản hồi mã hóa (Cipher Feedback Mode)

Qui trình DES chủ yếu là kỹ thuật mã hoá theo khối, sử dụng khối b- bit Tuy

nhiên, có thể chuyển DES thành mã hóa theo luồng, sử dụng như phản hồi mã hóa ( CFB) hoặc kiểu phản hồi đầu ra Mã hóa theo luồng loại bỏ nhu cầu thêm thông điệp để được số nguyên của khối Nó cũng có thể thực thi theo thời gian thực Vì vậy, nếu luồng ký tự được truyền, mỗi kí tự có thể được mã hoá và truyền ngay lập tức sử dụng mã hóa theo luồng hướng kí tự

Một tính chất đáng có của mã hóa theo luồng là bản mã hoá có chiều dài bằng văn bản nguồn Vì vậy, nếu kí tự 8 bit đang được truyền, mỗi kí tự nên được mã hoá để tạo ra đầu ra văn bản mã 8 bit Nếu nhiều hơn 8 bit được tạo ra, dung lượng truyền

bị phí phạm

Hình 6.5 mô tả qui trình CFB Ở hình vẽ, đơn vị truyền là s bit ; giá trị chung là s =

8 Cũng như với CBC, đơn vị của bản nguồn được mắc xích với nhau, sao cho văn bản mã hoá của bất kỳ đơn vị văn bản nguồn là 1 chức năng của tất cả văn bản

nguồn trước Trong trường hợp này, không những đơn vị của b bit, văn bản nguồn được chia thành đoạn ( segments) của s bit.

Ngày đăng: 26/04/2013, 14:55

HÌNH ẢNH LIÊN QUAN

Hình 6.1. Mã hoá tổ hợp - MÃ HÓA ĐỐI XỨNG
Hình 6.1. Mã hoá tổ hợp (Trang 6)
Hình 6.2. Biết - Tấn công vào bản nguồn đã biết trên DES 3 lớp - MÃ HÓA ĐỐI XỨNG
Hình 6.2. Biết - Tấn công vào bản nguồn đã biết trên DES 3 lớp (Trang 13)
Bảng 6.1. Chế độ hoạt động của kiểu mã hóa theo khối - MÃ HÓA ĐỐI XỨNG
Bảng 6.1. Chế độ hoạt động của kiểu mã hóa theo khối (Trang 17)
Hình 6.5. Kiểu phản hồi mã hóa s-bit ( CFB) - MÃ HÓA ĐỐI XỨNG
Hình 6.5. Kiểu phản hồi mã hóa s-bit ( CFB) (Trang 23)
Hình 6.6. Kiểu phản hồi đầu ra s- bit (OFB) - MÃ HÓA ĐỐI XỨNG
Hình 6.6. Kiểu phản hồi đầu ra s- bit (OFB) (Trang 24)
Hình 6.7.Kiểu Máy đếm (CTR) - MÃ HÓA ĐỐI XỨNG
Hình 6.7. Kiểu Máy đếm (CTR) (Trang 26)
Hình 6.8. Biểu đồ Mật mã luồng ( Mục này được hiển thị trên trang 189 trong bản in ) - MÃ HÓA ĐỐI XỨNG
Hình 6.8. Biểu đồ Mật mã luồng ( Mục này được hiển thị trên trang 189 trong bản in ) (Trang 29)
Hình 6.2.So sánh tốc độ của thuật toán mã cân đối trên Pentium II - MÃ HÓA ĐỐI XỨNG
Hình 6.2. So sánh tốc độ của thuật toán mã cân đối trên Pentium II (Trang 31)
Hình 6.9. RC4 ( Mục này được hiển thị trên trang 193 trong bản in ) - MÃ HÓA ĐỐI XỨNG
Hình 6.9. RC4 ( Mục này được hiển thị trên trang 193 trong bản in ) (Trang 35)
Hình 6.10. Việc sử dụng DES lặp 3 lần trong kiểu CBC - MÃ HÓA ĐỐI XỨNG
Hình 6.10. Việc sử dụng DES lặp 3 lần trong kiểu CBC (Trang 39)
0( Hình 6.1 b ). Sau đó, cho   khả năng giá trị    văn bản nguốc P tạo ra A= 0  được xác định - MÃ HÓA ĐỐI XỨNG
( Hình 6.1 b ). Sau đó, cho khả năng giá trị văn bản nguốc P tạo ra A= 0 được xác định (Trang 40)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w