導航:首頁 > 文檔加密 > 加密卡應用案例

加密卡應用案例

發布時間:2022-03-01 14:49:15

A. IC卡的應用領域

IC卡分接觸式IC卡,非接觸式IC卡(感應式)和CPU卡,安全性按順序為由低到高。接觸式IC卡基本上懂點的人都可以破解,非接觸式IC卡去年已經被老外給破解掉了非利浦公司的加密方式,所以目前國內建設部開始大力推廣使用CPU卡。

應用領域:接觸式IC卡又分邏輯加密卡和存儲卡,存儲卡沒有密碼驗證功能,本質上相當於一個U盤或磁條卡,一般用在水表、電表這些地方;邏輯加密卡有基本的密碼驗證功能,類似於銀行櫃員機,如果連續三次密碼輸入錯誤就自動鎖死,一般用於要求不高,范圍不廣,具有消費功能的地方比如會所、餐館等;非接觸式IC卡目前應用很廣泛,每個扇區都有獨立的密碼,每個扇區可以實現不同的功能,廣泛應用於一卡通系統;CPU卡目前使用剛起步,接觸式CPU卡多用於社會保障系統,非接觸式CPU卡即將取代非接觸式IC卡應用於安全要求高的一卡通系統比如城市一卡通等(含公交系統)。

成功的案例太多了不用寫了把?隨便都找的出來。

B. 幫忙說一種加密方法實際應用的案例

md5的全稱是message-digest algorithm 5(信息-摘要演算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest開發出來,經md2、md3和md4發展而來。它的作用是讓大容量信息在用數字簽名軟體簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的大整數)。不管是md2、md4還是md5,它們都需要獲得一個隨機長度的信息並產生一個128位的信息摘要。雖然這些演算法的結構或多或少有些相似,但md2的設計與md4和md5完全不同,那是因為md2是為8位機器做過設計優化的,而md4和md5卻是面向32位的電腦。這三個演算法的描述和c語言源代碼在internet rfcs 1321中有詳細的描述(h++p://www.ietf.org/rfc/rfc1321.txt),這是一份最權威的文檔,由ronald l. rivest在1992年8月向ieft提交。

rivest在1989年開發出md2演算法。在這個演算法中,首先對信息進行數據補位,使信息的位元組長度是16的倍數。然後,以一個16位的檢驗和追加到信息末尾。並且根據這個新產生的信息計算出散列值。後來,rogier和chauvaud發現如果忽略了檢驗和將產生md2沖突。md2演算法的加密後結果是唯一的--既沒有重復。

為了加強演算法的安全性,rivest在1990年又開發出md4演算法。md4演算法同樣需要填補信息以確保信息的位元組長度加上448後能被512整除(信息位元組長度mod 512 = 448)。然後,一個以64位二進製表示的信息的最初長度被添加進來。信息被處理成512位damg?rd/merkle迭代結構的區塊,而且每個區塊要通過三個不同步驟的處理。den boer和bosselaers以及其他人很快的發現了攻擊md4版本中第一步和第三步的漏洞。dobbertin向大家演示了如何利用一部普通的個人電腦在幾分鍾內找到md4完整版本中的沖突(這個沖突實際上是一種漏洞,它將導致對不同的內容進行加密卻可能得到相同的加密後結果)。毫無疑問,md4就此被淘汰掉了。

盡管md4演算法在安全上有個這么大的漏洞,但它對在其後才被開發出來的好幾種信息安全加密演算法的出現卻有著不可忽視的引導作用。除了md5以外,其中比較有名的還有sha-1、ripe-md以及haval等。

一年以後,即1991年,rivest開發出技術上更為趨近成熟的md5演算法。它在md4的基礎上增加了"安全-帶子"(safety-belts)的概念。雖然md5比md4稍微慢一些,但卻更為安全。這個演算法很明顯的由四個和md4設計有少許不同的步驟組成。在md5演算法中,信息-摘要的大小和填充的必要條件與md4完全相同。den boer和bosselaers曾發現md5演算法中的假沖突(pseudo-collisions),但除此之外就沒有其他被發現的加密後結果了。

van oorschot和wiener曾經考慮過一個在散列中暴力搜尋沖突的函數(brute-force hash function),而且他們猜測一個被設計專門用來搜索md5沖突的機器(這台機器在1994年的製造成本大約是一百萬美元)可以平均每24天就找到一個沖突。但單從1991年到2001年這10年間,竟沒有出現替代md5演算法的md6或被叫做其他什麼名字的新演算法這一點,我們就可以看出這個瑕疵並沒有太多的影響md5的安全性。上面所有這些都不足以成為md5的在實際應用中的問題。並且,由於md5演算法的使用不需要支付任何版權費用的,所以在一般的情況下(非絕密應用領域。但即便是應用在絕密領域內,md5也不失為一種非常優秀的中間技術),md5怎麼都應該算得上是非常安全的了。

演算法的應用

md5的典型應用是對一段信息(message)產生信息摘要(message-digest),以防止被篡改。比如,在unix下有很多軟體在下載的時候都有一個文件名相同,文件擴展名為.md5的文件,在這個文件中通常只有一行文本,大致結構如:

md5 (tanajiya.tar.gz) =

這就是tanajiya.tar.gz文件的數字簽名。md5將整個文件當作一個大文本信息,通過其不可逆的字元串變換演算法,產生了這個唯一的md5信息摘要。如果在以後傳播這個文件的過程中,無論文件的內容發生了任何形式的改變(包括人為修改或者下載過程中線路不穩定引起的傳輸錯誤等),只要你對這個文件重新計算md5時就會發現信息摘要不相同,由此可以確定你得到的只是一個不正確的文件。如果再有一個第三方的認證機構,用md5還可以防止文件作者的"抵賴",這就是所謂的數字簽名應用。

md5還廣泛用於加密和解密技術上。比如在unix系統中用戶的密碼就是以md5(或其它類似的演算法)經加密後存儲在文件系統中。當用戶登錄的時候,系統把用戶輸入的密碼計算成md5值,然後再去和保存在文件系統中的md5值進行比較,進而確定輸入的密碼是否正確。通過這樣的步驟,系統在並不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統的合法性。這不但可以避免用戶的密碼被具有系統管理員許可權的用戶知道,而且還在一定程度上增加了密碼被破解的難度。

正是因為這個原因,現在被黑客使用最多的一種破譯密碼的方法就是一種被稱為"跑字典"的方法。有兩種方法得到字典,一種是日常搜集的用做密碼的字元串表,另一種是用排列組合方法生成的,先用md5程序計算出這些字典項的md5值,然後再用目標的md5值在這個字典中檢索。我們假設密碼的最大長度為8位位元組(8 bytes),同時密碼只能是字母和數字,共26+26+10=62個字元,排列組合出的字典的項數則是p(62,1)+p(62,2)….+p(62,8),那也已經是一個很天文的數字了,存儲這個字典就需要tb級的磁碟陣列,而且這種方法還有一個前提,就是能獲得目標賬戶的密碼md5值的情況下才可以。這種加密技術被廣泛的應用於unix系統中,這也是為什麼unix系統比一般操作系統更為堅固一個重要原因。

演算法描述

對md5演算法簡要的敘述可以為:md5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。

在md5演算法中,首先需要對信息進行填充,使其位元組長度對512求余的結果等於448。因此,信息的位元組長度(bits length)將被擴展至n*512+448,即n*64+56個位元組(bytes),n為一個正整數。填充的方法如下,在信息的後面填充一個1和無數個0,直到滿足上面的條件時才停止用0對信息的填充。然後,在在這個結果後面附加一個以64位二進製表示的填充前信息長度。經過這兩步的處理,現在的信息位元組長度=n*512+448+64=(n+1)*512,即長度恰好是512的整數倍。這樣做的原因是為滿足後面處理中對信息長度的要求。

md5中有四個32位被稱作鏈接變數(chaining variable)的整數參數,他們分別為:a=0x01234567,b=0x89abcdef,c=0xfedcba98,d=0x76543210。

當設置好這四個鏈接變數後,就開始進入演算法的四輪循環運算。循環的次數是信息中512位信息分組的數目。

將上面四個鏈接變數復制到另外四個變數中:a到a,b到b,c到c,d到d。

主循環有四輪(md4隻有三輪),每輪循環都很相似。第一輪進行16次操作。每次操作對a、b、c和d中的其中三個作一次非線性函數運算,然後將所得結果加上第四個變數,文本的一個子分組和一個常數。再將所得結果向右環移一個不定的數,並加上a、b、c或d中之一。最後用該結果取代a、b、c或d中之一。
以一下是每次操作中用到的四個非線性函數(每輪一個)。

f(x,y,z) =(x&y)|((~x)&z)
g(x,y,z) =(x&z)|(y&(~z))
h(x,y,z) =x^y^z
i(x,y,z)=y^(x|(~z))
(&是與,|是或,~是非,^是異或)

這四個函數的說明:如果x、y和z的對應位是獨立和均勻的,那麼結果的每一位也應是獨立和均勻的。
f是一個逐位運算的函數。即,如果x,那麼y,否則z。函數h是逐位奇偶操作符。

假設mj表示消息的第j個子分組(從0到15),<<
ff(a,b,c,d,mj,s,ti)表示a=b+((a+(f(b,c,d)+mj+ti)<< gg(a,b,c,d,mj,s,ti)表示a=b+((a+(g(b,c,d)+mj+ti)<< hh(a,b,c,d,mj,s,ti)表示a=b+((a+(h(b,c,d)+mj+ti)<< ii(a,b,c,d,mj,s,ti)表示a=b+((a+(i(b,c,d)+mj+ti)<<
這四輪(64步)是:

第一輪

ff(a,b,c,d,m0,7,0xd76aa478)
ff(d,a,b,c,m1,12,0xe8c7b756)
ff(c,d,a,b,m2,17,0x242070db)
ff(b,c,d,a,m3,22,0xc1bdceee)
ff(a,b,c,d,m4,7,0xf57c0faf)
ff(d,a,b,c,m5,12,0x4787c62a)
ff(c,d,a,b,m6,17,0xa8304613)
ff(b,c,d,a,m7,22,0xfd469501)
ff(a,b,c,d,m8,7,0x698098d8)
ff(d,a,b,c,m9,12,0x8b44f7af)
ff(c,d,a,b,m10,17,0xffff5bb1)
ff(b,c,d,a,m11,22,0x895cd7be)
ff(a,b,c,d,m12,7,0x6b901122)
ff(d,a,b,c,m13,12,0xfd987193)
ff(c,d,a,b,m14,17,0xa679438e)
ff(b,c,d,a,m15,22,0x49b40821)

第二輪

gg(a,b,c,d,m1,5,0xf61e2562)
gg(d,a,b,c,m6,9,0xc040b340)
gg(c,d,a,b,m11,14,0x265e5a51)
gg(b,c,d,a,m0,20,0xe9b6c7aa)
gg(a,b,c,d,m5,5,0xd62f105d)
gg(d,a,b,c,m10,9,0x02441453)
gg(c,d,a,b,m15,14,0xd8a1e681)
gg(b,c,d,a,m4,20,0xe7d3fbc8)
gg(a,b,c,d,m9,5,0x21e1cde6)
gg(d,a,b,c,m14,9,0xc33707d6)
gg(c,d,a,b,m3,14,0xf4d50d87)
gg(b,c,d,a,m8,20,0x455a14ed)
gg(a,b,c,d,m13,5,0xa9e3e905)
gg(d,a,b,c,m2,9,0xfcefa3f8)
gg(c,d,a,b,m7,14,0x676f02d9)
gg(b,c,d,a,m12,20,0x8d2a4c8a)

第三輪

hh(a,b,c,d,m5,4,0xfffa3942)
hh(d,a,b,c,m8,11,0x8771f681)
hh(c,d,a,b,m11,16,0x6d9d6122)
hh(b,c,d,a,m14,23,0xfde5380c)
hh(a,b,c,d,m1,4,0xa4beea44)
hh(d,a,b,c,m4,11,0x4bdecfa9)
hh(c,d,a,b,m7,16,0xf6bb4b60)
hh(b,c,d,a,m10,23,0xbebfbc70)
hh(a,b,c,d,m13,4,0x289b7ec6)
hh(d,a,b,c,m0,11,0xeaa127fa)
hh(c,d,a,b,m3,16,0xd4ef3085)
hh(b,c,d,a,m6,23,0x04881d05)
hh(a,b,c,d,m9,4,0xd9d4d039)
hh(d,a,b,c,m12,11,0xe6db99e5)
hh(c,d,a,b,m15,16,0x1fa27cf8)
hh(b,c,d,a,m2,23,0xc4ac5665)

第四輪

ii(a,b,c,d,m0,6,0xf4292244)
ii(d,a,b,c,m7,10,0x432aff97)
ii(c,d,a,b,m14,15,0xab9423a7)
ii(b,c,d,a,m5,21,0xfc93a039)
ii(a,b,c,d,m12,6,0x655b59c3)
ii(d,a,b,c,m3,10,0x8f0ccc92)
ii(c,d,a,b,m10,15,0xffeff47d)
ii(b,c,d,a,m1,21,0x85845dd1)
ii(a,b,c,d,m8,6,0x6fa87e4f)
ii(d,a,b,c,m15,10,0xfe2ce6e0)
ii(c,d,a,b,m6,15,0xa3014314)
ii(b,c,d,a,m13,21,0x4e0811a1)
ii(a,b,c,d,m4,6,0xf7537e82)
ii(d,a,b,c,m11,10,0xbd3af235)
ii(c,d,a,b,m2,15,0x2ad7d2bb)
ii(b,c,d,a,m9,21,0xeb86d391)

常數ti可以如下選擇:

在第i步中,ti是4294967296*abs(sin(i))的整數部分,i的單位是弧度。(4294967296等於2的32次方)
所有這些完成之後,將a、b、c、d分別加上a、b、c、d。然後用下一分組數據繼續運行演算法,最後的輸出是a、b、c和d的級聯。

當你按照我上面所說的方法實現md5演算法以後,你可以用以下幾個信息對你做出來的程序作一個簡單的測試,看看程序有沒有錯誤。

md5 ("") =
md5 ("a") =
md5 ("abc") =
md5 ("message digest") =
md5 ("abcdefghijklmnopqrstuvwxyz") =
md5 ("") =

md5 ("
01234567890") =

如果你用上面的信息分別對你做的md5演算法實例做測試,最後得出的結論和標准答案完全一樣,那我就要在這里象你道一聲祝賀了。要知道,我的程序在第一次編譯成功的時候是沒有得出和上面相同的結果的。

md5的安全性

md5相對md4所作的改進:

1. 增加了第四輪;

2. 每一步均有唯一的加法常數;

3. 為減弱第二輪中函數g的對稱性從(x&y)|(x&z)|(y&z)變為(x&z)|(y&(~z));

4. 第一步加上了上一步的結果,這將引起更快的雪崩效應;

5. 改變了第二輪和第三輪中訪問消息子分組的次序,使其更不相似;

6. 近似優化了每一輪中的循環左移位移量以實現更快的雪崩效應。各輪的位移量互不相同。

[color=red]簡單的說:

MD5叫信息-摘要演算法,是一種密碼的演算法,它可以對任何文件產生一個唯一的MD5驗證碼,每個文件的MD5碼就如同每個人的指紋一樣,都是不同的,這樣,一旦這個文件在傳輸過程中,其內容被損壞或者被修改的話,那麼這個文件的MD5碼就會發生變化,通過對文件MD5的驗證,可以得知獲得的文件是否完整。

C. 加密晶元的應用

傳統的加密晶元,都是採用演算法認證的方案,他們所鼓吹的是加密演算法如何復雜,如何難以破解,卻沒有考慮到演算法認證方案本身存在極大的安全漏洞。我們清楚的知道,單片機是一個不安全的載體,可以說對盜版商來講,是完全透明的也不 為過,做演算法認證,勢必要在單片機內部提前寫入密鑰或密碼,每次認證後給單片機一個判斷標志,作為單片機執行的一個判斷依據,那麼盜版商就可以輕松的抓住 這一點進行攻擊,模擬給出單片機一個信號,輕松繞過加密晶元,從而達到破解的目的。如果說,要破解晶元內部數據,那麼通過傳統的剖片、紫外光、調試埠、 能量分析等多種手段,都可以破解。 [4]
採用智能卡晶元平台的加密晶元,本身就可以有效防護這些攻擊手段,將MCU中的部分代碼或演算法植入到加密晶元內部,在加密晶元內部來執行這些程序,使得加密晶元內部的程序代碼成為整個MCU程序的一部分,從而可以達到加密 的目的,因為MCU內部的程序不完整,即便被盜版了,由於缺少關鍵代碼,也無法進行復制,那麼選擇什麼樣的代碼或程序,放入到加密晶元內部,就是考驗 MCU編程者的功力了,盡可能的多植入程序,盡可能的增加演算法的強度,就可以有效防止被破譯的可能。
加密晶元的安全性是取決於晶元自身的安全,同時還取決於加密方案的可靠性。部分公司會給廣大客戶以誤導,過分強調什麼演算法,無論採用對稱演算法 3DES 、AES [5] 還是採用非對稱演算法RSA ECC等,甚至採用國密辦演算法SM2 SM4等等,都是對防抄板來說,是沒有太多的用處的。
對於方案設計公司,是無法使用SM1等國密辦演算法的,銷售國密辦演算法的廠家必須有銷售許可證,這一點是很多方案公司不可能有的,同時認證的方案本身就存在安全隱患,盜版商是不會去破解什麼演算法,而是從加密方案的漏洞去入手,去攻破,所以說,我們一直強調,加密方案的設計是非常重要的環節,不能簡單的只看到加密晶元的自身的安全性,最重要的是密鑰管理環節。
目前已知各種公開的加密演算法都是比較安全的(當然已被破解的幾種演算法除外,如:SHA1,DES等),整個加密體系中最薄弱的環節在於密鑰的生成、使用和管理。無論使用對稱、非對稱、哈希散列各種演算法,密鑰的管理是最終的難題,目前通常的方式是將私鑰或者秘密信息存儲在非易失性存儲器中,這種方式危害極大,不具備高安全性。(具體請參考上面「安全性」內容)
由於PUF的不可克隆性、防篡改和輕量級等屬性,使用PUF用於認證是一種非常有用的安全技術,是一種對現有安全加密機制的創新性技術。PUF輸出的不可直接讀取的唯一值作為私鑰,配合非對稱加密硬體引擎、隨機數發生器、晶元ROM中唯一的unique ID,可以組成一個嚴密的安全加密裝置。
PUF通常用集成電路來實現,通常用於對安全性要求較高的應用中。目前已有眾多知半導體名企業開始提供基於PUF的加密IP技術和安全晶元。

D. 硬體加密主要應用有哪些 查找具體的應用案例(對硬體加密進行分類後再分別列舉各自的應用和案例)

摘要

E. 結合實例談談加密技術在電子商務中的應用

加密技術是電子商務採取的主要安全保密措施,是最常用的安全保密手段,利用技術手段把重要的數據變為亂碼(加密)傳送,到達目的地後再用相同或不同的手段還原(解密)。例如目前的b2b網站的產品發布就是最好的例子、

F. 加密卡是什麼

加密卡是強調高性能的基礎密碼設備,是密碼硬體平台的重要部件之一,廣泛應用在簽名驗證伺服器、VPN網關等多種密碼設備中。

G. 加密在現實中的應用有哪些,請舉例說明。

電子商務中的應用以及在現實生活中應用非常廣。比如:我們在全世界的范圍內進行政治、軍事、經濟、社會交往、文化等各個領域的信息交換、信息傳輸、信息共享和信息使用。目前,我們的信息交換和共享越來越依賴於互聯網,計算機網路已成為我們社會生活的一個基本組成部分。然而,現代計算機系統有太多的組件和連接,計算機操作系統本身存在安全隱患;另外,網路協議中都或多或少存在漏洞;加上資料庫管理系統的不安全性和網路管理的不規范,這使得數據信息在計算機網路之間的傳輸存在各種安全風險。

H. 用案例詳細描述數字加密,數字簽名和證書的工作原理和用途

你學過計算機吧?那就好說一些了。
恩。
加密,在IT術語里是指把原來的數據(是明文)變成加密後的數據(密文)。比如
joke
我這里把所有的字母用0-27的數字表示(按字母排序)。j就是10,o是15,k是16,e是5,這里寫成05,所以joke就變成了
10151605
然後再在每一個數前加N,這里取1,就是
11161706,那
joke是明文,你一看就知道,是「玩笑」。
10151605是密文,除了你,誰也不知道它是「玩笑」的意思。
假如你把一個英文的資料從頭到尾這樣翻譯一次。再把原來的資料刪了。除了你,誰也不知道,這個資料是什麼內容。這叫加密。
其中把英文變成數字再加N就叫做加密演算法(演算法,即「算的方法」)。N就是密碼,這里是1。你同時知道這兩者才能夠解密,讀出原文。
當然這種加密是極其幼稚的。真正的加密是極其復雜的,比如AES,就算你知道它的演算法,沒有密碼,你也不能把密文換成明文。
比如把一個doc文件加密,就是對doc的二進制的每一個位元組進行某種轉化(轉化的方式就是演算法),轉化成密文。因為密碼是參與運算的。所以沒有密碼誰也不知道原來的doc的所有數據(每一個位元組)是什麼。顯然無法用office打開它。
PS:這里我用「每一個位元組」來講,實際是不嚴謹的,不過你知道意思就行了。

但是為了澄清某些概念,我要說,有些軟體的加密不是真正的加密。只是設了一個口令,就是說打開這個文件要過這一關,要輸入一個密碼,然後驗證,對就通過。不對就終止。而文件本身沒有進行加密變換。這種「加密」無疑是愚蠢的。隨便一個匯編高手跳過這一步指令就可以見到文件了。
而加密不同,都成密文了,沒有密碼怎麼變明文?完全不可能!唯一的可能就是一一去試探密碼,直到轉化出的東西是原文,是計算機可以讀懂的。這就是傳說中的暴力破解了。

講了這么多,剛把加密講完,不說了。太累了。

數字簽名和證書是一回事,差不多(可能是國人不同的譯法吧)。
這個涉及到不對稱加密,公鑰密碼演算法。最典型的是RSA。
這個比加密更難理解一些。
樓主自己查資料吧,功到自然成。
我講,沒個五百字說不清楚的。。。
我去睡了。

I. 什麼是加密卡

就是一張SD卡或者TF卡,裡面有個晶元,用處就是給加密的信號解密,這樣才能看見節目。用於廣電局收cmmb收視費

J. 現在很多門禁卡都是加密手機nfc模擬不了!很多配鑰匙的門店可以破解復制,可不可以拿卡去破解然後復制

可以的買門禁復制器,淘寶有賣。

閱讀全文

與加密卡應用案例相關的資料

熱點內容
bs刷裝備建立後文件夾沒有 瀏覽:77
找漫畫看應該下載什麼app 瀏覽:182
如何在vps上搭建自己的代理伺服器 瀏覽:744
nginxphp埠 瀏覽:403
內臟pdf 瀏覽:152
怎麼看雲伺服器架構 瀏覽:85
我的世界國際服為什麼登不進伺服器 瀏覽:996
微盟程序員老婆 瀏覽:930
intellij創建java 瀏覽:110
java連接odbc 瀏覽:38
啟動修復無法修復電腦命令提示符 瀏覽:359
手機編程是什麼 瀏覽:98
山東移動程序員 瀏覽:163
蘇州java程序員培訓學校 瀏覽:479
單片機液晶驅動 瀏覽:856
魔拆app里能拆到什麼 瀏覽:132
新預演算法的立法理念 瀏覽:146
wdcpphp的路徑 瀏覽:136
單片機p0口電阻 瀏覽:927
瀏覽器中調簡訊文件夾 瀏覽:596