modern stream cipher

Post on 12-May-2015

3.256 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Modern cipher include block ciphers and stream ciphers. This slide describe basic principles in building symmetric stream ciphers.

TRANSCRIPT

Information Safe

Confidentiality

Van Hoang Nguyen

Mail: startnewday85@gmail.com

Department of Computer Science

Faculty of Information Technology – Hanoi University of Agriculture.

Modern cipher

Modern Ciphers

Block cipher?

Stream cipher?

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!

Stream cipher

Stream cipher gồm hai loại:

• Symmetric Stream cipher

• Asymmetric Stream cipher

- Synchronous

- UnSynchronous

- Periodic

- Blum-Goldwasser probabilistic publickey encryption.

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

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

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

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

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

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

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).

Operation mode forblock 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.

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

ECB decryption:

Electronic codebook Mode

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.

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ã.

Cipher Block Chaining Mode

CBC decryption:

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

CTR decryption:

Counter Mode

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

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:

CFB encryption:

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

Cipher FeedBack Mode

Cipher FeedBack Mode

CFB decryption:

OFB encryption:

Outer FeedBack Mode

OFB decryption:

Outer FeedBack Mode

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