<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 久久九九久精品国产| 国产精品林美惠子在线观看| 国产精品无打码在线播放| 国产日韩精品在线| 老司机国内精品久久久久| 国产精品国三级国产aⅴ| 夜夜爽一区二区三区精品| 99久久精品免费视频| 精品国产婷婷久久久| 色欲AV永久无码精品无码| 久久精品免视看国产成人| 国产精品免费视频观看拍拍 | 国产精品嫩草影院久久| 2020久久精品亚洲热综合一本| 麻豆精品久久久一区二区| 亚洲国产主播精品极品网红 | 精品无码人妻一区二区免费蜜桃| 国产精品久操视频| 国产精品美女久久久久久久| 91麻豆精品一二三区在线| 久久成人国产精品二三区| 一本久久A久久免费精品不卡 | a级精品九九九大片免费看| 国产精品区一区二区三| 免费看国产精品3a黄的视频| 亚洲精品国产啊女成拍色拍| 久久精品女人的天堂AV| 久久五月精品中文字幕| 亚洲精品偷拍视频免费观看| 国产精品高清久久久久久久| 亚洲av永久中文无码精品| 日产精品一二三四区国产| 久久夜色精品国产噜噜噜亚洲AV| 自拍偷在线精品自拍偷| 久久精品国产一区二区| 午夜精品久久久久9999高清| 成人国产精品视频频| 最新国语自产精品视频在| 国产美女在线精品免费观看| 亚洲国产精品嫩草影院| 久久久久精品国产亚洲AV无码|