■
会合を途中で失礼してオケサーの本番前日練習。こういうのはなかなか楽しくていいです。普段の練習もこれくらい楽しければ何もいうことはないんだが・・・まあまだ立場が下だからなー。
帰りの電車で座って急行待ち合わせを過ごしていたら、ホームをオケサーの知り合いが通りかかって、向こうは気付いて手を振ってきた。僕も気付いて自分だけ座ってるのも何だから、と荷物をまとめて立ち上がろうとしたら、向こうは反応が無かったと判断したのかそのまま過ぎ去ってしまった。気まずくて死ぬ。その場を取り繕うためまとめてた手さげを探って携帯をいじったりして死ぬ。こういうのを「握り拳の素戻り」と云います(少し違う)。余談だけどこのことわざをフィストフ(以下略)と結びつけたのが喜国雅彦の『日本一の男の魂』で僕はそれを読んで憶えました。この連載が終わるとき、ヤングサンデーの命運が果てるときだよなあ。
なお途中まで一緒だった知り合いとは愛知万博のモリゾーの話をしたり。昔シガタケの描いたモリゾーの中の人想像図ってのを見た笑ったけどもうなかった。残念。(参考 ベルト・モリゾが引っかかってるのが少し笑える。○モったんのモねモりぞ展とかあったなー)
下呂温泉の飛騨牛入りトマト丼が超食べたい。とその後の電車で広告を見ながら考えてた。
またMuPADいじいじ。
RSA暗号では上で求めた n と e を公開鍵(誰でも知ることが可能)として使用する。nの元である p と q は秘密。pとqを用いて求めた N の値も秘密(Nが分かればpとqは二次方程式を解いて簡単に求まる)。
isprime(619)
TRUE まず素数を1つ決めて
p := 619
619 それをpと置き
q := nextprime(p+1)
631 それに近い素数を持ってきてqとする
n := p*q
390589 p×qをnと置く
N := n*(q-1)/q*(p-1)/p
389340 ←1〜n-1 でnと素な数の個数(Nと置く)は
igcd(13,N) n×(q-1)÷q×(p-1)÷p で求まる(素直に計算)
1 Nと素な数を1つ持ってきて
e := 13
13 その数(今回は13)をeと置く
d := mods(1/e,N)
119797 Nを法としてeの逆数をとり、dと置く
今、秘密鍵として個人が持つ d が外部に漏れた場合、pとqが割り出されてしまう(暗号方式が破られる)ことを実演する。といっても結果はすぐで、
factor(e*d-1) e×d-1を計算して1やnそのものの値に混じってp又はqの値が出てくる(このアルゴリズムは素数p、qの値によらず機能します。但し物凄く運が悪いと「k」乗→「2×kや4,8,16×k」乗 に変更する必要があるかも。オーバーフローしやすいけど)。
4 3
2 3 5 7 103
k := (e*d-1)/2^4
97335 奇数になるまでe×d-1を2で割り、結果をkと置く
for i from 2 to 20 do (上では因数分解しているがその必要はない)
g := igcd(i^k-1,n): 2〜20まで(少ないと運が悪いと失敗する)の整数をk乗し、1引く
print(g) それらとnの最大公約数を計算すると
end_for
631、1、390589、390589、619、619、631、390589、631、1、1、1、1、1、390589、631、631、1、390589
結論:貰った人はかきゅうてきすみやかにひぐらせ。
いや別にいいです。
追記:ちょこっと間違えてたのでこそっと修正。さらに修正。だらだらしてて間違えまくりました。だらだらするのらいしゅきいぃっ!!ファブリーズしても全然ダメなくらいだらだらするよおぉっ!!だらだらしすぎてバンザイしちゃうぅっバンザイっ、ばんじゃいっばんじゃい゛っぱゃんに゛ゃんじゃんじゃいぃぃっ!!
僕は未だに右クリックで「みさくら語変換+」したりしてます。