2012-07-24 12 views
0

RSA에 문제가 있습니다. 내가 자바 스크립트와 PHP에서 같은 계수 및 지수가있다. 둘은자바 스크립트의 RSA와 PHP와 다른

var rsa = new RSAKey(); 
rsa.setPublic("modulus","ex"); 
var result = rsa.encrypt(text); 

및 PHP에서 http://www-cs-students.stanford.edu/~tjw/jsbn/rsa.js, 내가 http://phpseclib.sourceforge.net/

require_once 'Crypt/RSA.php'; 
$rsa = new Crypt_RSA(); 
$n="modulus"; 
$e="ex"; 
$rsa->modulus= new Math_BigInteger($n,16); 
$rsa->publicExponent= new Math_BigInteger($e,16); 
$key=$rsa->getPublicKey(); 
$rsa->loadKey($key); 
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1); 
$ciphertext = $rsa->encrypt("1234"); 
echo bin2hex($ciphertext); 

그러나이 결과를 사용, 내가 사용하는 PKCS 번호를 자바 스크립트에서 1 를 사용 다른. 이유가 무엇인지 알려주실 수 있습니까? 대단히 감사합니다.

답변

5

PKCS # 1은 무작위 패딩을 사용하기 때문에 그것들은 다릅니다. 다음 URL 밖으로

확인 :

http://www-cs-students.stanford.edu/~tjw/jsbn/rsa.html

히트 암호화를 여러 번. 결과 암호문은 매번 다를 수 있습니다.

중요한 점은 암호문이 다른 것이 아니라 암호를 해독 할 수 있다는 것입니다.

+0

대단히 감사합니다. 이해 했어요 . –

+0

하지만 PKCS # 1 패딩을 실제로 사용하지 마십시오. –