简明信息安全数学基础第二章

一,判断题

5,×
10,√
15,×
20,√
25,√
30,×
35,×

二,单选题

5.D
10.D
15.B
27.B

四,综合题

a1≡b1 (mod m),a2≡b2 (mod m)
a1+a2≡b1+b2 (mod m)
∴a1+a2+...+ak≡b1+b2+...+bk (mod m)
a1≡b1 (mod m),a2≡b2 (mod m)
a1*a2≡b1*b2 (mod m)
∴a1*a2*...*ak≡b1*b2*...*bk (mod m)
(1)2^32 (mod47)
2^32=2^32
2^1≡2 (mod47)
2^2≡4 (mod47)
2^4≡16 (mod47)
2^8≡16^2≡21 (mod47)
2^16≡21^2≡18 (mod47)
2^32≡18^2≡42 (mod47)
∴2^32≡42 (mod47)

(2)2^47(mod47)
2^46≡1(mod 47)
2^47≡2^46*2≡1*2(mod 47)

2^47=2^32*2^8*2^4*2^2*2
2^32=2^32
2^1≡2 (mod47)
2^2≡4 (mod47)
2^4≡16 (mod47)
2^8≡16^2≡21 (mod47)
2^16≡21^2≡18 (mod47)
2^32≡18^2≡42 (mod47)
2^47≡42*21*16*4*2≡2(mod47)
∴2^47≡2(mod47)

(3)2^200(mod47)
∵2^46≡1 (mod 47)
200=46*4+16
2^200=2^(46*4)*2^16
2^200≡1^4*2^16(mod47)
2^16≡18(mod47)
(1)1843581
1+8+4+3+5+8+1=30
3|30,9不整除30
∴3整除1843581

(2)184234081
1+8+4+2+3+4+0+8+1=31
3和9都不整除31
∴3和9都不整除184234081

(3)8937752744
8+9+3+7+7+5+2+7+4+4=56
3|56,9|56
∴3和9都不能整除8937752744

(4)4153768912246
4+1+5+3+7+6+8+9+1+2+2+4+6=58
3|58,9|58
∴3和9都不能整除4153768912246

编程题

1.编程输出n的Euler函数值φ(n)

image.png
#include<iostream>
#include<cmath>
using namespace std;
int euler(int n)
{    
    int ans=n;    
    for(int i=2;i<=sqrt(n);i++)//2~ √n 求素因子 
    {  
        if(n%i==0)// 求素因子
        {  
        ans=ans/i*(i-1); ///通项公式求解欧拉函数值 
        while(n%i==0) // 每个素因子只计算一次
        n/=i;  
        }  
    }  
       if(n>1) ans=ans/n*(n-1);  //当n为素数时 
       return ans;  
 } 
int main()
{
  int n;
    while(cin>>n)///测试
    {
        cout<<euler(n)<<endl;
    }
    return 0;
} 

2.编程实现模重复平方运算(求b^n (mod m))

image.png

方法一:非递归(模幂算法)

#include<iostream>
#include<cmath>
using namespace std;
int euler(int n)//求n的欧拉值 
{    
    int ans=n;    
    for(int i=2;i<=sqrt(n);i++)//2~ √n 求素因子 
    {  
        if(n%i==0)// 求素因子
        {  
        ans=ans/i*(i-1); ///通项公式求解欧拉函数值 
        while(n%i==0) // 每个素因子只计算一次
        n/=i;  
        }  
    }  
       if(n>1) ans=ans/n*(n-1);  //当n为素数时 
       return ans;  
 } 
int powerMod(int b,int n,int m){//模平方算法 
    int r;
    r=n%euler(m);   
    n=r;
    int a=1;//存放计算结果,初始化为1
    int i,k=0,num=n;
    while(num){//计算指数二进制位数k 
        num=num>>1;//将num右移1位(也即除以2),然后再将结果赋值给num.等同 num=num/2;
        ++k;//num的二进制右移一位 
    }
     for(i=0;i<k;i++){
        if((n>>i)&1)//取二进制的第i位,然后和1进行与运算(判断i位是否为1) 
          {a=a*b%m;}//二进制位为1时操作 
           b=b*b%m;// 二进制位为1和0时操作 
     }
    return a;
}

int main(){
    int b,n,m;  
    cout<<"请分别输入底数b,指数n,模m:";
    cin>>b>>n>>m;
    cout<<"b^n(mod m)="<<powerMod(b,n,m);
    return 0;
} 
image.png

方法二:递归

递归公式: b^n(mod m)=b* (b^(n-1) (mod m)) (mod m)

#include<iostream>
using namespace std;
int powerMod(int b,int n,int m){ //递归公式: b^n(mod m)=b* (b^(n-1) (mod m)) (mod m)
    if(0==n)
    return 1;
    return b*powerMod(b,n-1,m)%m;
}

int main(){
    int b,n,m;
    cout<<"请分别输入底数b,指数n,模m:";
    cin>>b>>n>>m;
    cout<<"b^n(mod m)="<<powerMod(b,n,m);
    return 0;
} 
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 这个不错分享给大家,从扣上看到的,就转过来了 《电脑专业英语》 file [fail] n. 文件;v. 保存文...
    麦子先生R阅读 6,545评论 5 24
  • js 功能函数集 Window print() 方法用于打印当前窗口的内容 javascript中json对象js...
    4164fccdcf1c阅读 242评论 0 0
  • 孩子成绩不好,怎么补才能提高成绩? 微信公众号:涟漪lianyi 涟漪lianyi 关注教育、个人成长,分享...
    涟漪008阅读 115评论 0 0
  • 婚后的第二十六个除夕,第一次没在老家和公婆一起过年。上午回到老家收拾清洗打扫做饭贴春联,下午又驱车返回。 晚上一家...
    宁静遇夏雨阅读 868评论 8 33
  • “肥胖”最根本的原因还是因为每天摄入的食物中“升糖指数”较高的食物在“作祟”。米、面和水果都是我们每天摄入的食...
    安蒙氏未来医疗阅读 117评论 0 0