Transcript
Page 1: Modern stream cipher

Information Safe

Confidentiality

Van Hoang Nguyen

Mail: [email protected]

Department of Computer Science

Faculty of Information Technology – Hanoi University of Agriculture.

Modern cipher

Page 2: Modern stream cipher

Modern Ciphers

Block cipher?

Stream cipher?

Page 3: Modern stream cipher

Modern Stream cipher?

Page 4: Modern stream cipher

Stream cipher

• Stream cipher xử lý plaintext theo từng bits hoặctheo từng nhóm nhỏ(8bits)

• Stream cipher được xây dựng như sau:

- Khóa đóng vai trò làm input cho bộ sinh số ngẫu nhiên(PNG)

- Output của PNG được gọi là keystream

- Keystream được tổ hợp với plaintext để tạo thành ciphertext

Thường chỉ áp dụng cho symmetric stream cipher!

Page 5: Modern stream cipher

Stream cipher

Stream cipher gồm hai loại:

• Symmetric Stream cipher

• Asymmetric Stream cipher

- Synchronous

- UnSynchronous

- Periodic

- Blum-Goldwasser probabilistic publickey encryption.

Page 6: Modern stream cipher

Stream cipher

Khi thiết kế stream cipher ta cần lưu ýhai yếu tố sau:

• Tính ngẫu nhiên của PNG

• Key size

Page 7: Modern stream cipher

Stream cipher

• Nếu PNG thỏa mãn những yêu cầu đặt ratrong thiết kế thì tính an toàn của streamcipher là tương đương với block cipher

• Cài đặt của stream cipher thường đơn giảnvà chạy nhanh hơn block cipher

• Stream cipher cần tránh việc sử dụng lạikhóa

• Nếu có được những tính chất của plaintextthì stream cipher không được an toàn

Page 8: Modern stream cipher

Stream cipher

Ứng dụng của Stream cipher:

• Mã hóa các dữ liệu ngẫu nhiên

• Những ứng dụng tương tác đòi hỏithời gian giải mã và mã hóa phảinhanh

Page 9: Modern stream cipher

RC4• RC4 được thiết kế bởi RonaldRivest vào năm 1987

• Nền tảng của RC4 là phéphoán vị ngẫu nhiên

• RC4 có cấu trúc đơn giản; dễđể hiểu và phân tích

Ronald L. Rivest

Page 10: Modern stream cipher

RC4• RC4 cho phép khóa K có cỡ từ 1 tới 256 bytes(8-1024 bits)

• RC4 sử dụng hai vector 256 bytes

• RC4 hoạt động như sau:

1. Khởi tạo vector S

2. Khóa K được sử dụng để khởi tạo vector T

3. Vector T được sử dụng để hoán vị S

4. Thực hiện sinh keystream và mã hóa(giải mã)

T là vector tạm thời và S là vector trạng thái

Page 11: Modern stream cipher

RC41. Khởi tạo vector S

2. Khởi tạo vector T

3. Vector T được sử dụng để hoán vị S

For i=0 to 255 do S[i]=i;

For i=0 to 255 do T[i]=K[i mode keylen];

j=0;

For i=0 to 255 do

Begin

j=(j+S[i]+T[i]) mode 256;

swap(S[i],S[j]);

End

Page 12: Modern stream cipher

RC44. Sinh keystream(ks) và mã hóa(giải mã):

i,j=0;

While (true) do

Begin

i=(i+1) mode 256;

j=(j+S[i]) mode 256;

swap(S[i],S[j]);

t=(S[i]+S[j]) mode 256;

ks=S[t];

End

Mã hóa(giải mã) đơngiản là sử dụng ks đểxor với plaintext(ciphertext).

Page 13: Modern stream cipher

Operation mode forblock cipher

Page 14: Modern stream cipher

Operation mode for block cipher• Một chế độ thi hành là một kỹ thuật nằm nâng caohiệu quả của mật mã khối cho một loại ứng dụng cụthể.

• Các chế độ thi hành được định nghĩa trong FIPS PUB81 gồm có:

- Electronic Code Book - ECB.

- Cipher Block Chaining - CBC.

- Cipher FeedBack - CFB.

- Outer FeedBack - OFB.

- Counter - CTR.

Page 15: Modern stream cipher

ECB encryption:

ECB là chế độ đơn giản nhất – sử dụng cùng một khóa để mã hóa tất cả các khối của plaintext.

Electronic codebook Mode

Page 16: Modern stream cipher

ECB decryption:

Electronic codebook Mode

Page 17: Modern stream cipher

Electronic codebook Mode

Nhận xét về ECB mode:

• ECB về bản chất giống hệt với monoalphabeticcipher, chỉ có điều bảng chữ cái của ECB phức tạphơn.

• ECB dễ dàng bị phá nếu plaintext lớn và có tính cấutrúc rõ ràng.

• Do đó mà ECB thường dùng để mã hóa nhữngplaintext ngắn như khóa bí mật.

Page 18: Modern stream cipher

Cipher Block Chaining Mode

CBC encryption:

CBC sử dụng IV như một giá trị khởi tạo cho quá trình mã hóa và giải mã.

Page 19: Modern stream cipher

Cipher Block Chaining Mode

CBC decryption:

Page 20: Modern stream cipher

CTR encryption:

Counter ban đầu được khởi tạo một giá trị nào đó. Sau mỗi khối được mã hóa counter=counter+1 mod 2b với b là cỡ của

block.

Counter Mode

Page 21: Modern stream cipher

CTR decryption:

Counter Mode

Page 22: Modern stream cipher

Nhận xét về CTR mode:

• Hardware effeciency: CTR cho phép mã và giải mãcác khối một cách song song. CBC không thể thực hiệnsong song!

• Software effeciency: Do tận dụng được lợi thế xử lýsong song nên CTR sẽ chạy nhanh hơn.

• Xử lý: Nếu bộ nhớ cho phép và vẫn đảm bảo được sựan toàn thì các output của khối mã hóa có thể đượctính trước => từ đó mà tốc độ mã hóa sẽ rất nhanh.

Counter Mode

Page 23: Modern stream cipher

Counter Mode

• Cho phép truy nhập ngẫu nhiên các khối.

• Về tính an toàn CTR không mạnh như các chế độkhác.

• CTR có cài đặt tương đối đơn giản do mã và giải mã là như nhau.

Nhận xét về CTR mode:

Page 24: Modern stream cipher

CFB encryption:

CFB sử dụng IV làm giá trị khởi tạo.

Cipher FeedBack Mode

Page 25: Modern stream cipher

Cipher FeedBack Mode

CFB decryption:

Page 26: Modern stream cipher

OFB encryption:

Outer FeedBack Mode

Page 27: Modern stream cipher

OFB decryption:

Outer FeedBack Mode

Page 28: Modern stream cipher

Outer FeedBack Mode

• Về cơ bản OFB giống hệt với CFB.

• Cải tiến của OFB nhằm tránh việc phát triển lỗi từ một lỗi trong quá trình truyền.


Top Related