我目前正在努力使用RSA加密算法.
我的问题位于public/private密钥生成,这是我的步骤:
1. -Generate 2 prime numbers p, q with p > q and nbBits(p) == nbBits(q)
using the miller-rabin algorythm this was done succesfully
2. -compute n = p*q
3. -compute fi(n) = (p-1)*(q-1)
Run Code Online (Sandbox Code Playgroud)
麻烦来了:我需要找到一个整数e q < e < fi(n).这个整数需要具有某种素性.
我的问题是:e必须是原始的(不能用除了它本身之外的任何数字除以1)或者原则是否为fi(n) (gcd(e, fi(n)) = 1)OR?
我确实有一些问题可以搞清楚(我的消息来源明确指出需要欧几里德算法(gcd),但由于英语不是我的母语,我在数学英语方面遇到了一些麻烦)
可能是一个愚蠢的问题,但我找不到明确的解释(至少对我来说足够清楚).
感谢阅读,甚至更多的回答.
我一直在尝试用c ++创建一个垃圾收集器,我已经将它设计为我的所有基类,称为garbageCandidate,它包含一个静态向量,其中包含指向garbageCandidate的指针,每个garbageCollector实例都在向量上推送"this" .
然后静态函数出现并删除静态向量中的所有指针.
在删除函数的最开始(删除第一个指针)我得到一个错误,说明删除被用于无效指针...
这与静态/动态绑定有关吗?我的意思是:删除操作符是否无法按预期行事,因为我在"父"类上调用delete并且它实际上是一个孩子?
一种避免这种情况的方法是创建虚拟析构函数吗?(或虚拟删除功能)?
还是我完全错过了什么?
ps:用于动态创建的测试的所有对象.