認証プログラムのつづき

まいこです。
昨日から取り組んでいる認証処理の実装ですが、さすがに固定データでのXORはまずかろうということで、以下の様な方法を考えました。
あんまり変わってないんだけどね。

  1. 本体のシリアルナンバーを抽出。
  2. シリアルナンバーの各バイト(桁)ごとに対応するランダム数値を生成。
  3. シリアルナンバー文字列の各バイトを対応するランダム数値(2で生成したもの)でXOR。
  4. 各ランダム数値を固定数値でXOR。
  5. XOR後のランダム数値のデータとシリアルナンバーをファイルに出力。

復号化も簡単だし、これならコードを生成するたびに中身が変わるわけだから大丈夫でしょう。


実装。


昨日作ったプログラムに追加するだけだったので、そんなに時間はかかりませんでした。
一応、認証プログラムのバージョン情報も入れておいた方が良いだろうということで、認証コードの前に4バイト分バージョン情報を入れることにしました。
ひとまず認証システムはできあがったんですが……。
やっぱり固体を特定するための元データが公開されているってのは問題だよなあ。
表に見えないデータで固体の特定できないものかなあ。
と言うところで、今日はこの辺で。