完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > DES
DES即數(shù)據(jù)加密標(biāo)準(zhǔn),是一種使用密鑰加密的塊算法,1977年被美國聯(lián)邦政府的國家標(biāo)準(zhǔn)局確定為聯(lián)邦資料處理標(biāo)準(zhǔn)(FIPS),并授權(quán)在非密級(jí)政府通信中使用,隨后該算法在國際上廣泛流傳開來。本章詳細(xì)介紹了:des加密解密算法詳解,des加密,des算法等內(nèi)容。
DES全稱為Data Encryption Standard,即數(shù)據(jù)加密標(biāo)準(zhǔn),是一種使用密鑰加密的塊算法,1977年被美國聯(lián)邦政府的國家標(biāo)準(zhǔn)局確定為聯(lián)邦資料處理標(biāo)準(zhǔn)(FIPS),并授權(quán)在非密級(jí)政府通信中使用,隨后該算法在國際上廣泛流傳開來。需要注意的是,在某些文獻(xiàn)中,作為算法的DES稱為數(shù)據(jù)加密算法(Data Encryption Algorithm,DEA),已與作為標(biāo)準(zhǔn)的DES區(qū)分開來。
DES算法入口參數(shù)
DES算法的入口參數(shù)有三個(gè):Key、Data、Mode。其中Key為7個(gè)字節(jié)共56位,是DES算法的工作密鑰;Data為8個(gè)字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式,有兩種:加密或解密。
DES全稱為Data Encryption Standard,即數(shù)據(jù)加密標(biāo)準(zhǔn),是一種使用密鑰加密的塊算法,1977年被美國聯(lián)邦政府的國家標(biāo)準(zhǔn)局確定為聯(lián)邦資料處理標(biāo)準(zhǔn)(FIPS),并授權(quán)在非密級(jí)政府通信中使用,隨后該算法在國際上廣泛流傳開來。需要注意的是,在某些文獻(xiàn)中,作為算法的DES稱為數(shù)據(jù)加密算法(Data Encryption Algorithm,DEA),已與作為標(biāo)準(zhǔn)的DES區(qū)分開來。
DES算法入口參數(shù)
DES算法的入口參數(shù)有三個(gè):Key、Data、Mode。其中Key為7個(gè)字節(jié)共56位,是DES算法的工作密鑰;Data為8個(gè)字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式,有兩種:加密或解密。
DES基本原則
DES設(shè)計(jì)中使用了分組密碼設(shè)計(jì)的兩個(gè)原則:混淆(confusion)和擴(kuò)散(diffusion),其目的是抗擊敵手對(duì)密碼系統(tǒng)的統(tǒng)計(jì)分析?;煜鞘姑芪牡慕y(tǒng)計(jì)特性與密鑰的取值之間的關(guān)系盡可能復(fù)雜化,以使密鑰和明文以及密文之間的依賴性對(duì)密碼分析者來說是無法利用的。擴(kuò)散的作用就是將每一位明文的影響盡可能迅速地作用到較多的輸出密文位中,以便在大量的密文中消除明文的統(tǒng)計(jì)結(jié)構(gòu),并且使每一位密鑰的影響盡可能迅速地?cái)U(kuò)展到較多的密文位中,以防對(duì)密鑰進(jìn)行逐段破譯。
算法步驟
DES算法把64位的明文輸入塊變?yōu)?4位的密文輸出塊,它所使用的密鑰也是64位(實(shí)際用到了56位,第8、16、24、32、40、48、56、64位是校驗(yàn)位, 使得每個(gè)密鑰都有奇數(shù)個(gè)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次迭代運(yùn)算后,得到L16、R16,將此作為輸入,進(jìn)行逆置換,逆置換正好是初始置換的逆運(yùn)算,由此即得到密文輸出。
此算法是對(duì)稱加密算法體系中的代表,在計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中廣泛使用。
DES與3DES
3DES(即Triple DES)是DES向AES過渡的加密算法,它使用3條56位的密鑰對(duì)數(shù)據(jù)進(jìn)行三次加密。是DES的一個(gè)更安全的變形。它以DES為基本模塊,通過組合分組方法設(shè)計(jì)出分組加密算法。比起最初的DES,3DES更為安全。
該方法使用兩個(gè)密鑰,執(zhí)行三次DES算法,加密的過程是加密-解密-加密,解密的過程是解密-加密-解密。
3DES加密過程為:C=Ek3(Dk2(Ek1(P)))
3DES解密過程為:P=Dk1(EK2(Dk3(C)))
采用兩個(gè)密鑰進(jìn)行三重加密的好處有:
?、賰蓚€(gè)密鑰合起來有效密鑰長度有112bit,可以滿足商業(yè)應(yīng)用的需要,若采用總長為168bit的三個(gè)密鑰,會(huì)產(chǎn)生不必要的開銷。
?、诩用軙r(shí)采用加密-解密-加密,而不是加密-加密-加密的形式,這樣有效的實(shí)現(xiàn)了與現(xiàn)有DES系統(tǒng)的向后兼容問題。因?yàn)楫?dāng)K1=K2時(shí),三重DES的效果就和原來的DES一樣,有助于逐漸推廣三重DES。
?、廴谼ES具有足夠的安全性,目前還沒有關(guān)于攻破3DES的報(bào)道。
Java 加解密技術(shù)系列之 DES
前幾篇文章講的都是單向加密算法,其中涉及到了 BASE64、MD5、SHA、HMAC 等幾個(gè)比較常見的加解密算法。這篇文章,以及后面幾篇,打算介紹幾個(gè)對(duì)稱加密算法,比如:DES、3DES(TripleDES)、AES 等。那么,這篇文章主要是對(duì) DES 大概講一下。
背景
在討論 DES 之前,首先了解一下什么是對(duì)稱加密算法吧。對(duì)于對(duì)稱加密算法,他應(yīng)用的時(shí)間比較早,技術(shù)相對(duì)來說比較成熟,在對(duì)稱加密算法中,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對(duì)密文進(jìn)行解密,才能使其恢復(fù)成可讀明文。
在對(duì)稱加密算法中,使用的密鑰只有一個(gè),發(fā)收信雙方都使用這個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密,這就要求解密方事先必須知道加密密鑰。對(duì)稱加密算法的特點(diǎn)是算法公開、計(jì)算量小。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。
概念
那么,什么是 DES?他是怎么來的?相信很多人都很感興趣,因?yàn)橐郧霸陂_發(fā)的時(shí)候,對(duì)進(jìn)度的要求比較嚴(yán),很多時(shí)候根本就沒有時(shí)間來了解這些東西。因此,今天專門來研究研究這個(gè)東西。
DES,全稱為“Data Encryption Standard”,中文名為“數(shù)據(jù)加密標(biāo)準(zhǔn)”,是一種使用密鑰加密的塊算法。DES 算法為密碼體制中的對(duì)稱密碼體制,又被稱為美國數(shù)據(jù)加密標(biāo)準(zhǔn),是 1972 年美國 IBM 公司研制的對(duì)稱密碼體制加密算法。 明文按 64 位進(jìn)行分組,密鑰長 64 位,密鑰事實(shí)上是 56 位參與 DES 運(yùn)算(第8、16、24、32、40、48、56、64 位是校驗(yàn)位, 使得每個(gè)密鑰都有奇數(shù)個(gè) 1)分組后的明文組和 56 位的密鑰按位替代或交換的方法形成密文組的加密方法。
基本原理
入口參數(shù)有三個(gè):key、data、mode。key 為加密解密使用的密鑰,data 為加密 解密的數(shù)據(jù),mode 為其工作模式。當(dāng)模式為加密模式時(shí),明文按照 64 位進(jìn)行分組,形成明文組,key 用于對(duì)數(shù)據(jù)加密,當(dāng)模式為解密模式時(shí),key 用于對(duì)數(shù)據(jù)解密。實(shí)際運(yùn)用中,密鑰只用到了 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 次迭代運(yùn)算后,得到 L16、R16,將此作為輸入,進(jìn)行逆置換,逆置換正好是初始置換的逆運(yùn)算,由此即得到密文輸出。
整個(gè)算法 的主流程圖如下:
分組模式
ECB模式
ECB,中文名“電子密碼本模式”,是最古老、最簡單的模式,將加密的數(shù)據(jù)分成若干組,每組的大小跟加密密鑰長度相同。然后每組都用相同的密鑰加密,比如 DES 算法,如果最后一個(gè)分組長度不夠 64 位,要補(bǔ)齊 64 位。如圖所示:
CBC模式
CBC,中文名“加密塊鏈模式”,與 ECB 模式最大的不同是加入了初始向量。他的特點(diǎn)是,每次加密的密文長度為 64位 ( 8 個(gè)字節(jié)),當(dāng)相同的明文使用相同的密鑰和初始向量的時(shí)候 CBC 模式總是產(chǎn)生相同的密文。
CFB模式
CFB,中文名“加密反饋模式”,加密反饋模式克服了需要等待 8 個(gè)字節(jié)才能加密的缺點(diǎn),它采用了分組密碼作為流密碼的密鑰流生成器。他的特點(diǎn)是,每次加密的 Pi 和 Ci 不大于 64 位;加密算法和解密算法相同,不能適用于公鑰算法;使用相同的密鑰和初始向量的時(shí)候,相同明文使用 CFB 模式加密輸出相同的密文;可以使用不同的初始化變量使相同的明文產(chǎn)生不同的密文,防止字典攻擊;加密強(qiáng)度依賴于密鑰長度;加密塊長度過小時(shí),會(huì)增加循環(huán)的數(shù)量,導(dǎo)致開銷增加;加密塊長度應(yīng)時(shí) 8 位的整數(shù)倍(即字節(jié)為單位);一旦某位數(shù)據(jù)出錯(cuò),會(huì)影響目前和其后 8 個(gè)塊的數(shù)據(jù)。
OFB模式
OFB,中文名“輸出反饋模式”,與 CFB 模式不同之處在于, 加密位移寄存器與密文無關(guān)了,僅與加密 key 和加密算法有關(guān),做法是不再把密文輸入到加密移位寄存器,而是把輸出的分組密文(Oi)輸入到一位寄存器。因?yàn)槊芪臎]有參與鏈操作,所以使得 OFB 模式更容易受到攻擊;不會(huì)進(jìn)行錯(cuò)誤傳播,某位密文發(fā)生錯(cuò)誤,只會(huì)影響該位對(duì)應(yīng)的明文,而不會(huì)影響別的位;不是自同步的,如果加密和解密兩個(gè)操作失去同步,那么系統(tǒng)需要重新初始化;每次重新同步時(shí),應(yīng)使用不同的初始向量??梢员苊猱a(chǎn)生相同的比特流,避免“已知明文”攻擊。
CTR模式
CTR,中文名“計(jì)數(shù)模式”,是對(duì)一系列輸入數(shù)據(jù)塊(稱為計(jì)數(shù))進(jìn)行加密,產(chǎn)生一系列的輸出塊,輸出塊與明文異或得到密文。對(duì)于最后的數(shù)據(jù)塊,可能是長 u 位的局部數(shù)據(jù)塊,這 u 位就將用于異或操作,而剩下的 b-u 位將被丟棄(b表示塊的長度)。
代碼實(shí)現(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”; // 測試
/**
* 全局?jǐn)?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);
// 當(dāng)使用其他對(duì)稱加密算法時(shí),如AES、Blowfish等算法時(shí),用下述代碼替換上述三行代碼
// 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) {
// 驗(yàn)證傳入的字符串
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) {
// 驗(yàn)證傳入的字符串
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);
}
/**
* 將一個(gè)字節(jié)轉(zhuǎn)化成十六進(jì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ù)組為十六進(jìn)制字符串
* @param bytes 字節(jié)數(shù)組
* @return 十六進(jìn)制字符串
*/
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)換十六進(jìn)制字符串為字節(jié)數(shù)組
* @param hexstr 十六進(jìn)制字符串
* @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)容對(duì)各位看官有稍許的幫助,哪怕一點(diǎn)也好。其實(shí),在日常的開發(fā)中,如果不是進(jìn)度控制的特別嚴(yán)格,對(duì)于這些原理性的東西,我們還是需要知道的,對(duì)于那些細(xì)節(jié)的東西,可以不用死記硬背,有網(wǎng)的話,隨用隨查就可以了。但這個(gè)前提是,原理性的東西必須要懂,知道了原理,就會(huì)有解決思路,有了思路,解決問題是遲早的事,細(xì)節(jié)嘛,不用那么糾結(jié),做的時(shí)候考慮到就行了,畢竟時(shí)間是有限的。
密鑰管理是數(shù)據(jù)加密技術(shù)中的重要一環(huán),密鑰管理的目的是確保密鑰的安全性(真實(shí)性和有效性)。
2024-02-23 標(biāo)簽:DES密鑰管理數(shù)據(jù)加密芯片 442 0
怎樣去設(shè)計(jì)一個(gè)安全好用的OpenApi呢?
為了確保軟件接口的標(biāo)準(zhǔn)化和規(guī)范化,實(shí)現(xiàn)業(yè)務(wù)模塊的重用性和靈活性,并提高接口的易用性和安全性,OpenAPI規(guī)范應(yīng)運(yùn)而生。
數(shù)據(jù)加密標(biāo)準(zhǔn) (DES) 是由 IBM 開發(fā)并于 1977 年標(biāo)準(zhǔn)化的對(duì)稱加密算法。盡管它已被AES取代(我們將在下面進(jìn)行研究),但DES的設(shè)計(jì)選擇為關(guān)...
`VPN`,全稱為“`Virtual Private Network`”,即虛擬私人網(wǎng)絡(luò)。它是一種利用公共網(wǎng)絡(luò)(如互聯(lián)網(wǎng))建立安全、加密連接的技術(shù),用于...
DES全稱為Data Encryption Standard,即數(shù)據(jù)加密標(biāo)準(zhǔn),是一種使用密鑰加密的塊算法。DES加密算法出自IBM的研究,1977年被美...
密鑰管理是數(shù)據(jù)加密技術(shù)中的重要一環(huán),密鑰管理的目的是確保密鑰的安全性(真實(shí)性和有效性)。
2023-01-11 標(biāo)簽:DES密鑰管理數(shù)據(jù)加密芯片 2616 0
SSD在數(shù)據(jù)加密技術(shù)中的應(yīng)用研究
SSD作為一種數(shù)據(jù)存儲(chǔ)設(shè)備,其數(shù)據(jù)存儲(chǔ)的安全性至關(guān)重要,為保障數(shù)據(jù)不被竊取或篡改,往往會(huì)對(duì)數(shù)據(jù)進(jìn)行加密處理,本文將對(duì)數(shù)據(jù)加密技術(shù)展開討論。
DS90CR481/DS90CR482 48位LVDS通道鏈路SER/DES數(shù)據(jù)表立即下載
類別:電子資料 2024-07-02 標(biāo)簽:lvdsDES數(shù)據(jù)流
基于DES和LFSR的混合加密算法通過FPGA實(shí)現(xiàn)立即下載
類別:數(shù)值算法/人工智能 2017-12-12 標(biāo)簽:DES加密算法LFSR
基于DES加密算法的預(yù)付費(fèi)空調(diào)管理系統(tǒng)設(shè)計(jì)立即下載
類別:嵌入式技術(shù)論文 2017-11-23 標(biāo)簽:DES管理系統(tǒng)加密算法
ANYMESH-自組網(wǎng)安全加密算法及策略與手段介紹
一、DES加密算法 DES加密算法是一種對(duì)稱密碼算法,是1972年美國IBM公司研制的對(duì)稱密碼體制加密算法,其加密密鑰和解密密鑰相同。DES算法是一種用...
自然存在的納米拓?fù)湎到y(tǒng)如何啟發(fā)用于藥物遞送的生物材料設(shè)計(jì)
有效的藥物遞送在治療各種生物醫(yī)學(xué)疾?。◤淖陨砻庖咝约膊〉桨┌Y及細(xì)菌感染)方面非常重要。
PCB厚銅板的設(shè)計(jì),這一點(diǎn)一定要注意
炎炎盛夏,天干人燥,PCB設(shè)計(jì)實(shí)屬不易,只因?yàn)檫@一點(diǎn)細(xì)節(jié)設(shè)計(jì)時(shí)沒有注意到,接二連三的發(fā)生厚銅板無法加工的問題,孰是孰非,請(qǐng)走進(jìn)今天的案例分析……
2022-08-16 標(biāo)簽:PCB設(shè)計(jì)DESPCB 2083 0
ree自由協(xié)議質(zhì)押挖礦系統(tǒng)技術(shù)概述及開發(fā)
DES是對(duì)稱性加密里常見的一種,是一種使用密鑰加密的塊算法。那么AES和DES算法的區(qū)別在哪里,這兩者有哪些優(yōu)缺點(diǎn)呢? 什么是AES? AES一般指高級(jí)...
【導(dǎo)讀】本文介紹了 DES 加密原理和作用,和 golang 中 DES 加密解密機(jī)制的相應(yīng)實(shí)現(xiàn)。 概念理解 DES是以64比特的明文為一個(gè)單位來進(jìn)行加...
目的: 涂布機(jī)在PCB板面涂上一層均勻的感光油墨,利用油墨感光性,經(jīng)過UV光照射,利用底片透光與不透光區(qū),接受到UV光的油墨發(fā)生化學(xué)聚合反應(yīng),通過DES...
加密算法我們整體可以分為:可逆加密和不可逆加密,可逆加密又可以分為:對(duì)稱加密和非對(duì)稱加密。
現(xiàn)如今,常用的加密算法不外乎私鑰加密方法和公鑰加密方法。私鑰加密方法可以用來保護(hù)關(guān)鍵/敏感數(shù)據(jù)。密鑰密文只需一把鑰匙(由通信雙方共享)破解,因此被稱為對(duì)...
作者:Achronix資深現(xiàn)場應(yīng)用工程師 黃侖 一個(gè)運(yùn)用NoC來優(yōu)化加解密設(shè)計(jì)的例子 Achronix 最新基于臺(tái)積電(TSMC)的7nm FinFET...
DES 算法具有對(duì)稱性, 既可以用于加密又可以用于解密。對(duì)稱性帶來的一個(gè)很大的好處在于硬件實(shí)現(xiàn), DES 的加密和解密可以用完全相同的硬件來實(shí)現(xiàn)。DES...
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語言教程專題
電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動(dòng)駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺 | 無人機(jī) | 三菱電機(jī) | ST |
伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國民技術(shù) | Microchip |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |