2014-11-23 4 views
-1

다음과 같은 암호화 알고리즘을 사용하여 영문 메시지를 인코딩합니다.간단한 암호화 알고리즘의 기본 암호 해독

해독하기 위해 방정식을 어떻게 반전합니까? 누군가 제발 나를 밝힐 수 있습니까?

if (OriginalChar + Key > 126) 
    EncryptedChar = 32 + ((OriginalChar + Key) - 127); 
else 
    EncryptedChar = OriginalChar + Key; 

:

1) OriginalChar이 ASCII 문자 테이블에서 임의의 문자,

2) 는 어떤 값이 될 수 있습니다 1 사이 -

(100) 메시지를 해독하기 위해이 알고리즘을 어떻게 바꾸면됩니까?

+0

사실, 나는 그것을 알아 냈어요. 모두에게 감사드립니다. – BuddhaLight

+0

나는 100의 열쇠가 사용될 수 있다고 의심한다. 아마도 0 - 95를 의미 할 것입니다. –

+0

이것은 내 친구를위한 대학 과제물입니다. 할당은 1 - 100. 범위의 키를 가능하게하고 C++ 프로그램은 모든 순열을 검사해야합니다. 그래서, 그것은 단순한 학교 수준의 것들이 겠지 실제 암호가 아닙니다. 그래도 그것을 지적 주셔서 감사합니다. – BuddhaLight

답변

0

우리는 암호화 된 MSG/문자열의 각 문자 (CharInEncryptedString)을 반복 :

if (CharInEncryptedString - Key <= 126) 
    DecryptedChar = CharInEncryptedString - Key; 
else 
    DecryptedChar = ((CharInEncryptedString - Key) + 127) -32; 
+0

그게 효과가 없을거야. 조건은'CharInEncryptedString - Key> = 32'이어야합니다. –

+0

요약하면 요약하면 함수의 역함을가집니다. 원래의 질문은 무엇 이었습니까? 이것은 나에게 정말 명백한 해결책 인 것 같아서 게시하기 전에 비슷한 것을 시도했다고 믿어야 만합니까? – theMayer

+0

@Artjom - 감사합니다. 암호화 된 메시지는 : mmZ \\ dxZmx] Zpgy이고 해독 할 때 나는 얻고 있습니다 :! TTACK_AT_DAWN' 이것이 맞습니까? – BuddhaLight