<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java ecc加密

    文檔

    java ecc加密

    ecc是橢圓曲線密碼,利用橢圓曲線來實現的密碼技術的統稱,java中ecc加密通過使用JPBC庫調用ECC橢圓曲線加解密算法,能夠編寫簡單的實驗代碼進行正確的ECC加密和解密。
    推薦度:
    導讀ecc是橢圓曲線密碼,利用橢圓曲線來實現的密碼技術的統稱,java中ecc加密通過使用JPBC庫調用ECC橢圓曲線加解密算法,能夠編寫簡單的實驗代碼進行正確的ECC加密和解密。

    java ecc加密是什么,讓我們一起了解一下:

    ecc是橢圓曲線密碼,利用橢圓曲線來實現的密碼技術的統稱,java中ecc加密通過使用JPBC庫調用ECC橢圓曲線加解密算法,能夠編寫簡單的實驗代碼進行正確的ECC加密和解密。

    為什么使用橢圓曲線加密算法?

    RSA的解決分解整數問題需要亞指數時間復雜度的算法,而目前已知計算橢圓曲線離散對數問題(ECDLP)的最好方法都需要全指數時間復雜度。這意味著在橢圓曲線系統中我們只需要使用相對于RSA 短得多的密鑰就可以達到與其相同的安全強度。

    例如,一般認為160比特的橢圓曲線密鑰提供的安全強度與1024比特RSA密鑰相當。使用短的密鑰的好處在于加解密速度快、節省能源、節省帶寬、存儲空間。

    比特幣以及中國的二代身份證都使用了256 比特的橢圓曲線密碼算法。

    ecc算法的過程是怎樣的?

    1、公私鑰生成:

    Alice首先構造一條橢圓曲線 E E E,在曲線上選擇一點 G G G作為生成元,并求 G G G的階為 n n n,要求 n n n必須為質數。

    Alice選擇一個私鑰 k ( k < n ) k (k < n) k(k

    Alice將公鑰組 E 、 Q 、 G E、Q、G E、Q、G發送給Bob。

    2、加密過程:

    Bob收到信息后,將明文編碼為 M M M, M M M為曲線上一點,并選擇一個隨機數 r r r( r < n , n r < n, n r

    Bob計算點 C i p h e r 1 Cipher1 Cipher1與 C i p h e r 2 Cipher2 Cipher2即兩段密文,計算方法如下:

    C i p h e r 1 = M + r Q Cipher1 = M + rQ Cipher1=M+rQ

    C i p h e r 2 = r G Cipher2 = rG Cipher2=rG

    Bob把 C i p h e r 1 Cipher1 Cipher1和 C i p h e r 2 Cipher2 Cipher2發給Alice。

    3、解密過程:

    Alice收到密文后,為了獲得 M M M,只需要 C i p h e r 1 ? k ? C i p h e r 2 Cipher1 - k · Cipher2 Cipher1?k?Cipher2,因為

    C i p h e r 1 ? k ? C i p h e r 2 = M + r Q ? k r G = M + r k G ? k r G = M Cipher1 - k*Cipher2 = M + rQ - krG = M + rkG - krG = M Cipher1?k?Cipher2=M+rQ?krG=M+rkG?krG=M。將M解碼即可。

    java ecc加密具體代碼展示:

    //加密算法
    public?static?String?encrypt(Element?P_b,?String?data,?int?k,?Element?P_t,?Element?G){
    ????try?{
    ????????byte[]?datasource=data.getBytes("utf8");
    ????????String?CArray?=?"A";
    ????????//計算P_1
    ????????Element?P_1?=?G.duplicate().getImmutable().mul(k);
    ????????System.out.println("加密過程中計算出的P_1:"+?P_1);
    ????????//計算P_2
    ????????Element?P_2?=?P_b.duplicate().getImmutable().mul(k);
    ????????System.out.println("加密過程中計算出的P_2:"+?P_2);
    ????????//計算P_end
    ????????Element?P_end?=?P_t.add(P_2);
    ????????System.out.println("加密過程中計算出的P_end:"+?P_end);
    ????????//計算密文C
    ????????String[]?p_txy?=?P_t.toString().split(",");
    ????????BigInteger?p_tx?=?new?BigInteger(p_txy[0]);
    ????????BigInteger?p_ty?=?new?BigInteger(p_txy[1]);
    ????????for(int?i=0;i

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    java ecc加密

    ecc是橢圓曲線密碼,利用橢圓曲線來實現的密碼技術的統稱,java中ecc加密通過使用JPBC庫調用ECC橢圓曲線加解密算法,能夠編寫簡單的實驗代碼進行正確的ECC加密和解密。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    java formatter java echarts java ehcache java email java empty java encapsulation java future java generator java enhancer java generic java enterprise java environment java epoll java error java escape java event java exchange java execute 微信群怎么找 怎么導出微信聊天記錄 java fork java foreach循環 java ear java flume java dynamic java dto java drools java flink java dowhile java flatmap java findfirst java fileinputstream java file.exists() java dockerfile java field獲取值 java field java divide java feign java fastjson java dict
    Top 亚洲国产精品第一区二区三区| 精品一区二区三区四区在线播放| 尤物国产精品福利三区| 日产精品久久久久久久| 国产精品福利在线观看免费不卡 | 久久精品夜色噜噜亚洲A∨| 成人无号精品一区二区三区| 91大神精品视频| 亚洲精品国产精品乱码不99| 精品在线观看免费| 国产精品一品二区三区的使用体验| 日韩精品久久无码中文字幕| 精品少妇一区二区三区视频| 国产色婷婷精品综合在线| 日本精品卡一卡2卡三卡| 呦交小u女国产精品视频| 精品卡一卡二卡乱码高清| 久久亚洲精品成人| 最新精品国偷自产在线| 亚洲性日韩精品一区二区三区| 国产精品国三级国产aⅴ| 国内精品videofree720| 精品动漫一区二区无遮挡| 亚洲精品人成电影网| 99久久人妻精品免费一区| 久久国产加勒比精品无码| 亚洲精品国产品国语在线| 国产女人水真多18毛片18精品| 精品少妇一区二区三区在线| 亚洲麻豆精品国偷自产在线91| 国产主播精品福利19禁vip| 在线观看精品国产福利片尤物| 成人区人妻精品一区二区三区| 亚洲精品美女久久7777777| 亚洲精品国产第一综合99久久| 国产精品亚洲四区在线观看| 国产精品久久久久久久app| 国产精品福利电影| 久9re热视频这里只有精品| 国产精品亚洲lv粉色| 午夜人屠h精品全集|