本棚の見積が来た。
ひみつメモ帳の暗号処理には OpenSSL を使ってるのだけど、OS X や iOS では OpenSSL は deprecated らしい(Xcode で警告マークがいっぱい出る)。バージョン間で互換性が取れてないからとかなんとか書いてあるけど、ソースがクレイジーなので関わりたくなかったんじゃないかな……。代替として Common Crypto という C ライブラリが用意されている。
ひみつメモ帳に組みこむのに OpenSSL コマンドの実装部分は追っかけたし、『OpenSSL —暗号・PKI・SSL/TLS ライブラリの詳細—』(John Viega, Matt Messier, Pravir Chandra 著、齋藤孝道訳、オーム社、2004年)という本の解説も読んだので、どういうデータ操作をしてるのかはだいたいわかってるつもり。それと同等の操作を別のライブラリでやっても同じ結果が得られるはず。一般的な用途の暗号処理なら Objective-C のクラスが用意されているようなのだけど、今回のようなケースでは低層の C ライブラリの関数を使わなければいけないみたい。
というわけで、Common Crypto でやってみようとしているところ。できたら iOS 版に行きたいね。これができれば次は .NET で挑戦して、ひみつメモ帳の次期バージョンは .NET Framework で行きたいな、とか考えてる。