0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

標簽 > DES

DES

+關(guān)注 0人關(guān)注

DES即數(shù)據(jù)加密標準,是一種使用密鑰加密的塊算法,1977年被美國聯(lián)邦政府的國家標準局確定為聯(lián)邦資料處理標準(FIPS),并授權(quán)在非密級政府通信中使用,隨后該算法在國際上廣泛流傳開來。本章詳細介紹了:des加密解密算法詳解,des加密,des算法等內(nèi)容。

文章: 37
瀏覽: 48168
帖子: 1

DES簡介

  DES全稱為Data Encryption Standard,即數(shù)據(jù)加密標準,是一種使用密鑰加密的塊算法,1977年被美國聯(lián)邦政府的國家標準局確定為聯(lián)邦資料處理標準(FIPS),并授權(quán)在非密級政府通信中使用,隨后該算法在國際上廣泛流傳開來。需要注意的是,在某些文獻中,作為算法的DES稱為數(shù)據(jù)加密算法(Data Encryption Algorithm,DEA),已與作為標準的DES區(qū)分開來。

  DES算法入口參數(shù)

  DES算法的入口參數(shù)有三個:Key、Data、Mode。其中Key為7個字節(jié)共56位,是DES算法的工作密鑰;Data為8個字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式,有兩種:加密或解密。

DES百科

  DES全稱為Data Encryption Standard,即數(shù)據(jù)加密標準,是一種使用密鑰加密的塊算法,1977年被美國聯(lián)邦政府的國家標準局確定為聯(lián)邦資料處理標準(FIPS),并授權(quán)在非密級政府通信中使用,隨后該算法在國際上廣泛流傳開來。需要注意的是,在某些文獻中,作為算法的DES稱為數(shù)據(jù)加密算法(Data Encryption Algorithm,DEA),已與作為標準的DES區(qū)分開來。

  DES算法入口參數(shù)

  DES算法的入口參數(shù)有三個:Key、Data、Mode。其中Key為7個字節(jié)共56位,是DES算法的工作密鑰;Data為8個字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式,有兩種:加密或解密。

  DES基本原則

  DES設(shè)計中使用了分組密碼設(shè)計的兩個原則:混淆(confusion)和擴散(diffusion),其目的是抗擊敵手對密碼系統(tǒng)的統(tǒng)計分析?;煜鞘姑芪牡慕y(tǒng)計特性與密鑰的取值之間的關(guān)系盡可能復(fù)雜化,以使密鑰和明文以及密文之間的依賴性對密碼分析者來說是無法利用的。擴散的作用就是將每一位明文的影響盡可能迅速地作用到較多的輸出密文位中,以便在大量的密文中消除明文的統(tǒng)計結(jié)構(gòu),并且使每一位密鑰的影響盡可能迅速地擴展到較多的密文位中,以防對密鑰進行逐段破譯。

  算法步驟

  DES算法把64位的明文輸入塊變?yōu)?4位的密文輸出塊,它所使用的密鑰也是64位(實際用到了56位,第8、16、24、32、40、48、56、64位是校驗位, 使得每個密鑰都有奇數(shù)個1),其算法主要分為兩步:

  1)初始置換

  其功能是把輸入的64位數(shù)據(jù)塊按位重新組合,并把輸出分為L0、R0兩部分,每部分各長32位,其置換規(guī)則為將輸入的第58位換到第一位,第50位換到第2位……依此類推,最后一位是原來的第7位。L0、R0則是換位輸出后的兩部分,L0是輸出的左32位,R0是右32位,例:設(shè)置換前的輸入值為D1D2D3……D64,則經(jīng)過初始置換后的結(jié)果為:L0=D58D50……D8;R0=D57D49……D7。

  其置換規(guī)則見下表:

  58,50,42,34,26,18,10,2,

  60,52,44,36,28,20,12,4,

  62,54,46,38,30,22,14,6,

  64,56,48,40,32,24,16,8,

  57,49,41,33,25,17,9,1,

  59,51,43,35,27,19,11,3,

  61,53,45,37,29,21,13,5,

  63,55,47,39,31,23,15,7,

  2)逆置換

  經(jīng)過16次迭代運算后,得到L16、R16,將此作為輸入,進行逆置換,逆置換正好是初始置換的逆運算,由此即得到密文輸出。

  此算法是對稱加密算法體系中的代表,在計算機網(wǎng)絡(luò)系統(tǒng)中廣泛使用。

  DES與3DES

  3DES(即Triple DES)是DES向AES過渡的加密算法,它使用3條56位的密鑰對數(shù)據(jù)進行三次加密。是DES的一個更安全的變形。它以DES為基本模塊,通過組合分組方法設(shè)計出分組加密算法。比起最初的DES,3DES更為安全。

  該方法使用兩個密鑰,執(zhí)行三次DES算法,加密的過程是加密-解密-加密,解密的過程是解密-加密-解密。

  3DES加密過程為:C=Ek3(Dk2(Ek1(P)))

  3DES解密過程為:P=Dk1(EK2(Dk3(C)))

  采用兩個密鑰進行三重加密的好處有:

  ①兩個密鑰合起來有效密鑰長度有112bit,可以滿足商業(yè)應(yīng)用的需要,若采用總長為168bit的三個密鑰,會產(chǎn)生不必要的開銷。

 ?、诩用軙r采用加密-解密-加密,而不是加密-加密-加密的形式,這樣有效的實現(xiàn)了與現(xiàn)有DES系統(tǒng)的向后兼容問題。因為當K1=K2時,三重DES的效果就和原來的DES一樣,有助于逐漸推廣三重DES。

 ?、廴谼ES具有足夠的安全性,目前還沒有關(guān)于攻破3DES的報道。

  Java 加解密技術(shù)系列之 DES

  前幾篇文章講的都是單向加密算法,其中涉及到了 BASE64、MD5、SHA、HMAC 等幾個比較常見的加解密算法。這篇文章,以及后面幾篇,打算介紹幾個對稱加密算法,比如:DES、3DES(TripleDES)、AES 等。那么,這篇文章主要是對 DES 大概講一下。

  背景

  在討論 DES 之前,首先了解一下什么是對稱加密算法吧。對于對稱加密算法,他應(yīng)用的時間比較早,技術(shù)相對來說比較成熟,在對稱加密算法中,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復(fù)成可讀明文。

  

  在對稱加密算法中,使用的密鑰只有一個,發(fā)收信雙方都使用這個密鑰對數(shù)據(jù)進行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密算法的特點是算法公開、計算量小。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。

  概念

  那么,什么是 DES?他是怎么來的?相信很多人都很感興趣,因為以前在開發(fā)的時候,對進度的要求比較嚴,很多時候根本就沒有時間來了解這些東西。因此,今天專門來研究研究這個東西。

  DES,全稱為“Data Encryption Standard”,中文名為“數(shù)據(jù)加密標準”,是一種使用密鑰加密的塊算法。DES 算法為密碼體制中的對稱密碼體制,又被稱為美國數(shù)據(jù)加密標準,是 1972 年美國 IBM 公司研制的對稱密碼體制加密算法。 明文按 64 位進行分組,密鑰長 64 位,密鑰事實上是 56 位參與 DES 運算(第8、16、24、32、40、48、56、64 位是校驗位, 使得每個密鑰都有奇數(shù)個 1)分組后的明文組和 56 位的密鑰按位替代或交換的方法形成密文組的加密方法。

  基本原理

  入口參數(shù)有三個:key、data、mode。key 為加密解密使用的密鑰,data 為加密 解密的數(shù)據(jù),mode 為其工作模式。當模式為加密模式時,明文按照 64 位進行分組,形成明文組,key 用于對數(shù)據(jù)加密,當模式為解密模式時,key 用于對數(shù)據(jù)解密。實際運用中,密鑰只用到了 64 位中的 56 位,這樣才具有高的安全性。

  

  主要流程

  DES 算法把 64 位的明文輸入塊變?yōu)?64 位的密文輸出塊,它所使用的密鑰也是 64 位,其算法主要分為兩步:

  初始置換

  其功能是把輸入的 64 位數(shù)據(jù)塊按位重新組合,并把輸出分為 L0、R0 兩部分,每部分各長 32 位,其置換規(guī)則為將輸入的第 58 位換到第一位,第 50 位換到第 2 位 …… 依此類推,最后一位是原來的第 7 位。L0、R0 則是換位輸出后的兩部分,L0 是輸出的左 32 位,R0 是右 32 位,例:設(shè)置換前的輸入值為 D1 D2 D3 …… D64,則經(jīng)過初始置換后的結(jié)果為:L0 = D58 D50 …… D8;R0 = D57 D49 …… D7。

  逆置換

  經(jīng)過 16 次迭代運算后,得到 L16、R16,將此作為輸入,進行逆置換,逆置換正好是初始置換的逆運算,由此即得到密文輸出。

  整個算法 的主流程圖如下:

  

  分組模式

  ECB模式

  ECB,中文名“電子密碼本模式”,是最古老、最簡單的模式,將加密的數(shù)據(jù)分成若干組,每組的大小跟加密密鑰長度相同。然后每組都用相同的密鑰加密,比如 DES 算法,如果最后一個分組長度不夠 64 位,要補齊 64 位。如圖所示:

  

  CBC模式

  CBC,中文名“加密塊鏈模式”,與 ECB 模式最大的不同是加入了初始向量。他的特點是,每次加密的密文長度為 64位 ( 8 個字節(jié)),當相同的明文使用相同的密鑰和初始向量的時候 CBC 模式總是產(chǎn)生相同的密文。

  

  CFB模式

  CFB,中文名“加密反饋模式”,加密反饋模式克服了需要等待 8 個字節(jié)才能加密的缺點,它采用了分組密碼作為流密碼的密鑰流生成器。他的特點是,每次加密的 Pi 和 Ci 不大于 64 位;加密算法和解密算法相同,不能適用于公鑰算法;使用相同的密鑰和初始向量的時候,相同明文使用 CFB 模式加密輸出相同的密文;可以使用不同的初始化變量使相同的明文產(chǎn)生不同的密文,防止字典攻擊;加密強度依賴于密鑰長度;加密塊長度過小時,會增加循環(huán)的數(shù)量,導(dǎo)致開銷增加;加密塊長度應(yīng)時 8 位的整數(shù)倍(即字節(jié)為單位);一旦某位數(shù)據(jù)出錯,會影響目前和其后 8 個塊的數(shù)據(jù)。

  

  OFB模式

  OFB,中文名“輸出反饋模式”,與 CFB 模式不同之處在于, 加密位移寄存器與密文無關(guān)了,僅與加密 key 和加密算法有關(guān),做法是不再把密文輸入到加密移位寄存器,而是把輸出的分組密文(Oi)輸入到一位寄存器。因為密文沒有參與鏈操作,所以使得 OFB 模式更容易受到攻擊;不會進行錯誤傳播,某位密文發(fā)生錯誤,只會影響該位對應(yīng)的明文,而不會影響別的位;不是自同步的,如果加密和解密兩個操作失去同步,那么系統(tǒng)需要重新初始化;每次重新同步時,應(yīng)使用不同的初始向量??梢员苊猱a(chǎn)生相同的比特流,避免“已知明文”攻擊。

  

  CTR模式

  CTR,中文名“計數(shù)模式”,是對一系列輸入數(shù)據(jù)塊(稱為計數(shù))進行加密,產(chǎn)生一系列的輸出塊,輸出塊與明文異或得到密文。對于最后的數(shù)據(jù)塊,可能是長 u 位的局部數(shù)據(jù)塊,這 u 位就將用于異或操作,而剩下的 b-u 位將被丟棄(b表示塊的長度)。

  

  代碼實現(xiàn)

 ?。踛ava] view plain copy《span style=“font-family:Comic Sans MS;”》《span style=“font-size:12px;”》package com.sica.des;

  import com.google.common.base.Strings;

  import sun.misc.BASE64Decoder;

  import sun.misc.BASE64Encoder;

  import javax.crypto.Cipher;

  import javax.crypto.KeyGenerator;

  import javax.crypto.SecretKey;

  import javax.crypto.SecretKeyFactory;

  import javax.crypto.spec.DESKeySpec;

  import java.security.InvalidKeyException;

  import java.security.Key;

  import java.security.NoSuchAlgorithmException;

  import java.security.SecureRandom;

  import java.security.spec.InvalidKeySpecException;

  /**

  * Created by xiang.li on 2015/2/28.

  * DES 加解密工具類

  *

  * 《pre》

  * 支持 DES、DESede(TripleDES,就是3DES)、AES、Blowfish、RC2、RC4(ARCFOUR)

  * DES key size must be equal to 56

  * DESede(TripleDES) key size must be equal to 112 or 168

  * AES key size must be equal to 128, 192 or 256,but 192 and 256 bits may not be available

  * Blowfish key size must be multiple of 8, and can only range from 32 to 448 (inclusive)

  * RC2 key size must be between 40 and 1024 bits

  * RC4(ARCFOUR) key size must be between 40 and 1024 bits

  * 具體內(nèi)容 需要關(guān)注 JDK Document http://。。./docs/technotes/guides/security/SunProviders.html

  * 《/pre》

  */

  public class DES {

  /**

  * 定義加密方式

  */

  private final static String KEY_DES = “DES”;

  private final static String KEY_AES = “AES”; // 測試

  /**

  * 全局數(shù)組

  */

  private final static String[] hexDigits = { “0”, “1”, “2”, “3”, “4”, “5”,

  “6”, “7”, “8”, “9”, “a”, “b”, “c”, “d”, “e”, “f” };

  /**

  * 初始化密鑰

  * @return

  */

  public static String init() {

  return init(null);

  }

  /**

  * 初始化密鑰

  * @param seed 初始化參數(shù)

  * @return

  */

  public static String init(String seed) {

  SecureRandom secure = null;

  String str = “”;

  try {

  if (null != secure) {

  // 帶參數(shù)的初始化

  secure = new SecureRandom(decryptBase64(seed));

  } else {

  // 不帶參數(shù)的初始化

  secure = new SecureRandom();

  }

  KeyGenerator generator = KeyGenerator.getInstance(KEY_DES);

  generator.init(secure);

  SecretKey key = generator.generateKey();

  str = encryptBase64(key.getEncoded());

  } catch (Exception e) {

  e.printStackTrace();

  }

  return str;

  }

  /**

  * 轉(zhuǎn)換密鑰

  * @param key 密鑰的字節(jié)數(shù)組

  * @return

  */

  private static Key byteToKey(byte[] key) {

  SecretKey secretKey = null;

  try {

  DESKeySpec dks = new DESKeySpec(key);

  SecretKeyFactory factory = SecretKeyFactory.getInstance(KEY_DES);

  secretKey = factory.generateSecret(dks);

  // 當使用其他對稱加密算法時,如AES、Blowfish等算法時,用下述代碼替換上述三行代碼

  // secretKey = new SecretKeySpec(key, KEY_DES);

  } catch (InvalidKeyException e) {

  e.printStackTrace();

  } catch (NoSuchAlgorithmException e) {

  e.printStackTrace();

  } catch (InvalidKeySpecException e) {

  e.printStackTrace();

  }

  return secretKey;

  }

  /**

  * DES 解密

  * @param data 需要解密的字符串

  * @param key 密鑰

  * @return

  */

  public static String decryptDES(String data, String key) {

  // 驗證傳入的字符串

  if (Strings.isNullOrEmpty(data)) {

  return “”;

  }

  // 調(diào)用解密方法完成解密

  byte[] bytes = decryptDES(hexString2Bytes(data), key);

  // 將得到的字節(jié)數(shù)組變成字符串返回

  return new String(bytes);

  }

  /**

  * DES 解密

  * @param data 需要解密的字節(jié)數(shù)組

  * @param key 密鑰

  * @return

  */

  public static byte[] decryptDES(byte[] data, String key) {

  byte[] bytes = null;

  try {

  Key k = byteToKey(decryptBase64(key));

  Cipher cipher = Cipher.getInstance(KEY_DES);

  cipher.init(Cipher.DECRYPT_MODE, k);

  bytes = cipher.doFinal(data);

  } catch (Exception e) {

  e.printStackTrace();

  }

  return bytes;

  }

  /**

  * DES 加密

  * @param data 需要加密的字符串

  * @param key 密鑰

  * @return

  */

  public static String encryptDES(String data, String key) {

  // 驗證傳入的字符串

  if (Strings.isNullOrEmpty(data)) {

  return “”;

  }

  // 調(diào)用加密方法完成加密

  byte[] bytes = encryptDES(data.getBytes(), key);

  // 將得到的字節(jié)數(shù)組變成字符串返回

  return byteArrayToHexString(bytes);

  }

  /**

  * DES 加密

  * @param data 需要加密的字節(jié)數(shù)組

  * @param key 密鑰

  * @return

  */

  public static byte[] encryptDES(byte[] data, String key) {

  byte[] bytes = null;

  try {

  Key k = byteToKey(decryptBase64(key));

  Cipher cipher = Cipher.getInstance(KEY_DES);

  cipher.init(Cipher.ENCRYPT_MODE, k);

  bytes = cipher.doFinal(data);

  } catch (Exception e) {

  e.printStackTrace();

  }

  return bytes;

  }

  /**

  * BASE64 解密

  * @param key 需要解密的字符串

  * @return 字節(jié)數(shù)組

  * @throws Exception

  */

  public static byte[] decryptBase64(String key) throws Exception {

  return (new BASE64Decoder()).decodeBuffer(key);

  }

  /**

  * BASE64 加密

  * @param key 需要加密的字節(jié)數(shù)組

  * @return 字符串

  * @throws Exception

  */

  public static String encryptBase64(byte[] key) throws Exception {

  return (new BASE64Encoder()).encodeBuffer(key);

  }

  /**

  * 將一個字節(jié)轉(zhuǎn)化成十六進制形式的字符串

  * @param b 字節(jié)數(shù)組

  * @return 字符串

  */

  private static String byteToHexString(byte b) {

  int ret = b;

  //System.out.println(“ret = ” + ret);

  if (ret 《 0) {

  ret += 256;

  }

  int m = ret / 16;

  int n = ret % 16;

  return hexDigits[m] + hexDigits[n];

  }

  /**

  * 轉(zhuǎn)換字節(jié)數(shù)組為十六進制字符串

  * @param bytes 字節(jié)數(shù)組

  * @return 十六進制字符串

  */

  private static String byteArrayToHexString(byte[] bytes) {

  StringBuffer sb = new StringBuffer();

  for (int i = 0; i 《 bytes.length; i++) {

  sb.append(byteToHexString(bytes[i]));

  }

  return sb.toString();

  }

  /**

  * 轉(zhuǎn)換十六進制字符串為字節(jié)數(shù)組

  * @param hexstr 十六進制字符串

  * @return

  */

  public static byte[] hexString2Bytes(String hexstr) {

  byte[] b = new byte[hexstr.length() / 2];

  int j = 0;

  for (int i = 0; i 《 b.length; i++) {

  char c0 = hexstr.charAt(j++);

  char c1 = hexstr.charAt(j++);

  b[i] = (byte) ((parse(c0) 《《 4) | parse(c1));

  }

  return b;

  }

  /**

  * 轉(zhuǎn)換字符類型數(shù)據(jù)為整型數(shù)據(jù)

  * @param c 字符

  * @return

  */

  private static int parse(char c) {

  if (c 》= ‘a’)

  return (c - ‘a’ + 10) & 0x0f;

  if (c 》= ‘A’)

  return (c - ‘A’ + 10) & 0x0f;

  return (c - ‘0’) & 0x0f;

  }

  /**

  * 測試方法

  * @param args

  */

  public static void main(String[] args) {

  String key = DES.init();

  System.out.println(“DES密鑰:\n” + key);

  String word = “123”;

  String encWord = encryptDES(word, key);

  System.out.println(word + “\n加密后:\n” + encWord);

  System.out.println(word + “\n解密后:\n” + decryptDES(encWord, key));

  }

  }《/span》《span style=“font-size: 14px;”》

  《/span》《/span》

  結(jié)束語

  到這里,這篇文章也就差不多要結(jié)束了,希望以上的內(nèi)容對各位看官有稍許的幫助,哪怕一點也好。其實,在日常的開發(fā)中,如果不是進度控制的特別嚴格,對于這些原理性的東西,我們還是需要知道的,對于那些細節(jié)的東西,可以不用死記硬背,有網(wǎng)的話,隨用隨查就可以了。但這個前提是,原理性的東西必須要懂,知道了原理,就會有解決思路,有了思路,解決問題是遲早的事,細節(jié)嘛,不用那么糾結(jié),做的時候考慮到就行了,畢竟時間是有限的。

查看詳情

des知識

展開查看更多

des技術(shù)

一文詳解AES最常見的3種方案_AES-128、AES-192和AES-256

AES是一種區(qū)塊加密標準算法,它的提出是為了升級替換原有的DES加密算法。因此它的安全強度高于DES算法。但不應(yīng)片面理解,系統(tǒng)和數(shù)據(jù)的安全不僅與應(yīng)用的加...

2018-06-29 標簽:aesdes 16.1萬 0

什么是VPN?VPN分為哪幾類?

什么是VPN?VPN分為哪幾類?

`VPN`,全稱為“`Virtual Private Network`”,即虛擬私人網(wǎng)絡(luò)。它是一種利用公共網(wǎng)絡(luò)(如互聯(lián)網(wǎng))建立安全、加密連接的技術(shù),用于...

2023-06-02 標簽:局域網(wǎng)VPNAES 4.8萬 0

對稱加密算法的四種模式以及優(yōu)缺點

對稱加密算法的四種模式以及優(yōu)缺點

對稱算法使用一個密鑰,給定一個明文和一個密鑰,加密產(chǎn)生密文,其長度和明文大致相同,解密時,使用讀密鑰與加密密鑰相同。

2019-05-24 標簽:AESDES 2.5萬 0

des加密解密算法詳解及源碼分享

des加密解密算法詳解及源碼分享

DES算法的入口參數(shù)有三個:Key、Data、Mode。其中Key為7個字節(jié)共56位,是DES算法的工作密鑰;Data為8個字節(jié)64位,是要被加密或被解...

2017-12-09 標簽:desdes算法 1.8萬 0

數(shù)據(jù)加密的工作原理詳解

網(wǎng)絡(luò)安全防范措施與應(yīng)用是如何應(yīng)用在我們的日常生活當中的呢?我相信網(wǎng)絡(luò)安全防范措施與應(yīng)用一定出現(xiàn)在我們的數(shù)據(jù)加密的工作當中。下面讓我們來了解一下數(shù)據(jù)加密的...

2019-01-31 標簽:DES數(shù)據(jù)加密 1.7萬 0

rsa加密算法詳解與舉例說明

rsa加密算法詳解與舉例說明

RSA的安全性依賴于大數(shù)分解,但是否等同于大數(shù)分解一直未能得到理論上的證明,因為沒有證明破解RSA就一定需要作大數(shù)分解。假設(shè)存在一種無須分解大數(shù)的算法,...

2017-12-08 標簽:des加密算法rsa 9590 0

Free自由協(xié)議質(zhì)押挖礦系統(tǒng)技術(shù)概述 AES和DES算法的主要區(qū)別

DES是對稱性加密里常見的一種,是一種使用密鑰加密的塊算法。那么AES和DES算法的區(qū)別在哪里,這兩者有哪些優(yōu)缺點呢? 什么是AES? AES一般指高級...

2022-06-29 標簽:算法FreeAES 9213 0

數(shù)字對講機加密的原理

在實際應(yīng)用中,人們對通信的實時性和傳輸質(zhì)量(誤碼率)總是有一定的要求。這就決定了不同的數(shù)字通信系統(tǒng),不同的通信目標需求應(yīng)選用不同的密碼體制。

2018-07-04 標簽:DES數(shù)字對講機 8785 0

常用算法的分類以及加密算法的選用

常用算法的分類以及加密算法的選用

DES是一種分組數(shù)據(jù)加密技術(shù)(先將數(shù)據(jù)分成固定長度的小數(shù)據(jù)塊,之后進行加密),速度較快,適用于大量數(shù)據(jù)加密,而3DES是一種基于DES的加密算法,使用3...

2019-02-01 標簽:算法AESDES 7689 0

簡單了解下經(jīng)典加密算法DES和AES

DES全稱為Data Encryption Standard,即數(shù)據(jù)加密標準,是一種使用密鑰加密的塊算法。DES加密算法出自IBM的研究,1977年被美...

2023-03-07 標簽:AESDES加密算法 6250 0

查看更多>>

des資訊

DES、AES、TEA加密算法的比較

DES 算法具有對稱性, 既可以用于加密又可以用于解密。對稱性帶來的一個很大的好處在于硬件實現(xiàn), DES 的加密和解密可以用完全相同的硬件來實現(xiàn)。DES...

2011-08-26 標簽:AESDESTEA 2.1萬 1

解析加密算法:可逆加密和不可逆加密

加密算法我們整體可以分為:可逆加密和不可逆加密,可逆加密又可以分為:對稱加密和非對稱加密。

2020-08-08 標簽:算法DESMD5 1.8萬 0

DES加密原理和作用是什么

【導(dǎo)讀】本文介紹了 DES 加密原理和作用,和 golang 中 DES 加密解密機制的相應(yīng)實現(xiàn)。 概念理解 DES是以64比特的明文為一個單位來進行加...

2021-08-23 標簽:加密DES代碼 7179 0

密碼學(xué)常用算法的工作原理和特點

密碼學(xué)常用算法的工作原理和特點

現(xiàn)如今,常用的加密算法不外乎私鑰加密方法和公鑰加密方法。私鑰加密方法可以用來保護關(guān)鍵/敏感數(shù)據(jù)。密鑰密文只需一把鑰匙(由通信雙方共享)破解,因此被稱為對...

2020-06-28 標簽:AESDES加密算法 4566 0

PCB的內(nèi)層工藝流程介紹

目的: 涂布機在PCB板面涂上一層均勻的感光油墨,利用油墨感光性,經(jīng)過UV光照射,利用底片透光與不透光區(qū),接受到UV光的油墨發(fā)生化學(xué)聚合反應(yīng),通過DES...

2020-10-30 標簽:pcbDES 3492 0

PCB厚銅板的設(shè)計,這一點一定要注意

PCB厚銅板的設(shè)計,這一點一定要注意

炎炎盛夏,天干人燥,PCB設(shè)計實屬不易,只因為這一點細節(jié)設(shè)計時沒有注意到,接二連三的發(fā)生厚銅板無法加工的問題,孰是孰非,請走進今天的案例分析……

2022-08-16 標簽:PCB設(shè)計DESPCB 2024 0

怎么讓FPGA內(nèi)部超高帶寬邏輯互連的方法

作者:Achronix資深現(xiàn)場應(yīng)用工程師 黃侖 一個運用NoC來優(yōu)化加解密設(shè)計的例子 Achronix 最新基于臺積電(TSMC)的7nm FinFET...

2020-03-04 標簽:DESFPGA芯片NoC 1688 0

基于FPGA的DES、3DES硬件加密技術(shù)

基于FPGA的DES、3DES硬件加密技術(shù)

基于FPGA的DES、3DES硬件加密技術(shù) 傳統(tǒng)的加密工作是通過在主機上運行加密軟件實現(xiàn)的。這種方法除占用主機資源外,運算速度較慢,安全性也較差。

2009-07-26 標簽:fpgades 1570 0

利用匯編語言實現(xiàn)DES加密算法

利用匯編語言實現(xiàn)DES加密算法 DES算法是一種數(shù)據(jù)加密算法。自從1977年公布以來,一直是國際上的商用保密通信和計算機通信的最常用的加密標準。DES...

2009-04-07 標簽:DES 1224 0

基于FPGA的DES、3DES硬件加密技術(shù)

基于FPGA的DES、3DES硬件加密技術(shù)

傳統(tǒng)的加密工作是通過在主機上運行加密軟件實現(xiàn)的。這種方法除占用主機資源外,運算速度較慢,安全性也較差。而硬件加密是通過專用加密芯片、

2010-10-16 標簽:FPGADES 1120 0

查看更多>>

des數(shù)據(jù)手冊

相關(guān)標簽

相關(guān)話題

換一批
  • 基站測試
    基站測試
    +關(guān)注
    802.11ac與11基站測試(base station tests) 在基站設(shè)備安裝完畢后,對基站設(shè)備電氣性能所進行的測量。n的區(qū)別,802.11n無線網(wǎng)卡驅(qū)動,802.11n怎么安裝。
  • 掃頻儀
    掃頻儀
    +關(guān)注
    在電子測量中,經(jīng)常遇到對網(wǎng)絡(luò)的阻抗特性和傳輸特性進行測量的問題,其中傳輸特性包括增益和衰減特性、幅頻特性、相頻特性等。用來測量前述特性的儀器我們稱為頻率特性測試儀,簡稱掃頻儀。
  • programmer
    programmer
    +關(guān)注
    Programmer中文名計算機程序編制員,分為程序設(shè)計人員和程序編碼員。解釋為:計算機程序編制員程序員是從事程序開發(fā)、維護的專業(yè)人員。一般我們將程序員分為程序設(shè)計人員和程序編碼員編程是他們的工作。
  • 中文版
    中文版
    +關(guān)注
  • Edison
    Edison
    +關(guān)注
  • 主控芯片
    主控芯片
    +關(guān)注
    主控芯片是主板或者硬盤的核心組成部分,是聯(lián)系各個設(shè)備之間的橋梁,也是控制設(shè)備運行工作的大腦。在主板中,兩大芯片是最重要的,一個是南橋芯片,它控制著擴展槽,USB接口,串口,并口,1394接口,VGA接口,等,它主要負責(zé)外部接口和內(nèi)部cpu的聯(lián)系,而另一個是北橋芯片,它控制著CPU的類型,型號,主板的總線頻率,內(nèi)存類型,容量,顯卡,等。
  • mathtype
    mathtype
    +關(guān)注
    mathtype是一款專業(yè)的數(shù)學(xué)公式編輯工具,能夠幫助用戶在各種文檔中插入復(fù)雜的數(shù)學(xué)公式和符號。
  • 注冊機
    注冊機
    +關(guān)注
    注冊機是一種破解軟件,它的用途基本在兩個范圍之內(nèi),一個就是由于一些軟件涉及版權(quán)問題,要完全使用的話需要注冊,或者有試用期限限制,或者只有注冊之后才可以享受全功能。第二個就是某些網(wǎng)站、網(wǎng)頁通過正常注冊用戶會很復(fù)雜,或者是網(wǎng)頁、網(wǎng)站管理員需要大量注冊內(nèi)測用戶的時候就可以用注冊機來達到簡單快速的注冊用戶了。
  • uVision4
    uVision4
    +關(guān)注
  • MPLAB IDE
    MPLAB IDE
    +關(guān)注
  • 調(diào)試軟件
    調(diào)試軟件
    +關(guān)注
  • 集成開發(fā)環(huán)境
    集成開發(fā)環(huán)境
    +關(guān)注
    集成開發(fā)環(huán)境是用于提供程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面等工具。集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能等一體化的開發(fā)軟件服務(wù)套。所有具備這一特性的軟件或者軟件套(組)都可以叫集成開發(fā)環(huán)境。
  • Kit
    Kit
    +關(guān)注
  • 三相異步電機
    三相異步電機
    +關(guān)注
    三相異步電機(Triple-phase asynchronous motor)是感應(yīng)電動機的一種,是靠同時接入380V三相交流電流(相位差120度)供電的一類電動機,由于三相異步電動機的轉(zhuǎn)子與定子旋轉(zhuǎn)磁場以相同的方向、不同的轉(zhuǎn)速旋轉(zhuǎn),存在轉(zhuǎn)差率,所以叫三相異步電動機。
  • origin
    origin
    +關(guān)注
  • poe交換機
    poe交換機
    +關(guān)注
      POE (Power Over Ethernet)指的是在現(xiàn)有的以太網(wǎng)Cat.5布線基礎(chǔ)架構(gòu)不作任何改動的情況下,在為一些基于IP的終端(如IP電話機、無線局域網(wǎng)接入點AP、網(wǎng)絡(luò)攝像機等)傳輸數(shù)據(jù)信號的同時,還能為此類設(shè)備提供直流電的技術(shù),就是支持以太網(wǎng)供電的交換機。
  • FlyMcu
    FlyMcu
    +關(guān)注
  • devops
    devops
    +關(guān)注
    DevOps(Development和Operations的組合詞)是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進開發(fā)(應(yīng)用程序/軟件工程)、技術(shù)運營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。
  • vfp
    vfp
    +關(guān)注
  • CadSoft
    CadSoft
    +關(guān)注
  • CCSv5
    CCSv5
    +關(guān)注
  • Robot
    Robot
    +關(guān)注
  • 調(diào)試助手
    調(diào)試助手
    +關(guān)注
  • putty
    putty
    +關(guān)注
  • 修復(fù)工具
    修復(fù)工具
    +關(guān)注
  • Axure
    Axure
    +關(guān)注
  • PCB設(shè)計軟件
    PCB設(shè)計軟件
    +關(guān)注
    pcb設(shè)計軟件是根據(jù)電路原理圖實現(xiàn)電路設(shè)計需要的功能。電路板的設(shè)計主要是版圖設(shè)計,要考慮到元器件和連線的整體布局以及優(yōu)化布局。pcb設(shè)計是需要計算機輔助設(shè)計來實現(xiàn)的。
  • 刷機工具
    刷機工具
    +關(guān)注
  • 計算工具
    計算工具
    +關(guān)注
  • 麥克斯韋方程組
    麥克斯韋方程組
    +關(guān)注

關(guān)注此標簽的用戶(0人)

編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語言教程專題