How to do: Multiple Row Allocation within a for loop for a Variable in GF (2^m)

3 views (last 30 days)
Hello all,
Recently, I started working on a ECC implementation in Matlab to model the ECDH (elliptic curve diffie-hellman key exchange) algorithm. Everything was going great until I wanted to allocate each point on the curve starting from my base point i.e. P1 (base), P2, P3, P4, ... etc. I thought that a simple for loop would do the trick like this...
m = 9;
x1=6;
y1=298;
% Input GF allocation for EC in GF(2^m) --> first point (Base point)
x0 = gf(x1,m);
y0 = gf(y1,m);
A = [x0,y0] % 'A' is to show that without a for loop, the allocation works as expected and shown in the output
for i = 1 : 2 % Test loop, in my code I have while 1 and a break to work with the rest of my code accordingly
if i == 1
B(i) = [x0,y0] % <------------'B(i)' won't allocate correctly
end
end
But to my surprise I was stuck with the following error... I don't know if this is a problem with the internal Matlab function gf() or if there is a specific way to do this allocation. I cannot allocate each point by brute-force because there will be MANY points, therefore I need to use a loop.
I want to thank you in advance for your time, explanation, and efforts in helping me tackle this problem I am facing; have a fantastic day!
- Dylan R.
  2 Comments
Walter Roberson
Walter Roberson on 13 Nov 2015
Has B been given a value before that point, or is it undefined at the time the problem occurs?
lalonded
lalonded on 13 Nov 2015
B hasn't been defined or given a value before that point. It is just a arbitrary variable to help illustrate my problem. Thanks for commenting!

Sign in to comment.

Accepted Answer

Thorsten
Thorsten on 13 Nov 2015
I would guess that the following works
B{i} = [x0, y0];
  3 Comments
Thorsten
Thorsten on 16 Nov 2015
B(i) can just store a single element, but not two, [x0, y0];
B(i,:) = [x0, y0]
may also work, if x0 and y0 have the same size for each i.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!