Bài Tập Blockchain & Sổ Cái Phân Tán: Mã Hóa - ĐH Tôn Đức Thắng

Bài tập môn Blockchain & Công nghệ sổ cái phân tán: Cryptography and Technical Foundations. Tài liệu ôn tập, củng cố kiến thức về blockchain.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Bài Tập Quá Trình

2023

63
0
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN

TÓM TẮT

1. CHƯƠNG 1: GIỚI THIỆU

1.1. Mục tiêu và ý nghĩa của báo cáo

2. CHƯƠNG 2: NỘI DUNG

2.1. Khái niệm

2.2. Mật mã đối xứng

2.3. Mật mã bất đối xứng

2.4. Các thuật toán liên quan đến mã hóa

2.4.1. Thuật toán RSA

2.4.1.1. Lịch sử phát triển (1)
2.4.1.2. Định nghĩa thuật toán (2)
2.4.1.3. Nguyên tắc hoạt động
2.4.1.4. Tầm quan trọng của thuật toán (3)

2.4.2. Thuật toán Triple DES (3DES)

2.4.2.1. Lịch sử phát triển
2.4.2.2. Định nghĩa thuật toán (5)
2.4.2.3. Nguyên tắc hoạt động
2.4.2.4. Tầm quan trọng của thuật toán
2.4.2.5. Tầm quan trọng của thuật toán

2.4.3. Thuật toán AES

2.4.3.1. Lịch sử phát triển
2.4.3.2. Định nghĩa thuật toán
2.4.3.3. Tầm quan trọng của thuật toán
2.4.3.4. Nguyên tắc hoạt động

2.4.4. Thuật toán blowfish

2.4.4.1. Lịch sử phát triển
2.4.4.2. Định nghĩa thuật toán
2.4.4.3. Tầm quan trọng của thuật toán
2.4.4.4. Nguyên tắc hoạt động

2.4.5. Thuật toán SHA

2.4.5.1. Lịch sử phát triển
2.4.5.2. Định nghĩa thuật toán
2.4.5.3. Tầm quan trọng của thuật toán
2.4.5.4. Nguyên tắc hoạt động

2.4.6. Thuật toán ECC

2.4.6.1. Lịch sử phát triển
2.4.6.2. Định nghĩa thuật toán
2.4.6.3. Tầm quan trọng của thuật toán
2.4.6.4. Nguyên tắc hoạt động

2.5. Công nghệ chữ ký số

3. CHƯƠNG 3: NGHIÊN CỨU THỰC NGHIỆM

3.1. Mật mã đối xứng

3.2. Mật mã bất đối xứng

3.3. Xác thực chữ ký điện từ với Elliptic Curve (ECDSA)

4. CHƯƠNG 4: KẾT LUẬN

Tóm tắt

I. Blockchain Là Gì Tổng Quan Về Công Nghệ Sổ Cái Phân Tán

Kể từ khi xuất hiện vào năm 2009, công nghệ blockchain đã làm thay đổi cách chúng ta hiểu về quá trình giao dịch và lưu trữ dữ liệu trực tuyến. Được tạo ra bởi một người (hoặc nhóm người) ẩn danh dưới bí danh Satoshi Nakamoto, blockchain là một hệ thống sổ cái phân tán dùng để ghi lại các giao dịch một cách an toàn và không thể sửa đổi. Điều này đã thúc đẩy sự phát triển của nhiều ứng dụng mới trong các lĩnh vực như tài chính, y tế, chuỗi cung ứng, và nhiều lĩnh vực khác. Trong bối cảnh đầy thách thức và cơ hội này, nghiên cứu này tập trung vào việc nghiên cứu và thảo luận về các kỹ thuật mã hóa trong blockchain. Mã hóa là một yếu tố cốt lõi trong bảo mật của blockchain, đóng vai trò quan trọng trong việc bảo vệ tính toàn vẹn của dữ liệu và đảm bảo tính riêng tư của người dùng. Mục tiêu là hiểu rõ các nguyên tắc cơ bản của mã hóa, xem xét các phương pháp mã hóa phổ biến được sử dụng và đánh giá tầm quan trọng của mã hóa đối với tính bảo mật của blockchain và các ứng dụng của nó.

Blockchain là một chuỗi các khối dữ liệu, mỗi khối chứa thông tin về các giao dịch và liên kết đến khối trước đó. Chuỗi này được bảo mật bằng mật mã học, đảm bảo tính bất biếntính xác thực của dữ liệu. Sổ cái phân tán là một bản sao của blockchain được lưu trữ trên nhiều máy tính (nút mạng) khác nhau. Điều này giúp tăng cường tính minh bạch và khả năng chống lại sự kiểm duyệt. Các ứng dụng của blockchain rất đa dạng, từ tiền điện tử như BitcoinEthereum đến các ứng dụng phi tập trung (dApps), hợp đồng thông minh, DeFi, NFT, và Web3. Công nghệ blockchain đang định hình lại cách chúng ta tương tác với thế giới kỹ thuật số.

1.1. Kiến trúc của Blockchain và Sổ Cái Phân Tán

Kiến trúc của blockchain bao gồm các thành phần chính như khối dữ liệu, chuỗi liên kết, mật mã học, cơ chế đồng thuận, và mạng lưới phân tán. Mỗi khối chứa thông tin về giao dịch, dấu thời gian, và hash của khối trước đó, tạo thành một chuỗi liên kết không thể sửa đổi. Sổ cái phân tán là một bản sao của blockchain được lưu trữ trên nhiều nút mạng, đảm bảo tính minh bạch và khả năng chống lại sự kiểm duyệt. Cơ chế đồng thuận, chẳng hạn như Proof of Work hoặc Proof of Stake, đảm bảo rằng tất cả các nút mạng đồng ý về trạng thái của blockchain.

1.2. Các Loại Blockchain Công Khai Riêng Tư Liên Minh

Có ba loại blockchain chính: blockchain công khai, blockchain riêng tư, và blockchain liên minh. Blockchain công khai (ví dụ: Bitcoin, Ethereum) là mở và cho phép bất kỳ ai tham gia mạng lưới và xác thực giao dịch. Blockchain riêng tư chỉ cho phép các thành viên được ủy quyền tham gia mạng lưới và có quyền kiểm soát dữ liệu. Blockchain liên minh là sự kết hợp giữa hai loại trên, cho phép một nhóm các tổ chức kiểm soát mạng lưới.

II. Vì Sao Mã Hóa Quan Trọng Giải Quyết Thách Thức Bảo Mật

Mã hóa đóng vai trò then chốt trong việc bảo vệ tính bảo mật, tính toàn vẹn, và tính xác thực của dữ liệu trên blockchain. Nếu không có mã hóa, dữ liệu trên blockchain có thể bị truy cập trái phép, sửa đổi, hoặc giả mạo. Mã hóa sử dụng các thuật toán mật mã học để biến dữ liệu thành một định dạng không thể đọc được, chỉ có người có khóa giải mã mới có thể khôi phục lại dữ liệu gốc. Điều này giúp bảo vệ thông tin nhạy cảm khỏi các cuộc tấn công mạng và đảm bảo tính riêng tư của người dùng. Blockchain đối mặt với nhiều thách thức bảo mật, bao gồm tấn công 51%, tấn công Sybil, và các lỗ hổng trong hợp đồng thông minh. Mã hóa giúp giảm thiểu các rủi ro này bằng cách cung cấp một lớp bảo vệ mạnh mẽ cho dữ liệu và giao dịch. Các thuật toán mã hóa phổ biến được sử dụng trong blockchain bao gồm SHA-256 (trong Bitcoin), Keccak-256 (trong Ethereum), và các thuật toán mật mã học đường cong elliptic (ECC) để tạo chữ ký số.

2.1. Các Loại Tấn Công Phổ Biến Vào Blockchain và Cách Phòng Tránh

Blockchain có thể bị tấn công theo nhiều cách, bao gồm tấn công 51% (khi một thực thể kiểm soát hơn 50% sức mạnh tính toán của mạng lưới), tấn công Sybil (khi một kẻ tấn công tạo ra nhiều danh tính giả để chiếm quyền kiểm soát mạng lưới), và tấn công vào hợp đồng thông minh (khi các lỗ hổng trong mã nguồn của hợp đồng thông minh bị khai thác). Để phòng tránh các tấn công này, cần sử dụng các thuật toán mã hóa mạnh mẽ, triển khai các cơ chế đồng thuận an toàn, và thực hiện kiểm toán hợp đồng thông minh kỹ lưỡng.

2.2. Tầm Quan Trọng của Mã Hóa Trong Bảo Vệ Quyền Riêng Tư Trên Blockchain

Mã hóa đóng vai trò quan trọng trong việc bảo vệ quyền riêng tư của người dùng trên blockchain. Bằng cách mã hóa dữ liệu giao dịch, chỉ có người có khóa giải mã mới có thể xem được thông tin chi tiết. Điều này giúp ngăn chặn việc lộ thông tin cá nhân và bảo vệ khỏi các cuộc tấn công nhắm vào quyền riêng tư.

III. Bí Quyết Mã Hóa Đối Xứng DES AES và Ứng Dụng Thực Tế

Mật mã đối xứng là loại mật mã mà khóa được dùng để mã hóa và giải mã là như nhau , phương pháp mã hóa này còn được biết đến mật mã chia sẻ khóa mã hóa (shared key cryptography). Khóa mã hóa cần phải được chấp thuận giữa người gửi và người nhận trong quá trình trao đổi dữ liệu , do đó phương pháp này còn có thêm tên gọi khác là mật mã khóa bí mật (secret key cryptography) Có 2 loại mã hóa đối xứng: stream ciphers và block ciphers. Thuật toán Data Encryption Standard (DES) và Advanced Encryption Standard (AES) thường được sử dụng trong block ciphers, thuật toán RC4 và A5 thường được sử dụng trong stream ciphers. Trong đó, synchronous stream ciphers có key stream hoàn toàn độc lập, đối với asynchronous stream ciphers có key stream phụ thuộc vào dữ liệu mã hóa. Trong thuật toán này , mã hóa và giải mã là 2 hàm số như nhau vì chúng là phép cộng modulo 2 ( tổng của phép chia 2 lấy dư) hoặc phép toán logic XOR. Các khóa trong thuật toán này được bảo mật và lấy ngẫu nhiên từ key stream.

3.1. Phân Tích Chi Tiết Thuật Toán AES và Ưu Nhược Điểm

Advanced Encryption Standard (AES) hay còn được gọi là tiêu chuẩn mã hóa nâng cao theo phương pháp mật mã khối. Với ưu thế bảo mật cao nó đã được chính phủ Hoa Kỳ lựa chọn để bảo vệ dữ liệu, thông tin cho các tổ chức, doanh nghiệp mà người dùng. Các tác vụ của AES được thực hiện ở cả phần cứng và phần mềm trên nhiều thiết bị để mã hóa dữ liệu nhạy cảm. Sự có mặt của nó đã góp phần bảo đảm an toàn cho máy tính của chính phủ, an ninh mạng và tạo một rào chắn vững chắc để bảo vệ dữ liệu.

3.2. So Sánh DES 3DES và AES Lựa Chọn Thuật Toán Phù Hợp

Ban đầu, thuật toán DES (Data Encryption Standard) tiền thân của nó là Lucifer, được phát triển bởi IBM và chính phủ Mỹ vào những năm 1970. DES là một thuật toán mã hóa dữ liệu khối được sử dụng rộng rãi và được chọn làm chuẩn mã hóa dữ liệu của Mỹ. Tuy nhiên, sau một thời gian, kích thước chìa khóa 56 bit của DES trở nên không đủ an toàn đối với một số tấn công mã hóa tiên tiến. Để cải thiện sự bảo mật của DES, thuật toán 3DES được đề xuất. 3DES sử dụng cùng cấu trúc mã hóa DES, nhưng thực hiện nhiều vòng mã hóa DES liên tiếp trên cùng một khối dữ liệu. Điều này đảm bảo tính bảo mật cao hơn và khả năng chống lại các tấn công.

3.3. Các Ứng Dụng Của Mã Hóa Đối Xứng Trong Blockchain Hiện Nay

VPN: Cách thức hoạt động của VPN xoay quanh việc định tuyến lại lưu lượng truy cập của bạn, nhưng không phải trước khi mã hóa nó để người khác không thể thấy nó trong trường hợp họ đang theo dõi kết nối của bạn. Hơn thế nữa, lưu lượng truy cập cần được giải mã tại điểm thoát của nó, điều này liên quan đến nhu cầu về tiêu chuẩn mã hóa. AES-256 được sử dụng theo mặc định bởi một số nhà cung cấp VPN, bao gồm NordVPN, Surfshark và ExpressVPN.

IV. Phương Pháp Mã Hóa Bất Đối Xứng RSA và ECC Ứng Dụng Ra Sao

Mật mã bất đối xứng đề cập đến một loại mật mã trong đó khóa được sử dụng để mã hóa dữ liệu khác với khóa được sử dụng để giải mã dữ liệu. Còn được gọi là mật mã khóa công khai, nó sử dụng khóa chung (public key) và khóa riêng (private key) để mã hóa và giải mã dữ liệu tương ứng. Nhiều thuật toán mật mã bất đối xứng khác nhau đang được sử dụng hiện nay như : RSA, DSA và El-Gammal.

4.1. Phân Tích Chi Tiết Thuật Toán RSA và Ứng Dụng Thực Tế

Thuật toán RSA, được đặt theo tên của ba tác giả là Ronald Rivest, Adi Shamir và Leonard Adleman, được mô tả lần đầu vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT) ở Hoa Kỳ. Tuy nhiên, trước đó, vào năm 1973, Clifford Cocks, một nhà toán học người Anh làm việc tại GCHQ, đã đề xuất một thuật toán tương tự. Tuy thuật toán của Cocks không được công bố rộng rãi và thử nghiệm, nhưng nó đã đóng góp cho sự phát triển của RSA. Thuật toán RSA gắn liền với việc sử dụng một bộ hai khóa, gồm khóa công khai và khóa riêng tư. Khóa công khai được chia sẻ với mọi người, trong khi khóa riêng tư được giữ bí mật chỉ cho người sở hữu. Khóa công khai được sử dụng để mã hóa thông tin và khóa riêng tư được sử dụng để giải mã thông tin đã được mã hóa.

4.2. Ưu Điểm Của ECC So Với RSA Trong Bảo Mật Blockchain

Thuật toán ECC (Elliptic Curve Cryptography) là một phương pháp mã hóa và xác thực dựa trên đường cong elliptic. Nó hoạt động bằng cách sử dụng các điểm trên đường cong để thực hiện các phép toán và tạo ra các khóa mã hóa.

4.3. Chữ Ký Số Ứng Dụng Quan Trọng Của Mã Hóa Bất Đối Xứng

Công nghệ chữ ký số được tạo ra bằng sự biến đổi một thông điệp dữ liệu sử dụng hệ thống mật mã không đối xứng, theo đó, người có được thông điệp dữ liệu ban đầu và khóa công khai của người ký có thể xác định được chính xác: Việc biến đổi nêu trên được tạo ra bằng đúng khóa bí mật tương ứng với khóa công khai trong cùng một cặp khóa; Sự toàn vẹn nội dung của thông điệp dữ liệu kể từ khi thực hiện việc biến đổi nêu trên.

V. Giải Pháp Lưu Trữ Phi Tập Trung Mã Hóa và Vấn Đề Bảo Mật

Việc sử dụng lưu trữ phi tập trung trong blockchain mang lại nhiều lợi ích, bao gồm tính bảo mật, tính toàn vẹn, và khả năng chống kiểm duyệt. Tuy nhiên, nó cũng đặt ra những thách thức bảo mật mới. Dữ liệu được lưu trữ trên nhiều nút mạng khác nhau, vì vậy cần có các biện pháp bảo vệ để ngăn chặn việc truy cập trái phép hoặc sửa đổi dữ liệu. Mã hóa đóng vai trò quan trọng trong việc bảo vệ dữ liệu trong lưu trữ phi tập trung. Các kỹ thuật mã hóa khác nhau có thể được sử dụng để mã hóa dữ liệu trước khi lưu trữ, đảm bảo rằng chỉ có người có khóa giải mã mới có thể xem được thông tin chi tiết. Các giải pháp lưu trữ phi tập trung phổ biến bao gồm IPFS, Filecoin, và Sia. Các giải pháp này sử dụng các cơ chế mã hóa và phân tán dữ liệu để đảm bảo tính bảo mật và khả năng phục hồi dữ liệu.

5.1. Các Phương Pháp Mã Hóa Dữ Liệu Trong Hệ Thống Lưu Trữ IPFS

IPFS sử dụng các kỹ thuật mã hóa như mã hóa đối xứng và mã hóa bất đối xứng để bảo vệ dữ liệu. Dữ liệu có thể được mã hóa trước khi tải lên IPFS, và chỉ có người có khóa giải mã mới có thể xem được. IPFS cũng sử dụng cơ chế phân đoạn dữ liệu để phân tán dữ liệu trên nhiều nút mạng, tăng cường khả năng phục hồi dữ liệu.

5.2. Tính Toàn Vẹn Dữ Liệu Giải Pháp Đảm Bảo Cho Lưu Trữ Blockchain

Để đảm bảo tính toàn vẹn của dữ liệu trong blockchain, cần sử dụng các hàm băm mật mã học như SHA-256 để tạo ra một dấu vân tay duy nhất cho mỗi khối dữ liệu. Nếu dữ liệu bị thay đổi, hàm băm sẽ thay đổi, và hệ thống sẽ phát hiện ra sự thay đổi này.

VI. Blockchain An Toàn Hơn Tương Lai Của Mã Hóa và Bảo Mật

Tương lai của blockchain phụ thuộc vào việc liên tục cải tiến các kỹ thuật mã hóa và bảo mật. Các nghiên cứu hiện tại tập trung vào việc phát triển các thuật toán mã hóa lượng tử (quantum-resistant cryptography) để chống lại các cuộc tấn công từ máy tính lượng tử. Các giải pháp bảo mật tiên tiến khác bao gồm mã hóa đồng hình (homomorphic encryption), cho phép thực hiện các phép tính trên dữ liệu đã mã hóa mà không cần giải mã, và tính toán đa bên an toàn (secure multi-party computation), cho phép nhiều bên cùng tính toán trên dữ liệu của họ mà không tiết lộ thông tin cho nhau. Blockchain có tiềm năng cách mạng hóa nhiều ngành công nghiệp, nhưng chỉ khi các vấn đề bảo mật được giải quyết triệt để. Mã hóa sẽ tiếp tục đóng vai trò quan trọng trong việc xây dựng một tương lai blockchain an toàn và đáng tin cậy.

6.1. Mã Hóa Lượng Tử Bảo Vệ Blockchain Khỏi Tấn Công Từ Máy Tính Lượng Tử

Máy tính lượng tử có khả năng phá vỡ các thuật toán mã hóa hiện tại, vì vậy cần phát triển các thuật toán mã hóa lượng tử để bảo vệ blockchain khỏi các cuộc tấn công này. Các thuật toán mã hóa lượng tử dựa trên các nguyên tắc vật lý lượng tử và được thiết kế để chống lại các cuộc tấn công từ máy tính lượng tử.

6.2. Các Xu Hướng Bảo Mật Blockchain Tiên Tiến Trong Tương Lai

Các xu hướng bảo mật blockchain tiên tiến trong tương lai bao gồm mã hóa đồng hình, tính toán đa bên an toàn, và các cơ chế đồng thuận phi tập trung. Các công nghệ này sẽ giúp tăng cường tính bảo mật, tính riêng tư, và khả năng chống lại sự kiểm duyệt của blockchain.

20/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1 – GIỚI THIỆU 1. Kể từ khi xuất hiện vào năm 2009, công nghệ blockchain đã làm thay đổi cách chúng ta hiểu về quá trình giao dịch và lưu trữ dữ liệu trực tuyến. Được tạo ra bởi một người (hoặc nhóm người) ẩn danh dưới bí danh Satoshi Nakamoto, blockchain là một hệ thống phân tán dùng để ghi lại các giao dịch một cách an toàn và không thể sửa đổi. Điều này đã thúc đẩy sự phát triển của nhiều ứng dụng mới trong các lĩnh vực như tài chính, y tế, chuỗi cung ứng, và nhiều lĩnh vực khác.2 Mục tiêu và ý nghĩa của báo cáo Trong bối cảnh đầy thách thức và cơ hội này, nghiên cứu này tập trung vào việc nghiên cứu và thảo luận về các kỹ thuật mã hóa trong blockchain.

Mã hóa là một yếu tố cốt lõi trong bảo mật của blockchain, đóng vai trò quan trọng trong việc bảo vệ tính toàn vẹn của dữ liệu và đảm bảo tính riêng tư của người dùng. Mục tiêu của bài báo cáo này là: - Hiểu rõ các nguyên tắc cơ bản của mã hóa trong blockchain. - Xem xét các phương pháp mã hóa phổ biến được sử dụng trong blockchain. - Đánh giá tầm quan trọng của mã hóa đối với tính bảo mật của blockchain và các ứng dụng của nó.

6 CHƯƠNG 2 – NỘI DUNG 2.1 Khái niệm Mật mã học (Cryptography) là một ngành khoa học nghiên cứu về mã hóa và giải mã thông tin. Mã hóa là quá trình biến thông tin thành dạng không thể đọc được trừ khi có khóa giải mã phù hợp. Giải mã là quá trình biến thông tin đã được mã hóa thành dạng có thể đọc được. Mật mã học có 5 thuộc tính bao gồm: a) Tính bảo mật: Người sở hữu hoặc các thực thể sở hữu dữ liệu thông tin này ; b) Tính toàn vẹn: Thông tin , dữ liệu chỉ được sửa đổi do thực thể sở hữu có quyền truy cập.

c) Tính xác thực: Thuộc tính này cung cấp sự đảm bảo về danh tính của thực thế (người gửi , người nhận) và tính hợp lệ của văn bản mã hóa , dữ liệu. Có 2 loại xác thực như sau : Xác thực thực thể Xác thực nguồn gốc của dữ liệu (Entity authentication) (Data origin authentication) - Xác thực thực thể dùng để kiểm tra sự - Phương pháp này dùng để kiểm tra nguồn hiện diện của thực thể trong một phiên gốc của dữ liệu là hợp lệ. - Xác thực nguồn gốc dữ liệu ngụ ý tính - Thông thường, người dùng cần tài toàn vẹn của dữ liệu vì nếu nguồn được khoản bao gồm tên và mật khẩu để truy chứng thực thì dữ liệu không được thay đổi. cập vào hệ thống được gọi là 1 nhân tố - Các thuật toán thường được sử dụng : xác thực (single factor authentication).

Message Authentication Codes (MACs), - Cần phải có nhân tố thêm vào để đảm chữ ký điện tử. bảo tính bảo mật của hệ thống. 7 d) Tính không chối bỏ: Tính không chối bỏ là sự đảm bảo rằng một thực thể không thể từ chối một cam kết hoặc hành động trước đó bằng cách cung cấp bằng chứng không thể giả mạo. Đây là một dịch vụ bảo mật cung cấp bằng chứng không thể giả mạo cho thấy một hành động cụ thể đã xảy ra.

Đây là một thuộc tính cần thiết đối với các tình huống có thể tranh chấp trong đó một thực thể đã từ chối các hành động được thực hiện. Ví dụ như đặt hàng trên hệ thống thương mại điện tử. e) Tính trách nhiệm Thuộc tính này đảm bảo rằng các hành động gây ảnh hưởng đến bảo mật của hệ thống đều có thể tìm được các thực thể gây ra hành động này. Thuộc tính này thường được cung cấp bởi các bảng logging và cơ chế kiểm toán (audit mechanisms).2 Mật mã đối xứng.

Mật mã đối xứng là loại mật mã mà khóa được dùng để mã hóa và giải mã là như nhau , phương pháp mã hóa này còn được biết đến mật mã chia sẻ khóa mã hóa (shared key cryptography). Khóa mã hóa cần phải được chấp thuận giữa người gửi và người nhận trong quá trình trao đổi dữ liệu , do đó phương pháp này còn có thêm tên gọi khác là mật mã khóa bí mật (secret key cryptography) 8 Có 2 loại mã hóa đối xứng: stream ciphers và block ciphers. Thuật toán Data Encryption Standard (DES) và Advanced Encryption Standard (AES) thường được sử dụng trong block ciphers, thuật toán RC4 và A5 thường được sử dụng trong stream ciphers. Stream ciphers là một thuật toán mã hóa , nó hoạt động dựa trên việc tạo ra một luồng bit ngẫu nhiên (key stream) và áp dụng lên dữ liệu đầu vào (plain text) để tạo ra dữ liệu mã hóa.

Có 2 loại stream ciphers: đồng bộ (synchronous) và không đồng bộ(asynchronous). Trong đó, synchronous stream ciphers có key stream hoàn toàn độc lập, đối với asynchronous stream ciphers có key stream phụ thuộc vào dữ liệu mã hóa. Trong thuật toán này , mã hóa và giải mã là 2 hàm số như nhau vì chúng là phép cộng modulo 2 ( tổng của phép chia 2 lấy dư) hoặc phép toán logic XOR. Các khóa trong thuật toán này được bảo mật và lấy ngẫu nhiên từ key stream.

Block ciphers là thuật toán mã hóa hoạt động bằng cách phân rã dữ liệu thô thành các khối có độ dài nhất định và áp dụng quá trình mã hóa theo từng khối. Thuật toán này được thiết kế dựa trên kiến trúc Feistel Cipher. Các thuật toán block ciphers hiện nay như AES được thiết kế bằng cách sử dụng bằng phép chuyển vị và hoán vị còn được gọi là substitution-permutation network (SPN). Mật mã Fiestel dựa trên mạng Fiested, là cấu trúc được phát triển bởi Horst Feistel.

Cấu trúc này dựa trên ý tưởng kết hợp nhiều vòng hoạt động lặp đi lặp lại để đạt được các thuộc tính mật mã mong muốn được gọi là sự nhầm lẫn và phổ biến. Mạng Feistel hoạt động bằng cách chia dữ liệu thành hai khối (trái và phải) và xử lý các khối này thông qua các hàm vòng có khóa. Sự nhầm lẫn làm cho mối quan hệ giữa văn bản được mã hóa và văn bản gốc trở nên phức tạp. Điều này đạt được bằng cách thay thế trong thực tế.

Ví dụ: 'A' trong văn bản thuần túy được thay thế bằng 'X' trong văn bản được mã hóa. Trong các thuật toán mã hóa hiện đại, việc thay thế được thực hiện bằng cách sử dụng các bảng tra cứu gọi là hộp S (S-boxes). Thuộc tính khuếch tán trải văn bản thuần túy một cách thống kê trên dữ liệu được mã hóa, đảm bảo rằng ngay cả khi một bit bị thay đổi trong văn bản đầu vào, nó sẽ dẫn đến thay đổi ít nhất một nửa (trung bình) số bit trong văn bản mật mã. Cần có sự nhầm lẫn khiến việc tìm kiếm khóa mã hóa trở nên rất khó khăn ngay cả khi nhiều cặp dữ liệu được mã hóa và giải mã được tạo bằng cùng một khóa.

Trong thực tế, điều này đạt được bằng cách chuyển vị hoặc hoán vị. 11 Một số chế độ hoạt động của block ciphers : - Chế độ Electronic Codebook (ECB) - Chế độ Cipher Block Chaining (CBC) - Chế độ Ciphertext Feedback (CFB) - Chế độ Output Feedback (OFB) - Chế độ Counter (CTR) 2.3 Mật mã bất đối xứng. Mật mã bất đối xứng đề cập đến một loại mật mã trong đó khóa được sử dụng để mã hóa dữ liệu khác với khóa được sử dụng để giải mã dữ liệu. Còn được gọi là mật mã khóa công khai, nó sử dụng khóa chung (public key) và khóa riêng (private key) để mã hóa và giải mã dữ liệu tương ứng.

Nhiều thuật toán mật mã bất đối xứng khác nhau đang được sử dụng hiện nay như : RSA, DSA và El-Gammal. Sơ đồ dưới giải thích cách người gửi mã hóa dữ liệu bằng khóa chung của người nhận và sau đó được truyền qua mạng tới người nhận. Khi đến được người nhận, nó có thể được giải mã bằng khóa riêng của người nhận. Bằng cách này, khóa riêng vẫn ở phía người nhận và không cần chia sẻ khóa để thực hiện mã hóa và giải mã : 12 Một sơ đồ khác cho thấy cách mật mã khóa công khai có thể được sử dụng để xác minh tính toàn vẹn của tin nhắn mà người nhận nhận được.

Trong mô hình này, người gửi ký dữ liệu bằng khóa riêng của họ và truyền thông báo đến người nhận. Khi tin nhắn được nhận từ phía người nhận, nó có thể được xác minh tính toàn vẹn bằng khóa chung của người gửi: Các cơ chế bảo mật được cung cấp bởi hệ thống mật mã khóa công khai bao gồm thiết lập khóa, chữ ký số, nhận dạng, mã hóa và giải mã. Cơ chế thiết lập khóa liên quan đến việc thiết kế các giao thức cho phép thiết lập khóa trên một kênh không an toàn. Dịch vụ chống chối bỏ, một đặc tính rất được mong 13 muốn trong nhiều trường hợp, có thể được cung cấp bằng chữ ký số.

Đôi khi, điều quan trọng là không chỉ xác thực người dùng mà còn xác định thực thể liên quan đến giao dịch; Điều này cũng có thể đạt được bằng cách kết hợp chữ ký số và các giao thức phản hồi thách thức. Cuối cùng, cơ chế mã hóa để cung cấp tính bảo mật cũng có thể được thực hiện bằng cách sử dụng các hệ thống mật mã khóa công khai, chẳng hạn như RSA, ECC hoặc El-Gammal. Thuật toán khóa công khai tính toán chậm hơn so với thuật toán khóa đối xứng. Do đó, chúng không được sử dụng phổ biến trong việc mã hóa các tệp lớn hoặc dữ liệu thực tế cần mã hóa.

Chúng thường được sử dụng để trao đổi khóa lấy thuật toán đối xứng và khi khóa được thiết lập an toàn, thuật toán khóa đối xứng có thể được sử dụng để mã hóa dữ liệu.2 Các thuật toán liên quan đến mã hóa 2.1 Thuật toán RSA 2.1 Lịch sử phát triển (1) Thuật toán RSA, được đặt theo tên của ba tác giả là Ronald Rivest, Adi Shamir và Leonard Adleman, được mô tả lần đầu vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT) ở Hoa Kỳ. Tuy nhiên, trước đó, vào năm 1973, Clifford Cocks, một nhà toán học người Anh làm việc tại GCHQ, đã đề xuất một thuật toán tương tự. Tuy thuật toán của Cocks không được công bố rộng rãi và thử nghiệm, nhưng nó đã đóng góp cho sự phát triển của RSA. Thuật toán RSA gắn liền với việc sử dụng một bộ hai khóa, gồm khóa công khai và khóa riêng tư.

Khóa công khai được chia sẻ với mọi người, trong khi khóa riêng tư được giữ bí mật chỉ cho người sở hữu.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ