Modern stream cipher
Post on 12-May-2015
3256 Views
Preview:
DESCRIPTION
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