Tính toán giá trị nhận thực sử dụng móc nối

Một phần của tài liệu luận văn thạc sĩ bảo mật truyền dữ liệu trong mạng 3g (Trang 65 - 67)

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

B2: 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 khóa 48 bit.

B3: Chia 48 bit của M thành hai nửa: K1 = 24 bit và Kr = 24 bit

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

B5: Thực hiện móc nối K1 với L0 thành một khối 88 bit: L0 || Kl = 88 bit B6: 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

B7: 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

B8: 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

B9: 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.

B10: 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.

B11: Cho kết quả ma trận P thực hiện việc hoán vị các bit tạo ra 4 khối 32 bit B12: Kết quả của chúng được cộng module-2 với nhau để trở thành một đầu ra 32 bit

B13: 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.

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

B15: 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

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.3Ghz) execution_timeTB = 0.2137 (s)

Hình 2.14: 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 luận văn thạc sĩ bảo mật truyền dữ liệu trong mạng 3g (Trang 65 - 67)