2010-06-12 4 views
0

가장 쉬운 방법은 무엇입니까? XOR 0x80이 너무 명백 할 수도 있지만 그럴 수 있습니다.대칭 텍스트 스크램블

Windows 파일 이름 (/ \ 및 다른 문자는 불법입니다)을 가져 오는 가장 쉬운 방법은 무엇입니까? 그래서 아무도 원래 파일 이름을 알지 못하도록 그들을 스크램블링합니까? 나는 이것을 원상태로 돌리고 싶다.

나는 심각하게 파일 이름을 foreach는 생각을 그냥

+0

내 의견으로는 답변을 수락하지 않은 약 290 개의 질문이 있습니다. 거기에 대해 생각할 게있어 ... – spender

+2

내 견적으로 나는 솔루션을 실제로 받아 들일 수있는 550 질문을 가지고 upvotes 또는 비율 이유 때문에 선택하지 않습니다. 생각해 볼만한 것이 있습니다 ... –

답변

3

전통적인 데이터 숨김 작업 인 것처럼 들릴 수 있습니다. 정보를 보호하기를 원하는 정보 (파일 이름 목록)가 있습니다. 아마도 정보는 신뢰할 수없는 사람들이 사용할 수 있어야합니다 (그렇지 않은 이유는 무엇입니까?)하지만 여전히 프로그램에서 사용할 수 있어야합니다.

아마도 "important-file-names.txt"라는 파일에 데이터를 저장하고 싶지 않을 것입니다. 아마 당신의 프로그램에 그것을 포함 시켰을 것입니다. 그만큼 충분하지 않습니다. 왜냐하면 나쁜 사람은 strings을 실행하고 파일 이름을 찾을 수 있기 때문입니다. 데이터를 인코딩하는 데는 여러 가지 방법이 있지만 프로그램에서 데이터를 사용해야하는 경우 데이터 (및 디코딩 키)를 디코딩 할 수있는 방법이 필요합니다. 결국 데이터를 인코딩/디코딩하는 방법은 중요하지 않습니다. 결국 프로그램은 메모리에 실제 파일 이름을 가지게되며 파일 이름을 사용하여 무언가를하고 싶을 것입니다 (아마 그들을 열어 읽기/쓰기, 삭제할 수 있습니다). - 그 시점에서 너는 망했다. 기술은 OS에 따라 다르지만 파일, 네트워크 연결 또는 RAM과 같은 특정 프로그램에서 사용되는 리소스를 검사하는 것은 항상 가능합니다. 충분히 결정된 사람이 귀하의 정보를 찾을 것입니다.

예, 데이터를 숨길 수는 있지만 실제 질문은 데이터가 숨겨져있을 것으로 예상되는 시간입니다.

캐주얼 사용자가 캐어하지 못하게하려는 경우, 텍스트 문자열이 아닌 키를 사용하는 간단한 XOR이 트릭을 수행 할 것입니다. 저쪽에, 너가하고있는 모두는 너를보다는 아마 이것에 더 나은 전문가를 감속하는 것을 해보고있다.

[ '간단한 더 추가 설명은]

간단한 암호가 대치 암호는, 어디 다른 암호문 편지에 대한 모든 일반 텍스트 문자지도. 이것들 중 가장 오래된 것은 소위 Caesar 암호입니다. 암호 텍스트는 HELLO가 IGNNP가되도록 두 문자 (A-> C, B-> D, C-> E)로 시프트 한 일반 텍스트입니다. 암호화되었을 때. 대체 암호의 문제점은 모든 문자가 단어에서 균일하게 사용되는 것은 아니며, 모든 단어가 문장에서 균일하게 사용되는 것은 아닙니다. 주어진 암호문에서 문자와 단어의 패턴을 분석함으로써 일반 텍스트를 추론 할 수 있습니다. 평범한 텍스트의 모든 문자를 단일 바이트 (0x80 또는 0x96)로 XOR하는 경우 간단한 암호화와 완전히 동일한 효과를냅니다.

다음으로 우수한 암호는 하나가 아닌 다른 암호를 많이 사용하는 암호입니다. 키를 사용하고 일반 텍스트의 첫 번째 문자를 키의 첫 번째 문자로 인코딩하고, 두 번째 문자가있는 일반 텍스트의 두 번째 문자를 인코딩하고 메시지보다 길면 키를 감싸는 방식으로 약간 더 어려워집니다 암호.

plain text => THIS IS A TEST OF THE EMERGENCY BROADCAST SYSTEM 
message key => JUBI LE E JUBI LE EJU BILEEJUBI LEEJUBILE EJUBIL 
cipher text => EDLC VY G EAVD BL ZSA HWRXMPJFI OXULZFKFZ YJOWOZ 

간단한 문자 회전 방식을 사용하고 있으며이를 이해하기 쉽도록 공백을 건너 뛰고 있습니다.실제로는 공백을 건너 뛰지 않고 알파벳이 아닌 키를 사용하면보다 복잡한 코딩 기능을 사용할 수 있습니다. XOR은 대칭이므로 인기있는 코딩 기능입니다. 바이너리 실행 파일에서 백그라운드에 블렌딩 된 것을 원하기 때문에 비 ASCII 키를 사용하고자한다. 또한 간단한 텍스트 문자열이 아닌 암호 텍스트를 생성 할 확률이 높아집니다. 이전에 썼 듯이 진정으로 결정된 공격자는 암호를 깨뜨릴 필요가 없습니다. 프로그램을 중단 할 것입니다. 이것은 아마추어들을 밖으로 내보내는 것입니다.

+0

> 캐주얼 사용자가 캐스팅하지 못하도록하려는 경우 - 그게 전부입니다. "텍스트 문자열이 아닌 키를 가진 간단한 XOR"은 무엇을 의미합니까? –

0

/"가장 쉬운" "그래서 아무도 모른다"그들에게 XOR 연산입니까? 두 가지 방향이 있습니다.

견고한 암호화 체계가 최상의 선택입니다. 어둠에 의한 보안은 거의 좋은 생각이 아닙니다.

+0

보안을 위해 그렇기 때문에 xor를 실제로 고려하고있는 이유는 무엇입니까? –

관련 문제