모바일 데이터베이스에서 256 비트 AES 암호화 데이터를 사용하겠습니다.
제 질문은 데이터베이스 필드 크기를 곱하는 특별한 요소가 있습니까?
예 : 10 str 크기를 허용한다고 가정 해 보겠습니다. 암호화되면 크기가 약 x2-x3 배 증가합니다. 따라서 필드에서 최소 크기 25 str을 사용해야합니다.
암호화 된 최소 크기를 확인하기 위해 일반 필드 크기를 곱할 수있는 특수 숫자가 있습니까?
일반 텍스트의 길이는 P
바이트 (예 : UTF-8 인코딩의 텍스트)이고 B
기본 암호의 블록 크기이며 CBC를 작업 모드 및 PKCS # 7 패딩으로 사용합니다. 이 경우 다음 크기의 암호문을 바이트 단위로 검색합니다 (앞에 추가 된 IV 포함).
C = B + P + B - P % B
이제 해당 바이트를 16 진수 문자로 변환하려면 간단히 2를 곱하면됩니다.
H = C * 2
따라서 값보다 낮은 단일 UTF-8 문자의 경우 7F
64 개의 16 진수 문자를 얻게됩니다.
이것은 아마도 당신이 예상했던 것과 다를 것입니다. 패딩이 필요없는 카운터 모드 암호화로 전환 할 수 있습니다. IV를 유도하기 위해 다른 고유 번호를 사용할 수 있습니다. 이진 또는 base 64 (3 바이트 당 하나의 추가 문자 값만 필요)로 암호문을 저장할 수 있습니다. 대체로 여기서 논의 할 옵션이 너무 많습니다. 이 정도에 대해 생각해야한다면 암호화 기능을 계속 구축하는 것이 좋습니다.
정말로 멀리 가면 암호화를 유지하는 형식과 비트 경계에 정확히 맞지 않는 크기의 알파벳을 사용해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다