Cryptography

Asymmetric Encryption

Thuật toán mã hóa bất đối xứng

Bước 1Chọn m
Bước 2 (tìm khóa mã hóa)Chọn e sao cho GCD(e, m) = 1
Bước 3 (tìm khóa giải mã)Tìm d sao cho e * d = 1 mod m
Bước 4 (Encrypt)y = (x * e + t) mod m
Bước 5 (Decrypt)x = ((y - t) * d) mod m

Tạo class để thực hiện mã hóa đối xứng theo các yêu cầu sau

Asymmetric Encryption

Bài 1: Asymmetric Encryption Simple

Yêu cầu: Thực hiện mã hóa trên các ký tự A-Z, chọn m = 26

Bài 2: Asymmetric Encryption 1 bytes (mảng byte)

Yêu cầu: Thực hiện mã hóa trên các ký tự của bảng mã Assci, chọn m = 256

Bài 2: Asymmetric Encryption 2 bytes (mảng ushort)

Yêu cầu: Thực hiện mã hóa trên các ký tự của bảng mã Unicode, chọn m = 216

Bài 3: Asymmetric Encryption 4 bytes (mảng uint)

Yêu cầu: Thực hiện mã hóa trên các ký tự của bảng mã Unicode, chọn m = 232

Bài 4: Asymmetric Encryption 8 bytes (mảng ulong)

Yêu cầu: Thực hiện mã hóa trên các ký tự của bảng mã Unicode, chọn m = 264

Bài 5: Asymmetric Encryption 128 bytes (mảng BigInteger)

Yêu cầu: Thực hiện mã hóa trên các ký tự của bảng mã Unicode, chọn m = 21024