Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » 移动互联网  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 请教RSA公钥加密的问题(急)
zhangxu31666





发贴: 1
积分: 0
于 2007-09-18 09:13 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
有哪位做过javacard RSA运算的吗?我现在遇到一个问题,
我用下列代码在卡内解密密文得出正确的结果
authRSAKeyCRT = (RSAPrivateCrtKey) KeyBuilder.buildKey(KeyBuilder.TYPE_RSA_CRT_PRIVATE, (short)1024, false);
   authRSAKeyCRT.setDP1(DP,(short)0,(short)64);
   authRSAKeyCRT.setDQ1(DQ,(short)0,(short)64);
   authRSAKeyCRT.setP(P,(short)0,(short)64);
   authRSAKeyCRT.setPQ(PQ,(short)0,(short)64);
   authRSAKeyCRT.setQ(Q,(short)0,(short)64);
rsaCipher = Cipher.getInstance(Cipher.ALG_RSA_PKCS1,false);
rsaCipher.init(authRSAKeyCRT, Cipher.MODE_DECRYPT);        byte outBuff[]=new byte[128];
try{
  rsaCipher.doFinal(buffer, (short)5, (short)128, outBuff, (short)0);
      }catch(CryptoException e){

      }
可是在卡内公钥加密,怎么每次加密的结果都在变化呢?(我用的是同样的公钥和明文,可是每次运行完结果都不一样)
publickey=(RSAPublicKey)KeyBuilder.buildKey(KeyBuilder.TYPE_RSA_PUBLIC, KeyBuilder.LENGTH_RSA_1024, false );
     publickey.setExponent(e,(short)0,(short)3);
     publickey.setModulus(m,(short)0,(short)128);
    
  rsaCipher=Cipher.getInstance(Cipher.ALG_RSA_PKCS1,false);
    rsaCipher.init(publickey,Cipher.MODE_ENCRYPT);
    byte keydata[]=new byte[128];//加密卡外随机数的结果
  rsaCipher.doFinal(buffer,(short)5,(short)16,keydata,(short)0);
各位帮忙指点一下吧,或者有卡内公钥加密的代码给参考一下可以吗?




flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923