Kỹ thuật tạo khoá (I) và tính toán AUTHR

Một phần của tài liệu Đồ án tốt nghiệp bảo mật thông tin trong hệ thống di động w CDMA (Trang 72 - 79)

Kỹ thuật này đ−ợc ứng dụng trong thuật toán hiệu lệnh chung

Giả sử M1, M2, M3 là các dãy bit nhận đ−ợc từ việc chia giá trị 172 bit thành các dãy 48 bit, 64 bit, và 64 bit t−ơng ứng. Giá trị 172 bit là sự kết hợp 152 bit đầu vào (bao gồm RAND 32 bit, ESN 32 bit, MIN1 24 bit, và SSD-A 64 bit) với 24 bit 0 đ−ợc thêm vào.

Tạo khoá:

M1 = 48 bit sẽ đ−ợc sử dụng làm đầu vào của giai đoạn tạo khoá nh− sơ đồ thực hiện hình 5.15. Chúng ta sắp xếp 48 bit thành mảng 6 x 8 nh− hình 5.14

Quá trình này là b−ớc thực hiện hoán vị 48 bit đầu vào Ví dụ 1:

 Giả sử dãy dữ liệu M1 là 16c27a415f39 ( mã hexa) = 0001 0110 1100 0010 0111 1010 0100 0001 1111 0011 1001 (mã nhị phân)

Thực hiện hoán vị theo bảng 5.14 đối với M1 ta đ−ợc:

K = 0000 0001 1001 0101 1001 1101 0111 1000 0101 0111 1110 0100 (mã nhị phân) = 01959d7857e4 (mã hexa)

11 35 5 47 17 41 29 23 7 31 1 43 13 37 25 19 9 33 3 45 15 39 27 21 12 36 6 48 18 42 30 24 8 32 2 44 14 38 26 20 10 34 4 46 16 40 28 22

Hình 5.14: bảng sắp xếp các bit đầu vào của thuật toán tạo khoá

ở đây 48 bit khoá K đ−ợc tính bởi kỹ thuật tạo khoá (I) đ−ợc biểu diễn trong hình 5.15

Hình 5.15: Tính toán AUTHR (18 bit) cho hiệu lệnh chung

Sử lý các khối:

 Giả sử khối dữ liệu M2 (64 bit) là 1 7 b 4 3 9 a 1 2 f 5 1 c 5 a 8.

• Thuật toán IP

Đầu tiên khối dữ liệu M2 tr−ớc hết đ−ợc đ−a vào khối hoán vị ban đầu (IP) để chia thành hai khối L1 (trái) và R1 (phải), mỗi khối chứa 32 bit nh− đ−ợc chỉ ra trong bảng trong hình 5.16

Thực hiện hoán vị bằng bảng IP, qua xáo trộn chuỗi ban đầu trở thành hai chuỗi con nh− sau:

58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

Hình 5.16. bảng hoán vị ban đầu (IP)

• Tác động của hàm E

Đến đây L1 và R1 đ−ợc mở rộng thành 48 bit t−ơng ứng với bảng sau:

32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 Tr−ớc hết xét L1: Hình 5.17. bảng thực hiện mở rộng

E(L1) là một hàm nhận 32 bit đầu vào và tạo ra 48 bit đầu ra, theo bản trên ta tính đ−ợc: E(L1) = b 0 0 1 0 e a a 6 b f a

• Thực hiện cộng khoá K

Khi E(L1) đã đ−ợc tính toán xong nó sẽ cộng tuyệt đối bit – bit với khoá K nh− sau: Г1 (48 bit) = E(L1) ⊕ K = (b19493d23c1e)

• Hoạt động của S-box

48 bit Г1 trở thành đầu vào của bộ thay thế không tuyến tính để tạo ra 32 bit ở đầu ra. Véc tơ 48 bit Г1 trở thành thông số đầu vào cho (S – box)1 từ S1 đến S8. Với mỗi Si trong đó 1 ≤ i ≤ 8 là các ma trận 4 hàng và 16 cột đ−ợc biểu diễn trong bảng chuyển

đổi S_box ở hình 4.5. Đầu vào Si là sự kết hợp 6 bit, trong đó bit đầu và bit thứ sáu là để hợp thành số chỉ hàng, còn 4 bit giữa để chỉ số cột trong bảng. Ví dụ đối với đầu vào là 010011 đến S1, đ−ợc chỉ ra là Si01 (1001) , hàng 01 hay là hàng 1 và chỉ số cột là 1001 có nghĩa là cột 9.

Cấu tạo của bảng S_box đã đ−ợc nêu trong ch−ơng 4 hình 4.5 phần thuật toán DES

Г1 (48 bit) = b 1 9 4 9 3 d 2 3 c 1 e trong hệ nhị phân là: 1011 0001 1001 0100 1001 0011 1101 0010 0011 1100 0001 1110 Nhóm thành các nhóm 6 bit là:

101100 011001 010010 010011 110100 100011 110000 011110 Dễ dàng tính đ−ợc đầu ra dựa vào bảng S- (adsbygoogle = window.adsbygoogle || []).push({});

box 10 2 S1 (0110) = S1 (6) = 2 = 0010 01 1 S2 (1100) = S2 (12) = 6 = 0110 00 0 S3 (1001) = S3 (9) = d = 1101 01 1 S4 (1001) = S4 (9) = 7 = 0111 10 2 S5 (1010) = S5 (10) = c = 1100 11 3 S6 (0001) = S6 (1) = 3 = 0011 10 2 S7 (1000) = S7 (8) = a = 1010 00 0 S8 (1111) = S8 (15) = 7 = 0111

Móc nối tất cả các số 4 bit này ta sẽ đ−ợc một tr−ờng 32 bit Ω1: Ω1 = 0010 0110 1101 0111 1100 0011 1010 0111 = 26d7c3a7

• Tác động của hàm P

Ω1(32 bit) trở thành đầu vào của thuật toán P, thuật toán P hoán vị vị trí các bit trong Ω1 theo bảng 5.18

Kết quả là đầu ra của phép hoán vị theo ma trận P:

P(Ω1) = 1100 01 1 0110 0111 0011 1111 0011 0001 = c5673f31 Tiếp theo ta xét đến khối R1(32 bit) .

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 Hình 5.18. Ma trận P

• Cộng tuyệt đôi với khoá K tạo thành 48 bit

Г2 = E(R1) ⊕ K = e4c16032d747

• Chia thành 8 bộ 6 bit cho vào tr−ờng (S-box)2 , xét t−ơng tự nh− trên đầu ra của (S-box)2 sẽ là: Ω2= a30abf88

• Tính P(Ω2)

Sử dụng bảng hàm hoán vị P 5.18 ta đ−ợc P(Ω2) = 79e06c9

Nh− vậy hai khối dữ liệu hoán vị P(Ω1) và P(Ω2) t−ơng ứng với khối dữ liệu M2 đã đ−ợc tính toán.

 Giả sử rằng khối dữ liệu M3 (64 bit) là 51cb36af3000000 . Thực hiện tất cả các b−ớc t−ơng tự nh− trên:

• Sử dụng bảng hoán vị ban đầu chuỗi bit M3 sẽ bị hoán vị thành 13050c1ba0c0a1e, trong đó L2 = 13050c1b và R2 = 0a0c0a1e.

• Cả L2 (nửa bên trái) và R2 (nửa bên phải) của M3 đều đ−ợc mở rộng từ 32 bit thành 48 bit dựa và bảng mở rộng bit phía trên, theo đó:

E(L2) = 8a680a8580f6

• Sau đó E(L2) hoặc E(R2) cộng trực tiếp với khoá K đã đ−ợc tạo ra ở trên: Г3 = E(L2) ⊕ K = (8bfd97fdd712)

• 48 bit này là đầu vào của (S-box)3. Hoạt động của (S-box)3 t−ơng tự nh− trên Bảo mật trong hệ thống di động WCDMA

đầu ra của (S-box)3 nh −sau: Ω3 = 19cc3369

• Sau đó Ω3 hoán vị tạo ra 32 bit từ 32 bit đầu vào theo bảng hàm hoán vị P ta thu đ−ợc kết quả:

P(Ω3) = 28397dc2

Cuối cùng đối với R2 = 0a0c0a1e là kết quả nhận đ−ợc từ sự hoán vị ban đầu của M3.

• Mở rộng : dựa vào bảng mở rộng bit phía trên ta có: E(R2) = 0540580540fc

• Cộng tuyệt đối

Г4 = E(R2) ⊕ K = 04d5c57d718

• Cho kết quả thu đ−ợc vào bảng S ta thu đ−ợc: Ω4 = 08eb665

• Hoán vị Ω4 bằng ma trận P ta đ−ợc: P(Ω4) = 807d0dec

Nh −vậy chúng ta đã tính đ−ợc 4 dãy số riêng lẻ P(Ω1), P(Ω2), P(Ω3) và P(Ω4). Chúng ta tiến hành ghép 4 dãy số riêng lẻ này thành một dãy số duy nhất nh −sau:

P(Ω) = P(Ω1) | | P(Ω2) | | P(Ω3) | | P(Ω4). (adsbygoogle = window.adsbygoogle || []).push({});

P(Ω) = (c5673f31) | | (79e06c9) | | (28397dc2) | | (807d0dec)

Cuối cùng 18 bit dữ liệu nhận thực đ−ợc tính toán từ 128 bit trên bằng cách lấy bit thứ 7 của mỗi nhóm 7 bit

AUTHR = 011111000011000101.

Ch−ơng trình mô phỏng đ−ợc biểu diễn trong đĩa CD kèm theo tài liệu.

B. Tính toán giá trị nhận thực sử dụng móc nối, hoán vị, và thay thế (S –box)

Nh− mô tả d−ới đây, thủ tục tính toán đ−ợc thực hiện thứ tự nh− sau: 1. Mở rộng 152 bit thành 176 bit bằng cách cộng thêm 24 bit 0.

2. Chia 176 bit trên thành 3 khối: M1 = 48 bit, M2 = 64 bit, và M3 = 64 bit. Sử dụng M1 nh− một khoá 48 bit

3. Chia 48 bit của M1 thành hai nửa : Kl = 24 bit và Kr = 24 bit

4. Thực hiện hoán vị ban đầu (IP) các khối M2 và M3 để trở thành L0 và R0

t−ơng ứng, nh− vậy L0 = 64 bit và R0 = 64 bit

5. Thực hiện móc nối Kl với L0 thành một khối 88 bit: L0 || Kl = 88 bit

6. Thực hiện móc nối kết quả thu đ−ợc từ phép móc nối trên với R0 theo trật tự: L0 || Kl || R0 €152 bit

7. Thực hiện móc nối kết quả thu đ−ợc từ b−ớc 6 với Kr giống nh −

sau: L0 || Kl || R0 || Kr €176 bit

8. Chia 176 bit thu đ−ợc từ trên thành 4 phần:

N1 = 32 bit, N2 = 48 bit, N3 = 48 bit, N4 = 48 bit

9. Mở rộng 2 bit N1 thành E(N1) = 48 bit bằng cách sử dụng bảng mở rộng bit đã nêu ở trên.

10.Thực hiện biến đổi 4 khối trên qua S – box, kết quả tạo thành 4 khối 32 bit 11. Cho kết quả qua ma trận P thực hiện việc hoán vị các bit tạo ra 4 khối 32 bit 12. Kết quả của chúng đ−ợc cộng modulo -2 với nhau để trở thành một đầu ra

32 bit.

13. Thực hiện cho 32 bit làm đầu vào của thuật toán hoán vị dùng ma trận P để có đầu ra là một khối 32 bit

14. Thực hiện mở rộng bằng ma trận mở rộng E tạo ra khối 48 bit

15. Cuối cùng 48 bit, bỏ 6 bit có trọng số cao nhất và 6 bit có trọng số nhỏ nhất và chọn (cứ hai bit thì lấy một bit) để trở thành AUTHR 18 bit.

Ch−ơng trình thực hiện mô phỏng đ−ợc trình bày trong phần phụ lục

Với ví dụ: Các khối đầu vào M1 = 16c27a415f39, M2 = 17b439a12f51c5a8, M3 = 51cb36af43000000

Sau các b−ớc thực hiện đã cho ta kết quả cuối cùng: AUTHR = 110011101100000001

Ch−ơng trình này cho kết quả tính toán (với máy Pentium IV, tốc độ 1.3 Ghz) execution_timeTB = 0.2137 (s)

Hình 5.19.Sơ đồ thực hiện tính toán AUTHR với kỹ thuật móc nối, thay thế, và hoán vị

Một phần của tài liệu Đồ án tốt nghiệp bảo mật thông tin trong hệ thống di động w CDMA (Trang 72 - 79)