2015-02-05 2 views
1

AES-GCM에 대한 연구를하고 있습니다. Bouncy Castle의 AES-GCM 알고리즘 구현을 사용하여 일부 데이터를 암호화 한 다음 openSSL의 AES-GCM을 사용하여 데이터를 해독하려하지만이를 수행 할 수 없습니다.
Bouncy Castle을 검사 한 결과 단일 출력 (입력 길이와 인증 태그의 길이가 같은 암호문)이 반환되지만 openSSL에는 2 개의 출력이 있습니다 ... 1은 입력이고, 다른 출력은 태그 길이입니다.탄력성 AES-GCM 모드 대 OpenSSL AES-GCM?

나는 둘 다 동일한 표준 인 NIST 800-38D를 따르는 지 확인했다. 나는 몇 개의 게시물을 점검했지만 아무 것도 그 일을하는 방법을 언급하지 않았다. 그러나 우리가 할 수없는 언급은 어디에도 없습니다. 어떤 생각?

+0

마이그레이션 후 Java 및 암호화 태그가 모두 누락되어이 질문에 유의하지 않았습니다. –

답변

2

Bouncy로 해독하기 위해 암호문과 태그를 연결하거나 OpenSSL을 사용하여 확인하기 위해 암호문과 태그를 분할해야합니다. 태그 길이는 이어야하며 GCM 모드의 경우 사전 입력 입력이어야하므로 항상 암호문과 인증 태그를 구별 할 수 있어야합니다.

+0

추신 : 여전히 가벼운 구현을 변경하여 태그를 개별적으로 검색 할 수 있습니다. 나는 아직도 AAD 재 계산을 고쳐야 만한다. 암호 텍스트에 텍스트를 추가하지 않으면 구현이 훨씬 원활 해집니다 (해독/검증 중에 버퍼링이 필요하지 않음). 그러나 자바'Cipher' API는 별도의 인증 태그를 허용하지 않습니다 ... –

관련 문제