1. 程式人生 > >java加密演算法非對稱加密演算法——數字信封 DH

java加密演算法非對稱加密演算法——數字信封 DH

類似數字簽名,數字信封是這樣描述的: 

數字信封 
        數字信封用加密技術來保證只有特定的收信人才能閱讀信的內容。 
流程: 
    資訊傳送方採用對稱金鑰來加密資訊,然後再用接收方的公鑰來加密此對稱金鑰(這部分稱為數字信封),再將它和資訊一起傳送給接收方;接收方先用相應的私鑰開啟數字信封,得到對稱金鑰,然後使用對稱金鑰再解開資訊。

    接下來我們分析DH加密演算法,一種適基於金鑰一致協議的加密演算法。 
DH 
Diffie- Hellman演算法(D-H演算法),金鑰一致協議。是由公開金鑰密碼體制的奠基人Diffie和Hellman所提出的一種思想。簡單的說就是允許兩名用 戶在公開媒體上交換資訊以生成"一致"的、可以共享的金鑰。換句話說,就是由甲方產出一對金鑰(公鑰、私鑰),乙方依照甲方公鑰產生乙方金鑰對(公鑰、私 鑰)。以此為基線,作為資料傳輸保密基礎,同時雙方使用同一種對稱加密演算法構建本地金鑰(SecretKey)對資料加密。這樣,在互通了本地金鑰 (SecretKey)演算法後,甲乙雙方公開自己的公鑰,使用對方的公鑰和剛才產生的私鑰加密資料,同時可以使用對方的公鑰和自己的私鑰對資料解密。不單 單是甲乙雙方兩方,可以擴充套件為多方共享資料通訊,這樣就完成了網路互動資料的安全通訊!該演算法源於中國的同餘定理——中國餘數定理。  

流程分析: 

1.甲方構建金鑰對兒,將公鑰公佈給乙方,將私鑰保留;雙方約定資料加密演算法;乙方通過甲方公鑰構建金鑰對兒,將公鑰公佈給甲方,將私鑰保留。 
2.甲方使用私鑰、乙方公鑰、約定資料加密演算法構建本地金鑰,然後通過本地金鑰加密資料,傳送給乙方加密後的資料;乙方使用私鑰、甲方公鑰、約定資料加密演算法構建本地金鑰,然後通過本地金鑰對資料解密。 
3.乙方使用私鑰、甲方公鑰、約定資料加密演算法構建本地金鑰,然後通過本地金鑰加密資料,傳送給甲方加密後的資料;甲方使用私鑰、乙方公鑰、約定資料加密演算法構建本地金鑰,然後通過本地金鑰對資料解密。 

  1. 各種Java加密演算法
  2. 各種Java加密演算法

  3. 各種Java加密演算法


通過java程式碼實現如下:Coder類見

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88

相關推薦

java加密演算法對稱加密演算法——數字信封 DH

類似數字簽名,數字信封是這樣描述的:  數字信封          數字信封用加密技術來保證只有特定的收信人才能閱讀信的內容。  流程:      資訊傳送方採用對稱金鑰來加密資訊,然後再用接收方的公鑰來加密此對稱金鑰(這部分稱為數字信封),再將它和資訊一

JAVA密碼加密演算法.RSA演算法(對稱加密演算法)和密碼加鹽MD5

密碼加鹽MD5 Message Digest Algorithm MD5(中文名為訊息摘要演算法第五版)為電腦保安領域廣泛使用的一種雜湊函式,用以提供訊息的完整性保護。 是計算機廣泛使用的雜湊演算法之一(又譯摘要演算法、雜湊演算法),主流程式語言普遍已有MD5實現。將資料(如漢字)運

Java 加密解密 對稱加密演算法 對稱加密演算法 MD5 BASE64 AES RSA

【前言】 本文簡單的介紹了加密技術相關概念,最後總結了java中現有的加密技術以及使用方法和例子 【最簡單的加密】1.簡單的概念 明文:加密前的資訊 密文:機密後的資訊 演算法:加密或解密的演算法 金鑰:演算法使用的鑰匙(讀作miyao,正確應該是miyue,但是大家都讀m

摘要演算法對稱加密對稱加密數字簽名、數字證書淺析

年前整理的關於摘要演算法、對稱加密、非對稱加密、數字簽名、數字證書的內容,當時是以 ppt 的形式整理的,不方便複製到 csdn部落格中,因此將其轉換為 png 圖片。文章僅代表個人觀點,如有不正之處,

php openssl_sign() 語法+RSA公私鑰加密解密,對稱加密演算法詳解

其實有時候覺得寫部落格好煩,就個函式就開篇部落格。很小的意見事情而已,知道的人看來多取一舉,或者說沒什麼必要,浪費時間,不知道的人就會很鬱悶。技術就是這樣的,懂的人覺得真的很簡單啊,不知道的人真的好難。。。 一般在跟第三方介面對接資料的時候,為了保證很多都使用的RSA簽名,沒性趣瞭解的同學只需要

最全加密演算法對稱加密對稱加密

常見加密演算法 : DES(Data Encryption Standard):資料加密標準,速度較快,適用於加密大量資料的場合;  3DES(Triple DES):是基於DES,對一塊資料用三個不同的金鑰進行三次加密,強度更高; RC2和 RC4:用變長金鑰對大量資

go加密演算法:對稱加密(三)--Elliptic

看了2星期的區塊鏈原理與執行機制,加密這裡開始變得有些生疏,花了一天時間複習了一些;看到了之前忽略的,也學會了橢圓曲線加密。 package main //https://studygolang.com/articles/13228 //https://blog.csdn.net/teas

安卓中的對稱加密對稱加密,MD5加密演算法

轉自:http://blog.csdn.net/fengkaungdewoniu/article/details/52846025 安卓中使用的加密演算法可以說有三種:對稱加密、非對稱加密,及MD5加密。 對稱加密: 對稱加密又稱作私鑰加密。(舉例:家裡大門開門

資訊保安的基礎:對稱加密對稱加密、摘要演算法

加密分為兩大類:對稱加密、非對稱加密,兩類加密演算法各有優點,在不同的場景使用不同的演算法。 對稱加密 加密方將原始資料和加密金鑰一起經過特殊加密演算法處理後,生成密文結果,解密方使用相同的祕鑰及相同加密演算法的逆演算法對密文結果進行解密,公式如下:

幾個例子理解對稱加密對稱加密、公鑰與私鑰、簽名與驗籤、數字證書、HTTPS加密方式

# 原創,轉載請留言聯絡 為什麼會出現這麼多加密啊,公鑰私鑰啊,簽名啊這些東西呢?說到底還是保證雙方通訊的安全性與完整性。例如小明發一封表白郵件給小紅,他總不希望給別人看見吧。而各種各樣的技術就是為了保障通訊的安全。(本文務必從上到下看) 1.對稱加密與非對稱加密 對稱加密: 對稱加密是

對稱加密對稱加密數字簽名、數字證書的區別

之前在面試的時候被問到了HTTPS,SSL這樣的知識點,也沒答上來,這裡也簡單整理一下。 首先還是來解釋一下基礎的東東: 對稱加密: 加密和解密都是用同一個金鑰 非對稱加密: 加密用公開的金鑰,解密用私鑰 (私鑰只有自己知道

對稱加密對稱加密數字簽名

一、密碼學演算法的分類 訊息編碼:Base64 訊息摘要:MD類、SHA類、MAC類 對稱密碼:DES、3DES、AES 非對稱密碼:RSA、DH金鑰交換 數字簽名:RSASignature、DSASignature 密碼學五元組: 明文、密文、加密演

對稱加密對稱加密理解和對稱加密java例子

package com.zl.test3; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; import java.io.FileReader;

【上】安全HTTPS-全面詳解對稱加密對稱加密數字簽名,數字證書和HTTPS

此文章轉載來源於http://blog.csdn.net/tenfyguo/article/details/40922813點選開啟連結 一,對稱加密 所謂對稱加密,就是它們在編碼時使用的金鑰e和解碼時一樣d(e=d),我們就將其統稱為金鑰k。 對稱加解密的過

【下】安全HTTPS-全面詳解對稱加密對稱加密數字簽名,數字證書和HTTPS

此文章轉載來源於http://blog.csdn.net/tenfyguo/article/details/40958727點選開啟連結 1.  HTTPS 1.1. 什麼是HTTPS HTTPS(HypertextTransfer Protocol Secur

Java實現Rsa對稱加密

import org.bouncycastle.jce.provider.BouncyCastleProvider; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStre

HTTPS演化過程(對稱加密對稱加密、公鑰、私鑰、數字簽名、數字證書)

主要感謝《碼農翻身》,還有網上的文章,大家可以看看這本書。 1.對稱資料加密 就像上圖所示, 這加密和解密演算法是公開的,那個金鑰是保密的, 只有兩人才知道, 這樣生成的加密訊息(密文) 別人就無法得知了。這叫對稱加密演算法,因為加密和解密用

理解對稱加密對稱加密數字簽名、數字證書

對稱加密(資料保密性)演算法:DES 、 3DES 、 RC5、AES特點:加密和解密使用相同的金鑰      加密原文非對稱加密(資料保密性)演算法:DH、RSA特點:需要兩個祕鑰公鑰和私鑰      加密速度慢,只可用其加密小資料(如對稱金鑰、訊息摘要)      加密後

Java語言的對稱加密的實現

眾所周知,網際網路上的安全是非常重要的一個課題,如何讓我們的軟體,通訊協議更加安全,是每個程式設計師都需要思考的問題。 本文主要討論三種非對稱加密的情況。 1.私鑰加密-公鑰解密 2.公鑰加密-私鑰解密 3.私鑰簽名-公鑰驗證 產生金鑰對 無論上

java+JavaScript 實現 對稱加密 rsa

java側是這樣的 package com.tech.sandu.dal.utils; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileOutp