導航:首頁 > 文檔加密 > 小明永水免費平台加密

小明永水免費平台加密

發布時間:2022-09-10 08:27:21

① 小明手機加密看看

你好,手機加密就是為了保留自己的一點空間,如果你連他的手機密碼都不允許保密,可能是有點過分了,他如果想跟你分享的話不用說就會直接給你看了。愛人之間也要互相留有一點空間的,否則會讓人窒息。.

② 小明看看永久免費視頻放不了為什麼

格式不對吧!

③ 一種桶裝純凈水,小明一家三口兩天喝3升水,小明全家兩個月大約喝5桶水,這種純凈水一桶有多少升

小明全家每天喝水V=3L/2=1.5L,如果兩個月=60天,則兩個月喝水總量=1.5L*60=90L水,5桶。則一桶水=90L/5=18L水。則這種純凈水一桶18升。

④ 數據加密和數據簽名的原理作用

加密可以幫助保護數據不被查看和修改,並且可以幫助在本不安全的信道上提供安全的通信方式。例如,可以使用加密演算法對數據進行加密,在加密狀態下傳輸數據,然後由預定的接收方對數據進行解密。如果第三方截獲了加密的數據,解密數據是很困難的。

在一個使用加密的典型場合中,雙方(小紅和小明)在不安全的信道上通信。小紅和小明想要確保任何可能正在偵聽的人無法理解他們之間的通信。而且,由於小紅和小明相距遙遠,因此小紅必須確保她從小明處收到的信息沒有在傳輸期間被任何人修改。此外,她必須確定信息確實是發自小明而不是有人模仿小明發出的。

加密用於達到以下目的:

保密性:幫助保護用戶的標識或數據不被讀取。
數據完整性:幫助保護數據不更改。
身份驗證:確保數據發自特定的一方。
為了達到這些目的,您可以使用演算法和慣例的組合(稱作加密基元)來創建加密方案。下表列出了加密基元及它們的用法。

加密基元 使用
私鑰加密(對稱加密) 對數據執行轉換,使第三方無法讀取該數據。此類型的加密使用單個共享的機密密鑰來加密和解密數據。
公鑰加密(不對稱加密) 對數據執行轉換,使第三方無法讀取該數據。此類加密使用公鑰/私鑰對來加密和解密數據。
加密簽名 通過創建對特定方唯一的數字簽名來幫助驗證數據是否發自特定方。此過程還使用哈希函數。
加密哈希 將數據從任意長度映射為定長位元組序列。哈希在統計上是唯一的;不同的雙位元組序列不會哈希為同一個值。

私鑰加密
私鑰加密演算法使用單個私鑰來加密和解密數據。由於具有密鑰的任意一方都可以使用該密鑰解密數據,因此必須保護密鑰不被未經授權的代理得到。私鑰加密又稱為對稱加密,因為同一密鑰既用於加密又用於解密。私鑰加密演算法非常快(與公鑰演算法相比),特別適用於對較大的數據流執行加密轉換。

通常,私鑰演算法(稱為塊密碼)用於一次加密一個數據塊。塊密碼(如 RC2、DES、TrippleDES 和 Rijndael)通過加密將 n 位元組的輸入塊轉換為加密位元組的輸出塊。如果要加密或解密位元組序列,必須逐塊進行。由於 n 很小(對於 RC2、DES 和 TripleDES,n = 8 位元組;n = 16 [默認值];n = 24;對於 Rijndael,n = 32),因此必須對大於 n 的值一次加密一個塊。

基類庫中提供的塊密碼類使用稱作密碼塊鏈 (CBC) 的鏈模式,它使用一個密鑰和一個初始化向量 (IV) 對數據執行加密轉換。對於給定的私鑰 k,一個不使用初始化向量的簡單塊密碼將把相同的明文輸入塊加密為同樣的密文輸出塊。如果在明文流中有重復的塊,那麼在密文流中將存在重復的塊。如果未經授權的用戶知道有關明文塊的結構的任何信息,就可以使用這些信息解密已知的密文塊並有可能發現您的密鑰。若要克服這個問題,可將上一個塊中的信息混合到加密下一個塊的過程中。這樣,兩個相同的明文塊的輸出就會不同。由於該技術使用上一個塊加密下一個塊,因此使用了一個 IV 來加密數據的第一個塊。使用該系統,未經授權的用戶有可能知道的公共消息標頭將無法用於對密鑰進行反向工程。

可以危及用此類型密碼加密的數據的一個方法是,對每個可能的密鑰執行窮舉搜索。根據用於執行加密的密鑰大小,即使使用最快的計算機執行這種搜索,也極其耗時,因此難以實施。使用較大的密鑰大小將使解密更加困難。雖然從理論上說加密不會使對手無法檢索加密的數據,但這確實極大增加了這樣做的成本。如果執行徹底搜索來檢索只在幾天內有意義的數據需要花費三個月的時間,那麼窮舉搜索的方法是不實用的。

私鑰加密的缺點是它假定雙方已就密鑰和 IV 達成協議,並且互相傳達了密鑰和 IV 的值。並且,密鑰必須對未經授權的用戶保密。由於存在這些問題,私鑰加密通常與公鑰加密一起使用,來秘密地傳達密鑰和 IV 的值。

假設小紅和小明是要在不安全的信道上進行通信的雙方,他們可能按以下方式使用私鑰加密。小紅和小明都同意使用一種具有特定密鑰和 IV 的特定演算法(如 Rijndael)。小紅撰寫一條消息並創建要在其上發送該消息的網路流。接下來,她使用該密鑰和 IV 加密該文本,並通過 Internet 發送該文本。她沒有將密鑰和 IV 發送給小明。小明收到該加密文本並使用預先商定的密鑰和 IV 對它進行解密。如果傳輸的內容被人截獲,截獲者將無法恢復原始消息,因為截獲者並不知道密鑰或 IV。在這個方案中,密鑰必須保密,但 IV 不需要保密。在一個實際方案中,將由小紅或小明生成私鑰並使用公鑰(不對稱)加密將私鑰(對稱)傳遞給對方。有關更多信息,請參見本主題後面的有關公鑰加密的部分。

.NET Framework 提供以下實現私鑰加密演算法的類:

DESCryptoServiceProvider
RC2CryptoServiceProvider
RijndaelManaged

公鑰加密
公鑰加密使用一個必須對未經授權的用戶保密的私鑰和一個可以對任何人公開的公鑰。公鑰和私鑰都在數學上相關聯;用公鑰加密的數據只能用私鑰解密,而用私鑰簽名的數據只能用公鑰驗證。公鑰可以提供給任何人;公鑰用於對要發送到私鑰持有者的數據進行加密。兩個密鑰對於通信會話都是唯一的。公鑰加密演算法也稱為不對稱演算法,原因是需要用一個密鑰加密數據而需要用另一個密鑰來解密數據。

公鑰加密演算法使用固定的緩沖區大小,而私鑰加密演算法使用長度可變的緩沖區。公鑰演算法無法像私鑰演算法那樣將數據鏈接起來成為流,原因是它只可以加密少量數據。因此,不對稱操作不使用與對稱操作相同的流模型。

雙方(小紅和小明)可以按照下列方式使用公鑰加密。首先,小紅生成一個公鑰/私鑰對。如果小明想要給小紅發送一條加密的消息,他將向她索要她的公鑰。小紅通過不安全的網路將她的公鑰發送給小明,小明接著使用該密鑰加密消息。(如果小明在不安全的信道如公共網路上收到小紅的密鑰,則小明必須同小紅驗證他具有她的公鑰的正確副本。)小明將加密的消息發送給小紅,而小紅使用她的私鑰解密該消息。

但是,在傳輸小紅的公鑰期間,未經授權的代理可能截獲該密鑰。而且,同一代理可能截獲來自小明的加密消息。但是,該代理無法用公鑰解密該消息。該消息只能用小紅的私鑰解密,而該私鑰沒有被傳輸。小紅不使用她的私鑰加密給小明的答復消息,原因是任何具有公鑰的人都可以解密該消息。如果小紅想要將消息發送回小明,她將向小明索要他的公鑰並使用該公鑰加密她的消息。然後,小明使用與他相關聯的私鑰來解密該消息。

在一個實際方案中,小紅和小明使用公鑰(不對稱)加密來傳輸私(對稱)鑰,而對他們的會話的其餘部分使用私鑰加密。

公鑰加密具有更大的密鑰空間(或密鑰的可能值范圍),因此不大容易受到對每個可能密鑰都進行嘗試的窮舉攻擊。由於不必保護公鑰,因此它易於分發。公鑰演算法可用於創建數字簽名以驗證數據發送方的身份。但是,公鑰演算法非常慢(與私鑰演算法相比),不適合用來加密大量數據。公鑰演算法僅對傳輸很少量的數據有用。公鑰加密通常用於加密一個私鑰演算法將要使用的密鑰和 IV。傳輸密鑰和 IV 後,會話的其餘部分將使用私鑰加密。

.NET Framework 提供以下實現公鑰加密演算法的類:

DSACryptoServiceProvider
RSACryptoServiceProvider
數字簽名
公鑰演算法還可用於構成數字簽名。數字簽名驗證發送方的身份(如果您信任發送方的公鑰)並幫助保護數據的完整性。使用由小紅生成的公鑰,小紅的數據的接收者可以通過將數字簽名與小紅的數據和小紅的公鑰進行比較來驗證是否是小紅發送了該數據。

為了使用公鑰加密對消息進行數字簽名,小紅首先將哈希演算法應用於該消息以創建消息摘要。該消息摘要是數據的緊湊且唯一的表示形式。然後,小紅用她的私鑰加密該消息摘要以創建她的個人簽名。在收到消息和簽名時,小明使用小紅的公鑰解密簽名以恢復消息摘要,並使用與小紅所使用的相同的哈希演算法來散列消息。如果小明計算的消息摘要與從小紅那裡收到的消息摘要完全一致,小明就可以確定該消息來自私鑰的持有人,並且數據未被修改過。如果小明相信小紅是私鑰的持有人,則他知道該消息來自小紅。

請注意,由於發送方的公鑰為大家所周知,並且它通常包含在數字簽名格式中,因此任何人都可以驗證簽名。此方法不保守消息的機密;若要使消息保密,還必須對消息進行加密。

.NET Framework 提供以下實現數字簽名演算法的類:

DSACryptoServiceProvider
RSACryptoServiceProvider
哈希值
哈希演算法將任意長度的二進制值映射為固定長度的較小二進制值,這個小的二進制值稱為哈希值。哈希值是一段數據唯一且極其緊湊的數值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨後的哈希計算都將產生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的。

消息身份驗證代碼 (MAC) 哈希函數通常與數字簽名一起用於對數據進行簽名,而消息檢測代碼 (MDC) 哈希函數則用於數據完整性。

雙方(小紅和小明)可按下面的方式使用哈希函數來確保數據的完整性。如果小紅對小明編寫一條消息並創建該消息的哈希,則小明可以在稍後散列該消息並將他的哈希與原始哈希進行比較。如果兩個哈希值相同,則該消息沒有被更改;如果值不相同,則該消息在小紅編寫它之後已被更改。為了使此系統發揮作用,小紅必須對除小明外的所有人保密原始的哈希值。

.NET Framework 提供以下實現數字簽名演算法的類:

HMACSHA1
MACTripleDES
MD5CryptoServiceProvider
SHA1Managed
SHA256Managed
SHA384Managed
SHA512Managed
隨機數生成
隨機數生成是許多加密操作不可分割的組成部分。例如,加密密鑰需要盡可能地隨機,以便使生成的密鑰很難再現。加密隨機數生成器必須生成無法以計算方法推算出(低於 p < .05 的概率)的輸出;即,任何推算下一個輸出位的方法不得比隨機猜測具有更高的成功概率。.NET Framework 中的類使用隨機數生成器生成加密密鑰。

RNGCryptoServiceProvider 類是隨機數生成器演算法的實現。

⑤ 安卓短使用了AES加密 服務端是servlet 以前發送請求的時候是name=小明&age=12

隨著密碼分析技術的提高,新的數據加密標准AES取代了過時的DES。文章在闡述AES/RSA加密演算法的基礎上,分別給出了利用AES/RSA實現客戶端/伺服器端網路數據傳輸的加密流程。最後在比較AES演算法和RSA演算法基礎上,將AES與RSA相結合提出一種新的數據加密方案。

基本需求及概念
隨著Internet網的廣泛應用,信息安全問題日益突出,以數據加密技術為核心的信息安全技術也得到了極大的發展。目前的數據加密技術根據加密密鑰類型可分私鑰加密(對稱加密)系統和公鑰加密(非對稱加密)系統[1]。對稱加密演算法是較傳統的加密體制,通信雙方在加/解密過程中使用他們共享的單一密鑰,鑒於其演算法簡單和加密速度快的優點,目前仍然是主流的密碼體制之一。最常用的對稱密碼演算法是數據加密標准(DES)演算法,但是由於DES密鑰長度較短,已經不適合當今分布式開放網路對數據加密安全性的要求。最後,一種新的基於Rijndael演算法對稱高級數據加密標准AES取代了數據加密標准DES。非對稱加密由於加/解密鑰不同(公鑰加密,私鑰解密),密鑰管理簡單,也得到廣泛應用。RSA是非對稱加密系統最著名的公鑰密碼演算法。
AES演算法
基本原理及演算法流程
美國國家標准和技術研究所(NIST)經過三輪候選演算法篩選,從眾多的分組密碼中選中Rijndael演算法作為高級加密標准(AES)。Rijndael密碼是一個迭代型分組密碼,分組長度和密碼長度都是可變的,分組長度和密碼長度可以獨立的指定為128比特,192比特或者256比特。AES的加密演算法的數據處理單位是位元組,128位的比特信息被分成16個位元組,按順序復制到一個4*4的矩陣中,稱為狀態(state),AES的所有變換都是基於狀態矩陣的變換。
用Nr表示對一個數據分組加密的輪數(加密輪數與密鑰長度的關系如表1所示)。在輪函數的每一輪迭代中,包括四步變換,分別是位元組代換運算(ByteSub())、行變換(ShiftRows())、列混合(MixColumns())以及輪密鑰的添加變換AddRoundKey()[3],其作用就是通過重復簡單的非線形變換、混合函數變換,將位元組代換運算產生的非線性擴散,達到充分的混合,在每輪迭代中引入不同的密鑰,從而實現加密的有效性。
表1 是三種不同類型的AES加密密鑰分組大小與相應的加密輪數的對照表。加密開始時,輸入分組的各位元組按表2 的方式裝入矩陣state中。如輸入ABCDEFGHIJKLMNOP,則輸入塊影射到如表2的狀態矩陣中。

⑥ 小明免費免費平台在線請問怎麼交了費看不了視頻,再什麼地方退費,要求退款

這種問題最好問客服,實在不行就投訴,投訴解決問題才快,投訴最有效

⑦ 加密、簽名、證書的作用及運用場景

本文主要是簡單介紹了常見的加密類型、各自的運用場景、為什麼需要數字簽名和數字證書、HTTPS涉及到的加密流程等。這里主要從使用者的角度出發,對演算法本身不做過多介紹。

對稱/非對稱加密均屬於 可逆加密,可以通過密鑰將密文還原為明文

有時候,我們希望明文一旦加密後,任何人(包括自己)都無法通過密文逆推回明文,不可逆加密就是為了滿足這種需求。
不可逆加密主要通過 hash演算法實現:即對目標數據生成一段特定長度hash值 ;無論你的數據是1KB、1MB、1GB,都是生成特定長度的一個Hash值(比如128bit)。這里大家應該能感受到一點 不可逆 的味道,加密後128bit的hash值顯然無法還原出1個G甚至更大的不規則數據的, hash可以看做是原來內容的一個摘要

常見演算法:

小明給小紅寫信:

經過九轉十八彎後,信的內容有可能:1. 被窺視 2. 被篡改(冒充小明發送假消息)

小紅先 生成對稱加密的密鑰key1 ,然後通過一個安全的渠道交予小明。
傳輸數據時,小明 使用key1加密 ,而小紅收到後再 使用key1解密
這時候 中間者既看不到原來的內容,也沒辦法篡改 (因為沒有密鑰):

【對稱加密】實現簡單,性能優秀 ,演算法本身安全級別高。然而對 密鑰的管理 卻是個很頭疼的問題:一旦密鑰交到對方手裡,對方對密鑰的保管能力 我方是沒辦法控制 的,一旦對方泄露的話,加密就形同虛設了。
相對而言,【非對稱加密】的公鑰就沒有這個憂慮,因為 公鑰 的設計就是為了 可以公開的 ,盡管對方泄露,我方也不會有任何損失。

小紅生成一對公私鑰,自己持有私鑰(pri_key1),將公鑰(pub_key1)交予小明。
傳輸數據時,小明使用 公鑰加密 ,小紅使用 私鑰解密
因為 中間者沒有私鑰,公鑰加密的內容是無法獲取的 。此時達到了 防窺視 的效果:

然而因為 公鑰是可以公開的 ,如果 中間者知曉公鑰 的話,盡管沒有辦法看到原來的內容,卻 可以冒充小明發送假消息

這時小紅在想,如果小明發送消息時,能帶上 只有他自己才能生成 的數據(字元串),我就能 驗證是不是小明發的真實消息 了。
通常這個 能證實身份的數據(字元串) 被稱之為 數字簽名(Signature)

小明再生成一對公私鑰 ,自己持有私鑰(pri_key2),將公鑰交予小紅(pub_key2)。

當小明傳輸數據時(可能很大),除了公鑰加密明文之外,還要帶上簽名:(1) 對明文做一個hash摘要 (2)對摘要進行私鑰加密,加密結果即簽名(傳輸內容=內容密文+簽名)

小紅收到後:(1) 解密簽名獲取hash (2)解密內容密文,對解密後的明文進行hash;如果兩個hash一致,說明驗簽通過。

盡管中間者修改了傳輸內容,但因為簽名無法冒認(沒有私鑰),小紅驗簽失敗,自然不會認可這份數據:

通常 非對稱加密要做到防窺視和防篡改,需要有兩對公私鑰 :對方的公鑰用於內容加密,自己的私鑰用於簽名(讓對方驗證身份)。

因為HTTP協議明文通信的安全問題,引入了HTTPS:通過建立一個安全通道(連接),來保證數據傳輸的安全。

伺服器是 沒辦法直接將密鑰傳輸到瀏覽器的 ,因為在 安全連接建立之前,所有通信內容都是明文的 ,中間者可窺視到密鑰信息。
或許這時你想到了非對稱加密,因為公鑰是不怕公開的:

然而在第2步, 中間者可以截取伺服器公鑰,並替換成了自己的公鑰 ,此時加密就沒意義了:

為了 防止公鑰被假冒,數字證書(digital certificate )便誕生了

當伺服器需要告訴瀏覽器公鑰時,並不是簡單地返回公鑰,而是響應 包含公鑰信息在內的數字證書

證書主要包含以下內容:

瀏覽器通過 【頒發機構的公鑰】進行解密驗簽 ,驗簽通過即說明證書的真實性,可以放心取 證書擁有者的公鑰 了。( 常用CA機構的公鑰都已經植入到瀏覽器裡面

數字證書只做一件事: 保證 伺服器響應的 公鑰是真實的

以上保證了 [瀏覽器⇒伺服器] 是加密的,然而 [伺服器⇒瀏覽器] 卻沒有(上圖第4步);另外一個是 性能問題 ,如果所有數據都使用非對稱加密的話,會消耗較多的伺服器資源,通信速度也會受到較大影響。
HTTPS巧妙地結合了非對稱加密和對稱加密,在保證雙方通信安全的前提下,盡量提升性能。

HTTPS(SSL/TLS)期望 建立安全連接後,通信均使用【對稱加密】
建立安全連接的任務就是讓 瀏覽器-伺服器協商出本次連接使用的【對稱加密的演算法和密鑰】 ;協商過程中會使用到【非對稱加密】和數字證書。

特別注意的是:協商的密鑰必須是不容易猜到(足夠隨機的):

其中比較核心的是隨機數r3(pre-master secret),因為之前的r1、r2都是明文傳輸的, 只有r3是加密傳輸 的。至於為什麼需要三個隨機數,可以參考:

以上是一個比較簡單的HTTPS流程,詳細的可以參考文末的引用。

參考資料:
[1] 數字證書應用綜合揭秘
[2] SSL/TLS協議運行機制的概述
[3] 圖解SSL/TLS協議
[4] 《圖解HTTP》

⑧ 數字簽名/數字證書/對稱/非對稱加密/CA 等概念明晰

此次不深入源碼、不分析原理、只釐清一些易混淆概念及其關聯。
本次將從通信演變歷史的角度出發,一步步闡述概念及其作用。
通過本篇文章,你將了解到:

大部分時候,咱們交流都是靠嘴對嘴,信息完全暴露在他人的耳朵里。

拉拉家常無關緊要,但要是涉及重要、私密的信息就不能這樣子了。
此時可能想到,那我們就說悄悄話吧。

悄悄話只能是倆人近距離才能實現,若是天各一方怎麼才能將信息安全送給對方呢?
大家或多或少地看過諜戰片,那會兒卧底如何將信息傳給組織呢?答案是通過密碼本。

雙方約定好用一個密碼本,密碼本其實是個映射關系:

此時雙方通信是經過加密的,我們稱為密文通信。第三者想要破解信息,就需要拿到密碼本或是破譯出密碼本映射關系,從而將密文轉為明文。

隨著科學技術的發展,人們的交流由書信逐漸過渡為電子通信。

當我們在鍵盤上敲擊一段文字後,這段信息會通過網路發送給對方,怎麼保證這段信息不被別人輕易知道呢?
我們想到了加密,雙方在傳輸信息前商量好一個密鑰,發送方用密鑰將信息進行加密形成密文後再發送,接收方在收到密文後使用之前協商的密鑰進行解密。

舉個簡單例子:

小明現在將信息進行對稱加密:

那麼將明文hello,每個字元+1,得出如下結果:
hello--->ifmmp

小紅拿到密文ifmmp後,她知道密鑰X=1,因此她將密文每個字元-1,得出如下結果:
ifmmp--->hello

至此,小明和小紅成功進行了交流。

此時小剛想知道小明和小紅聊了啥,於是截獲了信息:

但是由於小剛拿到的是密文信息:ifmmp。因為不知道密鑰,因此無法反推出明文:hello。因此小明和小紅的信息交流安全得到了保證。

當然對稱加密演算法沒那麼簡單,常見的對稱加密演算法有如下幾種:

似乎使用對稱加密就可以解決咱們通信安全問題,但引入了另一個問題:

是否有種方式可以光明正大地傳遞信息呢?
答案是:非對稱加密。

接著來看看小明和小紅如何使用非對稱加密來實現安全通信。
小明和小紅分別生成自己的公私鑰:

由上可知,用小紅的公鑰加密的信息只能由小紅的私鑰解開,只要小紅的私鑰沒有泄漏,那麼小明和小紅的通信是安全的。
當然了,真正非對稱加密演算法並沒有那麼簡單,常見的幾種非對稱加密演算法:

小明和小紅的通信真是安全的嗎?
此時小剛又來搞事情了:

以上信息表明:

小明和小紅一合計,想出來了一個辦法:

消息摘要(Message Digest)特點:

常見的消息摘要演算法:MD5、SHA1。

雖然採用了消息摘要,但是小剛依然能夠自己偽造信息,並生成對應的消息摘要,小紅收到後驗證摘要是正確的,便認為是小明發的,這種做法還是有漏洞。
在前邊用到了小紅的公鑰、私鑰,而沒用到小明的公鑰、私鑰。
在消息摘要的基礎上,想辦法讓小明的公私鑰也參與到通信過程中來:

與消息摘要過程對比,此時多了一個步驟:

用私鑰加密的信息的過程我們稱之為:數字簽名
數字簽名具有不可抵賴性的特點。根據前面的描述,用私鑰加密的信息,只有對應的公鑰才能解開。
因此,若是小紅使用了小明的公鑰解開了密文,那麼說明該消息肯定是小明發過來的。反之,小明使用私鑰加密後發出去,代表這信息是確認是自己發的,這就是他的簽名。

常見的數字簽名演算法:RSA、DSA、ECDSA。
老規矩,用圖來看看小明與小紅如何使用數字簽名的。

小明發送信息過程:

小紅處理信息過程:

由上可知:
數字簽名有兩個作用:

整個流程小明的公私鑰、小紅的公私鑰都參與了。
因為小剛沒有小明的私鑰,所以他無法生成小明的數字簽名,最終無法通過小紅對數字簽名的驗證。

這么看來小剛是無能無能為力了?非也!
回顧一下之前說的對稱加密的痛點:如何傳遞對稱密鑰?
實際上非對稱加密也存在問題:如何傳遞公鑰?
可見,無論是對稱加密還是非對稱加密都需要解決密鑰傳遞問題。

若是小剛偽造了小紅的公鑰,情況如下:

因為公鑰被偽造了,所以小剛可以為所欲為。
小明如何才能知道自己收到的公鑰是小紅的呢?
這時候就需要引入權威機構:CA(Certificate Authority) 證書授權中心

有了CA,小紅發布公鑰的流程變了:

用圖表示如下:

圖上5個步驟,有些同學對第4步不太理解:

似乎又回到了原點:如何安全傳遞公鑰的問題。
其實,信任是有起點的。
CA 不僅為他人生成證書,也生成自己的證書,CA 為自己生成的證書里包含了CA的公鑰。
CA 的證書在電腦、手機等設備出場的時候就會預置在系統里、瀏覽器里。

因此,當小明驗證小紅的證書時,會在系統里尋找能夠解開小紅證書的CA 公鑰,若是找到則說明小明證書的頒發機構是可信任的,既然信任了該證書,那麼從證書里取出的公鑰,小明也認可是小紅的。
至此,小紅的公鑰就安全地傳給了小明,後面就可以愉快地通信了。

系統里找不到對應的證書會有什麼影響?大家還記得12306網站剛開始運行的時候,用瀏覽器訪問時瀏覽器會提醒說該網站不受信任,12306提示用戶安裝自己的根證書。
這也從側面說明了,咱們不要輕易更改系統里的證書。

對稱加密存在密鑰傳送被泄漏的風險,非對稱加密雖然不需要傳遞私鑰,但是需要傳遞公鑰,也存在被中間人攻擊的風險。
為此,引入了CA 生產證書解決了非對稱加密公鑰傳遞問題。

然後非對稱加密速度慢,適合加密數據量少的信息,對稱加密速度快,適合加密數據量大的信息。
如何將對稱加密與非對稱加密結合起來打造一個安全的通信鏈路,下篇我們將重點分析其中的典型:SSL/TLS 的原理與應用。

⑨ 小明要發布自己的網站,可以考慮向()申請免費的網站空間或租用虛擬主機

小明要發布自己的網站可以考慮向,申請免費的網站空間,或者都用虛擬主機用。

⑩ 加密技術中,對稱加密和不對稱加密的最大區別

加密的演算法可以分為對稱加密和不對稱加密.在對稱加密演算法中,一個密鑰被用來進行信息交換得兩方共享.發送方利用私鑰的拷貝來加密數據.在接收方,利用同樣的私鑰的拷貝來解密數據.絕大多數的加密,如基於共享密碼和共享安全標識都是對稱加密的例子.

在這種類型的系統中,一個中心的伺服器分發共享的密鑰給需要安全交互的使用者.對稱加密的缺點是共享密鑰的管理,分發和保護它們的安全性,特別是在象internet這樣的公網上.

為了克服在公共網路中管理密鑰的的難度,使用成對的密鑰來取代單一的密鑰.在不對稱加密演算法中,雙方都互相擁有一個私鑰和一個公鑰.

公鑰是利用一種不可逆的方法對私鑰進行操作後產生的,因此一旦兩者中的一種用來加密數據,另外一種就可以用來解密.另外,不可由公鑰來推測出私鑰,而且只有用私鑰來解密用公鑰加密的數據.當發送非同步加密的報文時,發送者利用接收者的公鑰加密報文,確保只有接收者可以利用他的私鑰來解密報文.如果你用另外一種方式來處理,任何人都可利用可利用的公鑰來解密報文.不對稱加密是PKI的基礎,pki是x.509安全標準的基礎.不對稱加密演算法是一種典型基於對大數處理的演算法,如指數合對數運算.它比對稱加密演算法需要更多的cpu時間來進行加密和解密.,因為這個原因,不對稱加密經常用來安全的傳送一個對稱的」會話」密鑰,用來加密交互的剩餘部分,這也只是在信息交換的持續周期內有效.

因為公鑰可以很容易的獲得,使用公鑰進行加密減輕了分發和管理密鑰的難度.不幸的是,這種方便性的代價是不對稱加密演算法通常比對稱加密演算法慢幾個數量級.由於此,不對稱加密方法只用來處理比較小的數據.例如安全密鑰和標識以及數字簽名.

公鑰加密(不對稱加密)、私鑰加密(對稱加密)

公鑰加密使用一個必須對未經授權的用戶保密的私鑰和一個可以對任何人公開的公鑰。公鑰和私鑰都在數學上相關聯;用公鑰加密的數據只能用私鑰解密,而用私鑰簽名的數據只能用公鑰驗證。公鑰可以提供給任何人;公鑰用於對要發送到私鑰持有者的數據進行加密。兩個密鑰對於通信會話都是唯一的。公鑰加密演算法也稱為不對稱演算法,原因是需要用一個密鑰加密數據而需要用另一個密鑰來解密數據。

公鑰加密演算法使用固定的緩沖區大小,而私鑰加密演算法使用長度可變的緩沖區。公鑰演算法無法像私鑰演算法那樣將數據鏈接起來成為流,原因是它只可以加密少量數據。因此,不對稱操作不使用與對稱操作相同的流模型。

雙方(小紅和小明)可以按照下列方式使用公鑰加密。首先,小紅生成一個公鑰/私鑰對。如果小明想要給小紅發送一條加密的消息,他將向她索要她的公鑰。小紅通過不安全的網路將她的公鑰發送給小明,小明接著使用該密鑰加密消息。(如果小明在不安全的信道如公共網路上收到小紅的密鑰,則小明必須同小紅驗證他具有她的公鑰的正確副本。)小明將加密的消息發送給小紅,而小紅使用她的私鑰解密該消息。

但是,在傳輸小紅的公鑰期間,未經授權的代理可能截獲該密鑰。而且,同一代理可能截獲來自小明的加密消息。但是,該代理無法用公鑰解密該消息。該消息只能用小紅的私鑰解密,而該私鑰沒有被傳輸。小紅不使用她的私鑰加密給小明的答復消息,原因是任何具有公鑰的人都可以解密該消息。如果小紅想要將消息發送回小明,她將向小明索要他的公鑰並使用該公鑰加密她的消息。然後,小明使用與他相關聯的私鑰來解密該消息。

在一個實際方案中,A和B使用公鑰(不對稱)加密來傳輸私(對稱)鑰,而對他們的會話的其餘部分使用私鑰加密。

公鑰加密具有更大的密鑰空間(或密鑰的可能值范圍),因此不大容易受到對每個可能密鑰都進行嘗試的窮舉攻擊。由於不必保護公鑰,因此它易於分發。公鑰演算法可用於創建數字簽名以驗證數據發送方的身份。但是,公鑰演算法非常慢(與私鑰演算法相比),不適合用來加密大量數據。公鑰演算法僅對傳輸很少量的數據有用。公鑰加密通常用於加密一個私鑰演算法將要使用的密鑰和 IV。傳輸密鑰和 IV 後,會話的其餘部分將使用私鑰加密。

.NET 通過抽象基類 (System.Security.Crytography.AsymmetricAlgorithm) 提供下列非對稱(公鑰/私鑰)加密演算法:

• DSACryptoServiceProvider

• RSACryptoServiceProvider

私鑰加密演算法使用單個私鑰來加密和解密數據。由於具有密鑰的任意一方都可以使用該密鑰解密數據,因此必須保護密鑰不被未經授權的代理得到。私鑰加密又稱為對稱加密,因為同一密鑰既用於加密又用於解密。私鑰加密演算法非常快(與公鑰演算法相比),特別適用於對較大的數據流執行加密轉換。

通常,私鑰演算法(稱為塊密碼)用於一次加密一個數據塊。塊密碼(如 RC2、DES、TripleDES 和 Rijndael)通過加密將 n 位元組的輸入塊轉換為加密位元組的輸出塊。如果要加密或解密位元組序列,必須逐塊進行。由於 n 很小(對於 RC2、DES 和 TripleDES,n = 8 位元組;n = 16 [默認值];n = 24;對於 Rijndael,n = 32),因此必須對大於 n 的數據值一次加密一個塊。

基類庫中提供的塊密碼類使用稱作密碼塊鏈 (CBC) 的鏈模式,它使用一個密鑰和一個初始化向量 (IV) 對數據執行加密轉換。對於給定的私鑰 k,一個不使用初始化向量的簡單塊密碼將把相同的明文輸入塊加密為同樣的密文輸出塊。如果在明文流中有重復的塊,那麼在密文流中將存在重復的塊。如果未經授權的用戶知道有關明文塊的結構的任何信息,就可以使用這些信息解密已知的密文塊並有可能發現您的密鑰。若要克服這個問題,可將上一個塊中的信息混合到加密下一個塊的過程中。這樣,兩個相同的明文塊的輸出就會不同。由於該技術使用上一個塊加密下一個塊,因此使用了一個 IV 來加密數據的第一個塊。使用該系統,未經授權的用戶有可能知道的公共消息標頭將無法用於對密鑰進行反向工程。

可以危及用此類型密碼加密的數據的一個方法是,對每個可能的密鑰執行窮舉搜索。根據用於執行加密的密鑰大小,即使使用最快的計算機執行這種搜索,也極其耗時,因此難以實施。使用較大的密鑰大小將使解密更加困難。雖然從理論上說加密不會使對手無法檢索加密的數據,但這確實極大增加了這樣做的成本。如果執行徹底搜索來檢索只在幾天內有意義的數據需要花費三個月的時間,那麼窮舉搜索的方法是不實用的。

私鑰加密的缺點是它假定雙方已就密鑰和 IV 達成協議,並且互相傳達了密鑰和 IV 的值。並且,密鑰必須對未經授權的用戶保密。由於存在這些問題,私鑰加密通常與公鑰加密一起使用,來秘密地傳達密鑰和 IV 的值。

.NET 提供以下實現類以提供對稱的密鑰加密演算法:

• DESCryptoServiceProvider

• RC2CryptoServiceProvider

• RijndaelManaged

閱讀全文

與小明永水免費平台加密相關的資料

熱點內容
程序員東北大學 瀏覽:426
編譯忽略空字元 瀏覽:117
多店鋪阿里雲伺服器教程 瀏覽:378
單片機求初值 瀏覽:420
安卓機如何在電腦備份圖片 瀏覽:925
ca證書加密機價格 瀏覽:798
天乾地支年份演算法 瀏覽:796
程序員打造的視頻 瀏覽:7
java和php通信 瀏覽:680
為什麼黑程序員 瀏覽:163
程序員男生 瀏覽:456
戴爾文件夾內文件怎麼置頂 瀏覽:582
雲伺服器6m網速 瀏覽:722
vivo手機中國聯通伺服器地址 瀏覽:862
工程總控編譯失敗 瀏覽:707
燕趙紅楓app如何下載 瀏覽:867
php查殺軟體 瀏覽:878
教育管理學pdf 瀏覽:547
伺服器均衡怎麼使用 瀏覽:626
linux中jps 瀏覽:954