1. Trang chủ
  2. » Luận Văn - Báo Cáo

mã hóa vigener rsa bảo mật và an ninh mạng

11 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Mã Hóa Vigener + RSA
Tác giả Mạc Đỉnh Thy, Chống Chí Dinh, Nguyễn Thế Hoàng, Nguyễn Ngọc Yến Nhi, Mai Tứ Quý
Người hướng dẫn ThS. Lương Trần Hy Hiến
Trường học Trường Đại Học Sư Phạm TP. Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài tập
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 11
Dung lượng 1,06 MB

Nội dung

HÒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN MA HOA VIGENER + RSA Hoc phan: Bao mat va an ninh mang Thanh Phố Hỗ Chí Minh, ngày 14 tháng 04 năm 2023... Ma héa Vigener ® Nhap van ban can ma héa:

Trang 1

Thanh Phố Hỗ Chí Minh, ngày 11 tháng 04 năm 2023

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HÒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN

MA HOA VIGENER + RSA

Hoc phan: Bao mat va an ninh mang

Thanh Phố Hỗ Chí Minh, ngày 14 tháng 04 năm 2023

Trang 2

BO GIAO DUC VA DAO TAO TRUONG DAI HOC SU PHAM TP HO CHi MINH KHOA CONG NGHE THONG TIN

MA HOA VIGENER + RSA

Hoc phan: Bao mat va an ninh mang

Nhóm sinh viên thực hiện: NHÓM Zero9

46.01.104.179 Mạc Đỉnh Thy

46.01.104.029 Chống Chí Dinh

46.01.104.057 Nguyễn Thế Hoàng

46.01.104.131 Nguyễn Ngọc Yến Nhi

46.01.104.150 Mai Tứ Quý

Mã lớp: 2221COMPL04901

Giảng viên hướng dẫn: ThS Lương Trần Hy Hiến

Thanh Phố Hỗ Chí Minh, ngày 14 tháng 04 năm 2023

Trang 3

I Ma héa Vigener

® Nhap van ban can ma héa:

Kết quả giải mã:

® Nhập Key để mã hóa:

Văn bản cân mã hóa: bảo mật an ninh mạng Mã hóa

Kết quả giải mã:

e Bắt dầu mã hóa:

e Nếu không nhập key thì sẽ hiện thông báo:

Trang 4

Key mã hóa:

Kết quả mã hóa:

Kết quả giải mã:

A Please enter a key

® Sau khi nhập đúng key mã hóa:

sử) Mã hóa Vigener

Văn bản cần mã hóa: bảo mật an ninh mạng

Key mã hóa: bmanm

Kết quả mã hóa: ioo ady mn audd méad

Kết quả giải mã:

® Bat dau giai ma:

e Nếu không nhập key thì sẽ hiện thông báo:

Giải mã

Xóa

Giải mã

Trang 5

BS Mã hóa Vigener n

Văn bản cần mã hóa: bảomậtannnhmag =- Mã hóa

Kêt quả mã hóa: foo adymnaygdmoad —

Kết quả giải mã:

A Please enter a key

se Nếu không nhập đúng key thì sẽ cho ra kết quả khác:

Văn bản cần mã hóa: bảomậtannnhmag - Mã hóa

Kết quả giải mã: ìòò àđý no ảvpự noàö

¢ Nếu nhập đúng key:

Trang 6

sử) Mã hóa Vigener

Văn bản cần mã hóa: bảo mật an ninh mạng Mã hóa

Kết quả mã hóa: ioo aðỹ mn àwđứ móaô

Kết quả giải mã: bảo mật an ninh mạng

Code phần mã hóa Vigener:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Ling;

using System Text;

using System.Windows.Forms;

namespace VidVigener

public partial class Vigener : Form

public VigenerQ)

InitializeComponent();

}

private string[] alphabet = — {"a HH "à " a", wan wan "a", wan "nàn, wan wan wan "a", wan wan

"ẩn nặn, nấu, mg"

"b", "ch", "q", "8", "nen, nàn, "êm, "en wen "e", nen nen wen neu wen "ệ",

"g", "h", ue tì, oe 7H ue "ị, "kh", Nà "m", "nh", "oO", tò", "en "6B", "6", nan QO,

‘ nen "ồ", ugu ux 6", 6", 6", "ộ", to" tờ", nen "tố", "ớ", "og", nan Hàn H p", "gq", r", Mgt

me

- „ "on, "ù", "ủ", "ũ", "ú", "ụ", "ự", "ừ", "ử", "ữ", "ứ", "uo "vu", "X", "y", "yy",

"ở", yy", "ý", "yt };

private string Vigenere(string text, string key, bool encrypt)

text = text.ToLower();

key = key.ToLower();

int keylndex = 0;

StringBuilder result = new StringBuilder();

for (inti = 0; ¡ < text.Length; i++)

char c = text[il;

if (Ichar.IsLetter(C))

{

Trang 7

result.Append(c);

continue;

int x = Array.IndexOf(alphabet, c.ToString());

int y = Array.IndexOf(alphabet, key[keylndex].ToString());

int Z;

if (encrypt)

‘ z= (x + y) % alphabet.Length:

else

z = (x- y + alphabet.Length) % alphabet.Length;

result Append(alphabet[z]);

keylndex = (keylndex + 1) % key.Length;

}

return result.ToString();

}

private void btnEncrypt_Click(object sender, EventArgs e)

string plainText = txtlnput Iext;

string key = txtKey.Text;

if (string.IsNullOrEmpty(key))

MessageBox.Show("Please enter a key.", "Warning", MessageBoxButtons.OK, MessageBoxlcon.Warning);

return;

string cipherText = Vigenere(plainText, key, true);

txtKQMaHoa.Text = cipherText;

private void btnGiaiMa_Click(object sender, EventArgs e)

string cipherText = txtKQMaHoa Text;

string key = txtKey.Text;

if (string.IsNullOrEmpty(key))

MessageBox.Show("Please enter a key.", "Warning", MessageBoxButtons.OK, MessageBoxlcon.Warning);

return;

string plaintext = Vigenere(cipherText, key, false);

IbKQGiaiMa.Text = plainText;

private void btnXoa_Click(object sender, EventArgs e)

Trang 8

txtlnput.Text = "";

txtInput.Focus();

txtKey.Text = "";

txtKQMaHoa Text = "";

IbKQGiaiMa.Text = "";

H Mã hóa RSA

©_ Nhập văn bản cần mã hóa:

sử Mã hóa RSA

Văn bản cần mã hóa: bảo mật an ninh mạng

Kết quả mã hóa:

Kết quả giải mã:

e Bắt đầu mã hóa:

a! Ma héa RSA

Văn bản cần mã hóa: bảo mật an ninh mang

Kết quả mã hóa: h2mZEFksgyav/nTE94E9NS4qLNcN3'

Kết quả giải mã:

Kết quả mã hóa:

Mã hóa

Giải mã

Xóa

Giải mã

Xóa

h2mZEFkseyav/nTE94E9NS4qLNcN3vu8§ZXctALSq5ow+45fOYNY77TCY+cbL74 MIVL9RtFKKuqVkwJDnp54CGfVxTIrDWo/kA7§8aMWWmAgqrcQqQcV/l6Ksz4IKPf I9hKqYggzZu2RPF0OtLCUqL+DXzPNz2L0ZzFdePL6RflebYY=

Trang 9

e Bat dâu giải mã:

Văn bản cân mã hóa: bảo mật an ninh mạng Mã hóa

Kết quả mã hóa: CUqL+DXzPNz2L0ZzF dePL6RfiebY Y=

Kết quả giải mã: bảo mật an ninh mạng Xóa

Code phần mã hóa RSA:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Ling;

using System.Security.Cryptography;

using System Text;

using System.Windows.Forms;

namespace VidVigener

public partial class RSA : Form

public RSA()

InitializeComponent();

static public byte[] Encryption(byte[] Data, RSAParameters RSAKey, bool DoOAEPPadding)

{

try

byte[] encryptedData;

using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider()) RSA.ImportParameters(RSAKey);

encryptedData = RSA.Encrypt(Data, DoOAEPPadding);

return encryptedData;

}

catch (CryptographicException e)

Console.WriteLine(e.Message);

return null;

Trang 10

}

static public byte[] Decryption(byte[] Data, RSAParameters RSAKey, bool DoOAEPPadding)

{

try

byte[] decryptedData;

using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider()) RSA.ImportParameters(RSAKey);

decryptedData = RSA.Decrypt(Data, DoOAEPPadding);

return decryptedData;

}

catch (CryptographicException e)

Console.WriteLine(e.ToString());

return null;

}

UnicodeEncoding ByteConverter = new UnicodeEncoding();

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

byte[] plaintext;

byte[] encryptedtext;

#region

private void btnEncrypt_Click(object sender, EventArgs e)

{

//¡ Mã hóa dữ liệu đầu vào sang dạng byte[]

plaintext = Encoding.UTF8.GetBytes(txtInput.Text);

encryptedtext = Encryption(plaintext, rsa.ExportParameters(false), false); /¡ Chuyển đổi kết quả mã hóa sang chuỗi Base64 để hiển thị

txtKetQua.Text = Convert.ToBase64String(encryptedtext);

private void btnGiaiMa_Click(object sender, EventArgs e)

/¡ Chuyển đổi chuỗi đã được mã hóa từ Base64 sang byte[]

byte[] encryptedData = Convert.FromBase64String(txtKetQua.Text);

/J Giải mã dữ liệu đã được mã hóa

byte[] decryptedData = Decryption(encryptedData, rsa.ExportParameters(true), false);

/ƒ Hiển thị kết quả giải mã

IbKetQuaGM.Text = Encoding.UTF8.GetString(decryptedData);

#endregion

private void btnXoa_Click(object sender, EventArgs e)

{

txtInput.Text = "";

txtlnput.Focus();

Trang 11

IbKetQuaGM.Text = "";

}

}

}

Link souce code demo: https://bit.ly/VigenerRSA

Ngày đăng: 16/08/2024, 17:34

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w