當前位置:首頁 » 密碼管理 » 隨機數加密

隨機數加密

發布時間: 2022-05-27 11:04:02

加密模塊如何配合隨機數使用

隨機數主要是用來生成AES的密鑰,然後根據AES的配置128/256或者是多少將輸入數據進行分塊加密,最後輸出加密的數據,並保存密鑰。
SOC晶元的話,裡面一般都有一個cpu(可編程控制器),你需要編程來控制上面說的過程,同時密鑰的保存是一個很重要的事情,如果你這個產品有輸入設備的話,最好是將這些密鑰保存到一個密鑰庫裡面,然後用一個用戶的口令來加密這個密鑰庫。

② 為什麼採用隨機數可避免重放攻擊

單獨的隨機數不能避免重放攻擊,隨機數一般會和簽名加密技術,後台驗證技術混合以提高破解和重放難度。

重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊或新鮮性攻擊(Freshness Attacks),是指攻擊者發送一個目的主機已接收過的包,來達到欺騙系統的目的,主要用於身份認證過程,破壞認證的正確性。

從重放攻擊的定義上我們可以看到,重放攻擊提交給伺服器的數據是曾經有效的,如何防止這種數據,對特定信息給與一個特定的隨機數,並且這個隨機數保存在伺服器內,在驗證了用戶信息前,首先會對隨機數進行驗證,如果發現提交的隨機數和伺服器保存的不同則,該條信息無效通過這種方法來防止重放攻擊。

常用的防禦重放攻擊,不會直接暴露隨機數,一般隨機數會用在MD5,HASH(數字簽名)上,比如在對有效值進行MD5加密時添加隨機數,如用戶名為test,密碼為test的MD5加密過程可能為MD5("test","test",隨機數),這樣在直接傳輸時不會暴露出隨機值,黑客在提交重放攻擊時系統發現MD5簽名和系統簽名計算後不同則,可被認定為重放攻擊。

當然矛和盾是一種存在的,有可能該值剛好又一次的分配給了該用戶,可能會重放攻擊成功,但這個概率在科學計算上可以被視為0,而且隨著隨機數的位數的提高,概率會不斷降低。

③ 用於加密的key,16位以上隨機數怎麼做

B.圖靈獎
我們學院的牆壁上到處貼的都是那些老頭,天天看呀。。。

④ C#如何產生一個long型隨機數,並對這個隨機數進行MD5加密,求詳細代碼,非常感謝

//得到隨機數
public n randomnum()
{
long n = (long)Math.Floor((new Random()).NextDouble() * 1000000000D);
return n;

}
//md5加密
public static string MD5Encrypt(string pToEncrypt)
{

MD5 md5 = new MD5CryptoServiceProvider();
byte[] data = Encoding.Default.GetBytes(pToEncrypt);
byte[] md5data = md5.ComputeHash(data);
md5.Clear();
string str = "";
for (int i = 0; i < md5data.Length - 1; i++)
{
str += md5data[i].ToString("x").PadLeft(2, '0');
}
return str.ToUpper();
}
//base64 加密
public String getBASE64(String src) {
if (src == null) {
return null;
}
byte[] b = src.getBytes();
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(b);
}

⑤ SM4,AES加密模塊對隨機數的產生有哪些要求

隨機數主要是用來生成AES的密鑰,然後根據AES的配置128/256或者是多少將輸入數據進行分塊加密,最後輸出加密的數據,並保存密鑰。
SOC晶元的話,裡面一般都有一個cpu(可編程式控制制器),你需要編程來控制上面說的過程,同時密鑰的保存是一個很重要的事情,如果你這個產品有輸入設備的話,最好是將這些密鑰保存到一個密鑰庫裡面,然後用一個用戶的口令來加密這個密鑰庫。

⑥ 怎樣用RSA,DES等做成隨機數生成器 能用到現成的類嗎

最簡單的辦法,用DES去加密一個隨機數,或者GUID就行了嘛
現成的類有啊
System.Security.Cryptography.DES 就是加密類。
用它去加密Random.NextBytes,再用Random.Next做DES的key就行了
如果不需要數字型的隨機數,那直接用GUID就行了,永遠不會重復。
public static string DESRandomString(){
System.Security.Cryptography.DES des = System.Security.Cryptography.DES.Create();
DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0, 0);
TimeSpan ts = DateTime.Now - dt;
Random ran = new Random(ts.Milliseconds); //用當時的毫秒數做隨機種子避免出現固定的隨機序列
des.GenerateIV();
des.GenerateKey(); //自動生成加密的密鑰和種子,如果你要能解密這個隨機數的話,可以自己指定IV和Key.
System.Security.Cryptography.ICryptoTransform trans = des.CreateEncryptor();
Byte[] content = new Byte[8] ; //這個數組的長短決定了你結果的長短
ran.NextBytes(content) ; //產生隨機數
content = trans.TransformFinalBlock(content, 0, content.Length); //加密
return Convert.ToBase64String(content); //返回base64形式的隨機字串
// return BitConverter.ToString(content).Replace("-", string.Empty); //返回HEX形式的字串
}

⑦ 加密IC加密方式有哪些

當前推薦的有幾種方式,安全性由低到高分別為:
方式一,使用加密晶元內部存儲的一些數據(通常晶元唯一ID),在程序執行前或過程中做ID驗證,判斷是否為合法加密IC,如不合法則禁止操作
優點:操作簡單
缺點:安全性很低,一旦被截獲,則晶元失效
方式二
與方式一原理相似,但存儲在加密晶元中的為密鑰(AES
或者
DES,密鑰長度8位元組或16位元組),程序運行前或運行中,取隨機數
由加密晶元和程序本身對隨機數加密,驗證結果是否相同來判斷是否合法。
優點:晶元操作簡單
缺點:安全性有缺陷,如果MCU端程序被破解,會導緻密鑰泄露,晶元失效
方式三
可編程類加密晶元,可將MCU端的部分程序移植到加密晶元中,程序運行時由MCU端程序和加密晶元配合來實現完整程序的執行。
優點:安全性高,MCU端被破解不會影響程序安全性,必須破解加密晶元
缺點:開發略顯復雜
綜上所述:如想要真正的保護程序,還是建議用可編程類的晶元,安全性好,當前的環境下極難被破解。北京有一家公司在做,LKT4105也支持方式一和方式二,可以嘗試一下

⑧ 電腦如何產生隨機數

電腦產生的隨機數稱為偽隨機數,是通過演算法模擬的,看上去和隨機數一樣,實際上能算出來的數就是可以預見的數(對用戶來說不可預見,對電腦則是可預見),不是真正的隨機數。

從一個大數「種子」開始重復某種迭代計算,通常是加減乘除加求余,種子可以取系統時間,因為用戶不可能精確到微秒控製程序運行,就基本保證了每次生成數值的順序不同

一般來說如果用數字電路產生的都是偽隨機數,但由於循環時間太長可視為隨機數。而現在有用模擬電路產生的隨機數,主要原理是將熱雜訊放大,然後編碼。

(8)隨機數加密擴展閱讀

隨機數的作用

隨機數的使用歷史已經有數千年。無論是拋硬幣還是搖色子,目的是讓隨機概率決定結果。電腦中的隨機數生成器的目的也是如此——生成隨機不可預測的結果。

加密法要求數字不能被攻擊者猜到,不能多次使用同樣的數字。所以需要一種機制產生攻擊者無法預測的數字,這些隨機數對加密法至關重要,無論你是加密文件還是訪問https協議網站,都需要用到隨機數。

根據隨機數的生成原理,我們把電腦隨機數分為兩類:「真」隨機數和偽隨機數。

要生成一個「真」隨機數,電腦會檢測電腦外部發生的某種物理現象。比如說,電腦可以測量某個原子的放射性衰變。根據量子理論,原子衰變是隨機而不可測的,所以這就是宇宙中的「純粹」隨機性。攻擊者永遠無法預測原子衰變的發生時間,也就不可能猜出隨機值。

⑨ Https 密鑰協商中的第三個隨機數pre-master-key如何防篡改

Https 密鑰協商中的第三個隨機數pre-master-key使用對稱加密就可以防篡改。

加密密鑰能夠從解密密鑰中推算出來,同時解密密鑰也可以從加密密鑰中推算出來。而在大多數的對稱演算法中,加密密鑰和解密密鑰是相同的,所以也稱這種加密演算法為秘密密鑰演算法或單密鑰演算法。

密鑰的作用:

它的最大優勢是加/解密速度快,適合於對大數據量進行加密,但密鑰管理困難。 非對稱密鑰,需要使用不同的密鑰來分別完成加密和解密操作,一個公開發布,即公開密鑰,另一個由用戶自己秘密保存,即私用密鑰。

熱點內容
lua編程pdf 發布:2024-05-03 01:39:26 瀏覽:23
臍帶血存儲的三大忌 發布:2024-05-03 01:32:38 瀏覽:933
寶馬可編程 發布:2024-05-03 01:32:20 瀏覽:225
匿名ftp的作用 發布:2024-05-03 01:30:13 瀏覽:420
php支付程序 發布:2024-05-03 01:07:09 瀏覽:287
安卓插口是什麼型號圖片 發布:2024-05-03 01:01:57 瀏覽:253
移動android開發 發布:2024-05-03 00:26:42 瀏覽:628
安卓上的字體怎麼放大 發布:2024-05-03 00:26:38 瀏覽:304
奧迪a3低配中配推薦哪個配置 發布:2024-05-03 00:22:12 瀏覽:242
python類聲明變數類型 發布:2024-05-03 00:22:05 瀏覽:641