Everyone who uses a computer or smartphone faces cryptography every day: starting with working on the Internet through the HTTPS protocol, and ending with the infamous cryptographic viruses. If you are into computer engineering and programming, you should learn about practical implementations of algorithms of cryptography and cryptanalysis. One of our writers has created a task for encoding a word by Hamming code and presented a personal solution to help you with your assignment. If you needcryptography assignment help online, ask our experts for assistance!

Experts from AssignmentShark are here to provide not onlycryptography assignment help, but also assistance with other disciplines that frequently confuse students with catchy assignments. If you are seeking the help of a professional that you can rely on, place the order with us! It’s simple: fill in your contact email, assignment title, discipline, deadline, and desired price. You can choose the expert that suits your task the best and chat with the writer during the writing process. When the assignment will be finished, you can evaluate the expert’s work, thus helping other clients with choosing the right author. Every order is completed on an individual basis, and all of your requirements that you mention in the order form are considered. With our service you can be confident that you will receive a paper of the highest quality!

**Task:**

Encode the word by Hamming code: 1001 0001 1101 1110 0000 000.

**Solution:**

The coding of a message of the length m = 23 will require k = 5 additional digits, as the output we get is a message length n = 28.

The coded message will look like this:

b28 b27 b26 b25 b24 b23 b22 b21 b20 b19 b18 b17 b16 b15 b14 b13 b12 b11 b10 b9

b8 b7 b6 b5 b4 b3 b2 b1

Digits b1, b2, b4, b8, and b16 will be as control, others as informational.

Let’s set the data bits of the original level of the order:

b3 =1, b5 = 0, b6 = 0, b7=1,

b9=0, b10 =0, b11=0, b12=1,

b13= 1, b14=1, b15=0, b17=1,

b18=1, b19=1, b20=1, b21=0,

b22=0, b23=0, b24=0, b25=0,

b26=0, b27=0, b28=0

Now we find the meaning of the control bits.

Let’s introduce for convenience the following sets:

V1 = 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27… – all numbers whose first digit is equal to 1;

V2 = 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27… – all numbers whose second digit is equal to 1;

V3 = 4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, 28… – all numbers whose third digit is equal to 1;

V4 = 8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 28… – all numbers whose fourth digit is equal to 1;

V5 = 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 … – all numbers whose fifth digit is equal to 1;

Then we will understand under + as addition by modulo 2.

Then b1 = b3+b5+b7+b9+b11+b13+b15+b17+b19+b21+b23+b25+b27 = 1 (all bits of V1, except for the first);

b2 = b3+b6+b7+b10+b11+b14+ b15+ b18+ b19+ b22+ b23+ b26+ b27 = 1 (all bits of

V2, except for the first);

b4 = b5+b6+b7 +b12+b13+ b14+ b15+ b20 +b21+b22+b23+b28 = 1 (all bits of V3, except for the first);

b8 = b9+b10+b11+b12+b13+b14+b15+b24+b25+b26+b27+b28 = 1 (all bits of V4, except for the first);

b16 = b17+b18+b19+b20+b21+b22+b23+b24+b25+b26+b27+b28 = 0 (all bits of V5, except for the first).

Thus, the code is 1111 0011 0001 1100 1111 0000 0000.