element_pow_zn(public_key, g, secret_key)无法对public_key重新分配内存
时间: 2023-10-05 22:13:49 浏览: 38
这是因为`element_pow_zn()`函数需要修改`public_key`指向的内存空间,以存储计算结果。如果重新分配内存,那么`public_key`指向的内存空间将发生改变,这将导致函数无法正确地写入计算结果。因此,你需要在调用`element_pow_zn()`函数之前,分配足够的内存空间来存储计算结果,并将`public_key`指向这个内存空间。例如:
```
element_t result;
element_init_GT(result, pairing);
element_pow_zn(result, public_key, secret_key);
```
这样就可以在`result`中存储计算结果,而不会影响`public_key`的指向。
相关问题
element_pow_zn(public_key, g, secret_key);报错GNU MP: Cannot reallocate memory (old_size=0 new_size=68)
这个错误通常是因为你在调用`element_pow_zn()`函数之前没有初始化`public_key`。请确保在调用`element_pow_zn()`函数之前,使用`element_init_G1(public_key, pairing)`或类似的函数初始化`public_key`,例如:
```
element_t public_key, g;
element_init_G1(public_key, pairing);
element_init_G1(g, pairing);
// 确保已经将public_key赋值,g赋值为生成元
// ...
element_pow_zn(public_key, g, secret_key);
```
如果你已经正确初始化了`public_key`,则可能是因为你的内存不足,导致无法重新分配内存。你可以尝试减少内存使用,或者增加可用内存。
无法使用element_pow_zn
element_pow_zn 是一个函数,用于计算一个元素的指数幂。如果无法使用它,可能是因为你没有正确包含相关的库或头文件,或者参数不正确。请检查你的代码,确保在使用 element_pow_zn 之前已经正确初始化了所有的变量,并且包含了正确的库和头文件。如果你遇到了具体的错误,请提供更多的信息,以便我能够更好地帮助你解决问题。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)