2010年11月7日日曜日

AES128 and DES (ECB) library for Arduino

Arduino IDE 用の DES (ECB mode) と AES 128 bit のライブラリ.RFID メモリカードの読み書きなどのために,DES は gnulib の des.h/des.c を,AES128 は Jeff Tikkanen 氏の AVR 用インプリメンテーションを,それぞれ Arduino/libraries に入れる C++ クラス形式にしたもの.SRAM の節約のため,どちらも定数配列はプログラムメモリ PROGMEM を使うように,また AES のコードは復号時のラウンドキーを保存せず計算しなおすように変更してある.
gnulib DES のコードは Linux/Unix 用で,サイズが大きくなる.DES が真剣に必要なら,Atmel の Application Notes AVR230: DES Bootloader on tinyAVR and megaAVR devices を応用などするほうがいいだろう,AES のブートローダ AVR231: AES Bootloader on tinyAVR and megaAVR devices もあるようだ.
Data Encryption Standard (DES) in ECB (FIPS PUB 46 and many standards) and 128 bit key AES, the Advanced Encryption Standard (FIPS 197) codes as Arduino IDE library classes to adding encryption & decryption functionality for Arduino projects, such as RFID memory card reading and writing.

Des.zip
AES128.zip

3 件のコメント:

  1. 先ほどコメントを投稿したのですがちゃんと送られたのか
    心配で再度コメントしました
    僕は15歳で高1です
    HMC5843をArduinoで使いたいのですが、はじめたばかりでよく分かりません。サンプルコードを探していたらここにたどり着きました
    サンプルに書かれているコードをそのままコピーすれば使えるのでしょうか?(使えるとしたら使ってもいいですか?)
    いろいろ分からないことばかりで・・これからもいろいろ教えていただけないでしょうか?
    よろしくお願いします

    返信削除
  2. どうぞ使ってください.
    一般に「スケッチ」と呼ばれているファイル,ソースコードや,ファイル名が .pde で終わるものは,Arduino IDE (プログラミングソフトウェア)の開いたウインドウで書くコードです.ファイルとしてダウンロードしなくても,ウェブページからコピーしてペーストしてもコンパイル/実行できます.
    ただし,ライブラリと呼ばれているものは,My Documents の中にできる Arduino フォルダ(Mac では書類の中.この場所は,環境設定で Skecthbook location として設定できる)のなかに,libraries という名前のフォルダを作っていれておくと,使える(スケッチから #inlcude で参照できる)ようになります.Arduino IDE の Sketch メニューの,Import library... から選ぶことができるようになります..zip ファイルをダウンロードしたときは,圧縮ファイルを展開した後 HMC5843 フォルダを libraries に移動(コピー)します.
    この手順自体はどのライブラリを使う場合でも同じですので,画像付きでもっと丁寧に解説したサイトがあるかもしれません.

    返信削除
  3. 親切に対応していただき本当にありがとうございます
    さっそく購入し、やってみようと思います!!
    これからもよろしくお願いします

    返信削除