国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

信息安全——移位密碼算法(C++實(shí)現(xiàn))

這篇具有很好參考價(jià)值的文章主要介紹了信息安全——移位密碼算法(C++實(shí)現(xiàn))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

信息安全導(dǎo)論課程學(xué)習(xí)的實(shí)驗(yàn)一,移位密碼算法C++的實(shí)現(xiàn)。?

????????移位密碼算法是較為簡(jiǎn)單的算法,只是簡(jiǎn)單的對(duì)明文進(jìn)行指定位數(shù)的移位操作,C++語言實(shí)現(xiàn)也較為簡(jiǎn)單,不需要過多贅述。

? ? ? ? 以下簡(jiǎn)單介紹了以下移位密碼算法的原理:

【原理】

1) 算法原理

????????a) 移位密碼就是對(duì)26個(gè)字母進(jìn)行移位操作,可以移動(dòng)任意位數(shù),這樣就實(shí)現(xiàn)了對(duì)明文的加密,移位操作簡(jiǎn)單易行,因此,加密解密比較簡(jiǎn)單。

????????b) 移位密碼的基本思想:移位密碼算法 c=m+k(mod 26),k可以使0<k<26的任意整數(shù)。加密算法:x=x+k(mod26),解密算法x=x-k(mod 26)。當(dāng)K=3,時(shí),為凱撒密碼。

2) 算法參數(shù)

????????移位密碼算法主要有c、m、k 三個(gè)參數(shù)。c 為密文,m 是明文,k 為密鑰。

3) 算法流程

????????算法流程如下。如圖所示

信息安全——移位密碼算法(C++實(shí)現(xiàn))

輸入

????????第一行輸入表明是加密還是解密,0是加密,1是解密;

????????第二行是加密或解密密鑰,是0<k<26之間的一個(gè)整數(shù);

????????第三行是明文或密文。

輸出

????????輸出是明文或密文。

以下是代碼實(shí)現(xiàn):

#include <iostream>
#include <string.h>
using namespace std;

//【實(shí)驗(yàn)?zāi)康摹?
//1) 學(xué)習(xí)移位密碼的原理
//2) 學(xué)習(xí)移密碼的實(shí)現(xiàn)
//【實(shí)驗(yàn)原理】
//1) 算法原理
//a) 移位密碼就是對(duì)26個(gè)字母進(jìn)行移位操作,可以移動(dòng)任意位數(shù),這樣就實(shí)現(xiàn)了對(duì)明文的加密,移位操作簡(jiǎn)單易行,因此,加密解密比較簡(jiǎn)單。
//b) 移位密碼的基本思想:移位密碼算法 c = m + k(mod 26), k可以使0 < k < 26的任意整數(shù)。加密算法:x = x + k(mod26),解密算法x = x - k(mod 26)。當(dāng)K = 3, 時(shí),為凱撒密碼。
//    2) 算法參數(shù)
//    移位密碼算法主要有c、m、k 三個(gè)參數(shù)。c 為密文,m 是明文,k 為密鑰。

// A:65 a:97
void Encrypt(int k, char* m) // 加密
{
    int len = strlen(m);
    char* a = new char[len];
    for (int i = 0; i < strlen(m); i++)
    {
        int l = (m[i] - 'a' + k);
        if (l < 0) // 移位 
        {
            a[i] = l + 26 + 'a' - 32;
        }
        else
        {
            a[i] = l % 26 + 'a' - 32;
        }
    }
    for (int i = 0; i < strlen(m); i++)
    {
        cout << a[i];
    }
    cout << '\n';
}

void Decrypt(int k, char* c) // 解密
{
    int len = strlen(c);
    char* b = new char[len];
    for (int i = 0; i < strlen(c); i++)
    {
        int l = (c[i] - 'A' - k);
        if (l < 0) // 移位 
        {
            b[i] = l + 26 + 'A' + 32;
        }
        else
        {
            b[i] = l % 26 + 'A' + 32;
        }
    }
    for (int i = 0; i < strlen(c); i++)
    {
        cout << b[i];
    }
    cout << '\n';
}



int main()
{
    int op, k;
    char str[1000];
    for (int i = 2; i > 0; i--)
    {
        cin >> op;
        switch (op)
        {
        case(0): // 加密
        {
            cin >> k;
            cin >> str;
            Encrypt(k, str);
            break;
        }
        case(1): // 解密
        {
            cin >> k;
            cin >> str;
            Decrypt(k, str);
            break;
        }
        }
    }

    return 0;
}

?文章來源地址http://www.zghlxwxcb.cn/news/detail-403006.html

到了這里,關(guān)于信息安全——移位密碼算法(C++實(shí)現(xiàn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 信息安全復(fù)習(xí)四:置換密碼&乘積密碼&隱寫術(shù)

    信息安全復(fù)習(xí)四:置換密碼&乘積密碼&隱寫術(shù)

    置換密碼、Rail Fence密碼、行置換密碼、乘積密碼、轉(zhuǎn)子機(jī)、隱寫術(shù) 重新排列明文字母,達(dá)到信息加密的目的。 與替代密碼不同的是,原來明文中的字母同樣出現(xiàn)在密文中,只是順序被打斷。 古典的置換密碼的例子:Rail Fence密碼、行置換密碼、乘積密碼、轉(zhuǎn)子機(jī)、隱寫術(shù) 羊

    2024年02月10日
    瀏覽(25)
  • 信息安全復(fù)習(xí)六:公開密鑰密碼學(xué)

    信息安全復(fù)習(xí)六:公開密鑰密碼學(xué)

    1.公開密鑰密碼模型的基本原理 2.兩個(gè)算法:RSAD-H算法 主要內(nèi)容 1.對(duì)稱密鑰密碼的密鑰交換問題 2.公鑰密碼模型的提出 3.設(shè)計(jì)公鑰密碼的基本要求 4.數(shù)字簽名 5.RSA算法 6.公鑰密碼的特征總結(jié) 1.對(duì)稱加密是什么 :對(duì)稱加密是指加密和解密用的是同一個(gè)密鑰的加密方式。 2.對(duì)稱加

    2023年04月25日
    瀏覽(28)
  • 加固密碼安全:保護(hù)您的個(gè)人信息

    加固密碼安全:保護(hù)您的個(gè)人信息

    一、引言 在數(shù)字化時(shí)代,密碼安全是保護(hù)個(gè)人信息和數(shù)據(jù)的重要環(huán)節(jié)。然而,許多人在創(chuàng)建和管理密碼時(shí)存在一些常見的安全漏洞,如使用弱密碼、重復(fù)使用密碼等。本文將詳細(xì)介紹密碼安全的重要性,并提供一些有效的方法和技巧,幫助您加固密碼安全,保護(hù)個(gè)人信息不被

    2024年01月21日
    瀏覽(17)
  • 從密碼學(xué)了解如何確定物聯(lián)網(wǎng)信息安全

    從密碼學(xué)了解如何確定物聯(lián)網(wǎng)信息安全

    編碼學(xué)和分析學(xué)的關(guān)系:相互對(duì)立、相互依存、相互促進(jìn) 1.第一階段:幾千年前到1949年,此時(shí)還沒有形成一門科學(xué),靠密碼分析者的直覺和經(jīng)驗(yàn)來進(jìn)行 代表:Caesar密碼、Playfair密碼 2.第二階段:1949年到1975年,正式成為了一門學(xué)科 3.第三階段:1976年至今,形成了密碼體系 1

    2024年02月11日
    瀏覽(19)
  • 信息安全概論之《密碼編碼學(xué)與網(wǎng)絡(luò)安全----原理與實(shí)踐(第八版)》

    信息安全概論之《密碼編碼學(xué)與網(wǎng)絡(luò)安全----原理與實(shí)踐(第八版)》

    前言:在信息安全概論課程的學(xué)習(xí)中,參考了《密碼編碼學(xué)與網(wǎng)絡(luò)安全----原理與實(shí)踐(第八版)》一書。以下內(nèi)容為以課件為主要參考,課本內(nèi)容與網(wǎng)絡(luò)資源為輔助參考,學(xué)習(xí)該課程后作出的總結(jié)。 該課程不是密碼學(xué)編程,也不是網(wǎng)絡(luò)安全攻防課程,而是學(xué)生進(jìn)入信息安全

    2024年02月10日
    瀏覽(27)
  • 電科院密碼保密與信息安全競(jìng)賽網(wǎng)絡(luò)攻防宣傳賽 Writeup

    電科院密碼保密與信息安全競(jìng)賽網(wǎng)絡(luò)攻防宣傳賽 Writeup

    戰(zhàn)隊(duì)名稱:20221214 戰(zhàn)隊(duì)排名:1 用Winhex打開,最后有一串編碼字符,拿去一把梭即可。 目錄穿越 GET /icons/.%2e/%2e%2e/%2e%2e/%2e%2e/flag 仔細(xì)觀察可以看到url編碼后的SQL注入語句,mid用于截取字符串,當(dāng)出現(xiàn) welcome admin! 說明該字符正確,將正確的字符逐個(gè)寫入到C腳本變量中,輸出得

    2024年04月08日
    瀏覽(26)
  • 揭秘網(wǎng)絡(luò)安全攻防戰(zhàn):信息收集和密碼破解的黑客技巧與防護(hù)策略

    揭秘網(wǎng)絡(luò)安全攻防戰(zhàn):信息收集和密碼破解的黑客技巧與防護(hù)策略

    今天我們將專注于網(wǎng)絡(luò)安全基礎(chǔ)知識(shí)的練習(xí),包括信息收集和弱口令密碼破解。在信息收集方面,我們將重點(diǎn)介紹目錄信息的收集方法。例如,我們會(huì)討論如何解析類似于\\\" https://域名/path \\\"這樣的路徑信息,特別是當(dāng)這些路徑信息是我們之前未曾了解的情況下。而在密碼破解

    2024年04月24日
    瀏覽(24)
  • 【網(wǎng)絡(luò)與信息安全學(xué)報(bào)】區(qū)塊鏈密碼學(xué)隱私保護(hù)技術(shù)綜述——CCF T2

    區(qū)塊鏈密碼學(xué)隱私保護(hù)技術(shù)綜述 Survey on blockchain privacy protection techniques in cryptography Abstract 近年來,數(shù)據(jù)隱私問題日益明顯,如何在區(qū)塊鏈中實(shí)現(xiàn)有效的隱私保護(hù)是研究熱點(diǎn)。針對(duì)區(qū)塊鏈在隱私保護(hù)上的研究現(xiàn)狀與發(fā)展態(tài)勢(shì),闡述了區(qū)塊鏈在交易地址、預(yù)言機(jī)以及智能合約上

    2024年02月03日
    瀏覽(21)
  • 【密碼學(xué)】量子安全的密碼學(xué)算法以及原理介紹

    (1)“代數(shù)格密碼套件”(CRYSTALS)包含兩個(gè)密碼原語Kyber和Dilithium。Kyber是一種抗適應(yīng)性選擇密文攻擊(IND-CCA2)安全密鑰封裝機(jī)制,Dilithium是一種高度不可偽造性(EUF-CMA)安全數(shù)字簽名算法。兩種密碼都是為了應(yīng)對(duì)量子計(jì)算機(jī)的攻擊,并且在操作過程中只需更改幾個(gè)參數(shù)即

    2024年02月11日
    瀏覽(99)
  • 商用密碼應(yīng)用與安全性評(píng)估要點(diǎn)筆記(密碼算法ZUC)

    商用密碼應(yīng)用與安全性評(píng)估要點(diǎn)筆記(密碼算法ZUC)

    1、ZUC算法簡(jiǎn)介 ????????ZUC算法屬于對(duì)稱密碼算法,具體來說是一種序列密碼算法或流密碼算法。ZUC算法以中國(guó)古代數(shù)學(xué)家祖沖之首字母命令。 ? ? ? ? ZUC算法標(biāo)準(zhǔn)包括三個(gè)部分: ????????GMT 0001.1-2012 祖沖之序列密碼算法:第1部分:算法描述 ????????GMT 0001.2-201

    2024年02月16日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包