AES256 암호화 관련하여 정리된 글을 검색을 하다가,
여러 글이 있고, AES256에 대해서 분석을 해볼까 했는데, 별로 쓸데없다는 결론에 이르렀다. (어렵다 ㅜ.ㅜ)
결국 포인트는
-암호화 인터페이스에 대한 이해
-encrypt/decrypt 는 바이너리 데이터
-주고 받기 위한 Base64 인코딩
위의 사항은 당연하지만 아래의 두 가지가 날 고생시켰다.
-secretKey 도 바이너리 데이터...
-Java,Obj-C 등 언어,라이브러리가 다를 경우에 발생하는 암호화 옵션 불일치 문제.
: 옵션이 일치하지 않을 경우에, 암호화 되는 블럭의 패딩이 다르게 입력된다.
Padding을 직접 입력하여서 서로 일치를 시켰다.
이하 아래 두 블로그를 참조하면 코드를 얻을 수 있다.
saltfactory: http://blog.saltfactory.net/118
지돌스타님: http://blog.jidolstar.com/840
그외: http://stackoverflow.com/questions/8287727/aes256-nsstring-encryption-in-ios