herrDeng網內搜尋
自訂搜尋
Ads
2008年11月21日 星期五
訂閱:
張貼留言 (Atom)
熱門文章
-
教育部為提昇全民資安素養與電腦防護能力,本部於101年9月5日至11月5日舉辦「全民資安素養自我評量」活動,請在活動期間內踴躍上網檢測資訊安全素養認知程度,並有機會參與抽獎,詳情請參閱活動網站(網址: https://isafe.moe.edu.tw/event
-
url="https://www.twse.com.tw/exchangeReport/STOCK_DAY?response=json&date=20220330&stockNo=2330"
-
XOR prefixsum CPP python解Leetcode 1829 Maximum XOR for Each Query 其實這裡考慮的是元素個數為2^maximumBit的交換群,運算子為XOR。 [Python code請進]
-
你會用C的算子sizeof?
-
Python C++使用字串find迴圈速解Leetcode 2490 Circular Sentence C++ & Python都有字串的find,用法都類似 split=s.find(' ', split+1)能找到s從index=split+1開...
-
先說明一下這是後知後覺的解答,所謂後知就是股票價格已知存在陣列(清單),當然就要用迴圈練習,雙迴圈暴力解需時O(n**2),當然不用,採python單一迴圈解答「最佳股票的買賣時機#LeetCode 121 Best Time to Buy and Sell Stock」,解...
-
Colab上安裝中文字型修改股市爬蟲pyplot顯圖 使用python套件: numpy, requests. pyplot, matplotlib.font_manager, matplotlib.mpl
-
2 pointer Python C++解Leetcode 3163 String Compression III [codes on Leetcode] https://leetcode.com/problems/string-compression-iii/solution...
20 則留言:
DSA (Digital Signature Algorithm)=數位簽署
數位簽署是目前保證網絡通信安全的一種可靠而重要的技術手段
數位簽章(又稱公鑰數位簽章、電子簽章)。數位簽章不是指將簽名掃描成數位圖像,更不是落款。數位簽章使用公鑰加密的技術,來驗證數位資訊。例如文件、電子郵件訊息和巨集。數位簽章有:
驗證性:數位簽章有助於確保簽署者即為簽署者本人。
完整性:數位簽章有助於確保內容在數位簽署之後,沒有經過變更或遭到竄改。
不可否認性:數位簽章有助於向各方證明所簽署內容的來源。
1991年8月美國國家標準局(National Institute of Standard and Technology, NIST)公佈了數位簽署(Digital Signature Standard, DSS),此標準採用的演算法稱為DSA。
來源http://isrc.nchu.edu.tw/~s000/www/glossory/d.htm
DSA算法有許多它自己獨特的地方 它比ECC算法更加便於理
解和實現, 比RSA產生密匙的速度快很多,且安全性與RSA不相上下 但是DSA的一個
重要特點是兩個素數(P,Q)公開,這樣,當使用別人的p和q時,即使不知道私鑰,你
也能驗證它們是否是隨機產生的,還是作了手腳。RSA算法卻作不到。
DSA的安全性
DSA主要依賴於整數有限域離散對數難題。素數 P 必須足夠大,且p-1至少包含一個大
素數因子以抵抗Pohlig & Hellman算法的攻擊。M 一般都應採用信息的HASH值(官方推
薦為SHA算法)。DSA的安全性主要依賴於p和g,若選取不當則簽名容易偽造,應保證g對
於p-1的大素數因子不可約。 個人觀點DSA的安全性要次於ECC 與RSA不相上下。但是有
一點, 就是DSA算法的驗證程序 R,S 是以明文形式出現的, 這點很容易被利用
出處:http://forum.slime.com.tw/thread86212.html
DSA由美國政府開發出來,只能做電子簽章功能,無法做資料加解密
http://go2.tw/m4e
5. DSA的安全性
DSA主要依賴於整數有限域離散對數難題。素數 P 必須足夠大,且p-1至少包含一個大
素數因子以抵抗Pohlig & Hellman算法的攻擊。M 一般都應採用信息的HASH值(官方推
薦為SHA算法)。DSA的安全性主要依賴於p和g,若選取不當則簽名容易偽造,應保證g對
於p-1的大素數因子不可約。 個人觀點DSA的安全性要次於ECC 與RSA不相上下。但是有
一點, 就是DSA算法的驗證程序 R,S 是以明文形式出現的, 這點很容易被利用,在
第二篇中各位會體會到這一點。
6. Cracker眼中的DSA
DSA算法鮮有被用於國產共享軟體的註冊驗證部分 即使在國外的共享軟體中也遠不如
RSA,Blowfish等算法套用廣泛。
DSA算法在破解時 關鍵的參數就是X 根據 Y = G^X mod P 只要知道 P,G,Y,Q 且能
分解出 X 就可以偽造R,S寫出KeyGen了。
http://go2.tw/m4f
您可以使用 DSA 類別和衍生類別建立數位簽章,以協助保護資料的完整。
若要使用公開金鑰系統以數位方式簽署訊息,寄件者首先要套用雜湊函式到訊息以建立訊息摘要。接著寄件者會使用寄件者的私密金鑰將訊息摘要加密,以建立寄件者的個人簽章。在收到這個訊息和簽章時,接收者會使用寄件者的公開金鑰 (Public Key) 解密這個簽章以復原訊息摘要,並且使用寄件者所使用的相同雜湊演算法雜湊該訊息。如果接收者計算出來的訊息摘要與從寄件者所接收而來的訊息摘要完全相符,接收者就可以假設這個訊息在傳送時沒有遭到竄改。請注意,任何人都可以驗證簽章,因為寄件者的公開金鑰是通用資訊。
這個演算法支援 512 位元到 1024 位元、並以 64 位元為單位遞增的金鑰長度。
簡介出處:
http://msdn.microsoft.com/zh-tw/library/system.security.cryptography.dsa(VS.80).aspx
數位簽章演算法
1991年,美國National Institute of Standards and Technology(NIST)公佈DSA(Digital Signature Algorithm)(NIST, 1991)為國家數位簽章標準。DSA公佈後,雖引發以下爭議,但業界及學界仍是接受此一標準:
(i) DSA不能用來做加密或金鑰分配之用,只能用來做數位簽章。
(ii) DSA是由美國國家安全局(NSA)所發展出來的一種ElGamal數位簽章法的變形,普遍上使用者仍是存有疑慮而擔心NSA藏有暗門(trapdoor)設計,並不像RSA或ElGamal數位簽章法是由學術界人士所設計出來的而較能信任。
(iii) DSA的計算速度比RSA要來得慢。DSA所需簽署時間與RSA大約相同,但所需驗證簽章的時間要比RSA慢約10至40倍。
(iv) RSA雖然不是政府頒布的一項標準(牽涉到專利的問題),但是全世界的使用者早已將之視為一項重要的數位簽章標準來使用。
參考:http://140.118.108.62/mic/download/security/%E5%AF%86%E7%A2%BC%E5%AD%B8%E8%88%87%E8%B3%87%E8%A8%8A%E5%AE%89%E5%85%A8ch6.doc
DSA (Digital Signature Algorithm)=數位簽署
數位簽署是目前保證網絡通信安全的一種可靠而重要的技術手段
數位簽章(又稱公鑰數位簽章、電子簽章)。數位簽章不是指將簽名掃描成數位圖像,更不是落款。數位簽章使用公鑰加密的技術,來驗證數位資訊。例如文件、電子郵件訊息和巨集。數位簽章有:
驗證性:數位簽章有助於確保簽署者即為簽署者本人。
完整性:數位簽章有助於確保內容在數位簽署之後,沒有經過變更或遭到竄改。
不可否認性:數位簽章有助於向各方證明所簽署內容的來源。
http://tw.knowledge.yahoo.com/question/question?qid=1608111709569
DSA (Digital Signature Algorithm)=數位簽署
數位簽署是目前保證網絡通信安全的一種可靠而重要的技術手段
數位簽章(又稱公鑰數位簽章、電子簽章)。數位簽章不是指將簽名掃描成數位圖像,更不是落款。數位簽章使用公鑰加密的技術,來驗證數位資訊。例如文件、電子郵件訊息和巨集。數位簽章有:
驗證性:數位簽章有助於確保簽署者即為簽署者本人。
完整性:數位簽章有助於確保內容在數位簽署之後,沒有經過變更或遭到竄改。
不可否認性:數位簽章有助於向各方證明所簽署內容的來源。
DSA (Digital Signature Algorithm)演算法
1994年美國正式公佈數位簽章標準(Digital Signature Standard,DSS)
無法用來加解密或進行金鑰交換
相同金鑰長度進行數位簽章產生時,DSA比RSA快速
DSA金鑰產生
1. 系統首先決定一個固定為160位元的質數q及512位元到1024位元的質數p,但p-1必須是q的倍數。質數p長度需為64位元的倍數,意即長度為512/576/640/…或1024位元2. 系統再任意找個介於2與p-1的正整數t,2≤t ≤p-1,滿足, 生成數(generator) g為3. 每個簽署者挑選介於1與q-1的亂數x,1≤x ≤q-1,當做私密金鑰。再用g與x計算對應的公開金鑰yy= gxmod p4. 上述步驟1與步驟2的正整數p, q, 與g為系統公開參數,可由多個簽署者共用當做公開金鑰。每個簽署者的個別私密金鑰為x,公開金鑰為y。1mod1≠−ptqpptgqpmod1−=
http://crypto.nknu.edu.tw/textbook/chap5.pdf
簡單的說,它是一種函數,透過它可以產生二個非對稱的數字,其中一個可以用來加密,另一個可以用來解密,因為這二個數字實在太大了(1024 bits),超乎人力操作,比一把鑰匙還安全,我們稱它為金鑰,其中一個叫做私密金鑰,是交給客戶保管使用,另一個稱為公開公鑰,是可以公開的。這二個數字雖然有數學的關係,但要從公鑰推算出私鑰,照現有的技術可能要花20年的時間,而私鑰的有效期通常只有一年或二年,所以很安全,同時因為它可以產生數位簽章,所以也是圖章。一般我們稱數位憑證(digital certificate)是指上述的公鑰加上另外記載之基本資料:1.持有者姓名 2.持有者身分證號碼 3.憑證的有效期限 4.憑證序號 5.該憑證的公鑰序號 6.簽發憑證機構。
http://tefa.thu.edu.tw/eip/download/attdown/0/TEFA%C1%BF%AEy%20%BD%CD%BA%F4%B8%F4%A8%AD%A4%C0%C3%D2%BBP%B9%CF%B3%B9.ppt
DSA (Digital Signature Algorithm)演算法
1994年美國正式公佈數位簽章標準(Digital Signature Standard,DSS)
無法用來加解密或進行金鑰交換
相同金鑰長度進行數位簽章產生時,DSA比RSA快速
DSA金鑰產生
1. 系統首先決定一個固定為160位元的質數q及512位元到1024位元的質數p,但p-1必須是q的倍數。質數p長度需為64位元的倍數,意即長度為512/576/640/…或1024位元2. 系統再任意找個介於2與p-1的正整數t,2≤t ≤p-1,滿足, 生成數(generator) g為3. 每個簽署者挑選介於1與q-1的亂數x,1≤x ≤q-1,當做私密金鑰。再用g與x計算對應的公開金鑰yy= gxmod p4. 上述步驟1與步驟2的正整數p, q, 與g為系統公開參數,可由多個簽署者共用當做公開金鑰。每個簽署者的個別私密金鑰為x,公開金鑰為y。1mod1≠−ptqpptgqpmod1−=
http://crypto.nknu.edu.tw/textbook/chap5.pdf
簡單的說,它是一種函數,透過它可以產生二個非對稱的數字,其中一個可以用來加密,另一個可以用來解密,因為這二個數字實在太大了(1024 bits),超乎人力操作,比一把鑰匙還安全,我們稱它為金鑰,其中一個叫做私密金鑰,是交給客戶保管使用,另一個稱為公開公鑰,是可以公開的。這二個數字雖然有數學的關係,但要從公鑰推算出私鑰,照現有的技術可能要花20年的時間,而私鑰的有效期通常只有一年或二年,所以很安全,同時因為它可以產生數位簽章,所以也是圖章。一般我們稱數位憑證(digital certificate)是指上述的公鑰加上另外記載之基本資料:1.持有者姓名 2.持有者身分證號碼 3.憑證的有效期限 4.憑證序號 5.該憑證的公鑰序號 6.簽發憑證機構。
http://tefa.thu.edu.tw/eip/download/attdown/0/TEFA%C1%BF%AEy%20%BD%CD%BA%F4%B8%F4%A8%AD%A4%C0%C3%D2%BBP%B9%CF%B3%B9.ppt
DSA (Digital Signature Algorithm)演算法
1994年美國正式公佈數位簽章標準(Digital Signature Standard,DSS)
無法用來加解密或進行金鑰交換
相同金鑰長度進行數位簽章產生時,DSA比RSA快速
DSA金鑰產生
1. 系統首先決定一個固定為160位元的質數q及512位元到1024位元的質數p,但p-1必須是q的倍數。質數p長度需為64位元的倍數,意即長度為512/576/640/…或1024位元2. 系統再任意找個介於2與p-1的正整數t,2≤t ≤p-1,滿足, 生成數(generator) g為3. 每個簽署者挑選介於1與q-1的亂數x,1≤x ≤q-1,當做私密金鑰。再用g與x計算對應的公開金鑰yy= gxmod p4. 上述步驟1與步驟2的正整數p, q, 與g為系統公開參數,可由多個簽署者共用當做公開金鑰。每個簽署者的個別私密金鑰為x,公開金鑰為y。1mod1≠−ptqpptgqpmod1−=
http://crypto.nknu.edu.tw/textbook/chap5.pdf
簡單的說,它是一種函數,透過它可以產生二個非對稱的數字,其中一個可以用來加密,另一個可以用來解密,因為這二個數字實在太大了(1024 bits),超乎人力操作,比一把鑰匙還安全,我們稱它為金鑰,其中一個叫做私密金鑰,是交給客戶保管使用,另一個稱為公開公鑰,是可以公開的。這二個數字雖然有數學的關係,但要從公鑰推算出私鑰,照現有的技術可能要花20年的時間,而私鑰的有效期通常只有一年或二年,所以很安全,同時因為它可以產生數位簽章,所以也是圖章。一般我們稱數位憑證(digital certificate)是指上述的公鑰加上另外記載之基本資料:1.持有者姓名 2.持有者身分證號碼 3.憑證的有效期限 4.憑證序號 5.該憑證的公鑰序號 6.簽發憑證機構。
http://tefa.thu.edu.tw/eip/download/attdown/0/TEFA%C1%BF%AEy%20%BD%CD%BA%F4%B8%F4%A8%AD%A4%C0%C3%D2%BBP%B9%CF%B3%B9.ppt
簡單的說,它是一種函數,透過它可以產生二個非對稱的數字,其中一個可以用來加密,另一個可以用來解密,因為
這二個數字實在太大了(1024 bits),超乎人力操作,比一把鑰匙還安全,我們稱它為金鑰,其中一個叫做私密金鑰
,是交給客戶保管使用,另一個稱為公開公鑰,是可以公開的。這二個數字雖然有數學的關係,但要從公鑰推算出私
鑰,照現有的技術可能要花20年的時間,而私鑰的有效期通常只有一年或二年,所以很安全,同時因為它可以產生數
位簽章,所以也是圖章。一般我們稱數位憑證(digital certificate)是指上述的公鑰加上另外記載之基本資料:1.
持有者姓名 2.持有者身分證號碼 3.憑證的有效期限 4.憑證序號 5.該憑證的公鑰序號 6.簽發憑證機構。
http://tefa.thu.edu.tw/eip/download/attdown/0/TEFA%C1%BF%AEy%20%BD%CD%BA%F4%B8%F4%A8%AD%A4%C0%C3%D2%BBP%B9%CF%B3%B9.ppt
資料來源: crypto.nknu.edu.tw/textbook/chap5.pdf
www.mis.csu.edu.tw/tsnien/Teach_Manu/F8745/F8745_HTML/chap7/chap7-3.htm
DSA簡介:
DSA Digital Signature Algorithm演算法
1994年美國正式公佈數位簽章標準Digital Signature Standard
DSS無法用來加解密或進行金鑰交換
相同金鑰長度進行數位簽章產生時,DSA比RSA快速
簽章演算法:並非採用加密演算法
DSA 安全性考量
暴力攻擊法:鑰匙長度越長越安全
DSA數位簽章演算法簡介
1991年美國國家標準與技術協會(NIST)公佈了的數位簽章標準(Digital Signature Standard,DSS),而DSS用到了安全雜湊演算法(SHA),並提出了數位簽章演算法(Digital Signature Algorithm,DSA)。
DSA數位簽章演算法之安全性係基於計算離散對數的困難度,其演算法內容如下所述:
系統參數:
:設系統存在一大質數 , 的位元長度( )範圍為 且 遞增值為64位元。
:160位元之質數且 。
g:滿足 ,其中 之任意整數。
DSS(Digital Signature Standard)數位簽章標準為美國國家技術及標準局(National Institute of S
數位簽章演算法 (Digital Signature Algorithm, DSA)
(DSA)是Schnorr和ElGamal簽名算法的變種,被美國 NIST(美國國家標準局)作為數字簽名標準(DigitalSignature Standard)。同樣屬於公匙密碼體系,並使用Secure Hash Algorithm(SHA/SHA-1)作為中間單向計算算法 雜湊演算法:SHA-1
數位簽章標準 (Digital Signature Standard, DSS)
1994 年 NIST 標準:
• DSA 演算法
2000 年 FIPS PUB 186-2 標準:
RSA 演算法
Elliptic Curve Digital Signature Algorithm (ECDSA)
國家技術標準機構(NIST)在1991年提出數位簽章標準(Digital Signature Standard),簡稱DSS。因應這項標準就產生出數位簽章演算法(Digital Signature Algorithm),簡稱DSA。DSA是基於公開金匙密碼法的原理所設計而成,包含簽章的產生(Signature Generation)及簽章的確認(Signature Verific-ation)兩部份
系統首先決定一個固定為160位元的質數q及512位元到1024位元的質數p,但p-1必須是q的倍數。質數p長度需為64位元的倍數,意即長度為512/576/640/…或1024位元
首先我們需進行DSA金鑰對的建立。
假設指定1024位元公開金鑰(p)並產生系統參數檔”dsa_prame.pem”:
openssldsaparam-out dsa_param.pem1024
從系統參數檔”dsa_prame.pem”來產生私密金鑰檔案”dsa_privatekey.pem”,然後使用AES-128演算法加密保護:
opensslgendsa-out dsa_privatekey.pem-aes128 dsa_param.pem
DSA公開金鑰檔需從私密金鑰檔轉換而來,我們可利用下列指令產生對應的公開金鑰”dsa_publickey.pem”:
openssldsa-in dsa_privatekey.pem-pubout-out dsa_publickey.pem
一般我們稱數位憑證(digital certificate)是指上述的公鑰加上另外記載之基本資料:1.持有者姓名 2.持有者身分證號碼 3.憑證的有效期限 4.憑證序號 5.該憑證的公鑰序號 6.簽發憑證機構。
張貼留言