<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 成人区人妻精品一区二区不卡视频 | 精品国产乱码久久久久久人妻| jazzjazz国产精品一区二区| 中文字幕精品一区影音先锋| 国产中文在线亚洲精品官网| 国产美女精品视频免费观看| 2021精品国产品免费观看| 久久精品亚洲男人的天堂| 国产精品无码翘臀在线观看| 国产福利91精品一区二区三区| 国产午夜精品一区二区三区嫩草 | 国产在线精品福利大全| 日本精品视频一区二区三区| 2021国产精品自产拍在线观看| 国产午夜亚洲精品理论片不卡 | 国产精品视频一区二区三区无码| 九九精品国产99精品| 午夜精品不卡电影在线观看| 精品人妻一区二区三区浪潮在线| 国产精品视频一区二区三区四| 国产精品主播一区二区| 国产精品福利久久| 久久亚洲精品无码网站| 国产精品久久久久9999| 日韩精品一区二区三区色欲AV| 亚洲综合精品香蕉久久网| 国产精品亚洲不卡一区二区三区| 国产精品亚洲精品爽爽| 人妻少妇精品久久久久久| 国产四虎免费精品视频| 久久Av无码精品人妻系列| 久久9精品久久久| 国产精品9999久久久久| 国产精品无码av在线播放| 久久久久久久久久久免费精品| 污污网站国产精品白丝袜| 国产成人无码精品一区不卡| 国内精品久久久久久无码不卡| 成人久久精品一区二区三区| 久久AV无码精品人妻出轨| 香蕉久久精品日日躁夜夜躁|