gf(2) Calculating the gcd (greatest common divisor)

Euclid's Algorithm

c = gcd(a0,b0)

a0 = b0110011001110111111000100000000101000110010100001000111110110111
a0 = 0x6677e20146508fb7
a0 = x62 + x61 + x58 + x57 + x54 + x53 + x52 + x50 + x49 + x48 + x47 + x46 + x45 + x41 + x32 + x30 + x26 + x25 + x22 + x20 + x15 + x11 + x10 + x9 + x8 + x7 + x5 + x4 + x2 + x + 1

b0 = b0001000100010001010100010000000000000001000000000100010101010001
b0 = 0x1111510001004551
b0 = x60 + x56 + x52 + x48 + x46 + x44 + x40 + x24 + x14 + x10 + x8 + x6 + x4 + 1

Find r0 = a0 % b0

r0 = b0000000000010000000001000000000101000000010100010001000001010001
r0 = 0x0010040140511051
r0 = x52 + x42 + x32 + x30 + x22 + x20 + x16 + x12 + x6 + x4 + 1

r0 is not zero nor one, so continue...

a1 = b0
a1 = b0001000100010001010100010000000000000001000000000100010101010001
a1 = 0x1111510001004551
a1 = x60 + x56 + x52 + x48 + x46 + x44 + x40 + x24 + x14 + x10 + x8 + x6 + x4 + 1

b1 = r0
b1 = b0000000000010000000001000000000101000000010100010001000001010001
b1 = 0x0010040140511051
b1 = x52 + x42 + x32 + x30 + x22 + x20 + x16 + x12 + x6 + x4 + 1

Find r1 = a1 % b1

r1 = b0000000000000101000101000101010100010101010100000000000100010000
r1 = 0x0005145515500110
r1 = x50 + x48 + x44 + x42 + x38 + x36 + x34 + x32 + x28 + x26 + x24 + x22 + x20 + x8 + x4

r1 is not zero nor one, so continue...

a2 = b1
a2 = b0000000000010000000001000000000101000000010100010001000001010001
a2 = 0x0010040140511051
a2 = x52 + x42 + x32 + x30 + x22 + x20 + x16 + x12 + x6 + x4 + 1

b2 = r1
b2 = b0000000000000101000101000101010100010101010100000000000100010000
b2 = 0x0005145515500110
b2 = x50 + x48 + x44 + x42 + x38 + x36 + x34 + x32 + x28 + x26 + x24 + x22 + x20 + x8 + x4

Find r2 = a2 % b2

r2 = b0000000000000001010000010000000000000000010000010001010100000001
r2 = 0x0001410000411501
r2 = x48 + x46 + x40 + x22 + x16 + x12 + x10 + x8 + 1

r2 is not zero nor one, so continue...

a3 = b2
a3 = b0000000000000101000101000101010100010101010100000000000100010000
a3 = 0x0005145515500110
a3 = x50 + x48 + x44 + x42 + x38 + x36 + x34 + x32 + x28 + x26 + x24 + x22 + x20 + x8 + x4

b3 = r2
b3 = b0000000000000001010000010000000000000000010000010001010100000001
b3 = 0x0001410000411501
b3 = x48 + x46 + x40 + x22 + x16 + x12 + x10 + x8 + 1

Find r3 = a3 % b3

r3 = b0000000000000000000100000101010100010100010101000101010100010100
r3 = 0x0000105514545514
r3 = x44 + x38 + x36 + x34 + x32 + x28 + x26 + x22 + x20 + x18 + x14 + x12 + x10 + x8 + x4 + x2

r3 is not zero nor one, so continue...

a4 = b3
a4 = b0000000000000001010000010000000000000000010000010001010100000001
a4 = 0x0001410000411501
a4 = x48 + x46 + x40 + x22 + x16 + x12 + x10 + x8 + 1

b4 = r3
b4 = b0000000000000000000100000101010100010100010101000101010100010100
b4 = 0x0000105514545514
b4 = x44 + x38 + x36 + x34 + x32 + x28 + x26 + x22 + x20 + x18 + x14 + x12 + x10 + x8 + x4 + x2

Find r4 = a4 % b4

r4 = b0000000000000000000001010000010100010100010101010001000000010001
r4 = 0x0000050514551011
r4 = x42 + x40 + x34 + x32 + x28 + x26 + x22 + x20 + x18 + x16 + x12 + x4 + 1

r4 is not zero nor one, so continue...

a5 = b4
a5 = b0000000000000000000100000101010100010100010101000101010100010100
a5 = 0x0000105514545514
a5 = x44 + x38 + x36 + x34 + x32 + x28 + x26 + x22 + x20 + x18 + x14 + x12 + x10 + x8 + x4 + x2

b5 = r4
b5 = b0000000000000000000001010000010100010100010101010001000000010001
b5 = 0x0000050514551011
b5 = x42 + x40 + x34 + x32 + x28 + x26 + x22 + x20 + x18 + x16 + x12 + x4 + 1

Find r5 = a5 % b5

r5 = b0000000000000000000000010100010001010001010101010000010101000001
r5 = 0x0000014451550541
r5 = x40 + x38 + x34 + x30 + x28 + x24 + x22 + x20 + x18 + x16 + x10 + x8 + x6 + 1

r5 is not zero nor one, so continue...

a6 = b5
a6 = b0000000000000000000001010000010100010100010101010001000000010001
a6 = 0x0000050514551011
a6 = x42 + x40 + x34 + x32 + x28 + x26 + x22 + x20 + x18 + x16 + x12 + x4 + 1

b6 = r5
b6 = b0000000000000000000000010100010001010001010101010000010101000001
b6 = 0x0000014451550541
b6 = x40 + x38 + x34 + x30 + x28 + x24 + x22 + x20 + x18 + x16 + x10 + x8 + x6 + 1

Find r6 = a6 % b6

r6 = b0000000000000000000000000001010001010001000000010000010100010101
r6 = 0x0000001451010515
r6 = x36 + x34 + x30 + x28 + x24 + x16 + x10 + x8 + x4 + x2 + 1

r6 is not zero nor one, so continue...

a7 = b6
a7 = b0000000000000000000000010100010001010001010101010000010101000001
a7 = 0x0000014451550541
a7 = x40 + x38 + x34 + x30 + x28 + x24 + x22 + x20 + x18 + x16 + x10 + x8 + x6 + 1

b7 = r6
b7 = b0000000000000000000000000001010001010001000000010000010100010101
b7 = 0x0000001451010515
b7 = x36 + x34 + x30 + x28 + x24 + x16 + x10 + x8 + x4 + x2 + 1

Find r7 = a7 % b7

r7 = b0000000000000000000000000000000101000001010001010101010000010001
r7 = 0x0000000141455411
r7 = x32 + x30 + x24 + x22 + x18 + x16 + x14 + x12 + x10 + x4 + 1

r7 is not zero nor one, so continue...

a8 = b7
a8 = b0000000000000000000000000001010001010001000000010000010100010101
a8 = 0x0000001451010515
a8 = x36 + x34 + x30 + x28 + x24 + x16 + x10 + x8 + x4 + x2 + 1

b8 = r7
b8 = b0000000000000000000000000000000101000001010001010101010000010001
b8 = 0x0000000141455411
b8 = x32 + x30 + x24 + x22 + x18 + x16 + x14 + x12 + x10 + x4 + 1

Find r8 = a8 % b8

r8 = b0000000000000000000000000000000001000101010101000100010000000101
r8 = 0x0000000045544405
r8 = x30 + x26 + x24 + x22 + x20 + x18 + x14 + x10 + x2 + 1

r8 is not zero nor one, so continue...

a9 = b8
a9 = b0000000000000000000000000000000101000001010001010101010000010001
a9 = 0x0000000141455411
a9 = x32 + x30 + x24 + x22 + x18 + x16 + x14 + x12 + x10 + x4 + 1

b9 = r8
b9 = b0000000000000000000000000000000001000101010101000100010000000101
b9 = 0x0000000045544405
b9 = x30 + x26 + x24 + x22 + x20 + x18 + x14 + x10 + x2 + 1

Find r9 = a9 % b9

r9 = b0000000000000000000000000000000000010001010000000000000000000000
r9 = 0x0000000011400000
r9 = x28 + x24 + x22

r9 is not zero nor one, so continue...

a10 = b9
a10 = b0000000000000000000000000000000001000101010101000100010000000101
a10 = 0x0000000045544405
a10 = x30 + x26 + x24 + x22 + x20 + x18 + x14 + x10 + x2 + 1

b10 = r9
b10 = b0000000000000000000000000000000000010001010000000000000000000000
b10 = 0x0000000011400000
b10 = x28 + x24 + x22

Find r10 = a10 % b10

r10 = b0000000000000000000000000000000000000000010101000100010000000101
r10 = 0x0000000000544405
r10 = x22 + x20 + x18 + x14 + x10 + x2 + 1

r10 is not zero nor one, so continue...

a11 = b10
a11 = b0000000000000000000000000000000000010001010000000000000000000000
a11 = 0x0000000011400000
a11 = x28 + x24 + x22

b11 = r10
b11 = b0000000000000000000000000000000000000000010101000100010000000101
b11 = 0x0000000000544405
b11 = x22 + x20 + x18 + x14 + x10 + x2 + 1

Find r11 = a11 % b11

r11 = b0000000000000000000000000000000000000000000100000001010100000001
r11 = 0x0000000000101501
r11 = x20 + x12 + x10 + x8 + 1

r11 is not zero nor one, so continue...

a12 = b11
a12 = b0000000000000000000000000000000000000000010101000100010000000101
a12 = 0x0000000000544405
a12 = x22 + x20 + x18 + x14 + x10 + x2 + 1

b12 = r11
b12 = b0000000000000000000000000000000000000000000100000001010100000001
b12 = 0x0000000000101501
b12 = x20 + x12 + x10 + x8 + 1

Find r12 = a12 % b12

r12 = b0000000000000000000000000000000000000000000001000000010100000000
r12 = 0x0000000000040500
r12 = x18 + x10 + x8

r12 is not zero nor one, so continue...

a13 = b12
a13 = b0000000000000000000000000000000000000000000100000001010100000001
a13 = 0x0000000000101501
a13 = x20 + x12 + x10 + x8 + 1

b13 = r12
b13 = b0000000000000000000000000000000000000000000001000000010100000000
b13 = 0x0000000000040500
b13 = x18 + x10 + x8

Find r13 = a13 % b13

r13 = b0000000000000000000000000000000000000000000000000000000100000001
r13 = 0x0000000000000101
r13 = x8 + 1

r13 is not zero nor one, so continue...

a14 = b13
a14 = b0000000000000000000000000000000000000000000001000000010100000000
a14 = 0x0000000000040500
a14 = x18 + x10 + x8

b14 = r13
b14 = b0000000000000000000000000000000000000000000000000000000100000001
b14 = 0x0000000000000101
b14 = x8 + 1

Find r14 = a14 % b14

r14 = b0000000000000000000000000000000000000000000000000000000000000001
r14 = 0x0000000000000001
r14 = 1

r14 is one, so gcd(a,b) is one (i.e. coprime/relatively prime)


See also: