加载/导出RandomNumber

时间:2015-09-07 13:19:37

标签: c++ ssl crypto++ diffie-hellman

在自制ECDHE应用程序的框架中,客户端和服务器都必须发送随机生成的数字(rng),以便在握手期间稍后构建MasterSecret( TLS-等)...

使用crypto++,可以轻松创建这些数字,这要归功于:

AutoSeededRandomPool rng;

我的问题是1)将它们导出为字符串或等效字符,2)从字符串加载

我必须将这些数字放在一个框架中,而Class definitionexamples也不能将这些数字精确地放在框架中。

在网络上,我无法找到保存/加载示例(例如RSA::PublicKeys的示例)。

显然我是第一个想要这个,因为他们examples在同一个程序中生成客户端和服务器 ,因此不需要传输数字。

而且,作为握手的一部分,我也尝试使用curvesID ...

1 个答案:

答案 0 :(得分:0)

这个问题是我的一个误解,所以我会解释它,如果有人有相同的审讯。它主要来自crypto++ wiki ...

有两个不同的对象:

AutoSeededRandomPool prng;

prng.GenerateBlock( scratch, scratch.size() );

AutoSeededRandomPool prng;是随机数的生成器(将自动播种)

prng.GenerateBlock是从该随机数中提取位以构建所需长度的std::string scratch的命令。

由于划痕是一个字符串,我们可以随心所欲地使用它,在任何地方使用它......所以请参考字符串导入/导出。