一个关于椭圆曲线的简单问题
小弟对C++不是精通,刚刚起步,可做毕业设计遇到这样一个问题:做一个基于椭圆曲线的数字签名.其中初始化是第一步.这就是初始化的过程:
1,选取定义在有限域上的一条椭圆曲线E,E其实就是一个方程:y的平方=x的立方+x+1,使得E上的点的阶被一个大素数n整除(这个数可以自己选取)
2,选取一个基点G=(X,Y)属于E(这个G应怎样用C++写出来?)
3,用户A,B的分别选则自己的秘密密钥KA,KB,这两个秘钥是属于1到n-1之间的整数.另外,A,B分别要产生一个公共秘钥PA=KA*G属于E,PB=KB*G属于E.这里的乘法是椭圆曲线上的乘法.程序也要自己编.这里就不能详细阐述了.
4,以上的参数中,G,n,PA,PB要保存到一个文件中,以便以后的数字签名可以调用.
上面这些问题我只有一个很部分的概念,另外不知道是否是在VC的控制台下编写(我们要用VC编)?
哪位高人能给我介绍下编写这个程序的流程和一些需要注意的地方``
小弟万分感谢了~!!!!