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

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 个评论

Has B been given a value before that point, or is it undefined at the time the problem occurs?
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!

请先登录,再进行评论。

 采纳的回答

I would guess that the following works
B{i} = [x0, y0];

3 个评论

This runs properly, thank you!
Is there a reason why it needs to be a cell for this allocation to work properly? I'm genuinely interested...
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.
can you please suggest me to encrypt an image using matlab

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心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!

Translated by