<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></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 国产精品无码AV不卡| 国产亚洲精品激情都市| 精品成人av一区二区三区| 久久久精品国产sm调教网站| 尤物精品视频一区二区三区| 亚洲精品国产精品乱码在线观看| 窝窝午夜看片成人精品| 国产在线观看一区精品| 久久久这里只有精品加勒比| 久久久国产精品无码免费专区| 国产精品无码aⅴ嫩草| 久久精品无码免费不卡| 日韩精品免费一级视频| 久久亚洲国产精品五月天婷| 国产精品无码久久久久久久久久 | 久久久91人妻无码精品蜜桃HD| 免费精品一区二区三区在线观看| 亚洲精品国产精品乱码在线观看| 国产91精品一区二区麻豆亚洲| 国产精品久久久久天天影视| 日韩精品无码免费专区午夜| 精品国产免费观看久久久 | 亚洲精品动漫人成3d在线 | 精品国产一区二区三区AV| 97精品久久天干天天蜜| 国产女人18毛片水真多18精品| 国产a视频精品免费观看| 日韩一区精品视频一区二区| 国产精品户外野外| 成人国产精品高清在线观看| 麻豆精品在线播放| 国产精品一二二区| 99久久人妻无码精品系列蜜桃| 国产亚洲精品福利在线无卡一| 久久亚洲AV永久无码精品| 久久激情亚洲精品无码?V| 精品无码久久久久久久动漫 | 亚洲AV无码成人精品区日韩 | 国产精品福利电影| 杨幂国产精品福利在线观看| 久久精品国产清白在天天线|