Sagittarius の紹介    @tk_riple
What is Sagittarius?
これ?From http://photozou.jp/photo/show/177171/8203447
小宇宙は抱きしめません
Sagittarius とは●   R6RS 準準拠の Scheme 処理系●   高速に動作      –   Gauche 、 Ypsilon と肩を並べる速度●   便利な独自拡張      –   組み込み正規表現           ...
今回は暗号処理を紹介
暗号化例 (DES)(import (rnrs) (crypto))(define des-key (generate-secret-key DES (string->utf8 "DESKey12")))(define text (string...
暗号化例 (RSA)(import (rnrs) (crypto))(define keypair (generate-key-pair RSA :size 512))(define public-key (keypair-public key...
統一的な API●   アルゴリズムに関係なく使用する API は同じ      –   ユーザはアルゴリズムを選択するだけ      –   JCE と同じ感覚●   拡張可能な Cipher      –   PKCS#5 形式が Ciph...
X.509 証明書●   インターネットでセキュリティをやるなら必    須?     –   もちろんサポートしてます     –   現状では検証のみサポート     –   発行は信頼できる CA で●   必要なのは公開鍵     – ...
コードはテストケース見て
結局何ができるの?●   TLS が自前で実装できます      –   (rfc tls) にてサポート●   PKCS#12 形式の鍵ストアが読めます      –   (rsa pkcs :12) にてサポート      –   ただし明...
早速使ってみよう!
Upcoming SlideShare
Loading in …5
×

Sagittariusの紹介

1,176 views

Published on

Sagittarius Schemeの紹介及び簡単な暗号処理コード。

Published in: Self Improvement
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,176
On SlideShare
0
From Embeds
0
Number of Embeds
360
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sagittariusの紹介

  1. 1. Sagittarius の紹介 @tk_riple
  2. 2. What is Sagittarius?
  3. 3. これ?From http://photozou.jp/photo/show/177171/8203447
  4. 4. 小宇宙は抱きしめません
  5. 5. Sagittarius とは● R6RS 準準拠の Scheme 処理系● 高速に動作 – Gauche 、 Ypsilon と肩を並べる速度● 便利な独自拡張 – 組み込み正規表現 ● ほぼ O(n) で動きます ● 拡張正規表現では O(n) が保障されません – リーダーマクロ● 暗号や証明書処理に強い – 豊富な暗号アルゴリズム
  6. 6. 今回は暗号処理を紹介
  7. 7. 暗号化例 (DES)(import (rnrs) (crypto))(define des-key (generate-secret-key DES (string->utf8 "DESKey12")))(define text (string->utf8 "Sample Text"))(let* ((des-cipher (cipher DES des-key)) (encrypted (encrypt des-cipher text))) (print encrypted) (print (decrypt des-cipher encrypted)) (print (utf8->string (decrypt des-cipher encrypted))))#|出力#vu8(34 64 243 93 38 49 247 235 214 217 186 46 134 86 58 175)#vu8(83 97 109 112 108 101 32 84 101 120 116)Sample Text|#
  8. 8. 暗号化例 (RSA)(import (rnrs) (crypto))(define keypair (generate-key-pair RSA :size 512))(define public-key (keypair-public keypair))(define private-key (keypair-private keypair))(define text (string->utf8 "Sample Text"))(let* ((public-cipher (cipher RSA public-key)) (private-cipher (cipher RSA private-key)) (encrypted (encrypt public-cipher text))) (print encrypted) (print (decrypt private-cipher encrypted)) (print (utf8->string (decrypt private-cipher encrypted))))
  9. 9. 統一的な API● アルゴリズムに関係なく使用する API は同じ – ユーザはアルゴリズムを選択するだけ – JCE と同じ感覚● 拡張可能な Cipher – PKCS#5 形式が Cipher の拡張で実装されている – #12 もあるけど不完全なので明文化されていな い● キーワード引数で振る舞いを変更可能 – パディング形式とか初期ベクタとか● 詳しくはドキュメントを読んで
  10. 10. X.509 証明書● インターネットでセキュリティをやるなら必 須? – もちろんサポートしてます – 現状では検証のみサポート – 発行は信頼できる CA で● 必要なのは公開鍵 – ASN.1 を読めれば抜き出せる – (asn.1) ライブラリ – 後は verify
  11. 11. コードはテストケース見て
  12. 12. 結局何ができるの?● TLS が自前で実装できます – (rfc tls) にてサポート● PKCS#12 形式の鍵ストアが読めます – (rsa pkcs :12) にてサポート – ただし明文化されてません● 秘密の会話をすることができます – あこがれますよね?
  13. 13. 早速使ってみよう!

×