Tải bản đầy đủ (.ppt) (39 trang)

Báo cáo tốt nghiệp nghiên cứu và đánh giá các đặc trưng thống kê thuật toán mã hóa CRYPT(D) 64

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.11 MB, 39 trang )

06/19/14
BÁO CÁO TỐT NGHIỆP
Đề tài
Nghiên cứu và đánh giá các đặc trưng thống
kê thuật toán mã hóa CRYPT(D) 64
Giáo viên hướng dẫn:
06/19/14
Nội dung chính

Đặt vấn đề

Cơ sở xây dựng thuật toán CRYPT(D) 64

Thuật toán CRYPT(D) 64

Các đặc trưng thống kê của CRYPT(D) 64
06/19/14
Đặt vấn đề

Trước các yêu cầu về bảo mật thông tin thì việc cho ra
đời các thuật toán bảo mật là một tất yếu.

Hiện nay có rất nhiều thuật toán mã hóa đang được sử
dụng, như mã hóa cổ điển, mã hóa công khai, mã hóa
DES,…

Hiện nay họ thuật toán CRYPT (D) hiện đang được
nghiên cứu và ứng dụng.

Trong phạm vi của đồ án của mình thì em xin trình bày
về thuật toán và các đặc trưng thống kê của nó.


06/19/14

Thuật toán mới CRYPT(D)-64 được thiết kế cho việc
mã hoá các khối dữ liệu có độ dài 64-bit, sử dụng khoá
mật 128-bit và 256-bit.

Thuật toán được xây dựng trên cơ sở kết hợp mạng
chuyển vị - thay thế điều khiển được CSPN (Controlled
Substitution-Permutation Network) với mạng chuyển vị
- thay thế cố định SPN (Substitution-Permutation
Network).

Để thuật toán có tốc độ thực hiện cao và tích hợp hiệu
quả trên VLSI như ASIC/FPGA, việc xây dựng CSPN
sẽ được thực hiện trên phần tử điều khiển được - CE
(Controlled Element) có kích thước tối thiểu F2/1 .
Đặt vấn đề
06/19/14

Các đặc trưng thống kê là yếu tố quyết định tạo nên độ bền
vững của thuật toán mật mã khối (block cipher), việc đánh
giá các đặc trưng thống kê là một yêu cầu cần thiết khi thiết
kế một thuật toán mới.

Thuật toán CRYPT(D)-64 được thiết kế cho mục đích cài đặt
trên thiết bị phần cứng như ASIC/FPGA, đáp ứng cho các
yêu về thiết kế - chế tạo các thiết bị bảo mật thông tin trong
nước, phục vụ trong lĩnh vực An ninh - Quốc phòng cũng
như trong các lĩnh vực hoạt động Kinh tế - Xã hội khác.


Kết quả đánh giá các đặc trưng thống kê của CRYPT(D)-64
là điều kiện cần bảo đảm cho thuật toán có thể sử dụng
được trong các ứng dụng thực tế.
Đặt vấn đề
06/19/14
Cơ sở xây dựng thuật toán
Thuật toán CRYPT (D) được xây dựng trên
cơ sở kết hợp hai mạng:

Mạng chuyển vị thay thế cố định SPN

Mạng chuyển vị thay thế điều khiển được
CSPN
06/19/14
SPN
Cấu trúc của mạng chuyển vị thay thế cố định:

Các hộp thay thế S (substitution boxes)

Các hộp hoán vị P (permutation boxes)
06/19/14
SPN
06/19/14
SPN – Hộp S

Hộp thay thế thuận
06/19/14
SPN – Hộp S

Hộp S nghich đảo:

06/19/14
SPN – Hộp P

Hộp P chính là các phương pháp để đảo trật tự
làm cho đầu ra của tầng trước không vào đầu
vào của tầng sau một cách trực tiếp ta có thể
mô tả hộp P như sau:
06/19/14
CSPN
Cấu tạo chung của mạng thay thế điều khiển được

Cấu trúc của các phần tử điều chỉnh cơ sở CE
(Controlled element) hay còn gọi là các hộp điều
chỉnh cơ sở.

Cấu trúc của mạng thay thế điều được từ các
phần từ điều khiển được PN (Permutation
Network)
06/19/14
SPN - CE

Cấu trúc của một CE cụ thể.
06/19/14
CSPN - CE

Các cấu trúc của mạch để xây dựng CE
06/19/14
CSPN - CE
06/19/14
CSPN - Pn/m


Pn/m thuận

Pn/m nghịch
)(
12
)2(
1
)1()(
/

Vs
s
VVV
mn
LLLP

=
πππ

)1(1
1
1
2
)1(
1
1
)(
)(
/


V
s
Vs
ns
Vs
n
V
mn
LLLP




−−




=
πππ
06/19/14
Thuật toán CRYPT(D)

Sơ đồ thuật toán:
06/19/14
Khối toán tử F32/112 thuận
06/19/14
Khối toán tử F32/112 nghịch đảo
06/19/14

Khối toán tử F16/16
06/19/14
Các hoán vị cố định

I0= (1)(2,5)(3,17)(4,21)(6)(7,18)(8,22)(9)(10,13)
(11,25)(12,29)(14)(15,26)(16,30)(19)(20,23)
(24)(27)(28,31)(32)

I1 = (1)(2,9)(3,17)(4,25)(5)(6,13)(7,21)(8,29)(10)
(11,18)(12,26)(14)(15,22)(16,30)(19)(20,27)
(23)(24,31)(28)(32)

I2 = (1)(2,5)(3,9)(4,13)(6)(7,10)(8,14)(11)(12,15)(16)
06/19/14
Hộp mở rộng E

Vector điều khiển V và V

tương ứng với các
khối toán tử F64/192 và hôp F64/192 nghịc đảo được
hình thành với sự trợ giúp của khối mở rộng E

E(X) = V = (V1, V2, V3, V4, V5, V6, V7 )

Với V1 = (x0 x15), V2 = (x16…x31),
V3 = (x5 x20), V4 = (x10 x25),
V5 = (x30 x31, x0 x13), V6 = (x18 x31, x0 x1),
V7 = (x6…x31).

Vector điều khiển (V1, Z1) của toán tử F16/16

V1 = (x0, …, x15), Z1 = (x16, …, x31).
06/19/14
Thời gian biểu sử dụng khóa

Với phương án khoá mật 128-bit, các khóa con
Ki ∈ {0, 1} , ∀i = 1, 2, , 4 được lựa chọn trực
tiếp từ khóa bí mật:K = {K1, K2, K3, K4} 128-
bit Các khóa vòng Qj (khi mã hóa) và Q

j (khi
giải mã)

Phương án sử dụng khoá mật 256-bit: K =
{K1, K2, …, K8}, các khoá con: Ki ∈ {0, 1} ,
∀i = 1, 2, , 8 cũng được lựa chọn từ khoá mật
256-bit, các khoá vòng Qj (khi mã hóa) và Q

j
(khi giải mã)
06/19/14
Thời gian biểu sử dụng khóa

Sơ đồ sử dụng khóa 128-bit

Sơ đồ sử dụng khóa 256-bit
06/19/14
Cấu trúc chương trình

Thuật toán mã hóa CRYPT(D)-64 được thể
hiện như sau:


1. For j = 1 to 7 do:
{(L, R) ← Crypt(L, R, Qj ); (L, R) ← (R, L)}.

2. (L, R) ← Crypt( L, R, Q8).

3. (L, R) ← (L ⊕ Q9, R ⊕ Q9).

×