Java

改善点

動くようにはなったが、問題点が色々と。 0-9とa-zしか暗号化できない。 0-9a-zは36進なのに、鍵長n-bitに対して何故か(n/16)文字毎に切っている。 Unicodeで取得して、そのまま2進16桁に直せれば一番良い。 0-9a-zしか暗号化しないと決めたら、 String pをs…

提出

暗号化は成功。復号化に失敗。ぬるぽが出ちゃう。 問題は今日が提出日かどうか分からないってことだな。来週かもしれない。出来たら来週であって欲しい。そんなダメ学生。四回生なのに語学だって残っているぜ。留年確定。

やられた。Stringは一回宣言してしまうと迂闊に弄れないんだった。StringBufferにしてappend使う様にして解決。 Unicodeを数値変換したいんだけどなぁ。まぁデモだしアルファベットのみで良いか。

三分の一

とりあえず16, 128, 256の三種類で鍵生成をするところまで作成。表示領域を弄らないと128bitの鍵がはみ出して読み切れない。後は入力にあわせて暗号化・復号化か。

Mathematical Information Technologyの平方根のアルゴリズムでは、Javaを使った標準的な実装で平方根の計算が「102000でも40秒かかっていない」とありますが、こっちはそれが1秒台。リンク先のコードはどこも悪いところはなく、Java自身の実装です。アグレ…

GUI部分のみ作成。土日で動くようにしないとね。

で、桁数を引数にした巨大素数を出すメソッドを作って省力化。それはいいんだが、BigInteger同士の足し算とか面倒臭いな。*で書かせてくれよ。

巨大整数

あ、java.math.BigIntegerってあるのね。成る程。