Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Mã hóa Affine

    Hệ mã Affine trên bảng chữ cái tiếng Anh gồm 26 ký tự A,B,…,ZA,B,\dots,ZA,B,…,Z được đánh số từ 000 đến 252525 (A=0,B=1,…,Z=25A=0, B=1, \dots, Z=25A=0,B=1,…,Z=25). Với hai số nguyên khóa a,ba, ba,b thỏa gcd⁡(a,26)=1\gcd(a,26)=1gcd(a,26)=1, hàm mã hóa của một ký tự có chỉ số xxx là E(x)=(a⋅x+b) mod 26.E(x) = (a \cdot x + b) \bmod 26.E(x)=(a⋅x+b)mod26.

    Cho khóa (a,b)(a,b)(a,b) và một xâu bản rõ chỉ gồm chữ in hoa (A-Z) và dấu cách, hãy mã hóa xâu đó bằng hệ mã Affine. Dấu cách được giữ nguyên vị trí, không mã hóa.

    Ví dụ: với a=5,b=8a=5, b=8a=5,b=8 và bản rõ HELLO, ta có H(7)→(5⋅7+8) mod 26=17→RH(7) \to (5\cdot7+8)\bmod26=17 \to RH(7)→(5⋅7+8)mod26=17→R; tương tự E→CE \to CE→C, L→LL\to LL→L, L→LL\to LL→L, O→AO\to AO→A. Kết quả: RCLLA.

    • Định dạng đầu vào:

      Dòng 1: hai số nguyên aaa và bbb cách nhau bởi dấu cách (1≤a,b≤251 \le a,b \le 251≤a,b≤25, gcd⁡(a,26)=1\gcd(a,26)=1gcd(a,26)=1). Dòng 2: xâu bản rõ (chỉ gồm chữ in hoa A-Z và dấu cách), độ dài từ 000 đến 200200200 ký tự (có thể là dòng rỗng).

    • Định dạng đầu ra:

      In ra đúng một dòng là bản mã thu được, giữ nguyên độ dài và vị trí dấu cách như bản rõ.

    Ví dụ:

    Đầu vào:

    5 8
    HELLO

    Đầu ra:

    RCLLA
    

    Đầu vào:

    1 0
    ABCXYZ

    Đầu ra:

    ABCXYZ
    

    Đang tải editor...