나는 El Gamal 암호 시스템을 가지고 놀고 있으며, 나의 목표는 긴 텍스트 시퀀스를 암호화하고 해독 할 수 있도록하는 것이다.ElGamal을 구현하면 긴 텍스트 문자열을 사용할 수없는 이유는 무엇입니까?
El Gamal은 평문을 정수로 요구합니다. String에 대해 .getBytes() 메서드를 사용하여 문자열을 []로 바꾼 다음 [] 바이트에서 BigInteger를 작성했습니다. 암호화/해독 후 BigInteger에 대해 .toByteArray() 메서드를 사용하여 BigInteger를 byte []로 변환 한 다음 byte []에서 새 String 객체를 만듭니다.
나는 1035 비트 키를 사용하고 있는데, 최대 129 자까지 문자열을 암호화/해독 할 때 완벽하게 작동합니다. 130 개 이상의 문자를 사용하면 암호 해독 방법에서 생성 된 출력이 왜곡됩니다.
누군가이 문제를 해결하는 방법을 제안 할 수 있습니까?
놀 수있는 테스트 장치를 줄 수 있습니까? 이 메소드를 호출하는 예제는 무엇입니까? – polygenelubricants
코드를 약간 수정하고 문제를 설명하는 주요 방법을 추가했습니다. 도와 주셔서 감사합니다! – angstrom91