DES暗号

あさってに運動会がはじまる。
5年生の応援団が、笛がほしいといったので、準備したった。
5年の分際で、笛なんかいらん。とかいったら、
怒られたり、脅されたり、口説かれたり、甘えれたり、忙しかった。
5年3人おんぶだっこは、きついです。1年と比べて重いし。

 6年生の太鼓の子が職員室に応援団のフローチャートを忘れて帰ってて、
めっちゃ心配して「職員室にある?」とか聞いてたのに、今日も忘れてかえとった。
 クリアファイルが前のM徳小学校の刻印があるので、大切に使っていたらしくなくしたらどうしようと、心配そうだった顔を思い出したので、家まで届けた。

 去年に持った子のお姉ちゃんだったので、家を知っているので楽勝。
そしたら、私を呼ぶ声が・・。
3階から、去年持った子とさらにその妹がベランダに乗り出している・・。
あぶないっちゅうねん。とりあえず、親の前やったけど一発注意しとく。
 そしたらまた声が・・。隣の家の子がやっぱり3階からベランダに乗り出している。それも去年持った子。
 そんなに隣の家に聞こえるくらい大きな声で話したつもりはないのになぜ?
と思ったけど、それよりも、なんでどっちも3階におんねんやろう。とかなり思った。家の構造が一緒だから必然的に子ども部屋が3階になるんかなーとかふつふつ思った。やっぱ3階まで階段毎日あがるのしんどいし、子ども部屋にしとくのがいいかな。という判断であろうと推測する。
 まぁ、ぜんぜん本質には関係ないので、帰宅。

で、家に帰って、プログラミング。
DES暗号化のレポートがやっとできた。
ここのサイトがかなり参考になった。
http://www.teu.ac.jp/nsit/~shiina/des/des02.html

世間では、阪神戦がやっているらしいが、かなり勝ちまくってて5−0とかだったので、、見る機をなくす。

レポートの
DES暗号システムの実装をプログラムですることにする。
とりあえず、完成。三日もかかったけど、とりあえず、満足に動くみたい。
本当は、6文字以上の暗号に対応しないといけないけど、
インターネット大学院のレポートのために書いたプログラムだから、いいのだ。

とりあえず、なんか色々使えそうなので、ソースコードを下に書いておこう。
もっと美しくしたいと思うけど、まぁいいや。

 0 ) {
		$x = $Ascii % 2;
		$Ascii = (int)($Ascii / 2);
		//print $Ascii."\n";
		(String)$Binary = $x.$Binary;
	}
	while ( strlen($Binary) < 8 ) {
		$Binary = '0'.(String)$Binary;
	}
	return (String)$Binary;
}
///}}}

/** 2進数のデータから、10進数に変換する。
 * @param (String)$Binary 10進数にしたい2進数
 * @return $Ascii 10進数
 */
// {{{ toAscii($Binary)
function getAscii( $Binary ) {
	//print "Binary = [$Binary] strlen = ".strlen($Binary)."\n";
	for ( $iCounter = 0; $iCounter < strlen($Binary); $iCounter++ ) {
		$val +=  $Binary[$iCounter] * pow( 2, ( strlen($Binary) - 1 - $iCounter ) );
		//print "val = $val\n";
	}
	//print "Ascii  = [$val]\n";
	return $val;
}


/// }}}
?>
<|