<ruby id="zx91x"></ruby><p id="zx91x"></p>
<p id="zx91x"></p>
<pre id="zx91x"><ruby id="zx91x"><mark id="zx91x"></mark></ruby></pre>

<p id="zx91x"><del id="zx91x"></del></p>

        <track id="zx91x"><ruby id="zx91x"></ruby></track>

            <pre id="zx91x"><ruby id="zx91x"></ruby></pre>

            <track id="zx91x"><del id="zx91x"></del></track>

              <big id="zx91x"><ruby id="zx91x"></ruby></big>

                  加密情書【四篇】

                  時間:2021-11-27 寫作知識 點擊:

                  加密,是以某種特殊的算法改變原有的信息數據,使得未授權的用戶即使獲得了已加密的信息,但因不知解密的方法,仍然無法了解信息的內容。 在航空學中,指利用航空攝影像片上已知的少數控制點,通過對像片測量和計算的方法在像對或整條航攝帶上增加控制點的作業, 以下是為大家整理的關于加密情書4篇 , 供大家參考選擇。

                  加密情書4篇

                  第一篇: 加密情書

                  (一)對稱加密(Symmetric Cryptography)
                  對稱加密是最快速、最簡單的一種加密方式,加密(encryption)與解密(decryption)用的是同樣的密鑰(secret key),這種方法在密碼學中叫做對稱加密算法。對稱加密有很多種算法,由于它效率很高,所以被廣泛使用在很多加密協議的核心當中。
                  對稱加密通常使用的是相對較小的密鑰,一般小于256 bit。因為密鑰越大,加密越強,但加密與解密的過程越慢。如果你只用1 bit來做這個密鑰,那黑客們可以先試著用0來解密,不行的話就再用1解;但如果你的密鑰有1 MB大,黑客們可能永遠也無法破解,但加密和解密的過程要花費很長的時間。密鑰的大小既要照顧到安全性,也要照顧到效率,是一個trade-off。
                  2000年10月2日,美國國家標準與技術研究所(NIST--American National Institute of Standards and Technology)選擇了Rijndael算法作為新的高級加密標準(AES--Advanced Encryption Standard)。.NET中包含了Rijndael算法,類名叫RijndaelManaged,下面舉個例子。
                  加密過程:

                  private string myData = "hello";
                  private string myPassword = "OpenSesame";
                  private byte[] cipherText;
                  private byte[] salt = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0 };

                  private void mnuSymmetricEncryption_Click(object sender, RoutedEventArgs e)
                  {
                  var key = new Rfc2898DeriveBytes(myPassword, salt);
                  // Encrypt the data.
                  var algorithm = new RijndaelManaged();
                  algorithm.Key = key.GetBytes(16);
                  algorithm.IV = key.GetBytes(16);
                  var sourceBytes = new System.Text.UnicodeEncoding().GetBytes(myData);
                  using (var sourceStream = new MemoryStream(sourceBytes))
                  using (var destinationStream = new MemoryStream())
                  using (var crypto = new CryptoStream(sourceStream, algorithm.CreateEncryptor(), CryptoStreamMode.Read))
                  {
                  moveBytes(crypto, destinationStream);
                  cipherText = destinationStream.To();
                  }
                  MessageBox.Show(String.Format("Data:{0}{1}Encrypted and Encoded:{2}", myData, Environment.NewLine, Convert.ToBase64String(cipherText)));
                  }
                  private void moveBytes(Stream source, Stream dest)
                  {
                  byte[] bytes = new byte[2048];
                  var count = source.Read(bytes, 0, bytes.Length);
                  while (0 != count)
                  {
                  dest.Write(bytes, 0, count);
                  count = source.Read(bytes, 0, bytes.Length);
                  }
                  }

                  解密過程:

                  private void mnuSymmetricDecryption_Click(object sender, RoutedEventArgs e)
                  {
                  if (cipherText == null)
                  {
                  MessageBox.Show("Encrypt Data First!");
                  return;
                  }
                  var key = new Rfc2898DeriveBytes(myPassword, salt);
                  // Try to decrypt, thus showing it can be round-tripped.
                  var algorithm = new RijndaelManaged();
                  algorithm.Key = key.GetBytes(16);
                  algorithm.IV = key.GetBytes(16);
                  using (var sourceStream = new MemoryStream(cipherText))
                  using (var destinationStream = new MemoryStream())
                  using (var crypto = new CryptoStream(sourceStream, algorithm.CreateDecryptor(), CryptoStreamMode.Read))
                  {
                  moveBytes(crypto, destinationStream);
                  var decryptedBytes = destinationStream.To();
                  var decryptedMessage = new UnicodeEncoding().GetString(
                  decryptedBytes);
                  MessageBox.Show(decryptedMessage);
                  }
                  }

                  對稱加密的一大缺點是密鑰的管理與分配,換句話說,如何把密鑰發送到需要解密你的消息的人的手里是一個問題。在發送密鑰的過程中,密鑰有很大的風險會被黑客們攔截。現實中通常的做法是將對稱加密的密鑰進行非對稱加密,然后傳送給需要它的人。

                  (二)非對稱加密(Asymmetric Cryptography)
                  1976年,美國學者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協議,允許在不安全的媒體上的通訊雙方交換信息,安全地達成一致的密鑰,這就是“公開密鑰系統”。相對于“對稱加密算法”這種方法也叫做“非對稱加密算法”。
                  非對稱加密為數據的加密與解密提供了一個非常安全的方法,它使用了一對密鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外泄,而公鑰則可以發給任何請求它的人。非對稱加密使用這對密鑰中的一個進行加密,而解密則需要另一個密鑰。比如,你向銀行請求公鑰,銀行將公鑰發給你,你使用公鑰對消息加密,那么只有私鑰的持有人--銀行才能對你的消息解密。與對稱加密不同的是,銀行不需要將私鑰通過網絡發送出去,因此安全性大大提高。
                  目前最常用的非對稱加密算法是RSA算法,是Rivest, Shamir, 和Adleman于1978年發明,他們那時都是在MIT。.NET中也有RSA算法,請看下面的例子:
                  加密過程:

                  private byte[] rsaCipherText;
                  private void mnuAsymmetricEncryption_Click(object sender, RoutedEventArgs e)
                  {
                  var rsa = 1;
                  // Encrypt the data.
                  var cspParms = new CspParameters(rsa);
                  cspParms.Flags = CspProviderFlags.UseMachineKeyStore;
                  cspParms.KeyContainerName = "My Keys";
                  var algorithm = new RSACryptoServiceProvider(cspParms);
                  var sourceBytes = new UnicodeEncoding().GetBytes(myData);
                  rsaCipherText = algorithm.Encrypt(sourceBytes, true);
                  MessageBox.Show(String.Format("Data: {0}{1}Encrypted and Encoded: {2}",
                  myData, Environment.NewLine,
                  Convert.ToBase64String(rsaCipherText)));
                  }

                  解密過程:

                  private void mnuAsymmetricDecryption_Click(object sender, RoutedEventArgs e)
                  {
                  if(rsaCipherText==null)
                  {
                  MessageBox.Show("Encrypt First!");
                  return;
                  }
                  var rsa = 1;
                  // decrypt the data.
                  var cspParms = new CspParameters(rsa);
                  cspParms.Flags = CspProviderFlags.UseMachineKeyStore;
                  cspParms.KeyContainerName = "My Keys";
                  var algorithm = new RSACryptoServiceProvider(cspParms);
                  var unencrypted = algorithm.Decrypt(rsaCipherText, true);
                  MessageBox.Show(new UnicodeEncoding().GetString(unencrypted));
                  }

                  雖然非對稱加密很安全,但是和對稱加密比起來,它非常的慢,所以我們還是要用對稱加密來傳送消息,但對稱加密所使用的密鑰我們可以通過非對稱加密的方式發送出去。為了解釋這個過程,請看下面的例子:
                  (1) Alice需要在銀行的網站做一筆交易,她的瀏覽器首先生成了一個隨機數作為對稱密鑰。
                  (2) Alice的瀏覽器向銀行的網站請求公鑰。
                  (3) 銀行將公鑰發送給Alice。
                  (4) Alice的瀏覽器使用銀行的公鑰將自己的對稱密鑰加密。
                  (5) Alice的瀏覽器將加密后的對稱密鑰發送給銀行。
                  (6) 銀行使用私鑰解密得到Alice瀏覽器的對稱密鑰。
                  (7) Alice與銀行可以使用對稱密鑰來對溝通的內容進行加密與解密了。

                  (三)總結
                  (1) 對稱加密加密與解密使用的是同樣的密鑰,所以速度快,但由于需要將密鑰在網絡傳輸,所以安全性不高。
                  (2) 非對稱加密使用了一對密鑰,公鑰與私鑰,所以安全性高,但加密與解密速度慢。
                  (3) 解決的辦法是將對稱加密的密鑰使用非對稱加密的公鑰進行加密,然后發送出去,接收方使用私鑰進行解密得到對稱加密的密鑰,然后雙方可以使用對稱加密來進行溝通。

                  第二篇: 加密情書

                  同態加密的發展及應用
                  作者:鞏林明 李順東 郭奕
                  來源:《中興通訊技術》2016年第01期

                  ????????摘要:認為密碼學中的同態加密技術可以為分布式計算環境的用戶隱私保護提供強有力的技術支撐。同態加密方案被分成3種類型:部分同態加密、淺同態加密和全同態加密。同態加密方案在分布式計算環境下的密文數據計算方面有著重要的應用,包括:安全云計算與委托計算、遠程文件存儲、密文檢索等。指出目前全同態加密方案的構造還處于理論階段,尚不能用于實際的密態數據計算問題,如何設計基于代數系統的(自然)全同態加密方案依然是未來研究的重點。

                  ????????關鍵詞:同態加密;密態計算;安全多方計算;安全云計算;分布式計算

                  ????????Rivest、Adleman和Dertouzos[1]于1978年提出了秘密同態的思想:對幾個數據的加密結果進行運算后再解密,得到的結果與這些數據未加密時執行某一運算所得的結果一致。此后,研究人員在同態加密方案設計方面做了大量的工作并取得了大量的研究成果。例如,1978年由Rivest、Adleman和Dertouzos[2]提出的RSA加密系統、1985年由ElGmal提出的ElGmal加密方案[3]、1998年由Okamoto和Uchiyama[4] 提出的《A new public-key cryptosystem as secure as factoring》、1999年由Paillier[5]提出的Paillier加密方案、2002年由Domingo-Ferrer提出的《A provably secure additive and multiplicative privacy homomorphism》、2005年由Boneh [6]等提出的用于保密計算2-析取范式(2DNF)的加密方案、2009年由Gentry等[7]首次提出的全同態加密 (FHE)方案、2010年Dijk[8]等提出的整數域上的FHE方案、2011年由Brakerski、Vaikuntanathan[9]兩人提出的基于誤差學習的FHE方案、2012年由Brakerski和 Gentry[10]等提出的無需電路自舉的分層FHE方案、同年由Brakerski[11]提出的無需模轉換的FHE方案、2013年由Gentry[12]等提出的環上的FHE方案、2014年由Brakerski[13]等提出的基于標準誤差學習的FHE方案、2015年由Cheon[14]等提出的基于中國剩余定理的整數域上的FHE方案等都是比較著名的同態加密成果。

                  第三篇: 加密情書

                  手機文件夾怎么加密手機文件夾使用加密軟件加密教程

                    對于大家來說,每個人都是有著不同的秘密的。那么對于把秘密藏在手機里的用戶來說,周幾文件夾又該如何加密呢?小編今天為大家帶來的,就是手機文件夾使用加密軟件加密的教程哦!   工具材料   手機   未加密的手機文件夾   文件夾加密軟件   步驟方法   1、首先我們可以從網上搜索文件加密軟件,網上有很多類似的軟件,選擇一款合適的即可,安裝到自己的手機上面,當然,也可以安裝到電腦上面把吧手機連上電腦就可以。   2、軟件安裝好,一般軟件會有些基本的設置,根據提示操作即可,進入軟件后,我們可以選擇文件加密盒文件夾加密,在這里我們選擇文件夾加密即可,如圖所示:   3、選擇文件件加密以后,會出現要你設置文件保護密碼的選框,根據提示設置好自己的密碼,保存即可。   最后,小編要提醒大家注意的是,有些手機是不支持手機文件夾加密軟件的運行的,如果是這樣的話,用戶就需要把手機先連接電腦,然后再進行文件加密了。(來自好卓網)

                  第四篇: 加密情書

                  很多朋友不知道如何給網址加密,這里就爆爆料吧,叫你們怎么加密。

                  1.打開?>

                  熱門標簽:
                  《加密情書【四篇】.doc》
                  將本文的Word文檔下載到電腦,方便收藏和打印
                  推薦度:

                  文檔為doc格式

                  <ruby id="zx91x"></ruby><p id="zx91x"></p>
                  <p id="zx91x"></p>
                  <pre id="zx91x"><ruby id="zx91x"><mark id="zx91x"></mark></ruby></pre>
                  
                  
                  <p id="zx91x"><del id="zx91x"></del></p>

                        <track id="zx91x"><ruby id="zx91x"></ruby></track>

                            <pre id="zx91x"><ruby id="zx91x"></ruby></pre>

                            <track id="zx91x"><del id="zx91x"></del></track>

                              <big id="zx91x"><ruby id="zx91x"></ruby></big>

                                  成人视频