Chữ ký ElGamal là một hệ thống chữ ký số dựa trên mật mã khóa công khai. Nó được đặt tên theo nhà mật mã học Taher ElGamal. Tài liệu chữ ký ElGamal gồm 200 từ như sau: Chữ ký ElGamal là một thuật toán chữ ký số trong mật mã khóa công khai. Nó sử dụng ma trận số nguyên và phép toán modular để bảo mật thông tin. Trong quá trình tạo chữ ký, người gửi sẽ tạo ra một khóa riêng gồm hai thành phần: khóa bí mật và khóa công khai. Khóa bí mật được sử dụng để ký và giữ bí mật, trong khi khóa công khai được chia sẻ với người nhận để xác minh chữ ký. Người gửi muốn ký một thông điệp bất kỳ sẽ chọn một số ngẫu nhiên, sau đó tính một phép toán modular trên số ngẫu nhiên và khóa công khai. Kết quả này được gửi cùng với thông điệp gốc. Người nhận nhận được cả thông điệp và chữ ký. Người nhận sẽ tính toán một phép toán modular trên chữ ký và khóa công khai. Kết quả sẽ được so sánh với thông điệp gốc để xác minh tính hợp lệ của chữ ký. Chữ ký ElGamal được công nhận vì tính bảo mật mạnh mẽ của nó. Một trong những ưu điểm của chữ ký ElGamal là nó không yêu cầu sự tin tưởng hoàn toàn vào tính bí mật của khóa riêng, nhưng vẫn cho phép xác minh tính hợp lệ của chữ ký bằng cách sử dụng khóa công khai. Tuy nhiên, nhược điểm của chữ ký ElGamal là quá trình tính toán phức tạp và kích thước của chữ ký lớn hơn so với các thuật toán khác như RSA.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
-🙞🙞🙞🙞🙞 -BÀI TẬP LỚN
Môn: An toàn và bảo mật thông tin
ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH MÃ HÓA
Hà Nội, Năm 2023
Trang 2cụ cơ khí đơn giản.
Vào đầu thế kỷ 20, sự xuất hiện của các cơ cấu cơ khí và điện cơ, chẳnghạn như máy Enigma, đã cung cấp những cơ chế phức tạp và hiệu quả hơn choviệc mật mã hóa Sự ra đời và phát triển mạnh mẽ của ngành điện tử và máytính, cũng như vai trò ngày càng quan trọng của chúng trong đời sống cũng nhưnền văn minh làm bùng nổ tầm quan trọng của việc bảo mật và mã hóa thôngtin, nhờ đó tạo điều kiện để mật mã học có một bước nhảy vọt lớn Nhờ sự trợgiúp của máy tính, rất nhiều hệ mật mã hiện đại đã ra đời dựa trên cơ sở đại sốModulo và các thuật toán logarit rời rạc, đều là những hệ mật mã có tính bảomật cao vượt trội Một trong số các hệ mật mã hiện đại phổ biến nhất vẫn được
sử dụng cho đến ngày hôm nay chính là hệ mã hóa Elgamal
Dựa trên sự hướng dẫn của giảng viên - ThS Trần Phương Nhung, các
thành viên trong nhóm đã tiến hành tìm hiểu về các thuật toán mã hóa và giải mãElgamal Bên cạnh đó nhóm chúng em đã tiến hành xây dựng các chương trìnhdemo hệ mã hóa Elgamal bằng nhiều ngôn ngữ khác nhau Trong suốt quá trìnhhoàn thiện bài tập lớn, nhóm chúng em đã cố gắng tuy nhiên không thể tránhkhỏi sai sót nên chúng em rất mong nhận được sự góp ý từ phía cô để bài tập lớncủa nhóm được hoàn thiện hơn
Chúng em xin chân thành cảm ơn!
Trang 3MỤC LỤC
LỜI CẢM ƠN 2
CHƯƠNG 1 : TỔNG QUAN VỀ ĐỀ TÀI 5
1 Giới thiệu về hệ mật mã: 5
2 Khóa: 6
2.1 Độ dài khóa : 6
2.2 Quản lý khóa công khai : 7
2.3 Chứng nhận khóa công khai : 7
2.4 Quản lý khóa phân phối: 7
3 Các hệ mật mã: 8
4 Hệ mật mã công khai: 8
5 Thám mã: 9
6 Giới thiệu chung về hệ mật mã Elgamal: 11
7 Ưu và nhược điểm của hệ mật mã Elgamal: 11
7.1 Ưu Điểm : 11
7.2 Nhược điểm: 11
8 Tính an toàn và bảo mật của hệ mật mã Elgamal: 11
CHƯƠNG 2 : KẾT QUẢ NGHIÊN CỨU 12
1 Giới thiệu: 12
2 Kết quả đạt được: Nghiên cứu, Cài đặt demo thuật toán Nội dung thuật toán: 12
3 Thiết kế, cài đặt chương trình đề mô thuật toán: 13
3.1 Giao diện chương trình DEMO ngôn ngữ Java: 13
3.2 Giao diện chương trình DEMO ngôn ngữ Javascript: 13
3.3 Giao diện chương trình DEMO ngôn ngữ PHP: 13
3.4 Giao diện chương trình DEMO ngôn ngữ C# : 14
Trang 44.1 Giới thiệu công cụ: 14
4.1.1 Apache Netbean: 14
4.1.2 Visual Studio: 15
4.2 Hướng dẫn cài đặt và chạy chương trình: 16
4.2.1 Hướng dẫn cài đặt 16
4.2.2 Ngôn nhữ Java (Đinh Anh Quân): 20
4.2.3 Ngôn ngữ Javascript (Nguyễn Minh Quân): 24
4.2.4 Ngôn ngữ C# (Nguyễn Chí Nghĩa): 28
CHƯƠNG 3 : KIẾN THỨC LĨNH HỘI VÀ BÀI HỌC KINH NGHIỆM 34
1 Nội dung đã thực hiện: 34
1.1 Các kiến thức đã học được: 34
1.2 Các kỹ năng đã học được: 34
1.3 Những bài học kinh nghiệm được rút ra trong suốt quá trình: 35
2 Phương hướng phát triển: 35
2.1 Tính khả thi của chủ đề: 35
2.2 Những thuận lợi và khó khăn: 36
2.3 Hướng phát triển và mở rộng của đề tài: 37
TÀI LIỆU THAM KHẢO………39
Trang 5CHƯƠNG 1 : TỔNG QUAN VỀ ĐỀ TÀI
1 Giới thiệu về hệ mật mã:
Để đảm bảo việc truyền tin an toàn và kiểm tra tính tồn vẹn của thông tin, người ta thường mã hóa thông tin trước khi truyền đi bằng các một số các hệ mật như DES, Triple DES (3DES), RC4, AES, RSA, Rabin, Diffle-Hellman,
Elgamal, Một hệ thống mật mã là một hệ bao gồm 5 thành phần (P, C, K, E, D) thỏa mãn các tính chất:
● P (Plaintext) là tập hợp hữu hạn các bản rõ có thể (hay còn gọi là không gianbản rõ)
● C (Ciphertext) là tập hợp hữu hạn các bản mã có thể (hay còn gọi là khônggian bản mã)
● K (Key) là tập hợp các bản khóa có thể (hay còn gọi là không gian khóa)
● E (Encryption) là tập hợp các quy tắc mã hóa có thể (hay còn gọi là khônggian các hàm mã hóa)
● D (Decryption) là tập hợp các quy tắc giải mã có thể (hay còn gọi là khônggian các hàm giải mã)
Quá trình mã hóa được tiến hành bằng cách áp dụng hàm tóan học E lên thôngtin P để trở thành thông tin đã mã hóa C
Quá trình giải mã được tiến hành ngược lại: áp dụng hàm D lên thông tin C đểđược thông tin đã giải mã
Hình 1 Quá trình mã hóa và giải mã.
Trang 61 triệu phép tính một giây, nó cũng sẽ cần tới 2000 năm để tìm ra khoá thích hợp.Nếu khoá dài 64 bits, thì với máy tính tương tự cũng cần tới xấp xỉ 600,000 năm đểtìm ra khoá trong số 2 64 khoá có thể Nếu khoá dài 128 bits, nó cần tới 1025năm,trong khi vũ trụ của chúng ta chỉ tồn tại cỡ 1010 năm Như vậy với 1025 năm có thể
là đủ dài Trước khi bạn gửi đi phát minh hệ mã hoá với 8 Kbyte độ dài khoá, bạnnên nhớ rằng một nửa khác cũng không kém phần quan trọng đó là thuật toán phải
an toàn nghĩa là không có cách nào bẻ gãy trừ khi tìm được khóa thích hợp Điềunày không dễ dàng nhìn thấy được, hệ thống mã hoá nó như một nghệ thuật huyền
ảo Một điểm quan trọng khác là độ an toàn của hệ thống mã hoá nên phụ thuộcvào khoá, không nên phụ thuộc vào chi tiết của thuật toán Nếu độ dài của hệ thống
mã hoá mới tin rằng trong thực tế kẻ tấn công không thể biết nội dung bên trongcủa thuật toán Nếu bạn tin rằng giữ bí mật nội dung của thuật toán, tận dụng độ antoàn của hệ thống hơn là phân tích những lý thuyết sở hữu chung thì bạn đã nhầm
Và thật ngây thơ hơn khi nghĩ rằng một ai đó không thể gỡ tung mã nguồn của bạnhoặc đảo ngược lại thuật toán
Giả sử rằng một vài kẻ thám mã có thể biết hết tất cả chi tiết về thuật toán củabạn Giả sử rằng họ có rất nhiều bản mã, như họ mong muốn Giả sử họ có mộtkhối lượng bản rõ tấn công với rất nhiều dữ liệu cần thiết Thậm chí giả sử rằng họ
có thể lựa chọn bản rõ tấn công Nếu như hệ thống mã hoá của có thể dư thừa độ
an toàn trong tất cả mọi mặt, thì bạn đã có đủ độ an toàn bạn cần
Trang 72.2 Quản lý khóa công khai :
Trong thực tế, quản lý khóa là vấn đề khó nhất của an toàn hệ mã hóa Đểthực hiện thiết kế an toàn thuật toán mã hóa là một việc là không phải dễ dàngnhưng để tạo và lưu trữ khóa bí mật là một điều khó hơn Kẻ thám mã thường tấncông cả hai hệ mã hóa đối xứng và công khai qua hệ quản lý khóa của chúng Đốivới hệ mã hóa công khai việc quản lý khóa dễ hơn đối với hệ mã hóa đối xứng,nhưng nó có vấn đề riêng duy nhất mỗi người chỉ có một khóa công khai, bất kể sốngười ở trên mạng là bao nhiêu
2.3 Chứng nhận khóa công khai :
Chứng nhận khoá công khai là xác định khoá thuộc về một ai đó, được quản
lý bởi một người đáng tin cậy Chứng nhận để sử dụng vào việc cản trở sự cố gắngthay thế một khoá này bằng một khoá khác
Nó lưu trữ thông tin về Bob như tên, địa chỉ và nó được viết bởi ai đó màEva tin tưởng, người đó thường gọi là CA (certifying authority) Bằng cách xácnhận cả khoá và thông tin về Bob CA xác nhận thông tin về Bob là đúng và khoácông khai thuộc quyền sở hữu của Bob Eva kiểm tra lại các dấu hiệu và sau đó cô
ấy có thể sử dụng khoá công khai, sự an toàn cho Bob và không một ai khác biết
2.4 Quản lý khóa phân phối:
Trong một vài trường hợp, trung tâm quản lý khoá có thể không làm việc Có
Trang 8phân phối, sử dụng trong những chương trình miền công khai, giải quyết vấn đềnày với người giới thiệu (introducers) Người giới thiệu là một trong những ngườidùng khác của hệ thống anh ta là người nhận ra khoá công khai của bạn anh ta.
3 Các hệ mật mã:
Hệ mật mã gồm 2 loại:
● Hệ mật mã đối xứng (hay còn gọi là hệ mật mã khóa bí mật): là những hệmật dùng chung một khóa cả trong quá trình mã hóa và giải mã thơng tin
Do đó khóa phải được giữ bí mật tuyệt đối Một sổ thuật toán nổi tiếng trong
mã hóa đối xứng là: DES, Triple DES(3DES), RC4, AES,
● Hệ mật mã bất đối xứng (hay còn gọi là mật mã khóa công khai): Các hệ mậtnày dùng một khóa để mã hóa sau đó dùng một khóa khác để giải mã, nghĩa
là khóa để mã hóa và khóa để giải mã là khác nhau
Các khóa này tạo nên từng cặp chuyển đổi ngược nhau và không có khóa nào
có thể suy được ra khóa còn lại Khóa dùng để mã hóa có thể công khai nhưng khóa dùng để giải mã thì giữ bí mật Do đó trong thuật toán này có hai loại khóa: khóa dùng để mã hóa được gọi là khóa công khai-Public Key còn khóa để giải mã được gọi là khóa bí mật Private Key Một số thuật toán mã hóa công khai nổi tiếng:DiffleHellman, Elgamal, RSA, Rabin
4 Hệ mật mã công khai:
Hệ mật mã công khai là bước tiến lớn của ngành mật mã Hệ mật mã ra đời đãphá bỏ tư duy cũ về mật mã, đồng thời có nhiều ứng dụng to lớn như: phân phốikhóa, chữ ký số v.v Mặc dù giải quyết được điểm yếu logic của hệ mật mã khóađối xứng nhưng hệ mật mã khóa công khai (bất đối xứng) đồng thời biến điểm
Trang 9tính toán chậm do liên tục xử lý các số lớn (ở RSA là tính toán với số nguyên tốlớn) Để đảm bảo tính an toàn của hệ mật mã RSA Một quy luật tự nhiên là yếu ởđâu thì ta khắc phục ở đó Để giảm thời gian tính toán của hệ mật mã khóa công
khai, ta đang cố gắng thực hiện Giảm độ dài khóa đồng thời vẫn giữ được tính an
toàn của hệ mật mã Đây chính là xu thế của mật mã học hiện nay
Xuất phát từ mong muốn tìm hiểu, tạo nên một chương trình demo mã hóa và giải
mã thông tin và lợi ích mà việc mã hóa mang lại như trên cùng với yêu cầu bài tậplớn của môn an toàn và bảo mật thông tin nên nhóm 14 chúng em đã lựa chọn tìmhiểu về hệ mã hóa công khai (hệ mật mã bất đối xứng) RSA với mục đích hiểu rõ
phương pháp, cách thức thực hiện mã hóa, giải mã và các thuật toán dùng để mã hóa
và giải mã thông tin Qua đó ta có thể thấy được tầm quan trọng của hệ mã hóacông khai RSA đối với việc truyền tin an toàn và kiểm tra tính toàn vẹn của thôngtin
5 Thám mã:
Mục tiêu của thám mã (phá mã) là tìm những điểm yếu hoặc không an toàntrong phương thức mật mã hóa Thám mã có thể được thực hiện bởi những kẻ tấncông ác ý, nhằm làm hỏng hệ thống; hoặc bởi những người thiết kế ra hệ thống với
ý định đánh giá độ an toàn của hệ thống
Có rất nhiều loại hình tấn công thám mã, và chúng có thể được phân loại theonhiều cách khác nhau Một trong những đặc điểm liên quan là những người tấncông có thể biết và làm những gì để hiểu được thông tin bí mật Ví dụ, nhữngngười thám mã chỉ truy cập được bản mã hay không? Hay anh ta có biết hay đoánđược một phần nào đó của bản rõ? Hoặc thậm chí: Anh ta có chọn lựa các bản rõ
Trang 10ngẫu nhiên để mật mã hóa? Các kịch bản này tương ứng với tấn công bản mã, tấncông biết bản rõ và tấn công chọn lựa bản rõ.
Trong khi công việc thám mã thuần túy sử dụng các điểm yếu trong các thuậttoán mật mã hóa, những cuộc tấn công khác lại dựa trên sự thi hành, được biết đếnnhư là các tấn công kênh bên Nếu người thám mã biết lượng thời gian mà thuậttoán cần để mã hóa một lượng bản rõ nào đó, anh ta có thể sử dụng phương thứctấn công thời gian để phá mật mã Người tấn công cũng có thể nghiên cứu các mẫu
và độ dài của thông điệp để rút ra các thông tin hữu ích cho việc phá mã; điều nàyđược biết đến như là thám mã lưu thông
Nếu như hệ thống mật mã sử dụng khóa xuất phát từ mật khẩu, chúng cónguy cơ bị tấn công kiểu duyệt toàn bộ (brute force), vì kích thước không đủlớn cũng như thiếu tính ngẫu nhiên của các mật khẩu Đây là điểm yếu chung trongcác hệ thống mật mã Đối với các ứng dụng mạng, giao thức thỏa thuận khóachứng thực mật khẩu có thể giảm đi một số các giới hạn của các mật khẩu Đối vớicác ứng dụng độc lập, hoặc là các biện pháp an toàn để lưu trữ các dữ liệu chứamật khẩu và/hoặc các cụm từ kiểm soát truy cập thông thường được gợi ý nên sửdụng
Thám mã tuyến tính và Thám mã vi phân là các phương pháp chung cho mật
mã hóa khóa đối xứng Khi mật mã hóa dựa vào các vấn đề toán học như độ khó
NP, giống như trong trường hợp của thuật toán khóa bất đối xứng, các thuật toánnhư phân tích ra thừa số nguyên tố trở thành công cụ tiềm năng cho thám mã
Có 6 phương pháp chung để phân tích tấn công (Chỉ có bản mã; Biết bản rõ;Lựa chọn bản rõ; Mô phỏng lựa chọn bản rõ; Lựa chọn bản mã; Lựa chọn khóa).Mỗi phương pháp trong số chúng giả sử rằng kẻ thám mã hoàn toàn có hiểu biết vềthuật toán mã hoá được sử dụng
Trang 116 Giới thiệu chung về hệ mật mã Elgamal:
Hệ elgamal là 1 hệ mật mã công khai
Hệ elgamal dựa trên bài toán logarit rời rạc Tính an toàn của nó tùy thuộc vào độ phức tạp của bài toán logarit
Hệ Elgamal là 1 biến thể của sơ đồ phân phối khóa Diffie – Hellman, được Tiến sĩ Taher Elgamal đưa ra năm 1985
So với RSA, hệ Elgamal không có nhiều rắc rối về vấn đề bản quyền sử dụng
7 Ưu và nhược điểm của hệ mật mã Elgamal:
7.1 Ưu Điểm :
Độ phức tạp của bài toán logirit lớn nên độ an toàn cao
Bản mã phụ thuộc vào bản rõ x và giá trị ngẫu nhiên nên từ 1 bản tõ ta cónhiều bản mã khác nhau
7.2 Nhược điểm:
Tốc độ chậm (do phải xử lý số nguyên lớn)
Dung lượng bộ nhớ dành cho việc lưu trữ khóa cũng lớn
8 Tính an toàn và bảo mật của hệ mật mã Elgamal:
Giả sử C có được bản mã, để giải mã được thì C phải đối mặt với bài toán sau:
Trang 12C phải tìm số a sao cho h ≡ g a (mod p) để có thể dùng phương pháp giải mã như B đã làm; Hoặc C phải tìm số b sao cho y1 ≡ g b (mod p) để có thể tính trực tiếp hb và từ đó tìm được r.
Cả hai cách tiếp cận nói trên đều đòi hỏi C phải giải bài toán logarithm rời rạc,
là một bài toán khó, do đó ElGamal là hệ mã khóa tương đối an toàn
CHƯƠNG 2 : KẾT QUẢ NGHIÊN CỨU
1 Giới thiệu:
Tên đề tài nghiên cứu: Xây dựng chương trình mã hóa và giải mãElgamal
Các bước thực hiện triển khai đề tài bao gồm:
Nghiên cứu nội dung các thuật toán
Thiết kế và cài đặt chương trình demo thuật toán
Hình thức sản phẩm: Sản phẩm ứng dụng
2 Kết quả đạt được: Nghiên cứu, Cài đặt demo thuật toán Nội dung thuật toán:
Bước 1: Tạo khóa
Cho p là một số nguyên tố sao cho bài toán logarit rời rạc trong Zp làkhó giải
Trang 13Bước 2: Xây dựng hàm mã hóa dữ liệu
Chọn 1 số ngẫu nhiên bí mật k ∈ Zp-1, Ta xác định: k ∈ Zp-1 = {0,1…, p-2}
Choose private key KpriA=αA
Compute KpubA=αaA mod p = bA
kAB = bAaB = αaB*aA mod p A==>y
x = y*kAB-1 mod p
3 Thiết kế, cài đặt chương trình đề mô thuật toán:
3.1 Giao diện chương trình DEMO ngôn ngữ Java:
Trang 14Hình 1: Giao diện DEMO ngôn ngữ Java
3.2 Giao diện chương trình DEMO ngôn ngữ Javascript:
Hình 2: Giao diện DEMO ngôn ngữ JavaScript
3.3 Giao diện chương trình DEMO ngôn ngữ C#:
Trang 15Hình 3: Giao diện DEMO ngôn ngữ C#
4 Cài đặt và triển khai:
4.1 Giới thiệu công cụ:
4.1.1 Apache Netbean:
NetBean là một mơi trường phát triển tích hợp (IDE) cho Java NetBean cho phép các ứng dụng được phát triển từ một tập hợp các thành phần phần mềm được gọi là modules Eclipse chạy trên Windows, macOS, Linux và Solaris
Giao diện dễ sử dụng vời người lập trình Có đầy đủ các thư viện của ngôn ngữ Java giúp người lập trình sử dụng các API một cách dễ dàng Ngồi ra NetBeancòn hỗ trợ người lập trình dễ dàng thiết kế giao diện với thư viện Java application
Ưu điểm của công cụ NetBean
o Nền tảng đa: có thể chạy trên cả Windows và Linux điều hành
o Không bị hạn chế về các nhà cung cấp công cụ, bao gồm tất cả cácnhà cung cấp phần mềm độc lập (ISV)
o GUI môi trường hỗ trợ phát triển không dựa trên GUI
o Tính biến phổ của ngôn ngữ Java (ngôn ngữ sử dụng để viết các côngcụ)
o Tải nhanh hơn sử dụng SWT / Jface
Nhược điểm của công cụ NetBean
o Cài đặt khá phức tạp, phần cứng và máy bộ nhớ
Trang 164.1.2 Visual Studio:
Microsoft Visual Studio là một môi trường tích hợp (IDE) từ Microsoft Microsoft Visual Studio còn được gọi là "Trình soạn thảo mã nhiều người sử dụng nhất thế giới ", được dùng để lập trình C++ và C# là chính Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web,các ứng dụng web và các dịch vụ web
Từ khi ra đời đến nay, Visual Studio đã có rất nhiều các phiên bản sử dụng khác nhau Điều đó, giúp cho người dùng có thể lựa chọn được phiên bản tương thích với dòng máy của mình cũng như cấu hình sử dụng phù hợp nhất
Những điểm mạnh của Visual Studio:
Visual Studio hỗ trợ lập trình trên nhiều ngôn ngữ như: C/C++, C#, F#,Visual Basic, HTML, CSS, JavaScript
Là một công cụ hỗ trợ việc Debug một cách dễ dàng và mạnh mẽ như: BreakPoint, xem giá trị của biến trong quá trình chạy, hỗ trợ debug từng câu lệnh
Giao diện Visual Studio rất dễ sử dụng đối với người mới bắt đầu lập trình
Visual Studio hỗ trợ phát triển các ứng dụng: desktop MFC, Windows Form,Universal App, ứng dụng mobile Windows Phone 8/8.1, Windows 10…
Visual Studio hỗ trợ xây dựng ứng dụng một cách chuyên nghiệp bằng cáccông cụ kéo thả
Visual Studio được đông đảo lập trình viên trên thế giới sử dụng
4.2 Hướng dẫn cài đặt và chạy chương trình:
4.2.1 Hướng dẫn cài đặt
4.2.1.1 Java (Apache Netbean)
Trước tiên chúng ta cài đặt môi trường java cho máy
Link:
https://www.oracle.com/java/technologies/downloads/#jdk19-windows/
Trang 17 Cài đặt môi trường theo hướng dẫn của trình cài đặt.
Cài đặt NetBean:
B1: truy cập installers/16/Apache-NetBeans-16-bin-windows-x64.exe/ để download netbean phiên bản cho window
https://www.apache.org/dyn/closer.cgi/netbeans/netbeans-B2: Mở file sau khi đã tải thành công
B3: Ấn theo hướng dẫn cài đặt của trình cài đặt
B4: trình cài đặt hiển thị cài đặt thành công
Trang 18Cài Extension Live Sever để chạy chương trình trên trình duyệt web:
Trang 19Vì ở đây mình đã cài đặt Visual Studio 2019 Community rồi nên nó sẽkhông hiện ở đây Đối với các bạn chưa cài đặt các bạn tìm tới ô VisualStudio 2019 Community rồi ấn vào Install nhé.
B3: Cài đặt gói hỗ trợ C#
Để có thể sử dụng C# trong Visual Studio bạn cần phải cài đặt thêm gói hỗtrợ NET trong Visual Studio trong gói hỗ trợ này bao gồm 2 ngôn ngữ khácnhau là C# và F# nhưng chúng ta chỉ quan tâm tới C# trong suốt khóa họcnày Đối với gói hỗ trợ này, bạn có thể viết ra được các ứng dụng Desktop,Web, Console … bằng ngôn ngữ lập trình C#