Tiny A5/1

Cơ bản nó gồm 3 thanh ghi X, Y, Z.

X có độ dài 6 bit (x0 tới x5)

Y có độ dài 8 bit (y1 tới y7)

Z có độ dài 9 bit (z1 tới z8)

Khóa K có độ dài 23bit.

Phép quay các thanh ghi dùng bitwise XOR – nếu 2 bit giống nhau thì trả về 0, khác nhau thì trả về 1.

Quay X:

+ t = x2 XOR x4 XOR x5.

+ xj = xj-1

+ x0=t

Quay Y:

+ t = y6 XOR y7

+ yi=yi-1

+ y0=t

Quay Z:

+ t = z2 XOR z7 XOR z8

+ zj=zj-1

z0=t

Hàm m=maj(x1,y3,z3)

Nếu x1=m thì quay X

Nếu y3=m thì quay Y

Nếu z3=m thì quay Z

Bit sinh ra sẽ là si= x5 XOR y7 XOR z8

Lấy ví dụ dễ hiểu:

Bản rõ P = 111 (chữ h), khóa K = 100101.01001110.100110000

Step 0: x1=0, y3=0, z3=1 => m=0 nên quay theo X, Y.

+ Ra được X, Y mới, Z giữ nguyên

X=110010

Y= 10100111

Z=100110000

=> si=0 XOR 1 XOR 0 = 1

Step 1:….

[…]

Sau cùng thu được s=100

Bản mã sẽ được tính là: C = 111 XOR 100 = 011 (ra được chữ D).

Advertisements

2 Comments Add yours

  1. vinhnguyen says:

    Cứ như đang ôn thi cuối kỳ ấy nhỉ 😀

    Like

    1. Đúng rồi bạn. hihi

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s