What is the error in this?
古いコメントを表示
function DECout = gf2dec(HA)
c=0:[(2^8)-1];
GFRefarray=gf(c);
for i=1:length(HA)
for k=0:(2^8)-1
temp=isequal(HAHA(i),GFRefarray(i));
if (temp==1)
DECout(i)=k;
end
end
end
The error is: >> gf2dec Error using gf (line 65) X must be between 0 and 2^m-1
Error in gf2dec (line 3) GFRefarray=gf(c); How to solve this??
The value of HA is:
HA = GF(2^8) array. Primitive polynomial = D^8+D^4+D^3+D^2+1 (285 decimal)
Array elements =
172
106
200
187
68
251
103
2
149
131
25
55
237
110
129
231
I am trying to convert the galois polynomial, HA into a numeric value. I want to encrypt the data. So, how can I convert this ?
回答 (1 件)
Walter Roberson
2018 年 1 月 3 日
>> help gf
gf Create a Galois field array.
X_GF = gf(X,M) creates a Galois field array from X in the field
gf(2^M), for 1<=M<=16. The elements of X must be integers between 0
and 2^M-1. [...]
X_GF = gf(X) uses a default value of M = 1.
9 件のコメント
Darsana P M
2018 年 1 月 4 日
Darsana P M
2018 年 1 月 4 日
Walter Roberson
2018 年 1 月 4 日
function DECout = gf2dec(HA)
N = 8;
c = 0 : (2^N)-1;
GFRefarray = gf(c, N);
for i = 1:length(HA)
for k = c
if isequal(HAHA(i),GFRefarray(i));
DECout(i)=k;
end
end
end
... looks pretty inefficient to me.
Darsana P M
2018 年 1 月 5 日
Walter Roberson
2018 年 1 月 9 日
function DECout = gf2dec(HA)
N = 8;
c = 0 : (2^N)-1;
GFRefarray = gf(c, N);
for i = 1:length(HA)
for k = c
if isequal(HA(i),GFRefarray(k+1));
DECout(i)=k;
end
end
end
Darsana P M
2018 年 1 月 10 日
Walter Roberson
2018 年 1 月 10 日
You would get that error if you did not pass HA to gf2dec.
result = gf2dec(HA)
I would note that the code from the other thread, accessing the properties of the field, would be a lot more efficient.
Darsana P M
2018 年 1 月 10 日
Darsana P M
2018 年 1 月 10 日
カテゴリ
ヘルプ センター および File Exchange で Error Detection and Correction についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!