2.2.1.1. Hàm mũ rời rạc
Từ tập số thực, ta biết rằng các hàm mũ và hàm Logarit là hàm ngược của nhau nên chúng có thể tính nghiệm được cho nhau. Điều này dẫn tới việc chúng ta phải tin tưởng vào quan điểm này trong cấu trúc đại số. Như vậy, tuy rằng với các cấu trúc đại số thì ta có thể tính được nghiệm của hàm mũ, nhưng ta không thể biết được thuật toán được sử dụng để tính nghiệm của hàm Logarit.
Theo cách nói thông thường thì hàm f: X ->Y là hàm một chiều nếu tính toán theo chiều X->Y thì dễ nhưng khó tính theo chiều ngược lại. Và ta có định nghĩa hàm một chiều như sau :
Một hàm f: X->Y là hàm một chiều nếu f(x) có thể tính được nghiệm với mọi x Є X, nhưng hàm f-1(y) thì không thể tính được nghiệm với y ЄR Y.
Hình 2.1 :Mô tả hàm một chiều
Ví dụ như, ta có p là một số nguyên tố và g là một hàm sinh (hoặc là gốc)
của Z*
p . Khi đó:
Expp,g: Zp-1 →Zp*
x → gx
Mã hóa bảo mật trong Wimax Chương II : Các phương pháp mã hóa bảo mật
Hàm này được gọi là hàm mũ rời rạc dựa trên g. Nó được định nghĩa là
một đẳng cấu từ nhóm cộng (Zp-1, +) tới nhóm nhân (Zp*, .). Nghĩa là Expp,g (x+
y) = Expp,g(x) (.) Expp,g(y). Bởi vì, Exp p.g là một song ánh, nó có hàm ngược
được định nghĩa như sau:
Logp,g: Z* → Zp-1
x → loggx
Hàm này được gọi là hàm logarit rời rạc. Với mỗi x Є Z*
p, hàm logarit rời
rạc tính được logarit rời rạc của x dựa vào g, được kí hiệu là loggx . [10]
2.2.1.2. Hàm bình phương module
Tương tự như hàm mũ, hàm bình phương có thể tính được và kết quả của hàm ngược là các số thực, nhưng không biết cách để tính ngược trong nhóm
Cyclic. Nếu ví dụ như ta có Z*
n , sau đó các bình phương module có thể tính
được, nhưng các gốc của bình phương module thì chỉ tính được nếu tham số cơ
bản của n đã biết. Trong thực tế, có thể biểu diễn giá trị mà các gốc bình
phương module trong Zn* và hệ số n là các giá trị tính được. Do đó, hàm bình
phương module giống như hàm một chiều. Nhưng, hàm bình phương module (không khuôn dạng chung) không là hàm đơn ánh cũng không là hàm toàn ánh. Tuy nhiên, nó có thể là hàm đơn ánh hoặc toàn ánh (sẽ là song ánh) nếu domain và dải đều bị hạn chế (ví dụ như, tập các thặng dư bậc 2 hoặc các bình phương
module n, …) với n là số nguyên Blum. Khi đó hàm :
Square n : QR n → QR n
x → x 2
được gọi là hàm bình phương. Đây là một song ánh, và do đó, hàm ngược của nó là:
Sqrt n: QR n → QR n
x → x 1/2
được gọi là hàm gốc bình phương. Tương ứng mỗi phần tử trong tập QR n sẽ có
một phần tử của QR n . [10]
Mã hóa bảo mật trong Wimax Chương II : Các phương pháp mã hóa bảo mật
2.2.1.3. Bộ tạo bít ngẫu nhiên
Hình 2.2: Bộ tạo bít ngẫu nhiên
Tính ngẫu nhiên là một trong những thành phần cơ bản nhất và là điều kiện trước tiên của tính bảo mật trong một hệ thống bảo mật. Hiện nay, sự hình thành bảo mật và các giá trị ngẫu nhiên không đoán trước được (ví dụ như, các bít ngẫu nhiên hoặc các số ngẫu nhiên, …) là phần trọng tâm của hầu hết các vấn đề liên quan tới hệ thống mật mã. Ví dụ, khi xem xét hệ mật mã khóa bí mật, ta phải biết số lượng khóa bí mật được sử dụng. Ta cần phải có một bit ngẫu nhiên cho mọi bit khác mà ta muốn mã hóa.Còn khi xem xét mã hóa công khai thì ta cần biết số lượng bit ngẫu nhiên để tạo các cặp khóa công khai.
Một bộ tạo bit ngẫu nhiên là một thiết bị hoặc thuật toán mà đầu ra là một chuỗi các bit ngẫu nhiên và độc lập thống kê với nhau.
Các bộ tạo bít ngẫu nhiên có thể dựa trên phần cứng hoặc phần mềm. Trước tiên, ta cùng tìm hiểu về bộ tạo bit ngẫu nhiên dựa trên phần cứng, khai thác tính ngẫu nhiên của việc xuất hiện các phương pháp và hiện tượng vật lí. Một số phương pháp và hiện tượng như sau:
• Khoảng thời gian giữa các hạt phóng xạ trong quá trình phân rã phóng xạ.
• Tạp âm nhiệt từ điện trở và diode bán dẫn
• Tần số không ổn định trong máy dao động tần số chạy
• Giá trị của một tụ bán dẫn cách điện kim loại là độ tích điện trong một
chu kì cố định.
• Sự chuyển động hỗn loạn của không khí trong ổ đĩa kín là nguyên nhân
dẫn tới thăng giáng ngẫu nhiên trong từng sector của ổ đĩa đọc bị trễ.
• Âm thanh của microphone hoặc video mà đầu vào từ máy quay phim
Mã hóa bảo mật trong Wimax Chương II : Các phương pháp mã hóa bảo mật
Tất nhiên là, các phương pháp và hiện tượng vật lí khác có thể được sử dụng bởi các bộ tạo bít ngẫu nhiên dựa trên phần cứng. Bộ tạo bít ngẫu nhiên dựa trên phần cứng có thể dễ dàng tích hợp trong hệ thống máy tính hiện nay. Do bộ tạo bit ngẫu nhiên dựa trên phần cứng chưa được triển khai rộng rãi nên nó chỉ được sử dụng để phục vụ cho các nguồn mang tính ngẫu nhiên.
Việc thiết kế bộ tạo bít ngẫu nhiên dựa trên phần mềm là khó hơn so với thực hiện trên phần cứng. Một số phương pháp dựa trên các bộ tạo bít ngẫu nhiên dựa trên phần mềm là:
• Hệ thống đồng hồ
• Khoảng thời gian giữa phím gõ và di chuyển chuột
• Nội dung đầu vào/ đầu ra của bộ đệm
• Đầu vào cung cấp bởi người sử dụng
• Giá trị các biến hoạt động của hệ thống, cũng như tải trọng của hệ thống
hoặc thống kê mạng
Mặt khác, danh sách trên không phải là dành riêng mà nhiều các phương pháp khác cũng có thể sử dụng các bộ tạo bit ngẫu nhiên dựa trên phần mềm. Cũng như vậy, các phương pháp này phụ thuộc vào các hệ số khác nhau, như chủng loại máy tính, hệ điều hành, và phần mềm hiện tại mà máy tính sử dụng. Đây cũng là một vấn đề khó khăn để tránh sự tấn công từ các phương pháp điều khiển và quan sát. Ví dụ, nếu có một tấn công với ý tưởng thô là, khi có một chuỗi bít ngẫu nhiên vừa được tạo ra, thì kẻ tấn công sẽ đoán phần chính mà hệ thống đồng hồ tại thời điểm nào đó, một cách chính xác. Do đó, cần cẩn thận khi hệ thống đồng hồ và các số xác nhận của phương pháp đang dùng mà được sử dụng để tạo chuỗi bít ngẫu nhiên. Vấn đề đầu tiên xuất hiện vào năm 1995, khi mà tìm thấy mã hóa trong trình duyệt Netscape, có thể bị phá vỡ trong vòng mấy phút để giới hạn dải giá trị cung cấp bởi bộ tạo bit ngẫu nhiên. Bởi vì, các giá trị được sử dụng để tạo các khóa thực hiện không quá khó, thậm chí trình duyệt của U.S với 128 bits khóa mang chỉ 47 bits của entropy trong các khóa. Sau một khoảng thời gian ngắn, nhận thấy rằng Kerberos phiên bản 4 của viện công nghệ Massachusetts và cơ cấu tạo bánh cookie của hệ thống Windows X dần trở nên yếu.
Mã hóa bảo mật trong Wimax Chương II : Các phương pháp mã hóa bảo mật
Thỉnh thoảng, có một số vấn đề dùng cho các nguồn ngoài một cách ngẫu nhiên (ví dụ như, từ ngoài vào hệ thống máy tính thì cần tính ngẫu nhiên). Ví dụ, một nguồn điện áp có tính ngẫu nhiên thì khó đoán được trong thị trường chứng khoán. Tuy nhiên, có một số nhược điểm, ví dụ như, thỉnh thoảng khó dự đoán (như tai nạn xe,…), có thể điều khiển được (như, sự truyền lan các tin đồn hoặc sự sắp đặt lịch cho một kho giao dịch lớn) và điều này không thể bí mật được.
Có thể phán đoán rằng chiến lược tốt nhât cho việc đáp ứng yêu cầu của các bit ngẫu nhiên không thể đoán được trong tình trạng thiếu một nguồn tin cậy đơn là cách để tìm được đầu vào ngẫu nhiên từ một lượng lớn của các nguồn mà không tương quan tới nhau, và kết hợp chúng bằng một hàm trộn mạnh. Một hàm trộn mạnh, là một sự kết hợp của hai hoặc nhiều đầu vào và tìm một đầu ra mà bit đầu ra phải là một hàm phi tuyến phức của tất cả các bit đầu vào khác biệt hẳn. Trung bình cứ thay đổi một bit đầu vào sẽ thay đổi một nửa số bit đầu ra. Nhưng bởi vì quan hệ này là phức tạp và phi tuyến nên không riêng bit đầu ra nào được dám chắc sẽ thay đổi khi một số thành phần bit đầu vào đã thay đổi.
Một ví dụ đơn thuần như, một hàm mà cộng thêm vào 232 . Các hàm trộn mạnh
(với hơn 2 đầu vào) có thể được xây dựng để sử dụng trong các hệ thống mật mã khác, các hàm Hash mật mã hoặc các hệ mật mã đối xứng. [10].