iPhoneアプリでAES暗号を使う方法
基本的には以下のApple公式のサンプルを読めばOK。
CryptoExercise
http://developer.apple.com/iphone/library/samplecode/CryptoExercise/Introduction/Intro.html
特に読むべきところは SecKeyWrapper.m ファイルの以下のメソッド
- (NSData *)doCipher:(NSData *)plainText key:(NSData *)symmetricKey context:(CCOperation)encryptOrDecrypt padding:(CCOptions *)pkcs7
AESについての基礎知識がまだない場合は以下のサイトなどがおすすめ。
The AES-CBC Cipher Algorithm and Its Use with IPsec
http://www.ipa.go.jp/security/rfc/RFC3602JA.html#1
ブロック暗号モード(block cipher mode)
http://www.triplefalcon.com/Lexicon/Encryption-Block-Mode-1.htm
注意点
PHPなどとデータをやりとりするときはパディング(Padding)に注意。
復号したときにデータの末尾に0x01〜0x16のデータ(AES-256なら0x01〜0x32かな?)が付加されているときはパディングを疑いましょう。
OpenSSL::Cipher::Cipher のパディング処理 | へびにっき
http://wp.serpere.info/archives/432
関連情報
(2011/04/20 追記)
JavaとObjective-C間で正しくAES暗号をやり取りする方法 at ミネルヴァの梟は黄昏とともに飛び始める
http://blog.daisukeyamashita.com/post/1692.html?utm_source=wordtwit&utm_medium=social&utm_campaign=wordtwit
(追記ここまで)
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2008/11/22
- メディア: 単行本
- 購入: 46人 クリック: 720回
- この商品を含むブログ (82件) を見る
C/C++セキュアプログラミングクックブック〈VOLUME1〉基本的な実装テクニック
- 作者: ジョンビエガ,マットメシエ,John Viega,Matt Messier,岩田哲,光田秀
- 出版社/メーカー: オライリージャパン
- 発売日: 2004/09
- メディア: 単行本
- クリック: 37回
- この商品を含むブログ (20件) を見る
C/C++セキュアプログラミングクックブック〈VOLUME2〉対称鍵暗号の実装
- 作者: ジョンビエガ,マットメシエ,John Viega,Matt Messier,岩田哲,光田秀
- 出版社/メーカー: オライリージャパン
- 発売日: 2004/12
- メディア: 単行本
- クリック: 10回
- この商品を含むブログ (14件) を見る
C/C++セキュアプログラミングクックブック VOLUME 3 ―公開鍵暗号の実装とネットワークセキュリティ
- 作者: John Viega,Matt Messier,岩田哲(監訳),光田秀
- 出版社/メーカー: オライリージャパン
- 発売日: 2005/05/24
- メディア: 大型本
- クリック: 29回
- この商品を含むブログ (10件) を見る