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

Đồ án tốt nghiệp viết phương trình mã hóa văn bản XML

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 (616.49 KB, 23 trang )


TRƯỜNG ĐẠI HỌC HÀNG HẢI
KHOA CÔNG NGHỆ THÔNG TIN
ĐỂ TÀI
GIÁO VIÊN HƯỚNG DẪN: ThS.PHẠM TUẤN ĐẠT
GIÁO VIÊN PHẢN BIỆN: ThS.NGUYỄN HỮU TUÂN
SINH VIÊN THỰC HIỆN: HOÀNG VĂN ĐẠT
LỚP: CNT45DH

NỘI DUNG BÁO CÁO

Đặt vấn đề

Thuật toán AES

XML

Giới thiệu chương trình

Kết luận

ĐẶT VẤN ĐỀ
Với sự phát triển mạnh mẽ của Internet và nhu cầu chia sẽ thông tin ở
mọi nơi, từ nhiều nền khác nhau thì XML ngày càng được phát triển và đóng
một vai trò rất quan trọng trong việc tổ chức và chia thông tin. Có rất nhiều hệ
thống quản trị CSDL cỡ lớn đang hỗ trợ CSDL XML như: Oracle, IBM, MS
SQL, v.v…
Tuy nhiên một nhược điểm dễ thấy của CSDL XML đó là tính bảo mật.
Hầu hết các dữ liệu được tổ chức, lưu trữ và truyền tải trên nền XML đều ở
dưới dạng văn bản thuần túy (text base) nên rất dễ bị rò rỉ thông tin nếu ta
dùng XML để tổ chức và truyền tải cho những dữ liệu nhạy cảm.


Một yêu cầu được đặt ra là làm sao có thể bảo mật được thông tin khi
lưu trữ và truyền tải trền nền CSDL XML nhưng vẫn giữ được điểm mạnh
truyền thống vốn có của CSDL XML là dữ liệu vẫn được tổ chức dưới dạng
văn bản thuần túy (text base).

THUẬT TOÁN MÃ HÓA AES

AES (Advanced Encryption Standard)

Đối với thuật toán AES, độ dài của khối đầu vào, đầu ra và Trạng thái đều là
128 bít. Như vậy Nb=4 là số lượng các từ 32 bít (số cột) của Trạng thái.
Các byte đầu vào Mảng Trạng thái Các byte đầu ra
In0 in4 in8 in12 s0,0 s0,1 s0,2 s0,3 ou0 Out4 out8 out12
In1 in5 in9 in13 s1,0 s1,1 s1,2 s1,3 ou1 out5 out9 out13
In2 in6 in10 in14 s2,0 s2,1 s2,2 s2,3 ou2 out6 out10 out14
In3 in7 in11 in15 s3,0 s3,1 s3,2 s3,3 ou3 out7 out11 out15

THUẬT TOÁN MÃ HÓA AES
THUẬT TOÁN
Cipher(byte in[4,Nb], byte out[4,Nb], word w[Nb*(Nr+1)])
begin
Byte state[4,Nb]
state = in
AddRoundKey(state, w[0,Nb-1])
for round = 1 step 1 to Nr–1
SubBytes(state)
ShiftRows(state)
MixColumns(state)
AddRoundKey(state, w[round*Nb, (round+1)*Nb-1])
end for

SubBytes(state)
ShiftRows(state)
AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1])
out = state
end

THUẬT TOÁN MÃ HÓA AES
PHÉP BIẾN ĐỔI SUBBYTES()
16bb54b00f2d99416842e6Bf0d89a18cf
df2855cee9871e9b948ed9691198f8e1e
9e1dc186b95735610ef6034866b53e70d
8a8bbd4b1f74dde8c6b4a61c2e2578bac
08ae7a65Eaf4566ca94ed58d6d37c8e7b
79e4959162acd3c25c2406490a3a32e0a
db0b5ede14b8ee4688902a22dc4f81609
73195d643d7ea7c41744975fec130ccd8
d2f3ff1021dab6bcf5389d928f40a3517
a89f3c507f02f94585334d43fbAaefd06
cf584c4a39becb6a5bb1fc20ed00d1535
842fe329b3d63b52a05a6e1b1a2c83094
75b227ebe28012079a059618C323c7043
1531d871f1e5a534ccf73f362693fdb72
c072a49cAfa2d4adf04759Fa7dc982ca1
76abd7fe2b670130c56f6bf27b777c630x
fedcBa9876543210
y
16bb54b00f2d99416842e6Bf0d89a18cf
df2855cee9871e9b948ed9691198f8e1e
9e1dc186b95735610ef6034866b53e70d
8a8bbd4b1f74dde8c6b4a61c2e2578bac

08ae7a65Eaf4566ca94ed58d6d37c8e7b
79e4959162acd3c25c2406490a3a32e0a
db0b5ede14b8ee4688902a22dc4f81609
73195d643d7ea7c41744975fec130ccd8
d2f3ff1021dab6bcf5389d928f40a3517
a89f3c507f02f94585334d43fbAaefd06
cf584c4a39becb6a5bb1fc20ed00d1535
842fe329b3d63b52a05a6e1b1a2c83094
75b227ebe28012079a059618C323c7043
1531d871f1e5a534ccf73f362693fdb72
c072a49cAfa2d4adf04759Fa7dc982ca1
76abd7fe2b670130c56f6bf27b777c630x
fedcBa9876543210
y
HỘP S-BOX
Mỗi byte trong mảng trạng thái sẽ được thế bởi một giá trị
tương ứng trong bảng S-Box phía dưới

THUẬT TOÁN MÃ HÓA AES
PHÉP BIẾN ĐỔI SHIFTROWS()
Trong phép biến đổi ShiftRows(), các byte ở ba hàng cuối của Trạng
thái được dịch vòng theo số lượng byte khác nhau (các offset). Hàng
đầu tiên, r=0, không được dịch chuyển

THUẬT TOÁN MÃ HÓA AES
PHÉP BIẾN ĐỔI MIXCOLUMNS()
Mỗi cột của mảng trạng thái được nhân với 1 ma
trận cố định như hình dưới

THUẬT TOÁN MÃ HÓA AES

PHÉP BIẾN ĐỔI ADDROUNDKEY()

×