일반적인 base64 암호화 전략은 무엇입니까?

base64 인코딩에는 암호화 할 의도가 없지만 인코딩 프로세스가 어떤 방식 으로든 강화 될 수 있다고 생각하는 것은 그리 멀지 않습니다. 암호화. 분명히, base64 인코딩을 사용하는 이러한 암호화 시도를 생각한 최초의 사람은 아닙니다. 따라서 어떤 종류의 base64 암호화 전략이 알려져 있는지 물어보고 싶습니다.

댓글

  • 6 비트 스트림 암호처럼?
  • 일반적으로 데이터가 Base64를 통해 실행되기 전에 암호화가 발생합니다.
  • ' 이전에 사용 된 base64 암호화 체계를 본 적이 있지만 모두 사소한 것일 수 있습니다. 이 질문은 사람들이 이와 같은 알고리즘을 검색 할 수 있기 때문에 의미가 있습니다. 그러나 상식은 아마도 base64가 암호가 아니며 암호화와 인코딩을 혼동 한 결과라는 것을 의미 할 것입니다. 많은 사람들이 가정 할 것입니다. 암호화에 인코딩 체계를 사용할 수 있다는 전제가 잘못된 것입니다.이 질문이 많은 시작 암호 학자에게 적어도 흥미로운 질문이더라도 반대 투표가 발생할 수 있습니다.
  • 접선 적으로 관련이있을 수 있음 : crypto.stackexchange.com/questions/62425/ … , crypto.stackexchange.com/questions/5862/ … 및 crypto.stackexchange. com / questions / 45215 / …

답변

Base64 용 Wiki 항목 에서 가져옴 :

base64 예제

암호화를 제공하기 위해 Base64 인코딩을 변조 하려는 경우 위에서 강조 표시된 색인 수준에서 수행 할 수 있습니다. 높은 엔트로피 시드를 생성하도록 맞춤화 된 키 파생 함수 인 비밀 키가 필요합니다.이 함수는 의사 난수 생성기를 시작합니다. 생성기의 (6 비트) 출력은 모든 문자에 대한 인코딩을 변경하기 위해 인덱스와 XOR됩니다. 그리고이 기술은 암호화 된 메시지를 해독하기 위해 되돌릴 수 있습니다.

그게 전부라는 것을 알 수 있습니다. 약간의 귀찮습니다. 일반적으로 암호 텍스트를 생성 한 다음 인코딩합니다. 일반적인 8 비트 임의 시퀀스를 6 비트로 자르는 것 외에는 작업 부하가 기존 스트림 암호

와 동일합니다. a>. 실제로 33 %의 추가 계산이 필요하지만 여기도 여기도 없습니다.

아무도 유사한 동작을 인식하지 못하는 것 같으므로이 Base64 변형을 처음으로 생각했을 수 있습니다. 그래도 작동합니다.

댓글

답변

말이 안됩니다. base64에는 비밀 키가 없습니다. base64 인코딩 및 디코딩은 누구나 평가할 수있는 공개 기능입니다.

base64가 암호화와 관련되어있는 유일한 방법은 일부 암호화 시스템에서 암호화 텍스트를 인코딩하는 것이 편리하다는 것입니다. XML과 같은 일반 텍스트로 제한되는 컨텍스트에서 중단되거나 거부되지 않는 제한된 US-ASCII 집합에서 8 비트 문자열로 균일하게 배포됩니다.

댓글

  • +1 (… 및 base64는 16 진수 인코딩보다 짧은 출력을 생성하기 때문에 개발 된 이유이며 애플리케이션에서 자주 사용되는 경향이 있습니다.)
  • 완벽하게 만듭니다. 감각 🙂 질문은 가설로 제기되었으며 OP는 구현 가능성을 찾고 있습니다. ' 모든 암호화가 매우 효율적이어야한다고 요구하는 자연법은 없습니다. 암호화 / 복호화 만하면됩니다. 사람들이 여전히 증기 기관을 만들고 있으며 매우 자랑스러워한다는 사실을 알고 계십니까?
  • @PaulUszak 공개적인 변혁 인 base64로 ' 이해하지 않습니다. 두 개의 동등한 데이터 표현 사이에는 적에게 알려지지 않은 비밀을 포함하는 암호화 체계와 다른 유형의 객체가 있습니다. 어떤 종류의 키와 암호를 삽입하기 위해 base64의 인터페이스와 내부를 수정하는 모든 방법은 표준 base64 표현 변환 및 보안이 base64 부분과 관련이없는 일부 기본 암호에 반영 될 수 있습니다. 증기 동력의 수수께끼 기계를 만들었다면 증기 동력의 개념을 암호화 체계로 수정했다고 말 하시겠습니까?
  • @SqueamishOssifrage 예.

답변

암호화의 황금률은 다음과 같아야합니다. “이것은 당신 이 암호화 된 텍스트를 읽을 수 없기 때문이 아닙니다”. Base64는 암호문을 생성하는 데 사용할 수 없으며 해당 목적으로 사용해서는 안됩니다.

암호화 방법은 항상 통신의 행위자 만 암호를 되돌릴 수 있도록하는 비밀 또는 아티팩트에 의존합니다. 암호문. Base64와 같이 그렇지 않다면 암호화가 아닙니다.

Base64는 다른 인코딩 체계에 비해 다양한 장점을 가진 텍스트로 바이너리를 인코딩하기위한 것입니다. 개인 정보 보호는 이러한 장점이 아닙니다.

답변

예, 업스트림 base64 암호화에 관심이 있습니다. 이것이 바로 경제입니다. 데이터를 암호화 한 다음 인코딩 할 때 적어도 두 개의 루프를 만들어야합니다. 하나는 데이터 암호화에 대한 것이고 다른 하나는 생성 된 데이터의 인코딩에 대한 것입니다. 업스트림을 암호화하면 루프로 줄일 수 있으므로 상당한 성능을 얻을 수 있습니다.

@ e-sushi : 실제로 하나의 루프 만 사용하는이 예제를 제외하고는 많은 예제가 없습니다. php_base64encrypted

다른 방법으로 더 잘할 수 있지만 가능하다는 것을 증명합니다 …

편집 : 죄송합니다.이 사이트에 대해 잘 모릅니다.

댓글

  • 업스트림 base64 암호화에 관심이있는 예 (종이 링크 등)를 제공 할 수 있나요? 내가 좋아하는 검색 엔진을 사용하여 더 많은 정보를 찾으려고했습니다. , 그러나 어떻게 든 실패했습니다. 따라서 포인터가 훨씬 적절할 것입니다. eciated.
  • Base64 인코딩은 스트리밍 가능한 프로세스입니다 (예 : 이를 통해 데이터 스트림을 먼저 모두 읽을 필요없이 ' 생성됨에 따라 점진적으로 인코딩 할 수 있습니다. 따라서 " 최소 두 개의 루프를 만들지 않고도 " 기존 암호화 체계가 증분 base64 인코더로 출력을 공급하도록 할 수 있습니다.

. 이것이 더 일반적으로 수행되지 않는 유일한 이유는 '이 기능을 유용하게 사용할 수있을만큼 충분히 긴 데이터 스트림의 경우 ' s는 일반적으로 base64 인코딩을 완전히 건너 뛰고 원시 바이너리 데이터로 전송 및 / 또는 저장하는 것이 훨씬 더 효율적입니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다