불만이있는 질문은 충분히 구체적이지 않은 것으로 보입니다.ASCII 용 Java Regex 범위
는 p = 263, Q = 587, 공개 키 E = 683 및 개인 키 D = 81599. 따라서 N = PQ = 154,381와 RSA 시스템 주어.
- 어떤 편지 변환 (된답니다 : 메시지를 들어, 다음과 같이 암호화를 수행한다, "나는 학생입니다"라고 3 자리수 ASCII 코드로 딩 공백), 즉 073 032 065 077 032 065 032 083 084 085 068 069 078 084.
- 는 073,032 065,077 032,065 032,083 084,085 즉, 블록을 형성하는 모든 인접한 두 ASCII 코드 참여 068069 078084. (마지막 문자에 아무 것도 입력하지 않으면 000을 사용하십시오). 암호화 알고리즘을 사용
- C =m E 개조 N 모든 블록을 암호화하는 단계; 33815872282353670979238213794429016637939017111351. 내용이 무엇인가 등 C = 73032 683 모드 154381 = 103300는
는 메시지의 수신기입니다 가정?
조금 더 생각해 보면, 부분적으로 해독해야하므로 (예 : 33815, 87228 등을 해독해야하므로 생각하고 있습니다.) 해독 된 부분을 반으로 분할하고 각각을 확인해야합니다. 반은 ASCII 범위에 있고, 그렇지 않으면 원본으로 돌아가서 다르게 분할합니다. 이 소리는 정규식으로 뭔가를 해킹하려고 시도하는 것보다 나은 해결책과 같습니까?
P. 디코딩은 숙제로 간주됩니다.이 작업을 직접 수행했으며 "암호를 싫어합니다"(내 강사가 유머 감각을 가지고있는 것 같습니다)라는 메시지를 디코딩하므로 숙제를 도와주지 않습니다. 이것을 프로그램으로 바꾸는 것은 내가 재미 있고 흥미로울 것이라고 생각한 과외 활동 일뿐입니다.
RSA로 얻으려는 것을 조금 더 설명해 주시겠습니까?우리는 당신의 정규 표현식으로 당신을 도울 수 있지만, 나는이 모든 것의 위에 뭔가 더 잘못된 것이 있다고 생각합니다. 이 오류를 수정하면 위에 설명 된 복잡한 솔루션의 필요성이 제거 될 것입니다 –
나는 직접적으로 RSA를 직접 사용해 본 적이 없지만 이것이 문자를 다시 얻는 올바른 경로라고 상상할 수 없습니다. – stema
RSA가 메시지를'byte []'로 디코드하지 않습니까? 영숫자 문자열 표현으로 디코딩하는 경우는 없습니다. 연관된'String'을 되 돌리려면'new String (bytes)'을 할 수 있어야합니다. – Gray