サマーウォーズの暗号シリーズのその5。多分これが最後。
公開鍵の片方N(=pq)が197で割り切れることがわかった。
このことは自分で見つけたのではあるのだが、先人がいるかも?と思ってググってみた。
月別アーカイブ: 2021年7月
サマーウォーズのあの暗号を解こう!(その4)
こちらの続き。
素因数分解(素数とは言ってない)ができたので、秘密鍵Dを求めることにした。
ググったところ、QUANONさんが「Python で公開鍵暗号アルゴリズム RSA を実装してみる」という記事を書いていらっしゃるのでありがたく使わせていただく。
サマーウォーズのあの暗号を解こう!(その3)
こちらの続き。
秘密鍵N(=pq)がとある数字で割り切れた。大きな方の値(前の記事ではqとした)が素数なのかどうか、という件。
ミラー・ラビン素数判定法をググったらPythonの実装サンプルが見つかったのでありがたく使わせていただくことにする。
Miller–Rabin(ミラーラビン)素数判定法について理解したい
https://qiita.com/zu_rin/items/25521b5870389e0f85bf
サマーウォーズのあの暗号を解こう!(その2)
サマーウォーズのあの暗号を解こう!
RSA-129は無事解けた暗号化できたので、次は映画「サマーウォーズ」のあの暗号を解いて暗号化してみよう。
「サマーウォーズ」の暗号は暗号文Cと公開鍵の片割れN(=pq)のみが示されていて、公開鍵のもう一つの片割れであるE(暗号化の時の指数)は明示されていないそうだ。
困ったな。ダメ元で3、9007、65537あたりを試すしかないか。
RSA-129を解こう!
RSA-129を解こう!
と思ったものの、すでに解かれていた (>_<) http://www.mit.edu/people/warlord/RSA129-announce.txt
仕方ないので、理論通りにちゃんと暗号化できるかを試してみた。
RSAで遊ぼう
遊んでみる。
遊びなのでキーは32bitでよい。(30以下だとエラーになった。31以上でOK)
$ openssl genrsa 32 | tee private.key Generating RSA private key, 32 bit long modulus .+++++++++++++++++++++++++++ .+++++++++++++++++++++++++++ e is 65537 (0x10001) -----BEGIN RSA PRIVATE KEY----- MCsCAQACBQC/gCgdAgMBAAECBFTpNXECAwD12wIDAMdnAgJ5LQICcT8CAh4/ -----END RSA PRIVATE KEY-----
$ openssl rsa -text < private.key Private-Key: (32 bit) modulus: 3212847133 (0xbf80281d) publicExponent: 65537 (0x10001) privateExponent: 1424569713 (0x54e93571) prime1: 62939 (0xf5db) prime2: 51047 (0xc767) exponent1: 31021 (0x792d) exponent2: 28991 (0x713f) coefficient: 7743 (0x1e3f) writing RSA key -----BEGIN RSA PRIVATE KEY----- MCsCAQACBQC/gCgdAgMBAAECBFTpNXECAwD12wIDAMdnAgJ5LQICcT8CAh4/ -----END RSA PRIVATE KEY-----
CentOS 6.10でvncでGDM
Vine Linux 6.5でvncでGDMのバリエーション。
/etc/servicesには手を加えず/etc/xinetd.d/vncだけで同じことをやるときのメモ。
type=UNLISTEDとportを指定してやればよい。
具体的にはこんな感じで。
service vnc { socket_type = stream wait = no user = nobody server = /usr/bin/Xvnc server_args = -inetd -query localhost -once -geometry 800x600 -depth 16 -SecurityTypes none log_on_failure += USERID disable = no type = UNLISTED port = 5900 }
CentOS 6 netinstall
https://vault.centos.org/6.10/os/x86_64/
とか
https://vault.centos.org/6.10/os/i386/
とか。