Spearsご飯チェックシステム

全体の処理の流れ

Spearsご飯チェックシステムは以下の手順で使用する。

  1. wide番号の暗号化
  2. RFIDタグの書き込み
  3. サーバー環境構築(データベースなど)
  4. ご飯チェック運用

使用プログラム

実際には以下のプログラムを使用する。

サーバ環境

本システムは以下の環境を想定している。

サーバ環境

クライアント環境

 

wide番号の暗号化

使用方法

暗号化したい文字列を記述したテキストファイル(デフォルトでは"plain.txt")を用意する。
さらに公開鍵(Public KeyとModuloの組み合わせ)を用意し、"rsa2"を実行する。

実行すると、暗号化を行うのか、複合化を行うのかを聞かれるが、暗号化する際には"e"を入力する。
その後、Public KeyとModuloを入力し(デフォルトでは"13"と"323")、暗号化したい文字列を記述してあるテキストファイルを指定する。
暗号化された文字列を保存するテキストファイル(デフォルトでは"cypher.txt")を指定する。

暗号化処理の後、指定したテキストファイルに暗号化された文字列を保存する。

その後、再び暗号化を行うのか、複合化を行うのかを聞かれるが、このプログラムを終了するためには、そのままEnterキーを入力する。

>./rsa2

=========================================
      RSA Enctyption and Decryption
=========================================
'e' encrypt / 'd' decrypt _e
Public key E [13] =13
00000000000000000000000000001101
Modulo M [323] =323

Input PLAIN text filename for input.
[plain.txt] _plain.txt
[plain.txt] was succesfully opened.

Input CYPHER codes filename for output.
[cypher.txt] _cypher.txt
[cypher.txt] was succesfully opened.

[Encrypted Plain Text]
260 95 34 233 317 [EOF]

File succesfully transformed. :D

'e' encrypt / 'd' decrypt _e

Good night. =D

ダウンロード

こちら

RFIDタグの書き込み

使用方法

CFカードスロットに、リーダ・ラータを刺し、"write-tag"を実行する。
リーダ・ライタはシリアルデバイスとして認識され、通常は"/dev/ttyd4"として認識される。

第1引数にシリアルデバイスを指定し、第2引数に書き込む文字列(暗号化したwide番号)を指定する。
実行する前に、RFIDタグをリーダ・ライタの下(または上)においておく。

 > ./write-tag [serial_dev] [wide-num]

この作業をWIDE合宿に参加する人数分行う。

ダウンロード

こちら

 

認証・復号化サーバ

必要なもの

認証復号化サーバは、以下の環境を想定しています。

認証・復号化のためのデータベース作成

データベース上にsaruというデータベースを作成し、テーブルを作成する。
デフォルトでは"epcads"というテーブルを参照しに行く(ハードコーディング)。

saru=> create table epcads (
saru(> id text not null CONSTRAINT bar PRIMARY KEY,
saru(> owner text not null,
saru(> modulo int not null,
saru(> public int not null,
saru(> secret int not null
saru(> );
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "bar" for table "epcads"
CREATE TABLE

saru=> \d
List of relations
 Schema | Name   | Type  | Owner
--------+--------+-------+-------
 public | epcads | table | don
(1 row)

テーブルにエントリーを追加する。
この作業をWIDE合宿に参加する人数分行う。
公開会議、秘密鍵を特にかえないのであれば、暗号化されたIDを"id"に、オーナ(合宿では"pc")を"owner"に入力する。

saru=> insert into epcads (id, owner, modulo, public, secret)
saru=> values ('260.95.34.233', 'pc', 323, 13, 133);
INSERT 17191 1
saru=> select * from epcads;
            id | owner | modulo | public | secret
---------------+-------+--------+--------+--------
 260.95.34.233 |    pc |    323 |     13 |    133
(1 row)

 

使用方法

データベースにエントリーを追加した後、サーバを起動する。
特に引数などはない。

 > ./server

ダウンロード

こちら

ご飯チェックサーバ

tasakaさんのドキュメント

こちら

 

クライアントプログラム

使用方法

CFカードスロットに、リーダ・ラータを刺し、"start"を実行する。
リーダ・ライタはシリアルデバイスとして認識され、通常は"/dev/ttyd4"として認識される。

第1引数にシリアルデバイスを指定し、第2引数に認証・復号化サーバの名前(アドレスでも可)を指定し、第3引数にチェックする食事のID(?)を指定する。

#tasakaシステムのIPアドレスはハードコーディング?(失念)

> ./start [serial_dev] [hostname] [date]

ダウンロード

こちら