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

Bao cao giải thuật AES

22 1,2K 9

Đ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 22
Dung lượng 1,94 MB

Nội dung

Mô tả chi tiết từng bước, cách làm, ứng với từng matran, cách tính toán trong trường GF(28), các phép biến đổi, cách sinh ra matran Sbox và matran Sbõ ngược Tìm hiểu chung về giải thuật AES Thuật toán sinh khóa phụ AES Mã hóa AES Giải mã AES Tìm hiểu ưu điểm và nhược điểm của giải thuật AES Các phương pháp và dạng tấn công vào AES

AES Thành viên nhóm Mã sinh viên Lớp PHẠM ĐỨC HOÀN BÙI CÔNG HOÀNG LÊ MINH HOÀNG NGUYỄN QUỐC HỌC NGUYỄN THỊ HUẾ B13DCCN081 B13DCCN432 B13DCCN264 B13DCCN2565 B13DCCN266 D13CNPM1 D13CNPM5 D13CNPM3 D13CNPM3 D13CNPM3 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Authored by: Nhóm 4_ATBM MỤC LỤC I GIỚI THIỆU VỀ GIẢI THUẬT AES 1 Giới thiệu chung: Mô tả khái quát giải thuật AES: I THUẬT TOÁN SINH KHÓA Rotword: SubBytes Rcon Kết thúc: II Mà HÓA Giới thiệu chung SubBytes ShiftRows 10 MixColumns 11 AddRoundKey 12 III GIẢI Mà 14 Giới thiệu chung 14 AddRoundKey 15 InvShiftRows 15 InvSubBtes 16 AddRoundKey 16 Inverse mix cols 17 IV CÁC ĐIỂM MẠNH VÀ CÁC ĐIỂM YẾU 17 - Ưu điểm: 17 - Nhược điểm: 18 V CÁC DẠNG TẤN CÔNG VÀO AES VÀ CÁCH PHÒNG CHỐNG 18 Tấn công thời gian: 18 Tấn công dựa vào lỗi: 18 Tấn công phân tích lượng: 19 I Đ Cùng với phát triển khoa học kỹ thuật ứng dụng tin học lĩnh vực đời sống an ninh quân sự, quốc phòng giao dịch thương mại điện tử… Song hành với phát triển vũ bão internets giao thức điện tử nhu cầu bảo vệ thông tin hệ thống ứng dụng ngày trọng mà khoa học mật mã sử dụng rộng rãi với mong muốn bảo vệ thông tin sở liệu quan trọng mật mã mở nhiều hướng phát triển với đặc trưng riêng Trong chương trình an toàn bảo mật hệ thống thông tin sinh viên việc tự mã hóa giải mã liệu quan trọng Nó giúp sinh viên tìm hiểu sâu thuật toán mã hóa giải mã cách cung cấp thuật toán mã hóa giải mã hệ điều hành Với l{ nhóm sinh viên chúng em tìm hiểu sâu mã hóa dựa thuật toán AES AES thuật toán mã đối xứng công nhận rộng rãi mức độ an toàn I GIỚI THIỆU VỀ GIẢI THUẬT AES Giới thiệu chung: - AES viết tắt Advanced Encryption Standard) chuẩn mã hóa liệu NIST công nhận năm 2001 - AES xây dựng dựa Rijndael cipher phát triển nhà mật mã học người Bỉ Joan Deamen Vincent Rijmen - Kích thước khối liệu AES 128 bít - Kích thước khóa 128, 192 256bit (là bội 32 lớn 256 bít) - AES thiết kế dựa mạng hoán vị- thay thế: đạt tốc độ cao phần mềm phần cứng - AES vận hành matran 4x4, gọi state (trạng thái) - Kích thước khóa định vào số vòng lặp chuyển đổi cần thực để chuyển rõ thành mã: + 10 vòng lặp ứng với 128 bit + 12 vòng lặp ứng với 192 bít + 14 vòng lặp ứng với 256 bít Giải thích:  Đối với 128 bít kích thước khóa mở rộng 44 từ Mỗi khóa gồm từ 44 từ chia thành 11 cụm khóa Mỗi vòng giải mã/ mã hóa sử dụng khóa cộng với khóa phần bắt đầu thuật toán AES Như số vòng = số khóa – 1(mượn) => 128 bít ứng với 11-1 = 10 vòng  Đối với 192 bit kích thước khóa mở rộng 52 từ Mỗi khóa gồm từ, 52 từ chia thành 13 cụm khóa Mỗi vòng mã hóa/ giải mã sử dụng khóa cộng với khóa phần bắt đầu thuật tóa AES Như số vòng = số khóa – (mượn) => 192 bít tương ứng với 13 – = 12 vòng  Đối với 256 bit kích thước khóa mở rộng 60 từ Mỗi khóa gồm từ, 60 từ chia thành 15 cụm khóa Mỗi vòng mã hóa/ giải mã sử dụng khóa cộng với khóa phần bắt đầu thuật tóa AES Như số vòng = số khóa – (mượn) => 192 bít tương ứng với 15 – = 14 vòng - Mã hóa AES mã hóa theo mô hình 128 bit không sử dụng nguyên tắc hệ mã hóa Feistel mà sử dụng mô hình mạng SPN AES dùng phép biến đổi để mã hóa khối: Add row key, Substitute bytes, Shift rows, Mix columns Mỗi phép biến đổi nhận tham số đầu vào có kích thước 128 bít cho kết đầu có kích thước 128 bít AES thực phép biến đổi nhiều lần tạo thành 10 vòng biến đổi Mô tả khái quát giải thuật AES: - Mở rộng khóa: Các khóa phụ dùng csác vòng lặp sinh từ khóa AES sử dụng thủ tục sinh khóa Rijndael - Vòng khởi tạo: + AddRoundKey: byte state kết hợp với khóa phụ sử dụng XOR - Vòng lặp chính: - + SubBytes: bước thay phi tuyến tính, byte state thay byte khác sử dụng bảng tham chiếu + ShiftRows: Bước đổi chỗ, dòng state dịch số bước theo chu kz + MixColumns: trộn cột state, kết hợp bytes cột + AddRoundKey Vòng cuối gồm bước giống trừ bước MixColumns Sơ đồ bước xử lý AES Qua sơ đồ ta thấy trình mã hóa độ dài khối đầu vào 128 bít thực qua vòng lặp, vòng lặp thực qua bước vòng lặp cuối thực giống hệt giai đoạn MixColumns I THUẬT TOÁN SINH KHÓA Sơ đồ bước xử lý AES Nhìn vào sơ đồ ta thấy việc sinh khóa phụ bước đầu giai đoạn mã hóa, Quá trình sinh khóa phụ thực vòng khởi tạo AddRoundKey Bước thực chia bước: + Rotword: quay trái bít + SubBytes + Rcon: tính toán giá trị Rcon(i) + Shiftrow - 128 bít ban đầu mở rộng thành 176 byte, tổ chức thành 44 từ, từ bytes, vừa đủ để tạo thành 10 khóa phụ cho 10 vòng mã hóa thuật toán cộng với khóa phụ cho thao tác cộng khóa ban đầu Như thuật toán sinh khóa phụ AES thực chất thuật toán mở rộng bốn từ khóa (128 bit) ban đầu 44 từ Thao tác cộng khóa thực qua bước sau: Giả sử ta có matran sau thực sinh khóa: 2b 28 Ab 09 7e Ae F7 Cf 15 D2 15 4f 16 A6 88 3c Rotword: - Bốn từ khóa gốc đưa trực tiếp vào phép cộng khóa ban đầu tức w[0,3] = key Lấy cột cuối matran thực rotWord quay trái bit: 09 Cf Cf 4f 4f 3c 3c 09 SubBytes - Thao tác thay byte, thao tác có chức thay byte mảng trạng thái thành byte khác sử dụng matran kích thước 16 x16 (S-box) Nguyên tắc thay byte hiểu: ứng với byte trạng thái hành, bit bên trái dùng để chọn 16 dòng, bít bên phải dùng để chọn 16 cột Giá trị ô tương ứng với dòng cột chọn thay cho byte hành - Giải thích thiết lập nên bảng S-box: + B1: Điền số từ 0-225 vào bảng matran 16x16 theo hàng Với hệ Hex, hàng gồm số ,00-, ,01-, …,0F- Hàng gồm số: ,10-, ,11-,…, ,1F- Điều có nghĩa hàng x cột y có giá trị {xy} +B2: thay byte bảng giá trị nghịch đảo trường GF(28) Quy ước nghịch đảo {00} {00} + B3: Đối với byte bảng, ký hiệu bít b7b6b5b4b3b2b1b0 Thay bít bi giá trị b’i tính sau: Với ci bít thứ i số {63}, tức tính toán tương đương với phép nhân ma trận sau GF(28) (B’ = XB  C): Việc + Trong phép cộng thực phép XOR Hình trình bày nội dung bảng S-box sau tính toán Ví dụ: xét giá trị {95}, bước 1, giá trị dòng cột {95}, sau bước tính nghịch đảo giá trị ô {8A} có dạng nhị phân 10001010 Thực phép nhân ma trận:  Kết dạng thập lục phân {2A} - Ở bước thực cách đem so sánh với bảng S-box S-box tạo cách xác định nghịch đảo cho số lượng định GF (2 ) = GF (2) [ x ] / ( x + x + x + x + 1), trường hữu hạn Rijndael Zero, mà nghịch đảo, ánh xạ tới không Sau nghịch đảo biến đổi cách sử dụng sau biến đổi afin: biến đổi afin tổng hợp nhiều phép quay byte vector, nơi Ngoài hoạt động XOR Cf 8a 4f 84 3c eb 09 01 Rcon Rcon mảng số Mảng gồm 10 từ ứng với 10 vòng AES Bốn byte phần tử Rcon[j] (RC[j],0,0,0) với RC[j] mảng 10 byte thực cách tính theo công thức Rcon(i) = xi-1 mod x8 + x4 + x3 + x + Cứ thực phép chia lấy phần dư ta Rcon vòng Với i số thứ tự vòng AES Ví dụ với i = => phần dư thực phép chia Do Rcon*1+ = Ví dụ i = 10 ta thực phép chia lấy dư x9 cho x8 + x4 + x3 + x + ta có: Dư: X9 X9+x5+x4+x2+x x5+x4+x2+x x8 + x + x3 + x + x Do phần dư x5+x4+x2+x Phép chia thực trường GF(28) phần dư quy đổi hệ Hexa 110110 = 36 Tương tự với i = 2,3,…, ta bảng giá trị sau: J RC[j] 1 2 4 8 10 10 20 40 80 1B 36 Kết thúc: - Sau có cột mã hóa sử dụng phép toán XOR với số vòng (Rcon), số khác biệt với vòng lặp - Sử dụng phép toán xor với cột input trước thực tính toán, ta chuyển dạng ASCII chuyển qua hệ Hex để thực tính tóa XOR 8a 01 2b A0 84 00 XOR Eb 01 7e XOR 00 fa = 15 00 fe 16 17 Thực phép toán XOR có nghĩa hai giá trị cho kết Còn ngược lại Các cột lại sử dụng phép toán XOR với cột matran có nghĩa cột matran ban đầu XOR với cột vừa tạo trên: A0 Fa XOR 28 88 Ae 54 = D2 Fe 17 2c A6 1b Tương tự ta tìm cột có giá trị 2b 28 Ab 09 A0 88 23 2a F2 7a 23 73 …… D0 C9 E1 B6 7e Ae F7 Cf fa 54 A3 6c C2 96 A3 59 …… 14 ee 3f 63 15 D2 15 4f fe 2c 39 76 95 B9 39 F6 …… F9 25 0c 0c 16 A6 88 3c 17 B1 39 05 F2 43 39 7f …… A8 89 C8 A6 Cipher key Round key Round key Round key 10 II Mà HÓA Giới thiệu chung - - Nhìn vào sơ đồ ta cần có input state Cipher Key Giả sử liệu đầu vào 2C:¿êZ0r11ŸóÓ7(BEL)4 Key : +~NAKSNY(«Êª½,NAKêHT¤O< State sinh từ nội dung ta cần mã hóa Từ nội dung ta chuyển đổi nội dung thành bit => ta có mảng bit Từ mảng bit 1/2 byte ta chuyển đổi chúng thành kí hiệu hệ hexa => ta chuyển đổi chúng thành ma trận state Ví dụ mảng bit: 0011001000110011 Ta tách chúng byte khác nhau: + byte thứ nhất: 00110010 => 32(hexa) + byte thứ 2: 00110011=>33(hexa) - Sau ta xếp vào ma trận state có dạng sau: Tương tự cách với Cipher Key ko phải nội dung mà key dc người dùng nhập vào: Ma trận đưa thêm vào để thực mã hóa Khi có input ta bắt đầu mã hóa: Nhìn hình vẽ ta có phép biến đổi SubBytes - - Các byte thông qua bảng tra S-box Đây trình phi tuyến thuật toán Hộp S-box tạo từ phép biến đổi khả nghịch trường hữu hạn GF (28) có tính chất phi tuyến Để chống lại công dựa đặc tính đại số, hộp S-box tạo nên cách kết hợp phép nghịch đảo với phép biến đổi affine khả nghịch Hộp S-box chọn để tránh điểm bất động (fixed point) Giải thích ví dụ: + Lấy bảng state lấy vị trí ma trận ví dụ a11 => so sánh với S box: + Lần lượt thay tất giá trị bảng Ss - Box => ta dc giá trị state tương ứng:s - Nguyên tắc thay byte hiểu: ứng với byte trạng thái hành, bit bên trái dùng để chọn 16 dòng, bít bên phải dùng để chọn 16 cột Giá trị ô tương ứng với dòng cột chọn thay cho byte hành ShiftRows - - Phép biến đổi dùng phép mã hóa áp dụng lên trạng thái cách chuyển dịch vòng ba hàng cuối trạng thái theo số lượng byte offset khác Cách thực hiện: Các hàng dịch vòng số bước định Đối với AES, hàng đầu giữ nguyên Mỗi byte hàng thứ dịch vòng trái vị trí Tương tự, hàng thứ dịch vòng vị trí Do vậy, cột khối đầu bước bao gồm byte đủ cột khối đầu vào Đối với Rijndael với độ dài khối khác số vị trí dịch chuyển khác Giải thích ví dụ: + Hàng dịch byte + Hàng dịch byte 10 + Hàng dịch byte, ta matran: MixColumns - Dùng để: Phép biến đổi phép mã hóa thực cách lấy tất cột trạng thái trộn với liệu chúng (một cách độc lập nhau) để tạo cột - Cách thực hiện: - Bốn byte cột kết hợp lại theo phép biến đổi tuyến tính khả nghịch Mỗi khối byte đầu vào cho khối byte đầu với tính chất byte đầu vào ảnh hưởng tới byte đầu Cùng với bước ShiftRows, MixColumns tạo tính chất khuếch tán cho thuật toán Mỗi cột xem đa thức trường hữu hạn nhân với đa thức {\displaystyle c(x)=3x^{3}+x^{2}+x+2} {\displaystyle c(x)=3x^{3}+x^{2}+x+2} (modulo {\displaystyle x^{4}+1} {\displaystyle x^{4}+1}) Vì thế, bước xem phép nhân ma trận trường hữu hạn - Giải thích ví dụ: + Việc nhân matran thực cách + Ta lấy cột nhân với hàng theo quy tắc sau: (D4 * 02) XOR (BF * 03) XOR (5D * 01) XOR (30 * 01) + Biến đổi nhị phân D4 = 11010100 + Phép nhân trường GF(2^8) có hai trường hợp trường hợp b7= thực bình thường đa thức với đa thức, trường hợp b7 = thực mức độ byte phép dịch trái (thêm số cuối dãy)và sau thực phép toán XOR Quay lại ví dụ việc D4 có b7 = ta thực phép XOR với dãy số 11 10101000 XOR 00011011 (môi trường GF(2^8)) 10110011 + Tiếp theo thực phép tính (BF*03), BF= 10111111 Tách 03 = 02 + 01 Do (BF*03) = (BF*02) XOR (BF*01) Với (BF*02) ta tính tương tự bước 01111110 XOR 00011011 (môi trường GF(2^8)) 01100101 Với (BF*01) = BF = 10111111 Do kết phép tính (D4 * 02) XOR (BF * 03) XOR (5D * 01) XOR (30 * 01) thực phép XOR biểu thức sau: 10110011 Xor 01100101 Xor 10111111 Xor Xor 01011101 00110000 00000100 = 04 (Hex) - Làm tương tự với việc nhân cột khác ta matran cuối có giá trị sau: AddRoundKey - Phép biến đổi phép mã hóa phép giải mã Trong đó, khóa vòng (các giá trị sinh từ khóa mã quy trình mở rộng khóa) cộng thêm vào trạng thái phép toán XOR (phép toán loại trừ) Độ dài khóa vòng độ dài trạng thái - Cách thực hiện: Khóa kết hợp với khối Khóa chu trình tạo từ khóa với trình tạo khóa Rijndael; khóa có độ dài giống khối Quá trình kết hợp thực cách XOR bít khóa với khối liệu 12 - Giải thích ví dụ: Thực phép XOR với key sinh phần sinh khóa phụ Đưa số hệ nhị phân thực phép XOR , ta kết Ví dụ 04 = 00000100 XOR 10100100 = a4 A0 = 10100000 Kết luận: Những phép biến đổi sử dụng vòng àm tương tự vòng lại Riêng vòng lặp cuối ko dùng MixColumns Và kết cuối mã hóa đưa ra: 13 III GIẢI Mà Giới thiệu chung - Thực quy trình giải mã qua giai đoạn: + Điều cần thực thao tác AddRoundKey trước thực chu kì giải mã + Trong chu kì bao gồm bước biến đổi liên tiếp: AddRoundKey, InvShiftRows, InvSubBtes, AddRoundKey, Inverse mix cols + Thực chu kì giải mã cuối nhiên chu kì bước biến đổi “InvMixColumns” bỏ qua + Việc thực giải mã gồm 10 vòng liệu đầu vào 128 bít + Quá trình giải mã ngược lại mã hóa 14 AddRoundKey - Bản khóa : - - - 39 25 84 1d 02 dc 09 Fd dc 11 85 97 19 6a 0b 32 D0 14 F9 A8 C9 Ee 25 89 E1 3f 0c C8 B6 63 0c A6 Round key 10: Kết quả: đưa cách chuyển sang hệ nhị phân XOR sau lại chuyển hệ Hex 3916 = 001110012 XOR => 11101001 = E9 D016 = 110100002 Làm tương tự ta matran kết quả: E9 31 7d B5 Cb 32 2c 72 3d 2e 89 5f Af 09 07 94 InvShiftRows Tương tự biến đổi ShiftRows thay dịch trái biến đổi dịch phải Ban đầu: E9 31 7d B5 Dòng thứ nguyên, dòng thứ xoay phải bit: E9 09 89 72 Cb 3d Af 32 2c 09 2c 89 07 72 5f 94 dòng thứ xoay phải byte, dòng thứ xoay phải byte, Cb 31 07 5f 3d 32 7d 94 15 Af 2c 2c B5 InvSubBtes - Quá trình Process InvSubBytes tương tự với SubBytes, bảng sử dụng khác Bảng sử dụng bảng S-Box nghịch đảo: - Sau đối chiếu so sánh bảng ta matran là: EB 40 F2 1C 59 2E 38 84 8B A1 13 E7 1B C3 42 D2 AddRoundKey Bước thực phép XOR với key 9: EB 40 F2 1C 59 2E 38 84 8B A1 13 E7 40 D4 E4 A5 A3 70 3A A6 1B C3 42 D2 Kết quả: 47 37 94 ED 16 4C 9F 42 BC Inverse mix cols - Mỗi cột ma trận state nhân với đa thức modulo cho đa thức Hay viết dạng ma trận: Nhân cột với matran: Việc nhân giống hệt mã hóa ta kết nhân phép tính 87 F2 4d 97 6e 4c 90 ec 46 E7 4a C3 A6 8c D8 95 Làm tương tự với vòng lặp theo sơ đồ mã hóa giải mã, kết cuối sau vòng lặp thứ 10 IV CÁC ĐIỂM MẠNH VÀ CÁC ĐIỂM YẾU      Ưu điểm: Thuật toán AES thực việc xử lý nhanh Mã chương trình ngắn gọn, thao tác xử lý sử dụng nhớ Tất bước xử lý việc mã hóa giải mã thiết kế thích hợp với chế xử lý song song Yêu cầu đơn giản việc thiết kế tính linh hoạt xử l{ đặt đáp ứng Độ lớn khối liệu mã khóa tùy biến linh hoạt từ 128 đến 256-bit với điều kiện chia hết cho 32 Số lượng chu kz thay đổi tùy thuộc vào yêu cầu riêng đặt cho ứng dụng hệ thống cụ thể 17 - Nhược điểm:   Mã chương trình thời gian xử lý việc giải mã tương đối lớn việc mã hóa Không thể tận dụng lại toàn đoạn chương trình mã hóa bảng tra cứu cho việc giải mã Khi cài đặt phần cứng, việc giải mã sử dụng lại phần mạch điện tử sử dụng việc mã hóa với trình tự sử dụng khác Mô tả toán học đơn giản AES không đủ an toàn dạng công Side channel attack    V CÁC DẠNG TẤN CÔNG VÀO AES VÀ CÁCH PHÒNG CHỐNG Tấn công bên dạng công Tấn công kênh bên không công trực tiếp vào thuật toán mã hóa mà thay vào đó, công lên hệ thống thực thuật toán có sơ hở làm lộ liệu Tháng năm 2005 Daniel.J.Bernstin ông bố công lên hệ thống mã hóa AES OpenSL Một máy chủ thiết kế để đưa tối đa thông tin thời gian thu công cần tới 200 triệu rõ lựa chọn Một số người cho công thực Internet với khoảng cách vài điểm mạng Tháng 10 năm 2005, Adi Shamir nhà nghiên cứu khác có nghiên cứu minh họa vài dạng khác Trong đó, công lấy khóa AES với 800 lần ghi 65 mili giây Tấn công yêu cầu kẻ công có khả chạy chương trình hệ thống thực mã hóa Có phương pháp công bên: Tấn công thời gian: Quá trình triển khai thuật toán mã hóa thường thực tính toán khoảng thời gian không đổi, để tối ưu hóa hiệu suất Nếu hoạt động liên quan đến thông số bí mật, từ biến thời gian rò rỉ số thông tin cung cấp thông tin trình triển khai, phân tích thống kê cụ thể thu thông số bí mật Về bản, công thời gian hình thức lấy thông tin cá nhân người dùng cách đo thời gian người thực mã hóa Nguyên tắc công đơn giản: phải khai thác thời điểm thực Tấn công dựa vào lỗi: Hầu hết thiết bị thực trình mã hóa khác thường đáng tin cậy Lỗi phần cứng lỗi xảy trình triển khai modul mã hóa thực tế chứng minh ảnh hưởng nghiêm trọng đến bảo mật Những hành vi đầu bị lỗi trở thành kênh kề quan trọng, nguyên nhân làm tăng lỗ hổng bảo mật mã hóa Có hai loại công kênh kề dựa vào lỗi Loại thứ kênh sinh từ lỗi tính toán trình tính toán mã hóa modul bị công Những lỗi ngẫu nhiên hay cố {, gây Loại thứ hai công kênh kề dựa lỗi, cách cố { gửi liệu đầu vào bị lỗi đến modul bị công Modul gửi thông báo lỗi đến người sử dụng, trình tính toán bị ngừng lại 18 Tóm lại, công dựa vào lỗi thực qua hai bước: chèn lỗi (fault injection) khai thác lỗi Bước bao gồm chèn lỗi thời điểm thích hợp trình xử l{ Việc chèn lỗi phụ thuộc vào phần cứng thiết bị Lỗi phát sinh thẻ thông minh tác động vào môi trường đặt điều kiện bình thường Một số lỗi bất thường điện áp cao thấp bất thường, đồng hồ, nhiệt độ, xạ, ánh sáng Bước thứ hai bao gồm khai thác kết sai hành vi bất thường Việc khai thác lỗi phụ thuộc vào trình triển khai thiết kế phần mềm Trong trường hợp thuật toán phụ thuộc vào đặc điểm kỹ thuật thuật toán Tùy thuộc vào loại phân tích áp dụng, việc chèn lỗi phải thực khoảng thời gian định Tấn công phân tích lượng: Ngoài thời gian hoạt động lỗi, lượng tiêu thụ thiết bị mật mã cung cấp nhiều thông tin hoạt động thông số hệ thống Tấn công phân tích lượng áp dụng vào triển khai phần cứng hệ thống mật mã Loại công thực hiệu chứng minh công thành công thẻ thông minh hệ thống chuyên dụng lưu trữ khóa bí mật Về bản, công phân tích lượng chia thành Tấn công phân tích lượng đơn giản (Simple Power Analysis SPA) Tấn công phân tích lượng vi sai (Differential Power Analysis DPA) Trong công SPA, dựa vào dấu vết lượng tiêu thụ để đoán thời gian thực thi liệu, giá trị đầu vào, đầu Tấn công DPA sử dụng phương pháp thống kê trình xử l{ Tấn công điện từ: Như thiết bị điện, thành phần máy tính thường tạo xạ điện từ, kẻ công quan sát xạ điện từ phát hiểu mối quan hệ trình tính toán liệu, từ suy thông tin tính toán liệu Tấn công phân tích điện từ (ElectroMagnetic Analysis EMA) phân thành loại chính: Phân tích điện từ đơn giản (Simple ElectroMagnetic Analysis SEMA) Phân tích điện từ vi sai (Differential ElectroMagnetic Analysis DEMA) Có phương pháp chống lại công phân tích điện từ (EM attack): giảm cường độ tín hiệu giảm thông tin tín hiệu Kỹ thuật giảm cường độ tín hiệu bao gồm thiết kế lại mạch để giảm phát sinh { muốn thiết lập vùng bảo mật để giảm VI TÀI LIỆU THAM KHẢO Tổng quan an toàn bảo mật HTTT_ thầy Hoàng Xuân Dậu Luận Văn sinh viên nghiên cứu AES http://luanvan.co/luan-van/tim-hieu-ve-thuat-toan-aes44835/ Bài giảng an toàn bảo mật trường đại học Nha Trang 19 [...]... quả cuối cùng của mã hóa sẽ đưa ra: 13 III GIẢI Mà 1 Giới thiệu chung - Thực hiện quy trình giải mã qua các giai đoạn: + Điều đầu tiên là cần thực hiện thao tác AddRoundKey trước khi thực hiện các chu kì giải mã + Trong mỗi chu kì sẽ bao gồm 4 bước biến đổi liên tiếp: AddRoundKey, InvShiftRows, InvSubBtes, AddRoundKey, Inverse mix cols + Thực hiện chu kì giải mã cuối cùng tuy nhiên ở chu kì này bước... ec 46 E7 4a C3 A6 8c D8 95 Làm tương tự với các vòng lặp theo sơ đồ mã hóa và giải mã, kết quả cuối cùng sau vòng lặp thứ 10 là IV CÁC ĐIỂM MẠNH VÀ CÁC ĐIỂM YẾU      Ưu điểm: Thuật toán AES thực hiện việc xử lý rất nhanh Mã chương trình ngắn gọn, thao tác xử lý sử dụng ít bộ nhớ Tất cả các bước xử lý của việc mã hóa và giải mã đều được thiết kế thích hợp với cơ chế xử lý song song Yêu cầu đơn giản... trình cũng như thời gian xử lý của việc giải mã tương đối lớn hơn việc mã hóa Không thể tận dụng lại toàn bộ đoạn chương trình mã hóa cũng như các bảng tra cứu cho việc giải mã Khi cài đặt trên phần cứng, thì việc giải mã chỉ sử dụng lại một phần các mạch điện tử sử dụng trong việc mã hóa và với trình tự sử dụng cũng khác nhau Mô tả toán học khá là đơn giản AES không đủ an toàn đối với dạng tấn công... công Side channel attack    V CÁC DẠNG TẤN CÔNG VÀO AES VÀ CÁCH PHÒNG CHỐNG Tấn công bên là một trong những dạng tấn công Tấn công kênh bên không tấn công trực tiếp vào thuật toán mã hóa mà thay vào đó, tấn công lên các hệ thống thực hiện thuật toán có sơ hở làm lộ dữ liệu Tháng 4 năm 2005 Daniel.J.Bernstin ông bố một tấn công lên hệ thống mã hóa AES trong OpenSL Một máy chủ được thiết kế để đưa ra... attack): giảm cường độ tín hiệu và giảm thông tin tín hiệu Kỹ thuật giảm cường độ tín hiệu bao gồm thiết kế lại mạch để giảm những phát sinh ngoài { muốn và thiết lập vùng bảo mật để giảm VI TÀI LIỆU THAM KHẢO 1 Tổng quan về an toàn bảo mật HTTT_ thầy Hoàng Xuân Dậu 2 Luận Văn sinh viên nghiên cứu AES http://luanvan.co/luan-van/tim-hieu-ve-thuat-toan -aes4 4835/ 3 Bài giảng an toàn bảo mật trường đại học Nha... thác lỗi Bước đầu tiên bao gồm chèn một lỗi tại một thời điểm thích hợp trong quá trình xử l{ Việc chèn lỗi phụ thuộc vào phần cứng thiết bị Lỗi có thể được phát sinh trong thẻ thông minh bằng các tác động vào môi trường của nó và đặt nó trong điều kiện bình thường Một số lỗi là bất thường và điện áp cao hoặc thấp bất thường, đồng hồ, nhiệt độ, bức xạ, ánh sáng Bước thứ hai bao gồm khai thác các kết... Bước thứ hai bao gồm khai thác các kết quả sai hoặc các hành vi bất thường Việc khai thác lỗi phụ thuộc vào quá trình triển khai và thiết kế phần mềm Trong trường hợp là một thuật toán thì nó sẽ phụ thuộc vào đặc điểm kỹ thuật của thuật toán đó Tùy thuộc vào loại phân tích được áp dụng, việc chèn lỗi phải được thực hiện ngay lập tức hoặc trong một khoảng thời gian nhất định 3 Tấn công phân tích năng... được dịch vòng một số bước nhất định Đối với AES, hàng đầu được giữ nguyên Mỗi byte của hàng thứ 2 được dịch vòng trái một vị trí Tương tự, các hàng thứ 3 và 4 được dịch vòng 2 và 3 vị trí Do vậy, mỗi cột khối đầu ra của bước này sẽ bao gồm các byte ở đủ 4 cột khối đầu vào Đối với Rijndael với độ dài khối khác nhau thì số vị trí dịch chuyển cũng khác nhau Giải thích ví dụ: + Hàng 2 dịch 1 byte + Hàng... có một bài nghiên cứu minh họa một vài dạng khác Trong đó, một tấn công có thể lấy được khóa AES với 800 lần ghi trong 65 mili giây Tấn công này yêu cầu kẻ tấn công có khả năng chạy chương trình trên chính hệ thống thực hiện mã hóa Có 3 phương pháp tấn công bên: 1 Tấn công thời gian: Quá trình triển khai các thuật toán mã hóa thường thực hiện tính toán trong khoảng thời gian không đổi, để tối ưu hóa... ShiftRows, MixColumns đã tạo ra tính chất khuếch tán cho thuật toán Mỗi cột được xem như một đa thức trong trường hữu hạn và được nhân với đa thức {\displaystyle c(x)=3x^{3}+x^{2}+x+2} {\displaystyle c(x)=3x^{3}+x^{2}+x+2} (modulo {\displaystyle x^{4}+1} {\displaystyle x^{4}+1}) Vì thế, bước này có thể được xem là phép nhân ma trận trong trường hữu hạn - Giải thích ví dụ: + Việc nhân matran được thực hiện

Ngày đăng: 20/10/2016, 23:16

TỪ KHÓA LIÊN QUAN

w