1. Trang chủ
  2. » Công Nghệ Thông Tin

Về một phương pháp xây dựng hệ mật mã lai ghép

5 10 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 698,68 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài toán logarit rời rạc là một trong các bài toán một chiều khó và cho đến nay vẫn chưa có thuật toán hiệu quả nào để giải bài toán logarit rời rạc tổng quát. Bài báo này đề xuất một phương pháp xây dựng một hệ mật mã khóa bí mật lai ghép sử dụng hệ mật Pohlig-Hellman kết hợp với sơ đồ Feistel, cùng với đó là một số đánh giá về tính khuếch tán của hệ mật đề xuất này. Mời các bạn cùng tham khảo!

Trang 1

Về Một Phương Pháp Xây Dựng

Hệ Mật Mã Lai Ghép

Nguyễn Toàn Thắng1, Ngô Đức Thiện2

1Nghiên cứu sinh, Học Viện Công Nghệ Bưu Chính Viễn Thông

2 Khoa Kỹ thuật Điện tử 1, Học Viện Công Nghệ Bưu Chính Viễn Thông

Email: thangnt20@gmail.com,thiennd@ptit.edu.vn

Tóm tắt— Cho đến nay các hệ mật khóa công khai thường

được xây dựng trên các bài toán một chiều, tức là việc tính xuôi

(hay mã hóa) khá đơn giản, còn tính ngược (hay thám mã) là rất

khó Bài toán logarit rời rạc là một trong các bài toán một chiều

khó và cho đến nay vẫn chưa có thuật toán hiệu quả nào để giải

bài toán logarit rời rạc tổng quát Bài báo này đề xuất một phương

pháp xây dựng một hệ mật mã khóa bí mật lai ghép sử dụng hệ

mật Pohlig-Hellman kết hợp với sơ đồ Feistel, cùng với đó là một

số đánh giá về tính khuếch tán của hệ mật đề xuất này.

Từ khóa— Mật mã khối, bài toán logarit rời rạc, hệ mật

Pohlig-Hellman, sơ đồ Feistel.

I MỞ ĐẦU Trong mô hình mật mã cổ điển, thì Alice (người gửi) và Bob

(người nhận) chọn một khoá 𝑘𝑘 bí mật nào đó; sau đó dùng 𝑘𝑘 để

tạo luật mã hoá 𝑒𝑒𝑘𝑘 và luật giải mã 𝑑𝑑𝑘𝑘, luật giải mã 𝑑𝑑𝑘𝑘hoặc giống

𝑒𝑒𝑘𝑘 hoặc dễ dàng nhận được từ nó Các hệ mật này được gọi là

mật mã khoá bí mật (hoặc mật mã khóa đối xứng), nếu để lộ 𝑘𝑘

thì hệ thống mất an toàn

Ý tưởng xây dựng một hệ mật khoá công khai (hay dùng

chung) là tìm một hệ mật không có khả năng tính toán để xác

định 𝑑𝑑𝑘𝑘 khi biết 𝑒𝑒𝑘𝑘 Nếu thực hiện được như vậy thì quy tắc mã

hóa 𝑒𝑒𝑘𝑘 có thể được công khai bằng cách công bố nó trong một

danh bạ (bởi vậy nên có thuật ngữ hệ mật khoá công khai) Ưu

điểm của hệ mật khoá công khai là ở chỗ Alice (hoặc bất kỳ ai)

có thể gửi một bản tin đã mã hóa cho Bob (mà không cần thông

tin trước về khoá mật) bằng cách dùng luật mã hóa công khai 𝑒𝑒𝑘𝑘

Người nhận Bob sẽ là người duy nhất có thể giải được bản mã

này bằng cách sử dụng luật giải bí mật 𝑑𝑑𝑘𝑘của mình

Ý tưởng về một hệ mật khoá công khai được Diffie và

Hellman đưa ra vào năm 1976 Còn việc hiện thực hoá nó thì do

Rivesrt, Shamir và Adleman đưa ra lần đầu tiên vào năm 1977,

họ đã tạo nên hệ mật nổi tiếng RSA [7]

Hàm mã khoá công khai 𝑒𝑒𝑘𝑘 của Bob phải là một hàm dễ tính

toán, song việc tìm hàm ngược (hàm giải mã) rất khó khăn (đối

với bất kỳ ai không phải là Bob) Đặc tính dễ tính toán này

thường được gọi là đặc tính một chiều, và điều kiện cần thiết là

𝑒𝑒𝑘𝑘phải là hàm một chiều (tính thuận đơn giản, nhưng tính ngược

rất khó) [1], [7]

Một trong các hàm một chiều được sử dụng nhiều trong các

hệ mật khóa công khai đó là bài toán logarit rời rạc [2], [7] Có

thể kể đến các hệ mật khóa công khai sử dụng bài toán này như:

trao đổi và thỏa thuận khóa Diffie-Hellman, hệ mật Omura-Massey, hệ mật và chữ ký số ElGamal

Cho đến này chưa có thuật toán hiệu quả nào để giải bài toán logarit rời rạc tổng quát Có nhiều thuật toán phức tạp, thường sinh ra từ những thuật toán tương tự như bài toán phân tích thừa

số, chúng chạy nhanh hơn các thuật toán thô sơ nhưng vẫn còn chậm hơn so với thời gian đa thức Có thể kể đến một số thuật toán như: Baby-step giant-step, Pollard, Pohlig-Hellman, COS, tính toán chỉ số (index calculus)

Với mục đích kết hợp ưu điểm của các hệ mật và sơ đồ mã hóa đã có, bài báo này đề xuất một phương pháp xây dựng hệ mật mã lai ghép, trong đó hàm mã hóa sử dụng phép mã hóa của

hệ mật Pohlig-Hellman và sơ đồ mã hóa theo mạng Feistel cân bằng Hệ mật mã lai ghép này bao gồm hai phép hoán vị và phép tính hàm mũ theo modulo

II BÀI TOÁN LOGARIT RỜI RẠC VÀ HỆ MẬT

POHLIG-HELLMAN

A Bài toán logarit rời rạc

Các phép tính logarit rời rạc là các phép logarit được thực hiện trên các nhóm nhân cyclic Nếu 𝐺𝐺 là một nhóm nhân cyclic

và 𝑔𝑔 là một phần tử sinh của 𝐺𝐺𝐺 thì theo tính chất của nhóm nhân cyclic, ta thấy rằng mỗi phần tử 𝑦𝑦 trong 𝐺𝐺 có thể được tính bằng

𝑔𝑔𝑥𝑥 với một giá trị 𝑥𝑥 nào đó Phép tính logarit rời rạc của 𝑦𝑦𝑦với

cơ số 𝑔𝑔 sẽ cho kết quả là 𝑥𝑥

Có thể tóm tắt bài toán logarit rời rạc như sau [1], [4]: Cho một vành số ℤ𝑝𝑝, theo [1] nếu 𝑝𝑝𝑦là nguyên tố thì ℤ𝑝𝑝là một trường (ℤ𝑝𝑝= 𝐺𝐺𝐺𝐺(𝑝𝑝)) Tập tất cả các phần tử khác không của trường sẽ tạo nên một nhóm nhân cyclic ℤ𝑝𝑝∗

 ℤ𝑝𝑝∗ = ℤ𝑝𝑝𝑦/{0} = {1𝐺2𝐺 … 𝐺 𝑝𝑝 𝑝 1} 

 Cho 𝑔𝑔 𝑔 ℤ𝑝𝑝∗ là một phần tử sinh của nhóm nhân

 Cho 𝑦𝑦 𝑔 ℤ𝑝𝑝∗, yêu cầu hãy tìm 𝑥𝑥 (nếu tồn tại) sao cho:

𝑔𝑔𝑥𝑥 = 𝑦𝑦, tức là: 𝑥𝑥 = 𝑥𝑥𝑥𝑔𝑔𝑦𝑦

Nhận xét: ∀𝑦𝑦 𝑔 ℤ𝑝𝑝∗ thì [1]:

 Bài toán có nghiệm khi 𝑔𝑔 là phần tử nguyên thủy

 Bài toán có thể không có nghiệm khi 𝑔𝑔 bất kỳ

Trang 2

Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)

Ví dụ: Xét 𝑝𝑝 𝑝 19 và 𝑔𝑔 𝑝 𝑔 là phần tử nguyên thủy của

nhóm nhân ℤ19∗ , ta có các giá trị 𝑔𝑡𝑡 và log2𝑡𝑡 như trong bảng I

(Chú ý, các phép tính đều lấy theo modulo của 19)

BẢNG I GIÁ TRỊ HÀM MŨ VÀ LOGARIT RỜI RẠC CƠ SỐ 2 CỦA CÁC PHẦN TỬ

TRONG NHÓM NHÂN ℤ 19∗

Từ bảng I ta nhận thấy cả hàm mũ và hàm logarit rời rạc đều

không phải hàm đồng biến, chúng đều là các hàm phi tuyến Kết

quả của hai hàm này khi đối số tăng là các giá trị có phân bố

ngẫu nhiên

Một số tính chất của hàm logarit rời rạc [1]

+ 𝑥𝑥 𝑝 log𝑔𝑔𝑏𝑏𝑏𝑏 𝑝 (log𝑔𝑔𝑏𝑏 𝑏 log𝑔𝑔𝑏𝑏𝑐𝑐o𝑐𝑐𝑝𝑝 𝑐 1

+ 𝑥𝑥 𝑝 log𝑔𝑔𝑏𝑏𝑐𝑐𝑝 (log𝑔𝑔𝑏𝑏 𝑐 log𝑔𝑔𝑏𝑏𝑐𝑐𝑐o𝑐𝑐𝑝𝑝 𝑐 1

+ log𝑔𝑔−1𝑦𝑦 𝑝 𝑐 log𝑔𝑔𝑦𝑦 𝑝 𝑝𝑝 𝑐 1 𝑐 log𝑔𝑔𝑦𝑦

+ log𝑔𝑔1𝑐 𝑝 0 𝑝 𝑝𝑝 𝑐 1

Bài toán logarit rời rạc không phải lúc nào cũng khó, độ khó

của nó phụ thuộc vào các nhóm nhân được lựa chọn

Ví dụ, các hệ mật dựa trên phép logarit rời rạc thường chọn

các nhóm nhân ℤ𝑝𝑝∗ trong đó 𝑝𝑝 là số nguyên tố lớn Tuy nhiên,

nếu 𝑝𝑝 𝑐 1 là tích của các số nguyên tố nhỏ, thì có thể sử dụng

thuật toán Pohlig - Hellman để giải bài toán logarit rời rạc rất

hiệu quả Vì thế người ta thường lựa chọn 𝑝𝑝 là số nguyên tố an

toàn, để thành lập nhóm nhân ℤ𝑝𝑝∗cho các hệ mật Một số nguyên

tố an toàn là một số nguyên tố có dạng 𝑝𝑝 𝑝 𝑔𝑞𝑞 𝑏 1, với 𝑞𝑞 là số

nguyên tố lớn Điều này đảm bảo 𝑝𝑝 𝑐 1 𝑝 𝑔𝑞𝑞 có phân tích thành

tích của các số nguyên tố lớn và không dễ dàng có thể giải được

bài toán logarit rời rạc bằng thuật toán Pohlig - Hellman [7]

B Hệ mật Pohlig - Hellman

Bài toán logarit rời rạc là bài toán khó, trong khi bài toán lũy

thừa rời rạc lại không khó (có thể tính bằng thuật toán nhân và

bình phương) Bài toán này cũng giống như bài toán phân tích

thừa số và phép nhân các số nguyên, đều có thể dùng để xây

dựng cấu trúc cho một hệ mật mã

Hệ mật Pohlig – Hellman cũng là một hệ mật sử dụng bài

toán logarit rời rạc, có thể tóm tắt hệ mật này như sau [3], [7]:

- Chọn 𝑝𝑝 là một số nguyên tố lớn

- Phép mã hóa thực hiện theo phương trình đồng dư sau:

- Phép giải mã được thực hiện theo phương trình sau:

Trong đó: 𝑐𝑐 là bản rõ; 𝑏𝑏 là bản mã; 𝑒𝑒 là số mũ mã hóa và 𝑑𝑑

là số mũ giải mã

Số mũ mã hóa 𝑒𝑒 (hay khóa) phải là số khả nghịch và do đó 𝑒𝑒 phải thỏa mãn điều kiện sau [6]:

Với 𝑒𝑒(𝑝𝑝𝑐 là hàm Phi-Euler, cách tính 𝑒𝑒(𝑝𝑝𝑐 có trong [7] Kết quả của hàm 𝑒𝑒(𝑝𝑝𝑐 cho ta biết số lượng các số nguyên tố cùng nhau với 𝑝𝑝

Do 𝑝𝑝 là số nguyên tố nên 𝑒𝑒(𝑝𝑝𝑐 𝑝 𝑝𝑝 𝑐 1, và như thế số mũ giải mã tương ứng 𝑑𝑑 được tính từ phép nghịch đảo của 𝑒𝑒𝑐𝑐o𝑐𝑐𝑒𝑒(𝑝𝑝𝑐 như sau [7]:

𝑑𝑑 𝑐 𝑒𝑒−1𝑐𝑐o𝑐𝑐𝑝𝑝 𝑐 1 𝑝 𝑒𝑒𝜑𝜑[𝜑𝜑(𝑝𝑝𝑐]−1𝑐𝑐o𝑐𝑐𝑝𝑝 𝑐 1

𝑝 𝑒𝑒𝜑𝜑(𝑝𝑝−1𝑐−1𝑐𝑐o𝑐𝑐𝑝𝑝 𝑐 1 

Hệ mật Pohlig – Hellman có thể sử dụng làm hệ mật khóa bí mật thông thường vì rất dễ xác định 𝑑𝑑 từ 𝑒𝑒 và 𝑝𝑝 Thậm chí nếu giữ bí mật 𝑝𝑝 thì nó có thể suy ra từ kích thước của khối bản mã III ĐỀ XUẤT MỘT PHƯƠNG PHÁP XÂY DỰNG

HỆ MẬT MÃ LAI GHÉP Trong phần này, chúng tôi đề xuất một hệ mật mã lai ghép

sử dụng hai phép mã hóa là hoán vị và lũy thừa Sơ đồ khối và

sơ đồ mã hóa chi tiết như mô tả trong hình 1 và hình 2

Lược đồ mã hóa của hệ mật thực hiện theo sơ đồ Feistel cân bằng [6] Các khâu IP và IP-1trong hình 2 là các bảng hoán vị

64 bit và như thế sẽ có tổng cộng 64!𝑐cách lựa chọn khác nhau Trong bài báo này chúng tôi chọn các bảng hoán vị theo cách của hệ mật DES, như trong bảng II và bảng III [6]

BẢNG II H OÁN VỊ BAN ĐẦU (IP)

BẢNG III H OÁN VỊ ĐẢO (IP -1 )

228 Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)

Trang 3

Mã hóa Bản rõ M

(64 bit) Khóa bí mật K (128 bit) Hình 1 Sơ đồ khối của hệ mật Bản rõ M ( 64 bits)

IP

L2 ( 32 bits) R2 ( 32 bits)

L0 ( 32 bits) R0 ( 32 bits)

R1 ( 32 bits)

L1 ( 32 bits)

L3 ( 32 bits) R3 ( 32 bits)

L4 ( 32 bits) R4 ( 32 bits)

IP-1 Bản mã C ( 64 bits)

e1

Hoán vị ban đầu

Hoán vị đảo

m1

f

e2

m2

f

e3

m3

f

e4

m4

f

Hình 2 Sơ đồ mã hóa của hệ mật

Sơ đồ mã hóa trải qua bốn vòng mã hóa với bốn khóa riêng

biệt 𝑒𝑒1, 𝑒𝑒2, 𝑒𝑒3 và 𝑒𝑒4 Việc lựa chọn số vòng mã hóa là do từng hệ

mật, ví dụ như DES là 16 vòng, thông thường số vòng mã hóa

liên quan đến độ khuếch tán của hệ mật Với hệ mật đề xuất này

thì chỉ cần 4 vòng mã hóa đã đạt độ khuếch tán đầu ra tốt

Mỗi vòng mã hóa thực hiện theo thuật toán sau:

 {𝐿𝐿𝑖𝑖𝑅𝑅 = 𝑅𝑅𝑖𝑖𝑖1⨁ 𝑒𝑒𝑖𝑖

𝑖𝑖= 𝐿𝐿𝑖𝑖𝑖1 ⨁ 𝑓𝑓𝑓𝑅𝑅𝑖𝑖𝑖1⨁𝑒𝑒𝑖𝑖, 𝑒𝑒𝑖𝑖) 

Chú ý, riêng vòng cuối cùng thuật toán mã hóa sẽ là:

 {𝐿𝐿4𝑅𝑅4= 𝐿𝐿3 ⨁ 𝑓𝑓𝑓𝑅𝑅3⨁𝑒𝑒4, 𝑒𝑒4)= 𝑅𝑅3⨁ 𝑒𝑒4   Hàm mã hóa 𝑓𝑓 sử dụng thuật toán mã hóa của hệ mật Pohlig – Hellman, thực hiện theo một trong hai cách sau:

Cách 1 sử dụng khóa làm số mũ mã hóa theo phương trình đồng dư sau:

 𝑐𝑐𝑖𝑖= 𝑓𝑓𝑓𝑚𝑚𝑖𝑖, 𝑒𝑒𝑖𝑖) ≡ 𝑚𝑚𝑖𝑖𝑒𝑒𝑖𝑖 mod 𝑝𝑝  Cách 2 sử dụng dữ liệu làm số mũ mã hóa như sau:

 𝑐𝑐𝑖𝑖= 𝑓𝑓𝑓𝑚𝑚𝑖𝑖, 𝑒𝑒𝑖𝑖) ≡ 𝑒𝑒𝑖𝑖𝑚𝑚𝑖𝑖 mod 𝑝𝑝  Trong đó: 𝑚𝑚𝑖𝑖= 𝑅𝑅𝑖𝑖𝑖1⨁𝑒𝑒𝑖𝑖 và 𝑒𝑒𝑖𝑖 lần lượt là dữ liệu đầu vào

mã hóa và khóa mã hóa tại bước thứ 𝑖𝑖; còn 𝑝𝑝 là một số nguyên

tố Tất cả 𝑝𝑝, 𝑚𝑚𝑖𝑖 và 𝑒𝑒𝑖𝑖đều có kích thước là 32 bit

Trong sơ đồ hình 2 tại vòng mã hóa thứ 𝑖𝑖, khối 32 bit của nửa phải ở bước 𝑖𝑖 − 1 (𝑅𝑅𝑖𝑖𝑖1) sẽ được cộng thêm với khóa 𝑒𝑒𝑖𝑖 trước khi đưa vào hàm 𝑓𝑓 Điều này là để tránh trường hợp khi bản rõ đầu vào 𝑀𝑀 chứa toàn bit "0" thì bản mã đầu ra 𝐶𝐶 cũng sẽ toàn là bit "0"

Các khóa con 𝑒𝑒𝑖𝑖 tại các vòng mã hóa được trích chọn từ khóa ban đầu 𝐾𝐾 (128 bit) Cách đơn giản nhất là chia 128 bit khóa thành 4 khối 32 bit tương ứng với 4 khóa 𝑒𝑒1, 𝑒𝑒2, 𝑒𝑒3 và 𝑒𝑒4, như

mô tả trong hình 3

e1(32bit) e2(32bit) e3(32bit) e4(32bit)

Khóa bí mật K (128 bits) Hình 3 Tách các khóa con 𝑒𝑒 𝑖𝑖 cho các vòng mã hóa

Do hệ mật sử dụng sơ đồ Feistel cân bằng nên sơ đồ giải mã

về cơ bản giống với sơ đồ mã hóa Ta thực hiện sơ đồ từ dưới đi lên, tức là thứ tự của các khóa sẽ đảo lại bắt đầu từ 𝑒𝑒4 và kết thúc

ở 𝑒𝑒1 Thuật toán giải mã ở mỗi vòng được thực hiện như sau:

{𝐿𝐿𝑖𝑖= 𝑅𝑅𝑖𝑖𝑖1⨁ 𝑓𝑓𝑓𝐿𝐿𝑖𝑖𝑖1, 𝑒𝑒𝑖𝑖) 𝑅𝑅𝑖𝑖= 𝐿𝐿𝑖𝑖𝑖1⨁ 𝑒𝑒𝑖𝑖  

Vì lý do mạch giải mã vẫn dùng các khóa bí mật 𝑒𝑒𝑖𝑖để giải

mã, nên ta không cần phải tính số mũ giải mã 𝑑𝑑𝑖𝑖, và như vậy các khóa 𝑒𝑒𝑖𝑖cũng không cần phải thỏa mãn biểu thức (4) Tức là có thể chọn 𝑒𝑒𝑖𝑖> 0 tùy ý, và hàm mã hóa 𝑓𝑓 có thể thực hiện theo hai cách như mô tả trong các biểu thức (8) và (9)

Tiến hành mô phỏng tính khuếch tán của hệ mật khi thay đổi

dữ liệu bản rõ 𝑀𝑀 và thay đổi khóa bí mật 𝐾𝐾, với các thông số mô phỏng được chọn như sau:

Bản rõ 𝑀𝑀 gồm 64 bit được chọn và biễu diễn dưới dạng hexa như sau [5]:

Trang 4

Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)

Khóa bí mật 𝐾𝐾 gồm 128 bit (32 số hexa) được chọn như sau:

 𝐾𝐾ℎ𝑒𝑒𝑒𝑒= 00112233445566778899AABBCCDDEEFF 

Hàm mã hóa 𝑓𝑓 là hàm mũ và tính toán theo giá trị nhị phân

Sử dụng thuật toán nhân và bình phương có thể dễ dàng thực

hiện các phép tính mũ theo modulo này [1]

Do yêu cầu số 𝑝𝑝 phải là một số lớn, trong bài báo để đơn giản

chúng tôi mới chỉ chọn số 𝑝𝑝 32 bit với bit MSB của 𝑝𝑝 có giá trị

là "1"; 𝑝𝑝 được chọn như sau:

𝑝𝑝𝑑𝑑𝑒𝑒𝑑𝑑= 3.541.619.869 

 ↔ 𝑝𝑝𝑏𝑏𝑏𝑏𝑏𝑏= 10111001001010110001100011001011 

Bảng IV là một vài kết quả tính toán khoảng cách Hamming

𝑑𝑑𝐻𝐻(𝐶𝐶0, 𝐶𝐶𝑏𝑏) của các cặp bản mã khi thay đổi lần lượt từng bit

trong 64 bit bản rõ ban đầu 𝑀𝑀 Khóa bí mật 𝐾𝐾 được giữ cố định

tại các bước mô phỏng [5] Hàm mã hóa 𝑓𝑓 trong sơ đồ mã hóa

thực hiện theo hai trường hợp: trường hợp 1 mã hóa theo biểu

thức (8) và trường hợp 2 mã hóa theo biểu thức (9)

Khoảng cách Hamming trung bình (hay là độ khuếch tán)

của 64 lần thay đổi bản rõ (lần lượt từ bit 1 đến 64) được tính

theo công thức sau:

 𝑑𝑑𝐻𝐻(𝑡𝑡𝑏𝑏)=641∑64 𝑑𝑑𝐻𝐻(𝐶𝐶0, 𝐶𝐶𝑗𝑗)

Với trường hợp 1 tính được:

Và trường hợp 2 là:

𝑑𝑑𝐻𝐻(𝑡𝑡𝑏𝑏)= 31,98 𝑏𝑏𝑏𝑏𝑏𝑏 

Bảng V là một vài kết quả tính toán khoảng cách Hamming

của các cặp bản mã khi thay đổi lần lượt từng bit khóa đầu vào

𝐾𝐾; Bản rõ 𝑀𝑀 được giữ cố định tại các bước mô phỏng [5], và

cũng xét hai trường hợp sử dụng hàm mã hóa 𝑓𝑓 như đề cập ở

trên

Chú ý, trong các bảng IV và bảng V các giá trị 𝑀𝑀𝑗𝑗, 𝐶𝐶 𝑗𝑗 và 𝐾𝐾𝑗𝑗

được biểu diễn theo dạng hexa; các ký tự hexa in đậm chứa các

bit đã được thay đổi so với ban đầu

Khoảng cách Hamming trung bình của các bản mã so với

bản mã ban đầu khi thay đổi lần lượt từng bit của khóa 𝐾𝐾 từ bit

1 đến bit 128 được tính theo công thức sau:

 𝑑𝑑𝐻𝐻(𝑡𝑡𝑏𝑏)=1281 ∑128𝑑𝑑𝐻𝐻(𝐶𝐶0, 𝐶𝐶𝑗𝑗)

Với hai trường trường hợp hàm mã hóa tính được như sau:

Với trường hợp 1: 𝑑𝑑𝐻𝐻(𝑡𝑡𝑏𝑏)= 28,25 𝑏𝑏𝑏𝑏𝑏𝑏 

 Và trường hợp 2: 𝑑𝑑𝐻𝐻(𝑡𝑡𝑏𝑏)= 28,23 𝑏𝑏𝑏𝑏𝑏𝑏 

BẢNG IV K HOẢNG CÁCH H AMMING CỦA MỘT VÀI CẶP BẢN MÃ KHI THAY

ĐỔI 1 BIT BẢN TIN RÕ 𝑀𝑀

Vị trí bit thay đổi 𝑗𝑗

Bản rõ 𝑀𝑀 𝑗𝑗 (16 số hexa

 64 bit)

Trường hợp 1:

Hàm mã hóa 𝑓𝑓(𝑚𝑚𝑏𝑏, 𝑒𝑒𝑏𝑏) = 𝑚𝑚𝑏𝑏𝑒𝑒 𝑖𝑖 mod 𝑝𝑝

Trường hợp 2:

Hàm mã hóa 𝑓𝑓(𝑚𝑚𝑏𝑏, 𝑒𝑒𝑏𝑏) = 𝑒𝑒𝑏𝑏𝑚𝑚 𝑖𝑖 mod 𝑝𝑝 Bản mã 𝐶𝐶𝑗𝑗 𝑑𝑑 𝐻𝐻 (𝐶𝐶 0 , 𝐶𝐶 𝑗𝑗 ) Bản mã 𝐶𝐶𝑗𝑗 𝑑𝑑 𝐻𝐻 (𝐶𝐶 0 , 𝐶𝐶 𝑗𝑗 ) Chưa

đổi 01234567 89ABCDEF 875A60A6 DD4861DC 0 01690489 53487B72 0

1 11234567

89ABCDEF 77AC3950 516F1AF3 38 715CCD70 CB949AD8 33

2 21234567

89ABCDEF 682D9393 6F019515 39 61B6C088 B42A86CC 35

30 01234565

89ABCDEF 194487F4 ED02549A 30 A9E0D179 09D4878F 36

31 01234563

89ABCDEF AB780035 2340FB9C 24 D287E92B 13414BC4 30

63 01234567

89ABCDEB 7EBC520B 23F17E6E 40 88B33D4B 0948EF31 25

64 01234567

89ABCDE7 C6FF5110 BA721B39 33 4E6BAC67 A5FCFB9B 31 BẢNG V K HOẢNG CÁCH H AMMING CỦA MỘT VÀI CẶP BẢN MÃ KHI THAY ĐỔI

1 BIT KHÓA BÍ MẬT 𝐾𝐾

Vị trí bit thay đổi 𝑗𝑗

Khóa bí mật 𝐾𝐾𝑗𝑗

(32 số hexa

 128 bit)

Trường hợp 1:

Hàm mã hóa 𝑓𝑓(𝑚𝑚 𝑏𝑏 , 𝑒𝑒 𝑏𝑏 ) = 𝑚𝑚𝑏𝑏𝑒𝑒 𝑖𝑖 mod 𝑝𝑝

Trường hợp 2:

Hàm mã hóa 𝑓𝑓(𝑚𝑚 𝑏𝑏 , 𝑒𝑒 𝑏𝑏 ) = 𝑒𝑒𝑏𝑏𝑚𝑚 𝑖𝑖 mod 𝑝𝑝 Bản mã 𝐶𝐶𝑗𝑗 𝑑𝑑 𝐻𝐻 (𝐶𝐶 0 , 𝐶𝐶 𝑗𝑗 ) Bản mã 𝐶𝐶𝑗𝑗 𝑑𝑑 𝐻𝐻 (𝐶𝐶 0 , 𝐶𝐶 𝑗𝑗 ) Chưa

đổi

00112233

44556677 8899AABB CCDDEEFF

875A60A6 DD4861DC 0 01690489 53487B72 0

1 10112233

44556677 8899AABB CCDDEEFF

C5C2F1B5 C80DB24F 26 7EBFDD39 5466507C 34

2 20112233

44556677 8899AABB CCDDEEFF

B40F8E3A 80BAE970 34 72405AD9 35379279 34

64 00112233

4455667F

8899AABB CCDDEEFF

F651D78C 988A9F2E 34 82732146 F87CD709 33

65 00112233

44556677

9899AABB

CCDDEEFF

FC8D4B5C 2BF6F0B5 41 1CC8A983 105E2A90 27

127 00112233

44556677 8899AABB

CCDDEEFB

865234A6 DC18249D 13 503150C8 121C2B32 19

128 00112233

44556677 8899AABB

CCDDEEF7

DA5F30A6 8C0C64DD 17 1D7C449D 174D7B67 16

230 Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)

Trang 5

Nhận xét về kết quả mô phỏng:

Một trong các yêu cầu khi đánh giá một hệ mật đó là tính

khuếch tán tại đầu ra Theo các kết quả mô phỏng ở (15), (16) ta

thấy độ khuếch tán đầu ra của hệ mật khi thay đổi một bit dữ liệu

của bản rõ đầu vào lần lượt là 31,84 bit và 31,98 bit (tương ứng

với hai kiểu mã hóa khác nhau), các giá trị này đạt xấp xỉ một

nửa độ dài từ mã (32 bit) Tương tự trong (18) và (19) độ khuếch

tán của hệ mật khi thay đổi một bit của khóa cũng đạt lần lượt là

28,25 bit và 28,23 bit Chỉ với 4 vòng mã hóa nhưng hệ mật đã

đạt độ khuếch tán rất tốt, đây chính là một ưu điểm đáng chú ý

của hệ mật này

IV. KẾT LUẬN

Hệ mật mã lai ghép như đề xuất trong bài báo bao gồm hai

Feistel), và phép mũ rời rạc theo hệ mật Pohlig - Hellman Hệ

mật này có một số ưu điểm sau: (a) Hàm mã hóa được thực hiện

trên bài toán logarit rời rạc nên hệ mật có tính phi tuyến, cùng

với độ dài khóa bí mật 128 bit nên hệ mật đạt được độ an toàn

nhất định; (b) Do sử dụng sơ đồ Feistel nên mạch mã hóa và giải

mã tương tự nhau rất thuận lợi cho việc thiết kế mạch phần cứng;

(c) Để hệ mật có độ khuếch tán đạt khoảng một nửa độ dài từ mã

thì hệ mật chỉ cần bốn vòng mã hóa điều này sẽ làm tăng đáng

kể tốc độ mã hóa

Với các ưu điểm này của hệ mật, chúng tôi nhận thấy hệ mật

này rất phù hợp để ứng dụng vào các lưu đồ thực hiện hàm băm

không khóa (MDC)

Để đơn giản, bài báo chỉ minh họa trường hợp số nguyên tố

݌ gồm 32 bit Ta hoàn toàn có thể tăng độ dài từ mã cũng như

độ dài khóa bằng cách tăng giá trị số ݌ lên để hệ mật an toàn hơn Tuy nhiên, khi chọn ݌ phải chú ý đến điều kiện số nguyên

tố an toàn như đã trình bày trong mục II.A ở trên

Trong khuôn khổ bài báo chỉ đề cập đến tính khuếch tán của

hệ mật, để đánh giá hoàn chỉnh hơn về hệ mật này cần có thêm các mô phỏng tính toán các phép tấn công khác nữa lên hệ mật

TÀI LIỆU THAM KHẢO [1] Nguyễn Bình, “Giáo trình Mật mã học”, Học viện Công nghệ Bưu chính Viễn thông, 2013.

[2] Nguyen Minh Trung, Nguyen Binh, “Some Hybrid Crypto Systems Constructed on Discrete Logarithm Problem”, The International Conference on Advanced Technologies for Communications (ATC) Hanoi, Vietnam, October, 2014.

[3] Mollin, Richard A., "An Introduction to Cryptography (2nd ed.)" Chapman and Hall/CRC, 2006.

[4] Frederik Vercauteren, “Discrete Logarithms in Cryptography”, ESAT/COSIC - K.U Leuven ECRYPT Summer School 2008.

[5] Jean-Yves Chouinard - ELG 5373, “Secure Communications and Data Encryption, School of Information Technology and Engineering”, University of Ottawa, April 2002.

[6] Pascal JUNOD, "Statistical Cryptanalysis of Block Ciphers", Thèse N 0

3179, Insitute de systèmes de communication, Ècole Polytechnique Fédérale de Lausanne, 2005

[7] A Menezes, P van Oorschot, and S Vanstone, "Handbook of Applied Cryptography", CRC Press, 1996

Ngày đăng: 27/04/2022, 10:10

HÌNH ẢNH LIÊN QUAN

BẢNG I. GIÁ TRỊ HÀM MŨ VÀ LOGARIT RỜI RẠC CƠ SỐ 2 CỦA CÁC PHẦN TỬ TRONG NHÓM NHÂN  ℤ 19∗ - Về một phương pháp xây dựng hệ mật mã lai ghép
2 CỦA CÁC PHẦN TỬ TRONG NHÓM NHÂN ℤ 19∗ (Trang 2)
BẢNG II. HOÁN VỊ BAN ĐẦU (IP) - Về một phương pháp xây dựng hệ mật mã lai ghép
BẢNG II. HOÁN VỊ BAN ĐẦU (IP) (Trang 2)
Hình 1. Sơ đồ khối của hệ mật Bản rõ  M ( 64 bits) - Về một phương pháp xây dựng hệ mật mã lai ghép
Hình 1. Sơ đồ khối của hệ mật Bản rõ M ( 64 bits) (Trang 3)
Hình 2. Sơ đồ mã hóa của hệ mật - Về một phương pháp xây dựng hệ mật mã lai ghép
Hình 2. Sơ đồ mã hóa của hệ mật (Trang 3)
Bảng IV làm ột vài kết quả tính toán khoảng cách Hamming  - Về một phương pháp xây dựng hệ mật mã lai ghép
ng IV làm ột vài kết quả tính toán khoảng cách Hamming (Trang 4)
Bảng V làm ột vài kết quả tính toán khoảng cách Hamming của các cặp bản mã khi thay đổi lần lượt từng bit khóa đầ u vào   - Về một phương pháp xây dựng hệ mật mã lai ghép
ng V làm ột vài kết quả tính toán khoảng cách Hamming của các cặp bản mã khi thay đổi lần lượt từng bit khóa đầ u vào (Trang 4)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm