<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| 国产在线精品无码二区| 国产在线视精品麻豆| 91精品国产色综久久| 国产成人精品电影在线观看| 国产成人AV无码精品| 国产乱码精品一区二区三区四川人| 99精品视频免费观看| 99精品无人区乱码1区2区3区| 国产成人精品日本亚洲专 | 国产精品久久精品| 精品久久久久久久| 国产精品亚洲二区在线观看| 国产精品二区在线| 老司机亚洲精品影院无码| 99久久国产综合精品女同图片| 久草这里只有精品| 国产精品jizz在线观看网站| 热久久美女精品天天吊色| 国产香蕉一区二区精品视频| 99re视频精品全部免费| 久久这里只有精品首页| 亚洲精品成人无码中文毛片不卡| 国产精品玖玖美女张开腿让男人桶爽免费看 | 久久久精品免费视频| 中文字幕一精品亚洲无线一区 | 久久国产精品久久精| 亚洲精品你懂的在线观看| 国产亚洲精品激情都市| 国产精品自在在线午夜蜜芽tv在线| 精品无人区一区二区三区| 一本久久伊人热热精品中文| 国产精品久久久久久亚洲小说| 日韩人妻高清精品专区| 国产精品美女一区二区| 精品一区二区三区在线播放视频| 91精品国产色综合久久不卡蜜 | 青青精品视频国产| 亚洲精品自产拍在线观看| 成人精品一区二区三区不卡免费看 |