本發(fā)明涉及計算機(jī)加密,具體是一種用于軟件開發(fā)的計算機(jī)系統(tǒng)加密方法。
背景技術(shù):
1、在物聯(lián)網(wǎng)(iot)環(huán)境下進(jìn)行計算機(jī)軟件開發(fā)時,數(shù)據(jù)安全性至關(guān)重要。由于物聯(lián)網(wǎng)涉及大量設(shè)備之間的通信和數(shù)據(jù)交換,因此采用適當(dāng)?shù)臄?shù)據(jù)加密方法是確保信息安全的關(guān)鍵。由于物聯(lián)網(wǎng)設(shè)備能夠收集大量數(shù)據(jù),包括位置、行為模式、生理指標(biāo)等,可能涉及用戶的敏感信息,存在被泄露、竊取的風(fēng)險,所以確保這些數(shù)據(jù)的隱私得到充分保護(hù)是至關(guān)重要,目前對正在開發(fā)軟件的保護(hù)通常使用到對稱加密算法,通過確保密鑰的安全分發(fā)和管理,對稱加密算法可以提供高效的數(shù)據(jù)保護(hù),然而,長期使用相同的密鑰可能增加被攻擊的風(fēng)險,但是在物聯(lián)網(wǎng)中,特別是在輕量級設(shè)備上進(jìn)行定期的密鑰輪換可能會面臨挑戰(zhàn),因為設(shè)備可能不具備足夠的計算和存儲資源來支持頻繁的密鑰更新,如果密鑰被泄露或者有漏洞,整個系統(tǒng)的安全性可能受到威脅,進(jìn)而影響軟件開發(fā)的進(jìn)程。
2、公開于該背景技術(shù)部分的信息僅僅旨在增加對本發(fā)明的總體背景的理解,而不應(yīng)當(dāng)被視為承認(rèn)或以任何形式暗示該信息構(gòu)成已為本領(lǐng)域一般技術(shù)人員所公知的現(xiàn)有技術(shù)。
技術(shù)實現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問題就是克服以上的技術(shù)缺陷,提供一種用于軟件開發(fā)的計算機(jī)系統(tǒng)加密方法,應(yīng)用非對稱密鑰加密任意文件,使非對稱密鑰的應(yīng)用不僅僅局限于互聯(lián)網(wǎng)絡(luò),非對稱加密后的數(shù)據(jù)變換成文本,可以通過幾乎任何方式安全傳遞任意文件,按要求的位數(shù)生成非對稱密鑰,可以保存密鑰和裝載密鑰,密鑰保存為純文本,可以用指定密鑰以rsa算法加密任意一個文件,加密生成的數(shù)據(jù)為純文本,裝載加密過的文件,并用指定的密鑰解密還原出原文件。
2、為了解決上述問題,本發(fā)明的技術(shù)方案為一種用于軟件開發(fā)的計算機(jī)系統(tǒng)加密方法:包括以下步驟:
3、步驟一、基于rsa算法,實現(xiàn)大數(shù)存儲和基本四則運(yùn)算的功能,大數(shù)存儲功能由flex_unit類提供,并派生得到vlong_value,在vlong_value中實現(xiàn)四則運(yùn)算函數(shù)和強(qiáng)制轉(zhuǎn)換運(yùn)算符unsigned;
4、步驟二、進(jìn)行冪模運(yùn)算和乘模運(yùn)算,乘模運(yùn)算運(yùn)算方式采用m(a*b);
5、步驟三、尋找素數(shù)eratosthenes篩選與fermat素數(shù)測試,將尋找素數(shù)的功能置于類prime_factory_san中,外部調(diào)用本類實例的成員vlong?find_prime(vlong&start)就可以以大數(shù)start為起點,得到一個數(shù),即為素數(shù);
6、步驟四、對可能為素數(shù)的數(shù)進(jìn)行素數(shù)測試,計算出秘鑰,進(jìn)行加密操作;
7、步驟五、實現(xiàn)rsa密鑰生成和加解密的功能,加密解密流程均為標(biāo)準(zhǔn)rsa算法;
8、步驟六、秘鑰生成測試,系統(tǒng)性能分析和改進(jìn)優(yōu)化。
9、進(jìn)一步,步驟一中,每一個大數(shù)對應(yīng)一個flex_unit的實例,類flex_unit中,用一個無符號整數(shù)指針unsigned*a指向一塊內(nèi)存空間的首地址,這塊內(nèi)存空間用來存儲一個大數(shù),當(dāng)flex_unit的實例中被存入比當(dāng)前存儲的數(shù)更大的數(shù)時,就會調(diào)用reserve來增加存儲空間,當(dāng)flex_unit的實例中被存入比當(dāng)前存儲的數(shù)更小的數(shù)時,存儲空間并不會自動緊縮。
10、進(jìn)一步,步驟二中,通過一個vlong的友元,完成冪模運(yùn)算功能,先將冪模運(yùn)算化簡為乘模運(yùn)算,應(yīng)用蒙哥馬利算法進(jìn)行乘模運(yùn)算。
11、進(jìn)一步,步驟四中,生成密鑰的方式為隨機(jī)計算生成,在需要尋找素數(shù)的整數(shù)范圍內(nèi)對整數(shù)進(jìn)行篩選,把所有確知為合數(shù)的整數(shù)排除出去,程序中構(gòu)造了一個數(shù)組b[],記搜索范圍大小為ss,b[0]到b[ss]分別對應(yīng)大數(shù)start到start+ss。b[]中所有元素先初始化為1,如果對應(yīng)的大數(shù)確定為合數(shù),就將b中對應(yīng)的元素置為0,對b中為1的元素對應(yīng)的大數(shù)進(jìn)行比較確切的素數(shù)測試,被測試的數(shù)是素數(shù)概率達(dá)到預(yù)設(shè),判定這個數(shù)為素數(shù)。
12、進(jìn)一步,步驟五中,整個類的源程序中,所使用的變量字母均和rsa算法協(xié)議中一致,在類rsa_san的構(gòu)造函數(shù)里,執(zhí)行準(zhǔn)備一對隨機(jī)密鑰的操作,之后可以直接使用類的其他成員進(jìn)行rsa加解密操作,也可以載入以前保存的密鑰或再次隨機(jī)生成密鑰。
13、進(jìn)一步,步驟六中,包括秘鑰生成測試、數(shù)據(jù)輸入輸出測試、加密解密測試。
14、本發(fā)明與現(xiàn)有的技術(shù)相比的優(yōu)點在于:
15、1、本發(fā)明應(yīng)用非對稱密鑰加密任意文件,使非對稱密鑰的應(yīng)用不僅僅局限于互聯(lián)網(wǎng)絡(luò),非對稱加密后的數(shù)據(jù)變換成文本,可以通過幾乎任何方式安全傳遞任意文件,按要求的位數(shù)生成非對稱密鑰,可以保存密鑰和裝載密鑰,密鑰保存為純文本,可以用指定密鑰以rsa算法加密任意一個文件,加密生成的數(shù)據(jù)為純文本,裝載加密過的文件,并用指定的密鑰解密還原出原文件。
1.一種用于軟件開發(fā)的計算機(jī)系統(tǒng)加密方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種用于軟件開發(fā)的計算機(jī)系統(tǒng)加密方法,其特征在于:步驟一中,每一個大數(shù)對應(yīng)一個flex_unit的實例,類flex_unit中,用一個無符號整數(shù)指針unsigned*a指向一塊內(nèi)存空間的首地址,這塊內(nèi)存空間用來存儲一個大數(shù),當(dāng)flex_unit的實例中被存入比當(dāng)前存儲的數(shù)更大的數(shù)時,就會調(diào)用reserve來增加存儲空間,當(dāng)flex_unit的實例中被存入比當(dāng)前存儲的數(shù)更小的數(shù)時,存儲空間并不會自動緊縮。
3.根據(jù)權(quán)利要求1所述的一種用于軟件開發(fā)的計算機(jī)系統(tǒng)加密方法,其特征在于:步驟二中,通過一個vlong的友元,完成冪模運(yùn)算功能,先將冪模運(yùn)算化簡為乘模運(yùn)算,應(yīng)用蒙哥馬利算法進(jìn)行乘模運(yùn)算。
4.根據(jù)權(quán)利要求1所述的一種用于軟件開發(fā)的計算機(jī)系統(tǒng)加密方法,其特征在于:步驟四中,生成密鑰的方式為隨機(jī)計算生成,在需要尋找素數(shù)的整數(shù)范圍內(nèi)對整數(shù)進(jìn)行篩選,把所有確知為合數(shù)的整數(shù)排除出去,程序中構(gòu)造了一個數(shù)組b[],記搜索范圍大小為ss,b[0]到b[ss]分別對應(yīng)大數(shù)start到start+ss。b[]中所有元素先初始化為1,如果對應(yīng)的大數(shù)確定為合數(shù),就將b中對應(yīng)的元素置為0,對b中為1的元素對應(yīng)的大數(shù)進(jìn)行比較確切的素數(shù)測試,被測試的數(shù)是素數(shù)概率達(dá)到預(yù)設(shè),判定這個數(shù)為素數(shù)。
5.根據(jù)權(quán)利要求1所述的一種用于軟件開發(fā)的計算機(jī)系統(tǒng)加密方法,其特征在于:步驟五中,整個類的源程序中,所使用的變量字母均和rsa算法協(xié)議中一致,在類rsa_san的構(gòu)造函數(shù)里,執(zhí)行準(zhǔn)備一對隨機(jī)密鑰的操作,之后可以直接使用類的其他成員進(jìn)行rsa加解密操作,也可以載入以前保存的密鑰或再次隨機(jī)生成密鑰。
6.根據(jù)權(quán)利要求1所述的一種用于軟件開發(fā)的計算機(jī)系統(tǒng)加密方法,其特征在于:步驟六中,包括秘鑰生成測試、數(shù)據(jù)輸入輸出測試、加密解密測試。