Ai
1 Star 0 Fork 0

ForkedRepositories/putty

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
sshecdsag.c 916 Bytes
一键复制 编辑 原始数据 按行查看 历史
Simon Tatham 提交于 2020-02-23 23:29 +08:00 . New vtable API for keygen progress reporting.
/*
* EC key generation.
*/
#include "ssh.h"
#include "sshkeygen.h"
#include "mpint.h"
int ecdsa_generate(struct ecdsa_key *ek, int bits)
{
if (!ec_nist_alg_and_curve_by_bits(bits, &ek->curve, &ek->sshk.vt))
return 0;
mp_int *one = mp_from_integer(1);
ek->privateKey = mp_random_in_range(one, ek->curve->w.G_order);
mp_free(one);
ek->publicKey = ecdsa_public(ek->privateKey, ek->sshk.vt);
return 1;
}
int eddsa_generate(struct eddsa_key *ek, int bits)
{
if (!ec_ed_alg_and_curve_by_bits(bits, &ek->curve, &ek->sshk.vt))
return 0;
/* EdDSA secret keys are just 32 bytes of hash preimage; the
* 64-byte SHA-512 hash of that key will be used when signing,
* but the form of the key stored on disk is the preimage
* only. */
ek->privateKey = mp_random_bits(bits);
ek->publicKey = eddsa_public(ek->privateKey, ek->sshk.vt);
return 1;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/forked/putty.git
git@gitee.com:forked/putty.git
forked
putty
putty
master

搜索帮助