1/20(土) 掛川・晴後曇

 本日と明日は,日本中の大学教員が,学歴・博士号取得状況・業績如何に関わらず,全員が大学入試センターの従順な奴隷と化す期間である。ワシの奴隷期間はもう終了したので一安心である。詳しく書くと面倒なことになりそうなので,このぐらいにしておこう。ICプレーヤーは貰ってきたけどな。
 ふーん,CellMLなんてのがあるんだ。サイトまでしっかり作り込んでいる辺り,さすが生物系は研究費が違うね,と僻み根性に基づいた文句の一つも言いたくなってくる。MathMLなんて,W3Cのサイトから独立できずにいるってのに,たいしたモンである。
 「あの論文,どうなったでせうね」とつぶやいていたら,査読結果が届いた。一応,微修正で何とかなりそうである。今月中はもう時間も取れないので,2月に入ったら即座に取りかかって上げなければならない。頑張ろうっと。
 わーいと単純に喜んでいたら,「日本ローカルな論文一本でくだらない」と某教授(三島親父ではない)からお小言を食らう。ま,確かに。しかしよく考えたら,ワシの完全な単著の論文って,これが初めてじゃないのかな。独り立ちするまでえれぇ時間がかってしまった。まあご助言頂いた大師匠に連絡したら喜んでくれたので,よしとしようではないか。「論文より嫁さんは?」と言われなければもっとよかったのであるが。先生,それは言ってはいけない一言です。
 地域コミュニティ雑誌の代表格である「谷根千」が,2009年で幕を閉じるとのこと。ワシは森まゆみを知ってから谷根千を知った口であるが,さすがに記事書き・編集・配送まで少人数でこなすのは難しくなってきたということらしい。無理もない,つーか,今までよくぞやってきた,と感心すべきなのだろうな。
 まああと2年もあるのだから,ゆっくり名残を惜しむのがよろしかろう。
 神経を休めるために寝ます。

1/17(水) 掛川->つくば(予定)・雨?

 朝4時30分過ぎに,新聞配達員の足音で目が覚める。昨日はちょっと無理して午後10時30分頃に寝たので,そのせいかもしれない。そーいや,始発の新幹線で出かけるのは久しぶり。すっかり朝に弱くなった。といって,夜に強くなったわけでもなく,つまりは体力がなくなっただけのことである。人はこれを老化と呼ぶ。
 つらつらと見るともなしにTVをつけていたら,本日は阪神・淡路大震災から12年目とのこと。午前5時46分,TV中継につきあって黙祷する。ここで何度も書いているけど,12年前は能登半島のど真ん中にワシはいて,地中から突き上げるような縦揺れを感じて目を覚ましたのであった。慌ててTVをつけ,そのまま出勤時間まで中継を見ていた記憶がある。
 あれ以来,大地震が起きたら人間なすすべがない,ということを体の随まで叩き込まれたようで,だからこそ,この静岡の,駿河湾からそう遠くないど真ん中で「マンション買おうか」などという無謀なことを決心できたのだろうな(w。
 あ,午前6時過ぎだ。では行ってまいります。

RSA Encryption using GMP

———————————————————————-
RSA Encryption Program
— Version 0.0: 2007-01-14
— Copyright (c) 2007- Tomonori Kouya (http://na-inet.jp/)
———————————————————————-
[UNIX ] rsa.tar.gz
[Win32] rsa_win32.zip
–What’s rsa.c ?
 Our “rsa.c” is a simple RSA encryption program in easy way. It can encrypt character strings of any length (default length is 256). All of multiple precision integer arithmetic executed in this program is based on GNU MP(GMP), so it can’t be compiled without GMP Version 4.1.2 or later versions.
–How to compile
 In UNIX or compatible environment in which GMP has been installed, you can compile:
$ gcc rsa.c -lgmp
You may choose the “Makefile” distributed with rsa.c.
 In Windows (2000, XP or Vista) environment, the command line compilers, for example, Cygwin or DJGPP, or the other package for Visual C++ (rsa_win32.zip) are available.
–License of rsa.c
 You must treat and distribute it under GPL Version 2, along License.txt with rsa.c.
–NO WARRANTY!!
 rsa.c dosen’t have strong encyption for pratical use, because it was originally made for educational usage of “Algebra” in Shizuoka Institute of Science and Technology. The copyright holder has NEVER any responsibility for it. YOU MUST USE IT AT YOUR OWN RISK!!

1/14(日) 掛川・晴

 ピーカン晴れの,典型的な太平洋側における冬の天気。これで遠州名物の空っ風が吹けば文句なしなのだが。過ごしやすいのは結構だが,暖冬のあとに冷夏,では農作物に影響が及んでいやんなことになる。そうならないことを願うばかり。
 昨日のマンション購入希望の件。予備知識は藤田香織内田春菊や伊藤理佐(文庫版1, 2)の本で仕入れていたが,実体験は初体験なので(変な日本語だ),親切そうな販売会社の人相手にいろいろと質問しまくったのであった。
 その足で,銀行のローンセンターへ行き,果たしてどんくらいの借金をワシは背負うのか,毎月の支払額はどんくらいになるのかを聞きに行く。融資希望額を言うと,「全く問題ありません」と鼻で笑われてしまった。悪かったな,無借金人生を手堅く歩みたかったワシにとってはこんな額でも相当の決心が要るのだよ。
 結果,管理費込みで,この辺で少しマシなアパートを借りるよりプラス1~2万ぐらいっかなー,ということになったので,一気に購入が現実味を帯びてきた。しかし,競争が発生してしまうと,「この話はなかったことに」ということも十分あり得る。ま,待つしかないわな。
 職場に顔を出して,卒論に精を出していたH君に声をかけて帰宅し,ちょろっとOpenGLでお絵かきしてみることにする。
shot_wave_gl_20070114.png
 これをキチンと動作させ,デモに使えるようになれば御の字なのだが。
 本日も頑張ります。
 ただいま。
 GMPの整数関数を使って,RSA暗号プログラムを書いてみた。まあ世界中で探せばいろんな人が実装しているけど,日本人は最低でもJIS X 201には対応しないと話にならないので,そこだけは気をつけて作ってみた,というぐらいの特徴はある。
$ ./a.out
Input a string: !”#$%&'()=~|QWERTYUIOP{ASDFGHJKL+*}
ZXCVBNM<>?__qwertyuiop@[asdfgh
jkl;:]zxcvbnm,./\1234567890000000-^\
string(102) -> 1576730462947408527
09022093559278712064838218691895
52242415745264542643084480974398
07351339589816136896322939633066
19325251135827032019445152361118
60590213216325790257451296396236
33302328564076347901952587916253
20338508905676169918609841799242
273
Public_key_n : 16292767024980618209
79439245801447003004820011798978
36453784528148994577951048945004
29555617860657101863594179345702
13729070482358427676585291455491
34223200414232751678915884927422
65409706960258329496961518726909
47769214623897785664603393119500
85792351580052035953898442018964
05533061264458105485777618374802
00267864642992367070000666261570
32951251703407909819090012343507
20735313582239271508225766363467
96155779679270985142232355589633
14675681664961742215411915435466
1787860612608597985675718989
Public_key_e : 11 (ワザと短くしているのよ,これ)
Private_key_d: 14811606386346016554
35853859819497275458927283453616
69503440480135449616319135404549
35959652600597365330540163041547
39753700438507661524168446777719
40202909467484319708105349934020
59463369963871208633601380660826
79790195112634350604184902835909
87076617018256132020217945534339
83660050447714932530247766875559
85921278463999840437347754429984
84629664358394962634355548082408
23000826947890992199362276495046
62334303237382134175911209554918
78731618551785901894723194639827
461969237661850816769424951
Encryption : 84582317506138963310
22162431356775680912231730901404
18197868721221792321206244253173
75126049502442638126868221361702
02906463660554638840303523189226
73134435495330844636657151620005
41799836305520465167540868844381
37413626347880882410428331633210
81052809747751725978321440039968
84334222767674677174326335614015
77497285396185049078405259619601
58397434620215653841442581831799
98792048487709690748039875878756
79351215592373759720324834728198
89798471838891068624721734504411
199117552815856583000948873
Decode : 157673046294740852709
02209355927871206483821869189552
24241574526454264308448097439807
35133958981613689632293963306619
32525113582703201944515236111860
59021321632579025745129639623633
30232856407634790195258791625320
338508905676169918609841799242273
(略)
-> !"#$%&'()=~|QWERTYUIOP
{ASDFGHJKL+*}
ZXCVBNM<>?__qwertyuiop@[asdfgh
jkl;:]zxcvbnm,./\1234567890000000-^\(102)
・・・とまあ,キーボード上の全ての文字もきちんとencrypt & decodeできる,と。これを任意の文字コードでオッケーにした上で,環境ごとに自動チューニングして高速化を図る,というところまで行けば,卒研としてはまあまあかな。
 しかし,mpz関数群って,暗号化のためにできたよーなもんだよな。一番面倒なのは文字列のencode部分で,暗号化&復号化の部分なんて
/* Encrypt */
void encrypt(mpz_t enc_str_int, mpz_t str_int, mpz_t public_key_n, mpz_t public_key_e)
{
/* enc_str_int = str_int^public_key_e mod public_key_n */
mpz_powm(enc_str_int, str_int, public_key_e, public_key_n);
}
/* Decode */
void decode(mpz_t str_int, mpz_t enc_str_int, mpz_t private_key, mpz_t public_key_n)
{
/* str_int = enc_str_int^private_key mod public_key_n */
mpz_powm(str_int, enc_str_int, private_key, public_key_n);
}
・・・って,関数一つ呼び出しておしまいだもんな。ほーんと,楽チンだわ。
 寝ます。

1/13(土) 掛川・晴

 マンションを買いに行く。・・・ごめん,一度言ってみたかったのだ。
 正確には,「マンションを買いたいなーという要望を,販売会社に伝えに行った」だけである。実際にワシが購入できるかどうか,判明するのはまだ先になる。抽選,という可能性もあるそうだし。
 詳細は後ほど。では仕事に行ってきます。