[{PageViewPlugin}]
[Cyber_security], [GitHub]
!!!Abstract
暗号化関係での疑問をまとめます。
!!!Topics
!!ファイル変換系
*Pem から PPKにしたい
|[7]参照
|{{{$ puttygen input.pem -o output.ppk}}}
|もちろんputtygenをインストールした後に。
*Pem から公開鍵を作りたい
|[8]参照
|{{{$ ssh-keygen -y -f input.pem > output.pub}}}

!!etc
*Puttygenを[Mac book air]で使いたい
|Windowsのようには簡単ではなかった。[6]に従い、MacPortsをインストールしてからsudo port install puttyとコマンドを打つのが比較的楽だった。Brewを入れるか、Linux上でやるかも考えたが。。
*SourceTreeで秘密鍵を使って[GitHub]にアクセスしたい
|秘密鍵をインポートする。Macだったら
|{{{$ ssh-add private.pem}}}で良い[9]
*EdDSAを使いたい
|EdDSAの実装の一つであるed25519を使うには
{{{$ ssh-keygen -t ed25519}}}
|これでパスフレーズを入力すると、秘密鍵と公開鍵のセットが手に入る。
*des3とRSAの関係が知りたい

|RSAとは公開鍵暗号方式の一つ。公開鍵暗号には、RSAやDSAや楕円曲線暗号がある[1]。暗号化のアルゴリズムというより、鍵のやり取りに関するアルゴリズムというイメージと理解[2]。とにかく、DESとかAESなどの暗号化アルゴリズムとは違う種類。だからAESを使った共通鍵暗号化方式を使った暗号というのもあり得る[3]。

{{{$ ssh-keygen -t rsa}}}
|これでRSA方式の秘密鍵、公開鍵のペアができる。

|DES3とは暗号化アルゴリズムの一つ。比べるべき相手にAESなどがいる。

{{{$ openssl genrsa -des3 -out server.key 2048}}}
|これで、3DES暗号化アルゴリズムに対応した秘密鍵ができる。ちなみに3DESもAESも指定しないとパスワードなしの秘密鍵ができる。

*DES3ではなくAESでつくれるか?
{{{$ openssl genrsa -aes256 2048}}}
| でいけそう。AESの方が最近は推奨!?

*AESで作った秘密鍵をDES3で出しなおせるか?
{{{$ openssl rsa -in private.pem -out private_des3.pem -outform PEM -des-ede3-cbc}}}
|でいけそう。でもputtyは、AES256だとunsupported cipherとかいって読み込んでくれない。その時これが必要。

*PEMって何?
|ファイル保存方式。大体これと思っておいてよさそう。DERというのもあるようだ。

*HTTPS用とSSH用、共用できるか?
|漏れないように一層注意だけど、できる[5]

*秘密鍵を作る
{{{$ openssl gensra -aes256 2048 > private.pem}}}

*秘密鍵から公開鍵を作る
{{{$ openssl rsa -in private.pem -pubout > public.pem}}}

*公開鍵をSSH用にする。
{{{$ ssh-keygen -y -f private.pem > public2.pem}}}

!!!Reference
#[#1] angel_p_57, 2019年01月14日, 2つの公開鍵暗号(公開鍵暗号の基礎知識), [https://qiita.com/angel_p_57/items/897bf94160be8d637585]
#[#2]tkengo, 2015, 理解してるつもりの SSL/TLS でも、もっと理解したら面白かった話,  [https://tkengo.github.io/blog/2015/12/01/https-details/]
#[#3]kaoru, 2017, OpenSSLコマンドを用いた共通鍵暗号, [https://kaworu.jpn.org/security/OpenSSL%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E7%94%A8%E3%81%84%E3%81%9F%E5%85%B1%E9%80%9A%E9%8D%B5%E6%9A%97%E5%8F%B7]
#[#4]OSCA, OpenSSL で RSA の秘密鍵を作成する方法, [https://weblabo.oscasierra.net/openssl-genrsa-secret-1/]
#[#5]Masa, 2012年9月11日, ssh の RSA 鍵を openssl コマンドで扱ってみる, [https://mhayashi1120.hatenadiary.org/entry/20120911/1347334880]
#[#6][https://www.puttygen.com/#Download_PuTTYgen_for_Mac]
#[#7]How to convert PEM file to PPK using PuTTYgen in Ubuntu, [https://stackoverflow.com/questions/28042777/how-to-convert-pem-file-to-ppk-using-puttygen-in-ubuntu]
#[#8]秘密鍵から公開鍵作る, [https://qiita.com/koudaiii/items/45f9f5929afb0039ffdb]
#[#9]macOS で個人用 SSH キーをセットアップする, [https://support.atlassian.com/ja/bitbucket-cloud/docs/set-up-personal-ssh-keys-on-macos/#Start-the-SSH-agent]