开发者社区> 问答> 正文

根据RSA算法,选取合适的n,e,加密you,然后解密 求 matlab程序

根据RSA算法,选取合适的n,e,加密you,然后解密 求 matlab程序

展开
收起
知与谁同 2018-07-18 12:26:01 1582 0
1 条回答
写回答
取消 提交回答
  • #include <stdio.h>
    #include <string.h>
    #include <time.h>
    #include <stdlib.h>
    #include <math.h>
    #define MM 7081
    #define KK 1789
    #define PHIM 6912
    #define PP 85
    typedef char strtype[10000];
    int len;
    long nume[10000];
    int change[126];
    char antichange[37];

    void initialize()
    { int i;
    char c;
    for (i = 11, c = 'A'; c <= 'Z'; c ++, i ++)
    { change[c] = i;
    antichange[i] = c;
    }
    }
    void changetonum(strtype str)
    { int l = strlen(str), i;
    len = 0;
    memset(nume, 0, sizeof(nume));
    for (i = 0; i < l; i ++)
    { nume[len] = nume[len] * 100 + change[str[i]];
    if (i % 2 == 1) len ++;
    }
    if (i % 2 != 0) len ++;
    }
    long binamod(long numb, long k)
    { if (k == 0) return 1;
    long curr = binamod (numb, k / 2);
    if (k % 2 == 0)
    return curr * curr % MM;
    else return (curr * curr) % MM * numb % MM;
    }
    long encode(long numb)
    { return binamod(numb, KK);
    }
    long decode(long numb)
    { return binamod(numb, PP);
    }
    main()
    { strtype str;
    int i, a1, a2;
    long curr;
    initialize();
    puts("Input 'Y' if encoding, otherwise input 'N':");
    gets(str);
    if (str[0] == 'Y')
    { gets(str);
    changetonum(str);
    printf("encoded: ");
    for (i = 0; i < len; i ++)
    { if (i) putchar('-');
    printf(" %ld ", encode(nume[i]));
    }
    putchar('\n');
    }
    else
    { scanf("%d", &len);
    for (i = 0; i < len; i ++)
    { scanf("%ld", &curr);
    curr = decode(curr);
    a1 = curr / 100;
    a2 = curr % 100;
    printf("decoded: ");
    if (a1 != 0) putchar(antichange[a1]);
    if (a2 != 0) putchar(antichange[a2]);
    }
    putchar('\n');
    }
    putchar('\n');
    system("PAUSE");
    return 0;
    }
    2019-07-17 22:56:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载