網路的資訊安全是重要的議題,資訊傳遞須加以編碼,以避免被竊取,簡單易用
的公有鍵(Public Key)編碼方法說明如下:設公有鍵為一對(e,d)可逆轉乘式
(multiplicative inverses),若原文為p、密文為c、模組數為m,
編碼方式為c = p × e mod m;解碼方式為p = c × d mod m。
若模組數m=67,公有鍵(Public Key)為(30,38),原文數列為1、3、5,請問
編碼後的密文數列為何?(6 分)
承,若密文數列為60、53,請問原文數列為何?(4 分)
承,以C 語言撰寫的主函數如下:
#include <stdio.h>
#include <stdlib.h>
const int m=67, n=3;
int main()
{ int iTestArray[n]={1,3,5};//測試資料
int c, p, e=30, d=38;
int encode(int p,int e); //原型宣告
int decode(int c,int d); //原型宣告
for (int i=0; i<n; i++)
{ c= ;
p= ;
printf(“%d %d\n”, c, p);
}
system(“pause”);
return 0;
}
請以C 語言完成其編碼函數encode()、解碼函數decode()和主函數虛線部分。
(20 分)