How can i implement galois counter mode (GCM) in matlab?

The image above shows an algorithm to find the multiplication of 2 blocks using galois field.I tried implementing it,but got an error.Can somebody help me??
clc;
clear all;
close all;
x=01101101;
Z=00000000;
v=11001011;
for i=0:1:8
if x(i)== 0
Z(i+1)= Zi;
else xi == 1
Z(i+1)= xor(Zi,Vi);
end
end
The error was: Subscript indices must either be real positive integers or logicals.
Error in algo1 (line 8) if x(i)== 0

 Accepted Answer

Hi Darsana P M
You can retype it like this:
clc;
clear all;
close all;
x=[0 1 1 0 1 1 0 1];
Z=[0 0 0 0 0 0 0 0];
v=[1 1 0 0 1 0 1 1];
for i=1:1:8 %-----or use i=1:8------
if x(i)== 0
Z(i+1)= Z(i);
else x(i) == 1;
Z(i+1)= xor(Z(i),v(i));
end
end
Z
Greetings Eng. Ahmed G
Good luck

4 Comments

The site does not accept zero We always start with one number like:
for i=1:N %------N any number------
Thanks a lot sir for the correction. It was really helpful. But I have a doubt, the final answer of Z is it for i=8. How can i get the answer for each i??
And also,one more doubt, if the number of bits is extended from 8 bits to 128 bits,what should i do?
Hi Darsana P M
Following the answer I have just posted to your question.
Would you please be so kind to have a look and if it helps, would you please consider marking my answer as accepted answer by clicking on the Accepted Answer? thanks in advance, awaiting
Is it showing (nonce+counter) XOR (key)??
let say: x=nonce
v=key
z = output?
Am i right?

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!