m3 on Nostr: ...
Wikipediaとか読んでみて認識を改めたんですけど、暗号学的な秘密鍵とopensslとかで生成される秘密鍵は厳密には異なる(公開鍵生成に必要なパラメータ等がメタデータとして含まれているなど)ので、純粋な意味での秘密鍵からの公開鍵生成は特定の規格内の楕円曲線暗号しかできないかも…
(RSAの純粋な秘密鍵はd*e = x*φ(n)+1を満たす整数dだがe, n=p*qを含まないので公開鍵(n,e)を導出できない) (なおeはRSAではよく固定されてるのでパラメータとしてはnだけ持てば良いかも)
(DSAも秘密鍵が素数pを持たないので同様、ただしDSAは暗号化ではなく署名アルゴリズムである)
(EdDSAは楕円曲線のベースポイントBを秘密鍵が知らないので生成不可能に見えるが、Bにキツい制限があるので固定されてる可能性がある。理論的にはハッシュ関数HについてH(d)B ∈ (楕円曲線のアーベル群)が公開鍵になり、使われる楕円曲線は規格ごとに固定されてるのでBが固定されてれば導出可能、なおEdDSAも署名アルゴリズムである)
Published at
2023-02-13 14:43:02Event JSON
{
"id": "2e57d4a41b7f5b64246473981e31c5a2ab682299a6416cbe86e5a23f8019b463",
"pubkey": "f1db37389f268a87afe95ab0f4f1e6302ca0cc21cd36294323a9352e3374985a",
"created_at": 1676299382,
"kind": 1,
"tags": [
[
"e",
"dfde2953db67c2fdf1cca61fb8f17ad20f868f248a4bcb7df7191c358d9d1f89",
""
],
[
"e",
"34a666243b460f4d88fbe9e017ea2c8a726923b71a32884ee532dab1573cfeac"
],
[
"p",
"67c6d1a1d49b40929d977e90c553c399bff4311251b473c27d15392efca8f4aa"
],
[
"p",
"67c6d1a1d49b40929d977e90c553c399bff4311251b473c27d15392efca8f4aa"
]
],
"content": "Wikipediaとか読んでみて認識を改めたんですけど、暗号学的な秘密鍵とopensslとかで生成される秘密鍵は厳密には異なる(公開鍵生成に必要なパラメータ等がメタデータとして含まれているなど)ので、純粋な意味での秘密鍵からの公開鍵生成は特定の規格内の楕円曲線暗号しかできないかも…\n\n(RSAの純粋な秘密鍵はd*e = x*φ(n)+1を満たす整数dだがe, n=p*qを含まないので公開鍵(n,e)を導出できない) (なおeはRSAではよく固定されてるのでパラメータとしてはnだけ持てば良いかも)\n\n(DSAも秘密鍵が素数pを持たないので同様、ただしDSAは暗号化ではなく署名アルゴリズムである)\n\n(EdDSAは楕円曲線のベースポイントBを秘密鍵が知らないので生成不可能に見えるが、Bにキツい制限があるので固定されてる可能性がある。理論的にはハッシュ関数HについてH(d)B ∈ (楕円曲線のアーベル群)が公開鍵になり、使われる楕円曲線は規格ごとに固定されてるのでBが固定されてれば導出可能、なおEdDSAも署名アルゴリズムである)",
"sig": "5b5551e1907a7d61a12a5e708d943251776a50ea04c13e6fc5d2345e368422b1d655b87b140335a81ac27f5e6e21f30a280d048548fd7ad8aa15987217884d38"
}