일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 윈도우즈7
- Objective-C
- ObjectiveC
- VISTA
- install
- 아이폰
- 링크
- mac
- WebService
- c#
- iPhone
- 형식
- windows
- Number
- 애플
- java
- cagr48com
- screen
- 윈도구7
- 7932
- 윈도구
- 퇴사
- 맥
- 오브젝티브C
- WSDL
- 볼링
- 설치
- windows7
- Mobile
- 아이맥
Archives
- Today
- Total
A colossal Dreamer: GR鐵塔-天生我材
[오브젝티브C] 암호화 AES 본문
올만에 iOS 에서 사용가능한 대칭키암호화알고리즘을 다시 살펴보았습니다.
내용상의 관련 정보를 검토하지 않아 피드백이 필요하면, 댓글 남겨 주십시오.
예전에 대충 굴러만 가도록 만들었던 AES128 을 대신하여,
이번에는 AES256과 PassPhrase 키 생성 방식과 IV를 활용한
암호화 정책을 해보려고 하였습니다.
우선 PassPhrase 를 위해서 예전에 작성하였던 SHA256 알고리즘을 사용했습니다.
여기까지는 문제가 없었지만, 기존 ECB 방식 과 AES128 에서
IV를 사용하는 CBC/ CDF(?) 방식을 적용하고, 키강도를 높이는 것에는
몇 가지 가정이 필요했습니다.
우선 objective-C 라이브러리에 CBC feedback 알고리즘을 설정하는 곳이 없었습니다.
===> 이것은 ECB를 주지 않으면, 기본적으로 CBC feedback을 적용하는 것 같습니다.
AES256은 AES128 알고리즘을 사용하되 256bit의 키를 사용하는 방식이었습니다.
아.. AES256 알고리즘 설정이 없다고 또 한 참 돌았네요..
그래서 대략의 코드는 아래와 같습니다.
-- AES256
자세한 내용은 아래 참조링크를 참조하세요..
참고링크: Strong Encryption for COCOA - http://bit.ly/kGOaX8
내용상의 관련 정보를 검토하지 않아 피드백이 필요하면, 댓글 남겨 주십시오.
예전에 대충 굴러만 가도록 만들었던 AES128 을 대신하여,
이번에는 AES256과 PassPhrase 키 생성 방식과 IV를 활용한
암호화 정책을 해보려고 하였습니다.
우선 PassPhrase 를 위해서 예전에 작성하였던 SHA256 알고리즘을 사용했습니다.
여기까지는 문제가 없었지만, 기존 ECB 방식 과 AES128 에서
IV를 사용하는 CBC/ CDF(?) 방식을 적용하고, 키강도를 높이는 것에는
몇 가지 가정이 필요했습니다.
우선 objective-C 라이브러리에 CBC feedback 알고리즘을 설정하는 곳이 없었습니다.
===> 이것은 ECB를 주지 않으면, 기본적으로 CBC feedback을 적용하는 것 같습니다.
AES256은 AES128 알고리즘을 사용하되 256bit의 키를 사용하는 방식이었습니다.
아.. AES256 알고리즘 설정이 없다고 또 한 참 돌았네요..
그래서 대략의 코드는 아래와 같습니다.
-- AES256
CCCryptorStatus result = CCCrypt(
kCCEncrypt, kCCAlgorithmAES128 , kCCOptionPKCS7Padding,
keyBuffer, kCCKeySizeAES256,
ivBuffer,
[data bytes], [data length],
returnBuffer, returnLength,
&numBytesEncrypted);
CCCryptorStatus result = CCCrypt(
kCCDecrypt, kCCAlgorithmAES128 , kCCOptionPKCS7Padding,
keyBuffer, kCCKeySizeAES256,
ivBuffer,
[data bytes], [data length],
returnBuffer, returnLength,
&numBytesEncrypted);
자세한 내용은 아래 참조링크를 참조하세요..
참고링크: Strong Encryption for COCOA - http://bit.ly/kGOaX8
'Development > 아이폰' 카테고리의 다른 글
[아이폰:정리] 나의 아이폰 화면 구성 과정. (0) | 2011.09.21 |
---|---|
[iOS:objective-C] 오늘 주은 클래스( NSProcessInfo, NSKeyedUnarchiver, UIPasteboard) (0) | 2011.09.08 |
[iPhone:XCode] iOS 앱의 아이콘 설정하기. (0) | 2011.05.27 |
[아이폰:아이콘크기] 아이폰 아이콘/ 디폴트 이미지 크기 정리 (0) | 2011.04.22 |
[아이폰:iOS] Info.plist 에서 각종 Bundle 정보 획득하기 (0) | 2011.04.06 |