Modern stream cipher

3,559 views

Published on

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

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,559
On SlideShare
0
From Embeds
0
Number of Embeds
52
Actions
Shares
0
Downloads
175
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Modern stream cipher

  1. 1. Information Safe Confidentiality Modern cipherVan Hoang NguyenMail: startnewday85@gmail.comDepartment of Computer ScienceFaculty of Information Technology – Hanoi University of Agriculture.
  2. 2. Modern CiphersBlock cipher? Stream cipher?
  3. 3. Modern Stream cipher?
  4. 4. 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 ciphertextThường chỉ áp dụng cho symmetric stream cipher!
  5. 5. Stream cipherStream cipher gồm hai loại: • Symmetric Stream cipher - Synchronous - UnSynchronous - Periodic • Asymmetric Stream cipher - Blum-Goldwasser probabilistic publickey encryption.
  6. 6. Stream cipherKhi 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
  7. 7. 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
  8. 8. 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ỏi thời gian giải mã và mã hóa phải nhanh
  9. 9. 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
  10. 10. RC4• RC4 cho phép khóa K có cỡ từ 1 tới 256bytes(8-1024 bits)• RC4 sử dụng hai vector 256 bytes T là vector tạm thời và S là vector trạng thái• 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ã)
  11. 11. RC41. Khởi tạo vector S For i=0 to 255 do S[i]=i;2. Khởi tạo vector T For i=0 to 255 do T[i]=K[i mode keylen];3. Vector T được sử dụng để hoán vị S j=0; For i=0 to 255 do Begin j=(j+S[i]+T[i]) mode 256; swap(S[i],S[j]); End
  12. 12. RC4 4. Sinh keystream(ks) và mã hóa(giải mã): i,j=0; While (true) do Begin i=(i+1) mode 256;Mã hóa(giải mã) đơngiản là sử dụng ks để j=(j+S[i]) mode 256;xor với plaintext(ciphertext). swap(S[i],S[j]); t=(S[i]+S[j]) mode 256; ks=S[t]; End
  13. 13. Operation mode for block cipher
  14. 14. Operation mode for block cipher • Một chế độ thi hành là một kỹ thuật nằm nâng cao hiệ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 PUB 81 gồm có: - Electronic Code Book - ECB. - Cipher Block Chaining - CBC. - Cipher FeedBack - CFB. - Outer FeedBack - OFB. - Counter - CTR.
  15. 15. Electronic codebook ModeECB 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.
  16. 16. Electronic codebook ModeECB decryption:
  17. 17. Electronic codebook ModeNhận xét về ECB mode: • ECB về bản chất giống hệt với monoalphabetic cipher, chỉ có điều bảng chữ cái của ECB phức tạp hơn. • ECB dễ dàng bị phá nếu plaintext lớn và có tính cấu trúc rõ ràng. • Do đó mà ECB thường dùng để mã hóa những plaintext ngắn như khóa bí mật.
  18. 18. Cipher Block Chaining ModeCBC 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ã.
  19. 19. Cipher Block Chaining ModeCBC decryption:
  20. 20. Counter Mode CTR encryption: Counter ban đầu được khởi tạo một giá trị nào đó. Sau mỗikhối được mã hóa counter=counter+1 mod 2b với b là cỡ của block.
  21. 21. Counter ModeCTR decryption:
  22. 22. Counter ModeNhậ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ện song 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ể được tính trước => từ đó mà tốc độ mã hóa sẽ rất nhanh.
  23. 23. Counter ModeNhận xét về CTR 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.
  24. 24. Cipher FeedBack ModeCFB encryption:CFB sử dụng IV làm giá trị khởi tạo.
  25. 25. Cipher FeedBack ModeCFB decryption:
  26. 26. Outer FeedBack ModeOFB encryption:
  27. 27. Outer FeedBack ModeOFB decryption:
  28. 28. 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ỗitừ một lỗi trong quá trình truyền.

×