Cryptography

RSA Encryption

Thuật toán mã hóa RSA

Bước 1Chọn p, q là 2 số nguyên tố
Bước 2Tính φ(n) = (p-1)*(q-1)
Bước 3Tính n = p * q
Bước 4 (tìm khóa mã hóa)Chọn e sao cho GCD(e, φ(n)) = 1
Bước 5 (tìm khóa giải mã)Tìm d sao cho e * d = 1 mod φ(n)
Bước 6 (Encrypt)y = xe mod n
Bước 7 (Decrypt)x = yd mod m

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

RSA 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(0-25), chọn p = 7, q = 11, e = 3

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 p = 11, q = 29, e = 5

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 p = 283, q = 547, e = 5

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 p = 51109, q = 99733, e = 5