rsa算法及密鑰生成.rar
rsa算法及密鑰生成,rsa算法及密鑰生成3.6萬字53頁rsa算法作為公開密鑰密碼體制的典型代表,自產(chǎn)生至今已經(jīng)歷了20年的實踐檢驗,證明了其加密強度是很高的,已成為許多國際標(biāo)準(zhǔn)的一部分。但是,從rsa算法的基本原理可以看出,用戶巨大的計算量開銷是rsa公鑰密碼體制的一大弱點。因此,尋求高效的實現(xiàn)方法是該算法實用化的一個重要課題,而密鑰生...
該文檔為壓縮文件,包含的文件列表如下:
內(nèi)容介紹
原文檔由會員 cnlula 發(fā)布
RSA算法及密鑰生成
3.6萬字 53頁
RSA算法作為公開密鑰密碼體制的典型代表,自產(chǎn)生至今已經(jīng)歷了20年的實踐檢驗,證明了其加密強度是很高的,已成為許多國際標(biāo)準(zhǔn)的一部分。但是,從RSA算法的基本原理可以看出,用戶巨大的計算量開銷是RSA公鑰密碼體制的一大弱點。因此,尋求高效的實現(xiàn)方法是該算法實用化的一個重要課題,而密鑰生成又是RSA公鑰系統(tǒng)中的一個重要研究課題。本文介紹了密鑰生成的一般方法,即確定性素數(shù)產(chǎn)生方法和概率性素數(shù)產(chǎn)生方法,并給出了利用Miller-Rabin測試和Pocklington定理生成強偽素數(shù)的算法實現(xiàn)。并主要針對RSA算法在面向?qū)ο缶幊谭椒?OOP)下的實現(xiàn),系統(tǒng)地給出了類的定義、核心函數(shù)的實現(xiàn)流程、使用的主要計算機算法。使得算法實現(xiàn)較傳統(tǒng)的實現(xiàn)方法,代碼更容易重用、數(shù)據(jù)有更好的封裝性和安全性、實現(xiàn)流程更清晰。通過算法的選取和優(yōu)化,獲得了較傳統(tǒng)實現(xiàn)方法更好的系統(tǒng)實現(xiàn)性能。
關(guān)鍵詞 公開密鑰加密算法 RSA 強素數(shù) Miller-Rabin測試 面向?qū)ο缶幊谭椒?br>
Abstract
As a typical delegate of Public-Key algorithm, RSA checked by twenty-year old practice since produced, has proved that its intension of encrypt is quite supernal. Now, RSA algorithm has become a part of lots of international standard. But, the keystone of RSA algorithm, we can see that user’s huge spending of compute is its big weakness. So, looking after effect realization methods is an important question for discussion to make the arithmetic practical, and creating Secret-Key is another important question. This paper introduces the commonly measures of creating Secret-Key, namely confirm way and probability way, and show the realization of creating strong-prime method ......
目 次
1 引言 …………………………………………………………………………………………… 1
2 RSA公開密鑰密碼編碼體制 ………………………………………………… 5
2.1 公開密鑰密碼系統(tǒng) ……………………………………………………………… 5
2.2 RSA公開密鑰加密體制 ………………………………………………………… 6
2.3 RSA公鑰體制中大素數(shù)的生成方法 ………………………………………… 10
3 C++面向?qū)ο缶幊谭椒ǎ∣OP.) ……………………………………………… 16
3.1 面向?qū)ο缶幊谭椒ǎ∣OP)的基本概念及其特征 …………………………… 16
3.2 OOP的程序設(shè)計方法 ………………………………………………………… 18
3.3 OOP的程序設(shè)計方法的優(yōu)缺點 ……………………………………………… 19
3.4 面向?qū)ο蟪绦蛟O(shè)計語言C++中對象的引用 ………………………………… 21
4 RSA算法在面向?qū)ο缶幊谭椒?OOP)下的實現(xiàn) ……………………………… 23
4.1 RSA算法分析及類的抽象 ………………………………………………… 23
4.2 類的定義及相互關(guān)系 ………………………………………………………… 24
4.3 核心函數(shù)的實現(xiàn) ……………………………………………………………… 26
結(jié)論 ………………………………………………………………………………… 31
致謝 ………………………………………………………………………………… 32
參考文獻(xiàn) …………………………………………………………………………… 33
附錄A 素數(shù)生成及加解密 ………………………………………………………… 35
附錄B 大數(shù)及其相關(guān)運算 ………………………………………………………… 42
參考文獻(xiàn)
1. 石峰.程序設(shè)計基礎(chǔ).北京:清華大學(xué)出版社,2003
2. 賴溪松,韓亮,張真誠.計算機密碼學(xué)及其應(yīng)用.北京:國防工業(yè)出版社,2001.7
3.6萬字 53頁
RSA算法作為公開密鑰密碼體制的典型代表,自產(chǎn)生至今已經(jīng)歷了20年的實踐檢驗,證明了其加密強度是很高的,已成為許多國際標(biāo)準(zhǔn)的一部分。但是,從RSA算法的基本原理可以看出,用戶巨大的計算量開銷是RSA公鑰密碼體制的一大弱點。因此,尋求高效的實現(xiàn)方法是該算法實用化的一個重要課題,而密鑰生成又是RSA公鑰系統(tǒng)中的一個重要研究課題。本文介紹了密鑰生成的一般方法,即確定性素數(shù)產(chǎn)生方法和概率性素數(shù)產(chǎn)生方法,并給出了利用Miller-Rabin測試和Pocklington定理生成強偽素數(shù)的算法實現(xiàn)。并主要針對RSA算法在面向?qū)ο缶幊谭椒?OOP)下的實現(xiàn),系統(tǒng)地給出了類的定義、核心函數(shù)的實現(xiàn)流程、使用的主要計算機算法。使得算法實現(xiàn)較傳統(tǒng)的實現(xiàn)方法,代碼更容易重用、數(shù)據(jù)有更好的封裝性和安全性、實現(xiàn)流程更清晰。通過算法的選取和優(yōu)化,獲得了較傳統(tǒng)實現(xiàn)方法更好的系統(tǒng)實現(xiàn)性能。
關(guān)鍵詞 公開密鑰加密算法 RSA 強素數(shù) Miller-Rabin測試 面向?qū)ο缶幊谭椒?br>
Abstract
As a typical delegate of Public-Key algorithm, RSA checked by twenty-year old practice since produced, has proved that its intension of encrypt is quite supernal. Now, RSA algorithm has become a part of lots of international standard. But, the keystone of RSA algorithm, we can see that user’s huge spending of compute is its big weakness. So, looking after effect realization methods is an important question for discussion to make the arithmetic practical, and creating Secret-Key is another important question. This paper introduces the commonly measures of creating Secret-Key, namely confirm way and probability way, and show the realization of creating strong-prime method ......
目 次
1 引言 …………………………………………………………………………………………… 1
2 RSA公開密鑰密碼編碼體制 ………………………………………………… 5
2.1 公開密鑰密碼系統(tǒng) ……………………………………………………………… 5
2.2 RSA公開密鑰加密體制 ………………………………………………………… 6
2.3 RSA公鑰體制中大素數(shù)的生成方法 ………………………………………… 10
3 C++面向?qū)ο缶幊谭椒ǎ∣OP.) ……………………………………………… 16
3.1 面向?qū)ο缶幊谭椒ǎ∣OP)的基本概念及其特征 …………………………… 16
3.2 OOP的程序設(shè)計方法 ………………………………………………………… 18
3.3 OOP的程序設(shè)計方法的優(yōu)缺點 ……………………………………………… 19
3.4 面向?qū)ο蟪绦蛟O(shè)計語言C++中對象的引用 ………………………………… 21
4 RSA算法在面向?qū)ο缶幊谭椒?OOP)下的實現(xiàn) ……………………………… 23
4.1 RSA算法分析及類的抽象 ………………………………………………… 23
4.2 類的定義及相互關(guān)系 ………………………………………………………… 24
4.3 核心函數(shù)的實現(xiàn) ……………………………………………………………… 26
結(jié)論 ………………………………………………………………………………… 31
致謝 ………………………………………………………………………………… 32
參考文獻(xiàn) …………………………………………………………………………… 33
附錄A 素數(shù)生成及加解密 ………………………………………………………… 35
附錄B 大數(shù)及其相關(guān)運算 ………………………………………………………… 42
參考文獻(xiàn)
1. 石峰.程序設(shè)計基礎(chǔ).北京:清華大學(xué)出版社,2003
2. 賴溪松,韓亮,張真誠.計算機密碼學(xué)及其應(yīng)用.北京:國防工業(yè)出版社,2001.7